sqliteai/warp
Run the full 2.78-trillion-parameter Kimi K3 model or GLM-5.3-Flash beyond available RAM by streaming activated weights directly from NVMe. A dependency-free, embeddable C inference engine.
何を解決するか
WARP(Weight-Aware Runtime and Paging)は、2.78兆パラメータのKim K3のような巨大なフロンティアモデルを、エントリーレベルのハードウェアで実行できるように設計された埋め込み可能な推論エンジンです。巨大なMixture-of-Experts(MoE)モデルのメモリボトルネックを克服し、モデルの重みが利用可能なRAMを超えた場合でも、高速なローカルストレージ(NVMe SSD)を主な重みリポジトリとして利用して実行可能にします。
動作方法
WARPはモデルの共有「トランク」をRAMに保持しつつ、各トークンに必要な特定のエキスパートのみをディスクから直接ストリーミングします。パフォーマンスを最適化するために、以下の技術を採用しています:
- エキスパートキャッシュ:使用されていないRAMをバウンド付きキャッシュとして利用し、頻繁にアクセスされるエキスパートを保持することで、ディスク読み取りを削減します。
- 先読みルーティング:次のレイヤーで必要となるエキスパートを予測し、実際に必要になる前にディスクから読み込みを開始します。
- アライメントされた読み取り:モデルコンテナの構造を最適化し、1つのエキスパートが正確に1回のアライメントされた読み取りで取得可能にすることで、ディスクI/Oと計算を重ねます。
- 量子化:エキスパートは3ビットの残差ベクトル量子化を使用し、共有重みは4ビットまたは8ビットを使用します。
- 効率的なアテンション:線形アテンションと圧縮された潜在KVキャッシュを活用し、メモリ要件を低く抑えます(例:K3の4Kコンテキストで0.21 GB)。
対象ユーザー
RAMが限られたマシン(例:16 GB~64 GB)で、高速なNVMeストレージを使用して、兆パラメータ級のマルチモーダルモデルをローカルで実行したい開発者や研究者向けです。
特徴
- 大規模モデル対応:Kim K3(2.78Tパラメータ)およびGLM-5.3-Flash(313Bパラメータ)を実行可能。
- 依存関係ゼロ:C言語で記述されており、外部ランタイム依存(BLAS、CUDA、Pythonなど)は一切不要(推論には不要)。
- マルチモーダル対応:Kim K3およびGLM-5.3-Flashの両方でテキストおよび画像入力をサポート。
- ハードウェア効率:16 GBのRAMを持つマシンでも313Bモデルを実行可能。
- 広範な互換性:macOS、Linux(arm64/x86_64)、Windows(MinGW-w64経由)をサポート。
関連
- Dispatch
- プロジェクト
- プロジェクト
- プロジェクト
- Dispatch