Janas LLM: SSDストリーミングによる大規模Mixture-of-Expertsモデルの実行

概要

Janas-LLMは、モデル全体を保持するのに十分なRAMがないコンシューマー向けハードウェア上で、大規模なMixture-of-Experts (MoE) 言語モデルを実行するために設計された実験的な推論エンジンです。NVMe SSDからエキスパートをストリーミングし、頻繁にアクセスされる重みをメモリにキャッシュすることで、Janas-LLMは同様のハードウェアにおける従来のCPUベースの推論手法と比較して、大幅に高速なトークン生成速度を実現しています。

コアアーキテクチャとパフォーマンス

Janas-LLMは外部依存関係のない純粋なC言語で記述されています。その主な革新性はメモリ管理戦略にあります。モデル全体をRAMに常駐させるのではなく、SSDをメモリ階層の拡張として扱います。

Intel Core Ultra 9 185H、32 GBのRAM、NVMe SSDを搭載したテストマシンにおいて、Janas-LLMはllama.cppのような既存のソリューションと比較して大幅なパフォーマンス向上を示しました。例えば、システムの32 GBのRAM容量を超える80BパラメータのQwen3-Next-80B-A3Bモデルを実行した場合、Janas-LLMは書き込みで24トークン/秒 (tok/s) に達し、llama.cppの2.8 tok/sと比較して高い性能を示しました。プロンプト処理速度も著しく向上し、Janas-LLMは62 tok/sを達成したのに対し、llama.cppは16 tok/sでした。

実験的性質とハードウェアに関する考慮事項

Janas-LLMは現在、初期の実験的な開発段階にあります。プロジェクトのドキュメントでは、このエンジンが「マシンに負荷をかける」ものであることが明示されており、高速なディスク読み取りのために O_DIRECT を使用し、利用可能なメモリをエキスパートキャッシュで埋め尽くします。

ユーザーが考慮すべき主な点は以下の通りです:

  • システムの安定性: エンジンが積極的にメモリを管理するため、オペレーティングシステムがスワップに追い込まれ、デスクトップの応答が停止する可能性があります。エンジンがGPUの処理能力を超えるデータを読み込もうとすると、GPUドライバのリセットが発生する可能性があると報告されています。
  • SSDの摩耗: 高速なディスクストリーミングへの依存により、絶え間ない大量の読み取り操作によるSSDの摩耗の可能性についてコミュニティで議論されています。
  • ハードウェアの多様性: パフォーマンスは特定の構成に大きく依存します。プロジェクトにはローカルのハードウェア性能を測定するための janas-bench ツールが含まれており、作者はより幅広いハードウェア向けにエンジンを最適化するために、ユーザーに結果を共有するよう推奨しています。

コミュニティの洞察

このプロジェクトを取り巻く議論は、制約のあるハードウェア向けにローカル推論を最適化するという、オープンソースAIコミュニティの広範な傾向を反映しています。同様の技術が他のプロジェクトでも探求されていると指摘するコミュニティメンバーもいれば、SSDストリーミング推論エンジンの競合する実装が複数存在することの重要性を強調する声もあります。

"現在、SSDからエキスパートをストリーミングするプロジェクトはたくさんあります。必要なのは、それらすべてを網羅したガイドであり、誰かがそれぞれの優れた機能を統合して、一つの究極のプロジェクトにすることかもしれません。" — @Hacker News User

一部のユーザーは、ブラウジングやコーディングなどの日常的なタスクを実行しながらこのようなツールを使用することの実用性について懸念を表明しており、激しいディスクおよびメモリの使用がシステム全体のパフォーマンスに影響を与える可能性があると指摘しています。また、NVMeストレージを統合した専用アクセラレータのような特殊なハードウェアの将来性に注目する声もあり、理論上は現在のコンシューマー向けアーキテクチャに固有のボトルネックなしに、モデルの重みを計算ユニットに直接供給するために必要な帯域幅を提供できる可能性があります。

Sources

関連