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 は、CUDA を介して NVIDIA GPU と直接通信する、Rust で記述された open‑source inference engine です。これは RTX PRO 6000 (Blackwell) および RTX 5090 ワークステーション用カード向けにチューニングされており、Hopper H100 カード向けにコンパイルすることも可能です。このエンジンは、Hugging Face の safetensors チェックポイントまたは GGUF モデルファイルをロードし、OpenAI‑compatible HTTP API (chat‑completion および completion エンドポイント) を通じて提供します。単一モデル・単一 GPU でのデプロイ(またはモデルが 1 枚のカードに対して大きすぎる場合は 2 枚の GPU によるパイプライン)に焦点を当てており、以下のような機能を提供します:
- VRAM 使用量を予測可能に保つための prefix‑cache 再利用と tenant‑scoped admission control、
- 自動フォールバック機能を備えた MTP speculative decoding (draft‑model 加速)、
- image と video 入力 のサポート (モデルの vision tower はプロセス内で動作します)、
- 内蔵の認証、ヘルスプローブ、およびメトリクス。
このプロジェクトは、inference.tiyuvta.ai で積極的に本番環境で使用されており、そこでは Qwen 3.8‑27B モデルが README に記載されているものと同じデフォルト設定で提供されています。
クイックスタート (ローカルでモデルを実行する)
# Install the pre‑built binaries (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"
# Run a single‑turn chat generation from a local checkpoint or a Hugging Face repo
MEMRA_CHAT=1 run-gen /path/to/hf‑checkpoint \
--prompt "Explain KV caches in one sentence."
# Start the OpenAI‑compatible server (default bind 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)
| Metric | Value |
|---|---|
| Time‑to‑first‑token (cold, p50) | 0.156 s (single request) |
| TTFT (cached turn, 5.7k‑token prefix) | 0.130 s |
| Decode throughput (plain) | 140 tokens / s |
| Speculative‑decoding throughput | 240‑245 tokens / s (top‑p/k sampling) |
| Sustained load | 576 requests with 0 errors, 0 sheds |
| Exactness | 8‑byte identical logits to the reference model |
RTX 5090 laptop では、同じモデルが plain decode で約 75 tokens / s で動作します。README には、いくつかの Qwen モデルについて llama.cpp に対する 1.1 ×‑2.3 × の高速化 を示すサイドバイサイドの表も用意されています。
サポートされているモデルとハードウェア
- 主なターゲット: RTX PRO 6000 (sm_120a) および RTX 5090 (sm_120a)。エンジンはこれらのアーキテクチャ向けに個別の pre‑built binaries を提供しており、実行時に適切なコードパスを選択します。
- オプションのコンパイル制限付きレーン: Hopper H100 (sm_90a) – 適切な CUDA arch flag を使用してソースからビルドする場合に利用可能です。
- モデルカタログ (一部の例):
- Qwen 3.8‑27B (dense hybrid, NVFP4+Q5_K quantisation) – MTP draft head を使用して提供されます。
- Qwen 3.6‑35B‑A3B (Mixture‑of‑Experts, IQ4_XS) – 単一のカードで動作します。より大きな MoE モデルは PP‑2 を介して 2 枚のカードに分割可能です。
- Gemma‑4 series (MoE or dense, QAT‑quantised) – CLI‑only assistant draft が利用可能です。
- Ornith‑1.0, Qwen‑AgentWorld, Step‑3.7‑Flash (up to 196 B) – それぞれ quantisation と drafter の要件が記載されています。
このエンジンは、リストに記載されている正確なモデル・quantisation・drafter の組み合わせのみをサポートすると主張しています。その他のチェックポイントは拒否されるか、汎用的な (より遅い) パスで動作します。
設計上の境界 (memra が目指していないこと)
- テンソル・パラレルまたはマルチノード・スケーリングは行わない – 単一のワークステーション GPU (または 2 枚の GPU による PP‑2 分割) 用に構築されています。大規模なデータセンター・フリートに対しては、NCCL ベースのテンソル・パラレルを実現するプロジェクトを検討してください。
- 限定的なモデル・カバレッジ – デフォルト設定で提供されるのは、明示的に測定・チューニングされたモデルのみです。新しいモデルを追加するには、元の safetensors チェックポイント (または GGUF) を提供し、memra がそれを内部レイアウトに再パックするのを待つ必要があります。 | No generic CPU fallback – エンジンは CUDA 可能な NVIDIA GPU を必要とします。CPU のみで動作するモードはありません。
- Focus on latency‑critical serving – 高いコンカレンシーを扱える一方で、設計は大規模な batch inference ではなく、低レイテンシーの chat/completion ワークロードを優先しています。
詳細を学ぶには
- Installation guide – README の Install セクションと
tools/install.sh。 - Serving details –
docs/SERVING.md(API spec, auth, cache semantics, metrics)。 - Architecture notes for H100 –
docs/ARCHITECTURE-H100.md。 - Flag reference –
docs/FLAGS.md。
memra は、Blackwell クラスの RTX GPU を所有し、大規模なデータセンター向けサーバーのオーバーヘッドなしに、高速で OpenAI 互換の API エンドポイントが必要な開発者向けの、ニッチだが本番環境向けの推論スタックです。
関連
- Dispatch
- プロジェクト
- プロジェクト
- Dispatch
- プロジェクト