見出し画像

同じモデルの量子化を「作り手違い」で並べたら順位が逆転:単発ベンチでは作成元も量子化も優劣を決められない Parable-Qwen3-4B-Claude-Fable-5(mradermacher vs AnkitAI)

こんにちは、くーるぜろです。

今回の主役は Parable-Qwen3-4B-Claude-Fable-5。Anthropicの実在モデル「Claude Fable 5」のエージェント出力を蒸留したと称する、Qwen3-4Bベースの小型thinkingモデルです。4Bでllmbench(自作SWE-Bench風)を50〜80%解いてくるので、素の実力は素直に強い。……のですが、この記事の本題はモデル評ではありません。

今回は少し珍しい構図になりました。同一のモデル重みを、2つの異なる作り手がそれぞれGGUF量子化した別ファイルを、手元で並べて計測していたのです。片方は静的量子化で知られる mradermacher版、もう片方は モデル作者AnkitAI本人版。ベースの重みは同じ、量子化タイプ(Q4_K_M/Q5_K_M/Q6_K/Q8_0)も同じ。そして 同一量子化タイプのファイルサイズは両版で1バイト単位まで一致 します(Q4_K_M=2.5GB / Q5_K_M=2.89GB / Q6_K=3.31GB / Q8_0=4.28GB。HFのファイル一覧で確認)。標準K-quantは決定論的なので、同サイズなら 中身はほぼビット同一のはず です。

にもかかわらず、単発スコアは量子化ごとに2〜4タスクずれ、順位まで食い違いました。Q4_K_Mは AnkitAI版80.0% vs mradermacher版72.5%、Q8_0は mradermacher版がトップ級↔AnkitAI版が谷 に反転。つまりこの記事は、「ほぼ同一のGGUFですら、40問×1runでは順位が動く。だから単発では"量子化の優劣"も"作り手の優劣"も判定できない」 という、単発ベンチの危うさの実演記録です。先に結論を置いておきます。単発1runの62.5〜72.5%帯は運の範囲。作成元(mradermacher vs AnkitAI)の優劣を語るには5runsが要る。 ここから数字で詰めていきます。


このモデルの素性

まずスペック。二次情報(モデルカード/公式ドキュメント)は確度を付けて区別します。

配布GGUFは「作り手」が2つある

今回の構図の核心です。このモデルのGGUFは、同一のベース重み(AnkitAI/Parable-Qwen3-4B-Claude-Fable-5) に対して、2つの異なる作成元 が量子化して公開しています。

  • ① mradermacher版(静的量子化): ファイル名は `Parable-Qwen3-4B-Claude-Fable-5.f16 / .Q8_0 / .Q6_K / .Q5_K_M / .Q4_K_M / .Q3_K_M`。F16からQ3まで梯子が広いのが特徴。今回はこの6量子化を計測。

  • ② AnkitAI版(モデル作者自身の量子化): ファイル名は `Qwen3-4B-fable-agentic-GGUF-Q4_K_M / Q5_K_M / Q6_K / Q8_0`。ファイル名に旧プロジェクト名「fable-agentic」が残っているだけで、中身は同じParableモデルです。Q4〜Q8の4量子化。今回はこの4量子化を計測。

大事なので念押しします。「Qwen3-4B-fable-agentic」は 別モデルでも改名の産物でもありません。AnkitAI本人がアップした同一モデルのGGUFで、ファイル名だけが旧名のまま残っているだけです。ベースのモデル重みはmradermacher版と同一。違うのは「誰がどう量子化したか」だけ。そして前述の通り、同一量子化タイプのファイルサイズは両版で完全一致(HFのファイル一覧で確認)。標準K-quantは決定論的なので、同サイズのファイルは中身もほぼビット同一のはずです。

だからこそ今回は「作り手違いの、ほぼ同一のはずの2ファイル」を比較する、という珍しい実験になりました。この比較が単発ベンチの危うさをどう暴いたかは、後の「逆転現象その1」で詳しく見ます。

「Claude Fable 5蒸留」とは何か

「Claude Fable 5」はAnthropicの実在の商用モデルです(公式ドキュメント上 2026年6月9日GA、API ID `claude-fable-5`、長期エージェント/高度推論向けフラッグシップ。確度HIGH)。

本ローカルモデルは、そのFable 5のエージェントセッション出力トレース(データセット `Glint-Research/Fable-5-traces`、4.4k件、AGPL-3.0)と `gpt5.5-terminal` トレース(MIT)で Qwen3-4BをQLoRA蒸留した非公式派生 です。ここは書き分けが要る部分なので明確にしておきます。

  • 本モデルは Anthropic公式の提携品ではありません。 Fable 5の出力を第三者が収集したデータで蒸留した派生物です。

  • データセットカードには「取り上げられる前(before it was taken away)に入手できたFable 5データ」という文言があります。収集経緯はグレーの可能性が指摘できますが、これは「カードにこう書かれている」という事実提示に留めます。 規約・法的な評価は筆者の領分ではありません(この段落の推測は確度LOW〜MODERATE)。

素性のグレーさとモデルの出来は別問題です。後述する通り、4Bでこのベンチを50〜80%解くのは素直に強い部類。素性の話はここで打ち切って、以降は数字だけを見ます。

なお、モデルカードには自称の内部指標(test loss 1.888→0.996、token精度 0.683→0.782)が載っていますが、これは 自己申告の内部評価値 であり、筆者の実測表には一切混ぜません。標準ベンチの公称値は前述の通り存在しません。

GGUFサイズ(実値)

同一量子化タイプは、mradermacher版・AnkitAI版のどちらでも同サイズです(HFファイル一覧の実値)。

mradermacher版はF16〜Q3まで梯子が広く、AnkitAI版はQ4〜Q8の4種のみ(F16・Q3なし)。注目してほしいのは、両版でQ4_K_M〜Q8_0のサイズが完全に一致している点です。同サイズ=ほぼ同一ファイルのはず。それでもスコアがずれる、というのが本記事の目玉になります。

4Bなので最大のF16でも8GB強。Q4_K_Mなら2.5GBで、8GB VRAMどころかCPU実行でも十分現実的なサイズ感です。

検証環境

  • 実行環境: llama.cpp / GGUF量子化での計測

  • ハードウェア: (※実行環境の詳細はログ未記録。llama.cpp / GGUF量子化での計測)

  • ベンチ: llmbench(SWE-Bench風の自作。バグレポート+ソースをLLMに渡し、patch適用→隠しpytest[LLMには非公開]でresolved判定)

  • タスク数: 40問(easy 5 / medium 5 / hard 10 / expert 12 / frontier 8)。タスクIDは t001〜t040

  • 実行回数: 各タスク1回のみ(runs=1)。pass@k・5runs平均なし。

  • 内容: Pythonのバグ修正・実装タスク(関数レベル、決定論的テスト付き)

  • サンプリング: ベンチログにサンプリング値の記録フィールドなし(実測に使った値は不明)。 参考として、モデルカード推奨は temp 0.3〜0.7 / max_tokens 2,500+。Qwen3公式のthinking推奨は temp 0.6 / top_p 0.95 / top_k 20(両者は別物、混同注意)

  • 評価軸: Resolved率 / 🟢🟡🔴 usability / Quality(resolvedのみ) / Combined / tok/s

  • Combined = success_rate ×(0.5 + 0.5 × quality/100)× 100(動かないコードは0点)

  • GitHub: `zephel01/swe-bench`(MIT)。stdlib-onlyで再現可能

実行回数が 各1回 である点を最初に強調しておきます。以下の全数字は単発です。±3pt(1〜2問)の差は運の範囲として扱い、順位の根拠にしません。

結果サマリ(mradermacher版、6量子化 × 40タスク・各1run)【筆者の実測】

結論: mradermacher版6量子化のうちトップは Q8_0 と Q4_K_M の同率72.5%、最高精度のF16は62.5%で中位。実質的な信号はQ3_K_Mの崩落(52.5%)だけで、62.5〜72.5%の帯(4タスク幅)は単発±3ptの範囲、順位は運。VRAMが許すならQ4_K_M(2.5GB)を選べば足り、それ以上ビットを積む理由はこの単発データからは出てこない。

逆転現象その1:ほぼ同一のはずの2ファイルを「作り手違い」で並べたら順位が逆転した

この記事の目玉です。前述の通り、AnkitAI版のGGUFは mradermacher版と同一のモデル重み を、同じ量子化タイプで固めた別ファイルです。そして Q4_K_M〜Q8_0はサイズがぴったり一致 します。標準K-quantは決定論的な処理なので、同サイズなら中身はほぼビット同一のはず——つまり本来、スコアも一致してくれないと困る2つです。

参考:AnkitAI版(作者自身の量子化、4量子化)【mradermacher版と同一のモデル重み】

AnkitAI版のQ4_K_Mは 80.0%(32/40)。今回の全計測10セル中の単独トップです。そして同じ量子化を作成元でそろえて並べると、こうなります。

読み方はこうです。同サイズ=ほぼ同一ファイルのはずなのに、Q8_0はmradermacher版が上(72.5% vs 62.5%)、Q4_K_MはAnkitAI版が上(80.0% vs 72.5%)。 作成元で一貫した優劣が出ていません。

  • Q8_0: mradermacher版ではトップ級(72.5%)、AnkitAI版では谷(62.5%)。同じ量子化・同じサイズのファイルが、作り手をまたぐと山にも谷にもなる。

  • Q4_K_M: mradermacher版72.5% vs AnkitAI版80.0% = 3タスク差。ビット同一のはずの2ファイルで、これだけ動く。

「mradermacherの静的量子化が優れている」でも「作者本人版が正義」でもありません。ほぼ同一のはずの重みを別ファイルとして通しただけで、量子化間の序列も作成元の上下も入れ替わっている。 これが単発ベンチの正体です。順位表の上下は、ファイルの品質差ではなく、40問というサンプルサイズが生むノイズを見ている公算が大きい(自信度MODERATE)。

現時点の見立ては 「両版は実質同等、差はノイズの公算」(自信度MODERATE) です。もし両版のファイルが本当にビット同一なら、この差は「同じファイルを別の時間帯に回したときのrun間ブレ」そのもの。仮に量子化処理にわずかな非決定的差があったとしても、結論は変わりません。兄弟どころか双子のように近い2つのビルドですら、単発ではこれだけ順位が動く ——という留保をむしろ強める材料になるだけです。

逆転現象その2:「ビットを上げれば精度が上がる」は成立しない

この連載の常連テーマです。今回も綺麗に不成立でした。

  • 最高精度の F16(62.5%)は中位。トップではありません。

  • mradermacher版のトップは Q8_0 と Q4_K_M(72.5%)。AnkitAI版に至っては Q4_K_M(80.0%)がQ8_0(62.5%)を17.5ptも上回る

  • ビット順(F16 > Q8 > Q6 > Q5 > Q4 > Q3)にResolvedが単調減少する、という素朴な期待はどちらの作成元でも崩れています。

ただし冷静に読みます。62.5〜72.5%の帯は4タスク幅=単発±3ptの範囲で、この帯内の逆転は「Q4がF16より賢い」を意味しません。 意味しているのは逆で、「この帯の順位は運で決まっており、ビット数でも作成元でも説明できない」ということ。逆転現象は面白い見出しになりますが、そこから「だからQ4を選べ」と結論するのは、同じ単発ノイズの罠に自分がハマるだけです。

確度をもって言えるのはQ3_K_Mの崩落だけ です。mradermacher版で52.5%(21/40)。Q4→Q3で20pt=8タスク落ちています。これは4タスク幅のノイズでは説明しづらい下落なので、「Q3は避けた方が無難」 程度には信号として扱えます(それでも単発なので断定はやや弱め)。なお 崩落を観測できるのはmradermacher版だけ です——AnkitAI版にはQ3_K_Mが存在せず、下限の挙動を確認したいなら梯子の広いmradermacher版を使うしかありません。

量子化ごとの失敗タスク:2つの鬼門と、シリーズの系譜

全10セル(mradermacher版6 + AnkitAI版4)を横断して、タスク単位で解けた/落ちたを集計しました。ここは単発ノイズが平均化されて、比較的信頼できる層です。

安定核:全10セルで解けた12タスク(10/10)

t001, t003, t005, t008, t012, t016, t018, t019, t024, t028, t031, t040。

easyの一部だけでなく、hard/expert級にも安定核があります。t018(registry)、t019(trie)、t024(TTL)、t028(backoff)、t031(shortest path)、t040(bytecode VM)あたりを4Bが全パス安定で通してくるのは、素直に強い土台です。素性のグレーさとは別に、モデルの地力はここに出ています。

鬼門:全10セルで落ちた2タスク(0/10)

t007(word_frequencies:Word/word の大小文字正規化)t025(escaped double-quotes / RFC4180) の2つだけ。10回中1度も解けていません。

準・鬼門(1〜2/10)

シリーズの系譜:t007・t010・t020

t007・t010・t020 は、前回のDolphin記事でも全滅した「シリーズの鬼門」 です。連載横断で繰り返し落ちるタスク群に、今回もきっちり接続しました。とりわけ t007(大小文字の正規化)は常連の鬼門 で、モデルが変わっても系統が変わっても落ち続けています。「文字列の正規化を仕様通りに詰める」系のタスクが、小型モデルの構造的な弱点であることを、また一件補強した格好です。

逆に、t002・t004(easyなのにQ6_Kだけ落とした)、t009、t015、t017、t021〜t023、t026、t029、t032、t035〜t037 あたりは セルによって解けたり落ちたりする「揺れタスク」。「Q6_Kがeasyのt002/t004を落としたのに他は解いた」といった単発の綾は、量子化の序列の根拠にはしません。

usability:実際どれくらい任せられるか

Resolved(テストが通ったか)とは別に、生成コードをそのまま使えるか(🟢自律)、レビュー前提なら任せられるか(🟡補助)、任せられないか(🔴不可)の3分類も見ます。

  • 🟢 自律: レビューほぼ不要でそのまま使える

  • 🟡 補助: レビュー前提なら任せられる

  • 🔴 不可: 任せられない

mradermacher版

AnkitAI版

🟢自律の絶対数を見ると、AnkitAI版Q4_K_M(24)とmradermacher版Q4_K_M・F16(23)が上位。🔴不可が最も少ないのもAnkitAI版Q4_K_M(8/40)です。ここでもQ4_K_Mが悪目立ちしません。ただし🟢の数もセル間で20〜25と揺れており、これも単発ノイズの範囲。実務的な読み方としては、「Q4_K_MでもF16でも、40問中おおむね5〜6割はレビューなしで使える」 という水準感で捉えるのが妥当で、量子化間や作成元間で🟢の数を1桁単位で比べる意味は薄いです。

難易度別:非単調は「天井効果」ではなく「運のばらつき」

難易度帯ごとのResolvedを分解します。ここが単発ブレの見本市でした。

mradermacher版

AnkitAI版

mradermacher版に、量子化ビットと難易度がまったく噛み合っていない箇所が2つあります。

  • Q6_Kは easy を2問落とす(3/5)のに、hard は満点(10/10)。 易しい問題を落として難しい問題を全部解く、が起きています。

  • F16は expert 6/12なのに、Q8_0は10/12。 最高精度が中難度帯で下位量子化に4問差をつけられています。

これは 天井効果(上位が横並びで差が出ない)ではありません。 むしろ差は派手に出ている。ただしその差が、難易度という構造的な軸に沿っていない。easyで落ちてhardで満点、という現象は「モデルがhardに強い」ではなく、「40問・各1回だと、どの帯でも解けた/落ちたが運で数問ぶれる」 ことの現れです。medium(5問)がどのセルでも1〜4/5で暴れているのも同じ理由——分母5問では1問の当たり外れが20ptに化けます。

だからこの難易度表から「Q6_Kはhard特化」のような性格付けをするのは誤読です。ここで結論を出すのではなく、宿題にします。

v2提案: 本来この非単調は5runsで測り直すべき。各タスク5回まわして pass@k と平均成功率を出せば、この暴れが「実力の差」なのか「単発の運」なのかが切り分けられる。現状の筆者の見立ては後者(自信度MODERATE)。上位量子化(Q8_0 / Q6_K / Q4_K_M)を、mradermacher版・AnkitAI版の両方で5runsずつ再検証するのが次の一手。

tok/s と生成時間:速いのに最長、という逆説

速度も測りましたが、読み方に注意が要ります。

読み方の注意

まず前提。Qwen3-4Bはdenseです。MTP(投機的デコード)もMoEも積んでいません。 よって tok/s の傾き(F16 ~178 → Q3 ~333)は、投機的デコードの水増しでもMoEの活性化サイズ縮小でもなく、純粋に「量子化が軽い→重み読み出しが速い」だけ です。この点はむしろ素直で、量子化の効き方が綺麗に見えます。ただし 速い=賢いではありません。 最速のQ3(~333 tok/s)が最も解けない(52.5%)のが何よりの証拠です。

作成元間のtok/s差はファイルの差ではない

Q8_0で顕著ですが、tok/sが作成元でずれています(mradermacher版 ~197 vs AnkitAI版 ~248)。これを「AnkitAI版のQ8のほうが速い量子化だ」と読むのは早計です。両版のQ8_0はサイズが完全一致=ほぼ同一ファイルのはずなので、この速度差はファイルそのものの差ではなく、計測時のハード状態・負荷・サーマルなど実行時の揺れであって、ファイルの優劣ではないと読むのが妥当です(自信度MODERATE)。Q4/Q5/Q6のtok/sが両版でほぼ揃っている(例:Q4は ~318 で一致)ことも、この読みを支えます。

逆説:速いのに総時間が最長

ここが面白い。tok/sだけ見るとQ4_K_M(~318)はQ6_K(~280)やF16(~178)より速い。なのに 40問合計の生成時間はQ4_K_Mが最長(mradermacher版 ~377.5s、AnkitAI版も ~337.3s) です。

なぜか。Q4_K_Mが最も多くのトークンを生成した=最も長く思考した から、と読むのが自然です(自信度MODERATE)。本モデルはthinkingモードで、出力が`<think>...</think>`で始まります。`<think>`ブロックが長く伸びれば、1トークンあたりが速くても、総トークン数が増えて合計時間は延びる。「tok/sが速い」と「早く終わる」は別物 ——単発1ストリームで長考型モデルを測ると、この乖離が普通に起きます。

なお、これらは 単発1ストリームの値 です。並列実行(複数リクエスト同時)時の1ストリームあたりtok/sは桁が変わるので、この数字を「サーバ運用時のスループット」と読み替えないでください。

まとめ:結局どれを選ぶか

作成元(mradermacher版 / AnkitAI版)、どちらを選ぶ?

先に一番聞かれそうな問いに答えます。単発では優劣不明。両版は実質同等と見てよい(自信度MODERATE)。同サイズ=ほぼ同一ファイルのはずなのに、Q8はmradermacher版が上、Q4はAnkitAI版が上と、作成元で一貫した勝ち負けが出ていないからです。選ぶ基準はこうなります。

  • 梯子の広さが欲しい(F16やQ3、さらに下位量子化まで試したい)→ mradermacher版。崩落レベル(Q3_K_M 52.5%)まで確認できるのはこちらだけ。

  • 作者公式にこだわるAnkitAI版(Q4〜Q8)。

量子化別に1行で

6量子化(mradermacher版の梯子)を、用途別に1行で言い切ります。サイズ実値付きで。

  • F16(8.05GB): 選ぶ理由がない。62.5%で中位、サイズは最大、tok/sは最遅(~178)。単発の精度優位もない。

  • Q8_0(4.28GB): mradermacher版では72.5%だがAnkitAI版では62.5%に沈む「気分屋」。安定を期待してビットを積む用途には、単発データ上むしろ不向き。 サイズ相応の見返りは見えない。

  • Q6_K(3.31GB): 65〜70%で中庸。AnkitAI版では🟢自律25/40と最多。悪くはないが、Q4_K_Mを選べない積極的理由も乏しい。

  • Q5_K_M(2.89GB): 62.5%で両版とも横並び。tok/sは速い(~300)。無難だが特徴に欠ける。

  • Q4_K_M(2.5GB)🥇: 迷ったらこれ。 mradermacher版72.5% / AnkitAI版80.0%で全計測トップ級、🔴不可も最少水準、サイズは実用最小クラス(CPU実行も現実的)。ただし推し理由の半分は「単発でたまたま良かった」可能性を含む——盲信はしない。

  • Q3_K_M(約2.08GB): 52.5%への崩落は今回唯一の確度ある信号。400MBの節約のために8タスク落とすのは割に合わない。避けて無難。

実務的な着地はシンプルです。Q4_K_M(2.5GB)を基準に、それで足りなければQ5_K_M。Q3は避ける。Q6以上を積む単発上の根拠はない。作成元はどちらでも実質同等。 ただしこの「Q4推し」自体、次の教訓の対象であることを忘れずに。

教訓

単発では、量子化の優劣も作成元の優劣も決めるな。 これが今回の主教訓です。同一のモデル重みを、2つの作り手が量子化した——同サイズでほぼビット同一のはずの——2セットを回しただけで、Q4は72.5%↔80.0%に動き、Q8はトップ↔谷に反転しました。40問・各1回という設計では、量子化間の3〜4タスク差も、作成元間の差も、モデルやファイルの性質ではなくサンプリングノイズを見ている公算が大きい。順位を主張したいなら、5runs+pass@k+平均成功率まで積むしかありません。逆に、タスク単位で全パス落ちる鬼門(t007・t025)や、崩落レベルの下落(Q3_K_M)は、単発でも読める信号 です。単発データは「順位づけには使えないが、鬼門と崩落は拾える」——この線引きが、今回持ち帰る一般則です。

そしてもう一つ。4BでこのベンチをQ4で72.5〜80%は、素直に強い。 素性(Fable 5蒸留、収集経緯のグレーさ)とは切り離して、地力は正当に評価しておきます。安定核12タスクにhard/expert級が含まれるのは、小型モデルとして立派な土台です。


検証で生成したコード・テスト結果はアーカイブ済みです。「特定タスクの詳細が見たい」「自分の環境でも試したい」はコメントへどうぞ。次は本モデルの上位量子化(Q8_0 / Q6_K / Q4_K_M)を、mradermacher版・AnkitAI版の両作成元で5runsずつ測り直すv2を予定しています。


モデル情報

関連記事

(過去のベンチ検証記事へのリンクをここに)

#ローカルLLM #llamacpp #ベンチマーク #量子化 #GGUF #Qwen3 #4B #蒸留 #ClaudeFable5 #thinking

いいなと思ったら応援しよう!

zephel01 サーバー代とコーヒー代になります☕ 役に立ったら応援よろしくお願いします!