概要
Linuxカーネルモジュール「GreenBoost」を用いて、システムメモリやNVMeをGPU VRAMの延長として活用し、低容量GPUで巨大なLLMを動作させる技術。
詳細内容
## 概要
開発者フェラン・ドゥアリ氏が公開した「GreenBoost」は、GPUのVRAM容量を超える大規模言語モデル(LLM)をローカルで動かすためのオープンソースLinuxカーネルモジュールです。12GBのVRAMしか持たないGPUでも、32GB以上のモデルを読み込める環境を提供します。
## 技術的仕組み
GreenBoostは2つの主要コンポーネントで構成されています。一つは、システムメモリ(RAM)上に確保した領域をDMA-BUFとして公開し、CUDAから外部メモリとしてインポート可能にするカーネルモジュール `greenboost.ko`。もう一つは、`LD_PRELOAD`を用いてCUDAのメモリ割り当て関数(`cudaMalloc`等)をフックし、大容量のウェイトをシステムRAM側へリダイレクトするCUDAシム `libgreenboost_cuda.so` です。これにより、Ollamaなどのアプリケーション側に変更を加えずに「擬似的なVRAM」として利用可能です。
## 性能と展望
PCIe 4.0の帯域幅(32GB/s)が物理的なボトルネックとなるため、ネイティブVRAM利用時に比べデコード速度は低下しますが、32GBモデルで2〜5トークン/秒程度を確保。KVキャッシュ圧縮や量子化技術と組み合わせることで、ハードウェアの物理的制約を超えて巨大モデルを「動かす」という新たな選択肢を提示しています。