avifenesh/memra
Rust + CUDA inference engine for NVIDIA RTX PRO 6000 Blackwell and RTX 5090. Serves safetensors and GGUF over an OpenAI-compatible API, with per-device tuned defaults and speculative decode gated byte-identical to plain decode. Hosted instance: inference.tiyuvta.ai
memra란?
memra는 Rust로 작성된 오픈소스 추론 엔진으로, CUDA를 통해 NVIDIA GPU와 직접 통신합니다. RTX PRO 6000 (Blackwell) 및 RTX 5090 워크스테이션 카드에 맞게 조정되었으며, Hopper H100 카드용으로도 컴파일할 수 있습니다. 이 엔진은 Hugging Face safetensors 체크포인트나 GGUF 모델 파일을 로드하여 OpenAI 호환 HTTP API(채팅 완성 및 완성 엔드포인트)를 통해 서비스합니다. GPU당 단일 모델 배포(또는 모델이 하나의 카드에 너무 클 경우 2-GPU 파이프라인)에 중점을 두고 있으며, 다음과 같은 기능을 제공합니다:
- VRAM 사용량을 예측 가능하게 유지하기 위한 접두사 캐시 재사용 및 테넌트 범위의 허가 제어,
- 자동 폴백이 포함된 MTP 추측 디코딩(초안 모델 가속),
- 이미지 및 비디오 입력 지원(모델의 비전 타워는 프로세스 내에서 실행),
- 내장된 인증, 상태 프로브 및 메트릭.
이 프로젝트는 **inference.tiyuvta.ai**에서 프로덕션 환경에 적극적으로 사용되고 있으며, 여기서 Qwen 3.8-27B 모델이 README에 설명된 것과 동일한 기본값으로 서비스됩니다.
빠른 시작 (로컬에서 모델 실행)
# 사전 빌드된 바이너리 설치 (Linux x86_64, glibc ≥2.35, driver ≥580)
curl -fsSL https://raw.githubusercontent.com/avifenesh/memra/main/tools/install.sh | sh
export PATH="$HOME/.local/bin:$PATH"
# 로컬 체크포인트 또는 Hugging Face 리포지토리에서 단일 턴 채팅 생성 실행
MEMRA_CHAT=1 run-gen /path/to/hf-checkpoint \
--prompt "Explain KV caches in one sentence."
# OpenAI 호환 서버 시작 (기본 바인딩 127.0.0.1:8080)
MODEL=/path/to/hf-checkpoint
MEMRA_MODELS="qwen=$MODEL" memra-server
그런 다음 API를 호출할 수 있습니다. 예:
curl -sS -N http://127.0.0.1:8080/v1/chat/completions \
-H 'Content-Type: application/json' \
-d '{"model":"qwen","messages":[{"role":"user","content":"Explain KV caches in one sentence."}],"max_tokens":128,"stream":true}'
인증, 여러 모델 별칭 및 고급 플래그는 docs/SERVING.md에 문서화되어 있습니다.
성능 하이라이트 (RTX PRO 6000 Blackwell)
| 지표 | 값 |
|---|---|
| 첫 번째 토큰까지의 시간 (콜드, p50) | 0.156 s (단일 요청) |
| TTFT (캐시된 턴, 5.7k-토큰 접두사) | 0.130 s |
| 디코딩 처리량 (일반) | 140 토큰 / s |
| 추측 디코딩 처리량 | 240-245 토큰 / s (top-p/k 샘플링) |
| 지속 부하 | 576개 요청, 0 오류, 0 셰드 |
| 정확도 | 참조 모델과 8바이트 동일한 로짓 |
RTX 5090 노트북에서는 동일한 모델이 ~75 토큰 / s의 일반 디코딩 속도로 실행됩니다. README는 또한 여러 Qwen 모델에 대해 llama.cpp 대비 1.1배-2.3배 속도 향상을 보여주는 병렬 비교 표를 제공합니다.
지원되는 모델 및 하드웨어
- 주요 대상: RTX PRO 6000 (sm_120a) 및 RTX 5090 (sm_120a). 이 엔진은 이러한 아키텍처를 위한 별도의 사전 빌드된 바이너리를 제공하며, 런타임에 올바른 코드 경로를 자동으로 선택합니다.
- 선택적 컴파일 게이트 경로: Hopper H100 (sm_90a) – 적절한 CUDA 아키텍처 플래그를 사용하여 소스에서 빌드하는 경우 사용할 수 있습니다.
- 모델 카탈로그 (선택된 예시):
- Qwen 3.8-27B (Dense 하이브리드, NVFP4+Q5_K 양자화) – MTP 초안 헤드와 함께 서비스됩니다.
- Qwen 3.6-35B-A3B (전문가 혼합, IQ4_XS) – 단일 카드에서 실행; 더 큰 MoE 모델은 PP-2를 통해 두 카드에 분할할 수 있습니다.
- Gemma-4 시리즈 (MoE 또는 Dense, QAT 양자화) – CLI 전용 어시스턴트 초안과 함께 사용 가능.
- Ornith-1.0, Qwen-AgentWorld, Step-3.7-Flash (최대 196B) – 각각 양자화 및 초안 작성기 요구 사항과 함께 나열됩니다.
이 엔진은 나열된 정확한 모델-양자화-초안 작성기 조합만 지원한다고 명시합니다. 다른 체크포인트는 거부되거나 일반(더 느린) 경로로 실행됩니다.
설계 경계 (memra가 목표로 하지 않는 것)
- 텐서 병렬 또는 다중 노드 확장 없음 – 단일 워크스테이션 GPU(또는 2-GPU PP-2 분할)를 위해 구축되었습니다. 대규모 데이터센터 클러스터는 NCCL 기반 텐서 병렬 처리를 구현하는 프로젝트를 참조해야 합니다.
- 제한된 모델 지원 – 명시적으로 측정되고 조정된 모델만 기본값과 함께 제공됩니다. 새 모델을 추가하려면 원본 safetensors 체크포인트(또는 GGUF)를 제공하고 memra가 내부 레이아웃으로 다시 패키징하도록 해야 합니다.
- 일반 CPU 폴백 없음 – 이 엔진은 CUDA를 지원하는 NVIDIA GPU가 필요합니다. CPU 전용 모드는 없습니다.
- 지연 시간이 중요한 서비스에 중점 – 높은 동시성을 처리할 수 있지만, 설계는 대규모 배치 추론보다 저지연 채팅/완성 워크로드를 우선시합니다.
더 알아보기
- 설치 가이드 – README의 Install 섹션 및
tools/install.sh. - 서비스 세부 정보 –
docs/SERVING.md(API 사양, 인증, 캐시 의미론, 메트릭). - 성능 방법론 –
docs/PERFORMANCE.md및research/의 원본 로그. - H100 아키텍처 노트 –
ARCHITECTURE-H100.md. - 플래그 참조 –
docs/FLAGS.md.
memra는 Blackwell 등급 RTX GPU를 보유하고 있으며 대규모 데이터센터 지향 서버의 오버헤드 없이 빠르고 OpenAI 호환 엔드포인트가 필요한 개발자를 위한 틈새지만 프로덕션 준비가 된 추론 스택입니다.
관련
- Dispatch
- 프로젝트
- 프로젝트
- Dispatch
- 프로젝트