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 部署(或當模型過大時使用雙 GPU 管道),並提供以下功能:
- 前綴快取重用與租戶範圍的准入控制,以確保 VRAM 使用量可預測,
- MTP 推測性解碼(草稿模型加速)與自動回退,
- 支援 影像與影片輸入(模型的視覺塔在程序內執行),
- 內建驗證、健康探測與指標。
此專案已在 inference.tiyuvta.ai 的生產環境中積極使用,其中 Qwen 3.8‑27B 模型以 README 中所描述的相同預設值提供服務。
快速入門(在本機執行模型)
# 安裝預建二進位檔(Linux x86_64,glibc ≥2.35,驅動程式 ≥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 令牌 / 秒 |
| 推測性解碼吞吐量 | 240–245 令牌 / 秒(top-p/k 採樣) |
| 持續負載 | 576 個請求,0 個錯誤,0 個捨棄 |
| 精確度 | 與參考模型完全相同的 8 位元 logits |
在 RTX 5090 笔電上,相同模型的純解碼速度約為 ~75 令牌 / 秒。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(密集混合,NVFP4+Q5_K 量化)——以 MTP 草稿頭提供服務。
- Qwen 3.6‑35B‑A3B(混合專家,IQ4_XS)——可在單一顯示卡上執行;較大的 MoE 模型可透過 PP‑2 分散至兩張顯示卡。
- Gemma‑4 系列(MoE 或密集,QAT 量化)——提供僅 CLI 的助理草稿。
- Ornith‑1.0、Qwen‑AgentWorld、Step‑3.7‑Flash(最高達 196 B)——每項均列出其量化與草稿器需求。
引擎僅承諾支援上述明確列出的模型-量化-草稿器組合;其他檢查點將被拒絕,或以通用(較慢)路徑執行。
設計邊界(memra 不打算做的事)
- 無張量平行或跨節點擴展——專為單一工作站 GPU(或雙 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
- 專案