llama.cpp で複数スロットを使うこと(--parallel > 1)については、主に悪い評価ばかり聞いてきました。vLLMと比べると、この点ではさらに悪いのかもしれませんが、最近 vLLM を4スロットで試したところ、確かに全体の速度が大幅に向上しました(もちろん、4つのスロットすべてを使用しているときです。1スロットの llama.cpp でデコード 150〜170tps に対して、4スロットの vLLM では 400tps)。
ただし、vLLM は CPU オフロードをあまりうまく扱えません(あるいは、正しく使い方が分かっていないだけかもしれません)し、聞いた話では GGUFS にもあまりうまく対応できていないようで、その結果、利用可能な量子化が基本的に int4/int8 に限られています。そして多くのモデルでは、llama.cpp なら Q6 を簡単に回せて良い速度が出ますが、vLLM だと int4 の量子化まで落とさないといけないでしょう。
ということで本題… 最近いくつかベンチマークを回していて、1スロットの llama.cpp では、1回の実行に簡単に2時間以上かかります。複数スロットを使えば、ベンチマーク完了までの時間が実際に短くなるのか、それともむしろ同程度のままなのか気になっています?
[link] [comments]




