AI・機械学習
Qwen3.8 27Bの量子化モデルのベンチマーク:4ビットは健闘、1ビットは崩壊
Benchmarking Qwen3.8 27B quantizations: 4-bit holds up, 1-bit collapses (quesma.com)
要約
Qwen3.8 27Bモデルの様々な量子化レベル(4ビット、2ビット、1ビット)の性能をベンチマークした結果、4ビット量子化(Q4_K_M)はフルモデル(BF16)と同等の性能を維持し、多くのコンシューマー向けGPUで利用可能であることが示されました。一方、1ビット量子化は性能が著しく低下し、ランダム推測レベルにまで落ち込むことが判明しました。
全文翻訳
Qwen3.8 27Bを品質を犠牲にすることなく実行するために、実際にどれだけのGPU RAMが必要でしょうか?フルBF16モデルは55GBで、ほとんどのコンシューマー向けハードウェアには収まりません。しかし、17GBのQ4_K_Mは、人気のエージェント型コーディングベンチマークであるTerminal-Bench 2.1でフルモデルと同等の性能を発揮します。これはRTX 4090のような24GBカードに収まり、約64kトークンのコンテキスト用メモリも残ります。圧縮は最終的に限界に達します。1ビットでは、モデルはGPQA Diamondでランダムに近い性能しか示さず、より長い推論を行うとさらに悪化します。
背景
Qwen3.8 27BのGGUF量子化モデルは、Hugging FaceのUnslothから入手可能です。選択肢は豊富です!8ビットのQ8_0(29GB)、4ビットのQ4_K_M(17GB)、2ビットのUD-Q2_K_XL(10.7GB)、そして最も小さい1ビットのUD-IQ1_S(6.2GB)をチェックします。以前、私はQwen3.6 27Bモデルを調査し、それは12GBでもSVGペリカンを生成するのに優れており、16GBまでほとんどの知識を維持していました。同時に、Redditのスレッドでは、多くの人が8ビットでさえも量子化モデルは結果が悪くなると不満を述べており、なぜローカルLLMが本来より賢くないのかと疑問を呈しています。これらの不満は根拠があるのでしょうか?トークン予測の違い(KLダイバージェンス、トップ1予測)を測定するのは簡単ですが、モデルがタスクを解決する能力が悪くなったかどうかはわかりません。ノイズの一部はタスク解決には無関係かもしれませんが、(例えば)量子化されたモデルがわずかに言い換えられただけで同じ品質の回答を生成するかもしれません。他のケースでは、単一の異なるトークンが論理エラーであったり、出力を突然終了させたりする可能性があります。
モデルサイズ(ディスク上)とBF16のトップ1トークンが同じかどうかの比較。
私は、公式結果を再現するために、まずフルモデルBF16の公式結果を再現し、次に量子化が結果にどのように影響するかを見るために、GPQA Diamond、指示追従IFBench、プログラミングTerminal-Bench 2.1といった人気のベンチマークで直接結果を測定することに焦点を当てます。16年8月16日のビルドでllama.cppを使用してモデルを実行した際、Modal GPUで約3,000ドルを費やしました。それ以前のビルドはこのモデルでは動作しませんでした。原則として、自分のラップトップで実行することもできましたが、これらは時間のかかるベンチマークです(ペリカン生成とは異なり)。モデルの量子化に関わらず、F16 KVキャッシュを使用することに注意してください。これは32kトークンあたり約2.3GBを占めます。Unslothの量子化を使用しました:2ビット、4ビット、8ビットモデルにはv2、1ビットモデルにはv3を使用しました。Unslothは19年8月19日にv2ファイルを置き換えたため、ほとんどのテストで使用された正確なファイルは現在入手できません。
要するに、4ビット量子化Q4_K_M(17GB)を選択した場合、これらのベンチマークで違いに気づかないでしょう。同時に、設定の努力(デフォルトはxhigh)は非常に重要であり、これは過剰に考えすぎる可能性があるため、難しい選択です。
ワンショットテスト
最も簡単なのはワンショットテストです。この場合、大学院レベルの科学GPQA Diamondと指示追従IFBenchです。それぞれ3つの推論努力(low、medium、デフォルトのxhigh)で実行します。
GPQA Diamond
まず第一に、公式結果を再現できたことに満足しました。ベンチマークの実行は困難であり、結果を劇的に変える可能性のある多くの隠された設定や仮定があります。ここでは、最初から、結果はQwenによって報告された通りでした。第二に、ノイズ(バーはWilson 95%信頼区間であり、実行ごとのノイズに対して非常に保守的です)を除けば、4ビットまでほとんど違いはありません。2ビットのみスコアがわずかに低下します。同時に、思考レベルはスコアを劇的に変化させました。xhighの最良の結果は、約8kの推論トークンを必要としました。
IFBench
ここでは、私の大きな驚きに、モデル間には変化がありませんでした。11GB未満のまで、まともな2ビットモデルまでです。ただし、コンテキストはさらに低く、約4kトークンです。
エージェント型コーディングとTerminal-Bench 2.1
プログラミングはどうでしょうか?Terminal-Bench 2.1は、89のタスクを持つ標準的なエージェント型ベンチマークです。ここでは3時間のタイムアウトとxhighの努力を使用します。98kのコンテキストを確保します。
私のBF16の測定値が報告された結果を再現するだけでなく、驚くべきことに、Q4_K_Mも同様でした。誤ってQ8_0の実行をスキップしましたが、この場合、4ビットとフルモデルの値の間で安全に補間できます。実行はコストがかかり、不要であり(非公式ブログ記事の予算を超えるでしょう)。2ビットのUD-Q2_K_XLでのみ、わずかに問題が発生します。顕著な低下ですが、それでもOpus 4.7またはGemini 3.1 Proのレベルです。ここでも、最先端からは程遠いですが、無用というわけでもありません。結果は一つの側面ですが、プロセスはどうでしょうか?結果を得るために、より小さいモデルはより多くのターンやトークン、時間が必要なのでしょうか?
同じ解決されたタスクで、UD-Q2_K_XLはBF16と同じ数のターンを必要としますが、約4分の1多いトークンを書き込みます。ターンの数はほぼ同じままです。
1ビットの崖
品質は1ビットで急激に低下します。知識と同様に、量子化によるダメージは非線形です。まず測定可能な変化がなく、次にわずかな低下があり、最後に崩壊します。2ビット量子化はいくらか機能しますが、最良の1ビットモデルでさえこれらのベンチマークには役立ちません。
スコアはランダム推測レベルの周りであり、最小のモデルはそれを下回っています。そして、より長い推論はそれを悪化させます。xhighでは、モデルがトークン予算が尽きるまで推論し、空の回答を返すことが多いため、スコアはlowを下回ります。確かに、Unslothは次のように自慢しています。「UD-IQ1_Sは6.2GB(MTPなし)で、トップ1%の精度を約72%維持しながら、89%小さくなっています。しかし、この場合、残りの28%が重要です。」そしてこれは、r/LocalLLaMAでの別のユーザーの経験とも一致しています。
コスト
これらのベンチマークを実行するのは安くはありません。API経由でのベンチマーク実行は、以前のベンチマークから知っているように、高価です。レンタルGPUでの実行はさらに高価です。
Modalを使用しました。CLIから、エージェントからも含めて簡単に実行できるためです。他のセットアップでは価格が異なる場合があります。自分でデバイスを持っている場合、この計算は当然変わります。モデルを実行する最適な方法を見つけるには、ある程度のテストが必要です。通常、単一ストリームでうまく機能するマルチトークン予測(MTP)を使用する代わりに、いくつかの並列ストリームを使用します。主な制約は、GPUにモデルと必要なKVキャッシュの両方を収容するのに十分なメモリがあるかどうかです。NVIDIA L40S(RTX 4090と同じAda Lovelaceチップですが、メモリは2倍の48GB)、H100(80GB)、H200(141GB)を使用しました。自分でベンチマークを実行したい場合に、概算の見積もりを提供するためにコストを共有したいと思います。
OpenRouterでの比較では、DeepSeek V4 Flash 0731(284Bモデル)は、OpenRouterの最も安いプロバイダーからの出力で約0.1ドル/Mトークンです。この違いが、大規模なモデル実行の効率、価格戦略、または人気によるものなのかは定かではありません。
結論
ローカルで実験を実行する場合、通常は、必要なコンテキストとともにGPUメモリに収まる最良のモデルを選択します。ほとんどのタスクでは、UnslothのQ4_K_Mで十分でしょう。モデルの品質は、量子化レベルが低くなるにつれて徐々に低下しますが、1ビットでは完全に崩壊します。