lucienhuangfu/eLLM

eLLM can infer LLM on CPUs faster than on GPUs

What it solves

eLLM は、CPU 上で Large Language Model(LLM)推論を実行する際の性能ギャップと高コストという課題に取り組みます。GPU がデフォルトの選択肢であることが多いですが、VRAM が限られているため超長コンテキストに苦戦し、プロンプトを小さなチャンクに分割せざるを得ません。eLLM はサーバークラス CPU の大容量メモリとキャッシュを活用して CPU 推論を最適化し、マルチ GPU システムと競争できるだけでなく、長コンテキストシナリオではむしろ高速化を実現します。

How it works

eLLM は「計算のためにストレージをトレードオフする」哲学を採用し、ランタイムオーバーヘッドとレイテンシを削減します。

  • Elastic Static Computation Graph: 次元優先のテンソルレイアウトを持つグローバルに一意な静的グラフを構築し、グラフを再構築することなく様々な入力長に対応できます。
  • Static-Shape KV Cache: ページドメモリ管理を行わず、キー・バリュー(KV)キャッシュ用に固定形状のテンソルを事前割り当てし、座標ベースの直接アクセスを可能にしてメタデータオーバーヘッドを削減します。
  • Massive-Dimensional Tensors: トークンとシーケンス用に非常に大きな次元を予約し、「無制限」な KV テンソルを実現、単一パスでフル Prefill を処理できます。
  • Head-by-Head Attention: Prefill 時にヘッドを一つずつ計算します。これにより、単一ヘッドの KV データが CPU の大容量 L3 キャッシュにできるだけ長く残り、メモリロードの繰り返しを最小化します。

Who it’s for

このフレームワークは、CPU サーバー(Intel Xeon 第4世代以降、AMX 対応)上で長コンテキストワークロードを実行するユーザー向けに設計されています。特に以下のケースに適しています。

  • AI Agents: 大量のコンテキストを取り込み推論を行うコンピュータ利用エージェント。
  • Developers: ファイル間やモジュール間のコンテキストを扱うコード Copilot。
  • Enterprise RAG: 大規模な外部文書をプロンプトに注入するシステム。
  • Researchers: 膨大な資料の多段階合成を伴う深層研究ワークフロー。

Highlights

  • Pure CPU Inference: GPU や NPU は不要で、Xeon/EPYC サーバー上で動作します。
  • vLLM API Compatible: 既存の LLM エコシステムと簡単に統合可能。
  • Long Context Support: 巨大な CPU RAM を活用し、事実上無制限に近いコンテキストウィンドウをサポート。
  • Reduced Latency: GPU が必要とするチャンク処理を回避し、TTFT(Time to First Token)を最適化。
  • Cost Effective: GPU 展開に比べハードウェアコストとユーザーあたりの推論コストが大幅に低減。