mudler/vllm.cpp
a community oriented 1:1, vLLM-alike (Continuous batching, paged KV) engine in C++ with additional features (GGUF, RadixAttention, Cache-aware scheduling, ...)
解決する問題
vllm.cpp は、Python と PyTorch の重い依存関係を必要とせずに、vLLM のサービング機能を提供する高パフォーマンスな C++20 推論エンジンです。単一の 66 MiB バイナリという最小限のデプロイメントを実現しつつ、元の vLLM プロジェクトのスループットと機能セットを維持することを目指しています。
動作方法
このエンジンは、いくつかの先進的な推論フレームワークの優れた特徴を統合しています:
- vLLM Core:連続バッチ処理、ブロックページ化された KV キャッシュ、自動プレフィックスキャッシュを実装。
- SGLang:RadixAttention とキャッシュを意識したスケジューリングを統合。
- llama.cpp:埋め込みが容易なフラットな C ABI を採用し、GGUF 量子化ファイルのネイティブサポートを提供。
- ハードウェアアクセラレーション:1 つのソースツリーから CUDA、CPU、Metal、Vulkan など幅広いバックエンドをサポート。
対象ユーザー
最小限のオーバーヘッドで LLM をデプロイしたい開発者や運用担当者、Python 環境なしで OpenAI 互換エンドポイントを提供したいユーザー、NVIDIA、Apple Silicon、ポータブル GPU など多様なハードウェア上でモデルを実行したいユーザーに適しています。
主な特徴
- 極めて軽量:vLLM インストールの 9.1 GiB に対し、66 MiB のバイナリ。
- 広範なモデル対応:Llama-3、Mistral、Qwen、DeepSeek を含む 37 種類の登録アーキテクチャをサポート。
- マルチモーダル対応:画像、動画、音声入力に対応し、MiniMax-H3 を通じて動画および音声生成も可能。
- 高いパフォーマンス:特定のモデル(例:Qwen3.6-27B)では vLLM と同等またはそれを上回るスループットを達成し、CPU 上で llama.cpp の prefill 時間を上回る性能を発揮。
- 柔軟な量子化:GGUF および NVFP4 のネイティブサポート。
- C ABI:C、C++、Go、Rust アプリケーションへのシームレスな統合を可能にするバージョン化された C ABI を提供。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト