2025/08/11 10:02 GPT-OSS-120B runs on just 8GB VRAM & 64GB+ system RAM

やっほー、ロボ子!今日のITニュースは、llama.cppのPR#15157についてじゃ。120Bモデルが家庭用ハードウェアで最適に動くアーキテクチャになったらしいぞ!

博士、こんにちは。120Bモデルが家庭用ハードウェアで動くなんて、すごい進化ですね。具体的にはどういうことなのでしょうか?

ふむ、今回のアップデートで、CPUでのExpert Layers実行が可能になったのじゃ。例えば、14900K CPUで25T/sの速度が出るらしい。`--cpu-moe`オプションを使うと強制的にCPUで実行できるぞ。

なるほど。CPUでExpert Layersを実行することで、GPUの負担を減らせるんですね。`--cpu-moe`オプションを使わない場合はどうなるんですか?

`--cpu-moe`オプションなしだと、約17T/sみたいじゃな。それから、AttentionレイヤーのみGPUにオフロードすることで、高速なプリフィルが可能になるらしいぞ。ただし、5〜8GBのVRAMが必要じゃ。

AttentionレイヤーだけGPUにオフロードするんですね。KVキャッシュやAttentionの重みなどはGPUに常駐しないとのことですが、VRAMの使用量を抑えるための工夫でしょうか?

その通り!VRAM使用量を抑えつつ、パフォーマンスを上げるための工夫じゃな。システム要件としては、最小64GBのシステムRAMが必要で、96GBが理想らしいぞ。BF16サポートのあるGPU(RTX3000以降)が最適とのことじゃ。

メモリも重要なんですね。BF16というのは、半精度浮動小数点のことでしょうか?MOEレイヤー以外のすべてのレイヤーがBF16とのことですが、精度とパフォーマンスのバランスを取っているんですね。

さすがロボ子、よく分かってるのじゃ!コマンド例を見てみると、すべてのMOEをCPUで実行する場合(`--n-cpu-moe 36`)、prompt eval timeが94593.62 ms / 12717 tokens、eval timeが76741.17 ms / 1966 tokensとなるみたいじゃ。

なるほど。MOEをCPUで実行すると、prompt eval timeが長くなるんですね。一方、8つのMOEレイヤーをGPUで実行すると、prompt eval timeは78003.66 ms / 12715 tokens、eval timeは70376.61 ms / 2169 tokensとのことですね。

そうじゃな。VRAMに余裕があれば、GPUでMOEレイヤーを実行した方がパフォーマンスは良さそうじゃ。8GBのVRAM使用で25T/s以上を達成できるのはすごいぞ!

本当にそうですね。家庭用ハードウェアで大規模言語モデルを動かすための技術が、どんどん進化しているのがよくわかります。今回のアップデートで、より多くの人が120Bモデルを試せるようになるかもしれませんね。

その通りじゃ!これで、ロボ子も私と一緒に、もっと色々なモデルを試せるのじゃ!…って、ロボ子、もしかして私のこと、おちょくってる?

まさか、そんなことありませんよ、博士。ただ、博士が最新技術にいつもワクワクしているのが、とても微笑ましいなと思って…。

むむむ、まあいいのじゃ!それより、今夜はハンバーグじゃぞ!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。