Qwen 3.6 27B の量子化(BF16、Q8_0、Q6_K、Q5_K_XL、Q4_K_XL、IQ4_XS、IQ3_XXS…)における品質比較

Reddit r/LocalLLaMA / 2026/5/6

💬 オピニオンTools & Practical UsageModels & Research

要点

  • この投稿は、Qwen 3.6 27B の量子化レベル(BF16、Q8_0、Q6_K、Q5_K_XL、Q4_K_XL、IQ4_XS、IQ3_XXS など)を比較し、低精度形式でどれほど品質が劣化するかを検証しています。
  • 著者は、PGN に基づくチェスのプロンプト(珍しい手を含む)を用いて、モデルが手順に沿って盤面状態を正確に追跡できるか、かつ最後の手をハイライトした正しいSVGを生成できるかを試します。
  • 評価では、生成画像の見た目の良さではなく、駒配置と盤の向きの正確さを重視しており、参照は Lichess のスクリーンショットです。
  • 序盤の観察として、正しい盤面状態を推測しSVGとして正しく描画するのが難しいケースが多いことが示され、16GB VRAM 環境で最適な量子化設定を探す動機になっています。
  • さらに、Qwen 3.5 27B や Gemma 4 31B の結果も示され、誤りとして「元の盤面状態を保持してしまう」「誤ったマスをハイライトする」といった典型的な失敗パターンが例示されています。
Quality comparison between Qwen 3.6 27B quantizations (BF16, Q8_0, Q6_K, Q5_K_XL, Q4_K_XL, IQ4_XS, IQ3_XXS,...

以下は、Qwen 3.6 27B の異なる量子化(quantizations)間での品質差(いわゆる劣化)をテストするために私が思いついた、網羅的ではないテストです。16GB のVRAM環境で、どの量子化が最適かを把握したいです。

今回テストすること

まず、プロンプト:

このチェスのゲームの PGN 文字列があるとします:1. b3 e5 2. Nf3 h5 3. d4 exd4 4. Nxd4 Nf6 5. f4 Ke7 6. Qd3 d5 7. h4 * 現在のチェス盤の状態を把握し、SVGコードで画像を作成し、さらに直前の手を強調表示してください。 

モデルに次のことができるかを見たいです:

  • 各手の後に盤の状態を追跡し、最終状態(7手目の前半)に到達できるか
  • 盤の正しい SVG 画像を生成し、コマを正しく配置し、直前の手を強調表示できるか

そして、疑問に思っているかもしれませんが。モデルが既存のチェスゲームで同じことを行うように学習されている可能性はあります。そこで、全くランダムな手を用意しました。いわゆる 300ELO 以上のプレイヤーなら絶対に指さないような種類の手です。

チェスをやらない人向けに言うと、7手目「h4」の後に盤がどう見えるはずかを示します。ちなみに、画像の品質ではなく、駒の位置と盤の向きを見てください。これは Lichess からのスクリーンショットにすぎないからです。

https://preview.redd.it/6lsfvzy8wfzg1.png?width=1586&format=png&auto=webp&s=94634b461528a6ecc6728eefd23072ab28c3769d

他のモデルは解けるの?

本題に入る前に、他のいくつかのモデルの結果をお見せします。盤の状態を正しく把握することすらできないモデルが思ったより多かったので、面白いと感じました。

Qwen 3.5 27B

最終的な駒の位置は概ね当たっているように見えますが、それでも上に元の盤面状態を描画してしまっています。間違ったマスをハイライトしており、盤の向きも間違っています。

https://preview.redd.it/oanbebp9xfzg1.png?width=1078&format=png&auto=webp&s=b72af75a10f4a9f4d897699b404580370bd29d9e

Gemma 4 31B

いい感じの chess.com のフラッグシップ盤面スタイルですね。盤の状態を理解できているとは言えそうですが、正しく描画できていません。マス目のパターンも崩れています。

https://preview.redd.it/w5jwi05nxfzg1.png?width=1640&format=png&auto=webp&s=33e6f21f56c4e98df92c828103ac10714e578973

Qwen3 Coder Next

何といえばいいのか分かりません。かなり失望しました。

https://preview.redd.it/knltp8h1yfzg1.png?width=1348&format=png&auto=webp&s=1e9207cd1dfd08b049eaa13727703be732d2cb96

Qwen3.6 35B A3B

予想どおり、35B は常に最速の Qwen モデルでしたが、その一方で、多くの異なる方法でタスクに失敗しています。そこで、16GB のカードに 27B をなんとか押し込む方法を探すことにしました。速度だけでは、そこまでの価値がないからです。

https://preview.redd.it/orti5kdhyfzg1.png?width=3360&format=png&auto=webp&s=c29a3aae9683e5ceaa15c59ae32adecabdd1b6b6

Qwen3.6 27B はどうやって解くの?

ここにある各モデルは、すべて同じ llama.cpp のパラメータでテストしています:

  • temp 0.6
  • top-p 0.95
  • top-k 20
  • min-p 0.0
  • presence_penalty 1.0
  • context window 65536

BF16 バージョンは OpenRouter から、Q8 から Q4_K_XL までは L40S サーバーで、残りは私の RTX 5060 Ti で動かしました。

ツールや MCP を何も使わず、Llama.cpp Web UI 上でそのまま SVG コードを生成しました(元々 Pi agent でこのテストを実行していましたが、親フォルダを覗き込み、より高い量子化の既存 SVG 図を見つけて、そのほとんどをコピーしてしまっていたのが分かったためです)。

BF16 - 完全精度

これがこのテストの基準(ベースライン)です。必要なものが全部そろっていました:正しい位置、正しい盤面の向き、正しい駒の色、正しいハイライトです。点線の青い線は予想外でしたが、後で分かるように、高い量子化(high quants)ではあまり生成されないので、それも面白い点でした。

https://preview.redd.it/lgizkjklzfzg1.png?width=1424&format=png&auto=webp&s=d7867b55735d3d875e0e36aecbaf3c3f0d1dbd58

Q8_0

予想どおり、Q8 は完全精度とほぼ同じで、違いはその線だけです。

https://preview.redd.it/6wjnq6ff0gzg1.png?width=1610&format=png&auto=webp&s=f0d20ff4717b972efffced49ac8d43075fa97eb5

Q6_K

ここで品質の低下が見え始めます。つまり、5段目のポーンの配置です。駒の見た目が違うのは、Q6 が別のフォントを使うことを選んだためです。このテストでは、どのモデルも自分で駒を描こうとしていません。

https://preview.redd.it/kcqj81vl0gzg1.png?width=1608&format=png&auto=webp&s=66c7a219e79a8f6ecf44e27489f337b4016185b5

Q5_K_XL

Q8 とかなり似ています。ただし、注目すべき点として、Q5 の SVG コードは 7.1 KB で、Q8 は 4.7 KB です。

https://preview.redd.it/6wshu7g01gzg1.png?width=1506&format=png&auto=webp&s=289db354fea59c456d8bd2dc7abdbcc1e4282ffd

Q4_K_XL と IQ4_XS

フォントの選択を無視すれば、Q4_K_XL はより完成度の高い解決策です。なぜなら盤の座標(コーディネート)が含まれているからです。

https://preview.redd.it/pzdghdtm1gzg1.png?width=3326&format=png&auto=webp&s=10c3d7758459f223d195107353f1ec76565cd31d

Q3_K_XL と Q3_K_M

https://preview.redd.it/56gttur62gzg1.png?width=3330&format=png&auto=webp&s=4af27d8a652e2deef6c14485d0fff4bd3651097f

IQ3_XXS

ここが面白いところで、ほとんどは正解でした。駒の配置とハイライトは概ね合っていて、最後の手にも線が入っています!

しかし、IQ3_XXSは盤面の向きを間違えています。左下にある明るいマスを見てください?

https://preview.redd.it/7jnzxy324gzg1.png?width=1608&format=png&auto=webp&s=178f72f51e65866497f16e861b04c0c448fce774

Q2_K_XL

これは時間の無駄です。とはいえ、駒の位置は全部正しくできていました。ただし、盤面の位置合わせがまったくできていません。

https://preview.redd.it/3z63d7bv4gzg1.png?width=1604&format=png&auto=webp&s=f6723b28248327c55bede4e42a4a0cfbe962fb74

じゃあ、何を使えばいいの?

1回のテストだけではここで結論を出すには不十分だとは分かっています。でも個人的には、このテストの後はIQ4_XSより下のものは絶対に選びません(以前の別の試行でQ3_K_XLやそれ以下に悪い経験があったので)。

私のRTX 5060 Tiでは、vanilla llama.cppでIQ4_XSに対してpp 100 tpstg 8 tpsくらいでした(ctkとctvの両方でq8、収まりました)。しかしTheTom's TurboQuantのフォークでは、全レイヤーに対してGPUオフロードを強制することで(`-ngl 99`)、最大でpp 760 tpstg 22 tpsまで引き上げられました。かなり実用的です。

llama-cpp-turboquant/build/bin/llama-server -fa 1 -c 75000 -np 1 --no-mmap --temp 0.6 --top-p 0.95 --top-k 20 --min-p 0.0 --presence_penalty 1.0 -ctk turbo4 -ctv turbo2 -ub 128 -b 256 -m Qwen3.6-27B-IQ4_XS.gguf -ngl 99 

唯一の欠点は、コンテキストウィンドウを75k未満に保つ必要があり、KVキャッシュの量子化にはturbo4/turbo2を使う必要があることです。

以下はいくつかの異なるKVキャッシュ量子化の例です。

https://preview.redd.it/y0y7o6h09gzg1.png?width=3320&format=png&auto=webp&s=bd7c855100ff63c9bb666a4f4a61b966ad6eebca

https://preview.redd.it/dyrru7z19gzg1.png?width=3314&format=png&auto=webp&s=d54238d7a31c6cd8858f84df67ff588dc22d726b

結果はすべてこちらで直接確認できます https://qwen3-6-27b-benchmark.vercel.app/

submitted by /u/bobaburger
[link] [comments]