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 流水线),并提供以下功能:

  • 前缀缓存复用和租户作用域准入控制,以保持显存使用可预测,
  • 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 tokens / s
试探性解码吞吐量 240‑245 tokens / s(top‑p/k 采样)
持续负载 576 个请求,0 个错误,0 个丢弃
精确性 与参考模型的 8 字节对齐 logits

在 RTX 5090 笔记本上,同一模型的普通解码速度约为 ~75 tokens / s。README 还提供了一个并排表格,显示了多个 Qwen 模型在 memra 上相比 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.mdresearch/ 目录下的原始日志。
  • H100 架构说明——ARCHITECTURE-H100.md
  • 标志参考——docs/FLAGS.md

memra 是一个针对拥有 Blackwell 系列 RTX GPU 的开发者的小众但已投入生产的推理堆栈,无需大型数据中心导向服务器的开销,即可提供快速、与 OpenAI 兼容的端点。

相关

  • Dispatch
  • 项目
  • 项目
  • Dispatch
  • 项目