記事『Sensitivity-Aware Quantization Explained』のヒーロータイトルカード。サブタイトル:『OrcaSAQがどのMoE重みにより多くのビットを割り当てるかを判断する仕組み — キャリブレーションセット不要』。デザインはフラットなラインアイコンの天秤で、重い側には角丸の大きな青い立方体が数個、軽い側には小さな灰色の立方体が多数載っている。
Guides & Insights

感度を考慮した量子化の解説:OrcaSAQがどの重みにより多くのビットを割り当てるかを決定する仕組み

著者

Alistair Wren

公開日

最新モデル · 20すべてのモデルを見る
ベンチマーク:Artificial Analysis · 毎日更新
すべての記事に戻る

感度対応量子化とは、ビット予算を効果が最も出る場所に配分する手法です。量子化による悪影響が最も大きいテンソルには多くのビットを割り当て、それ以外は低いベース幅のままにします。本記事では、キャリブレーションデータセットを不要とするアーキテクチャ認識型の混合精度手法であるOrcaSAQがGLM-5.3-Flash量子化ファミリーorcarouter/GLM-5.3-Flash-MLXとともにリリースされ、3200億パラメータのMixture-of-Expertsモデル内にある37,338個のテンソルのうち、どれに追加ビットを与えるかを、キャリブレーションデータセットを一切使わずに決定する方法を解説します。別のMoEを量子化する場合にも応用できる教訓は、共有エキスパートとダウンプロジェクションが追加ビットに値し、それらを見つけるにはアップストリームリリース自身の量子化メタデータがあれば十分だということです。

手短に言えば

感度認識量子化は、ポリシーを持つ混合精度方式である。各テンソルのビット幅は、モデル全体に単一の幅を用いるのではなく、量子化誤差に対する感度に応じて決まる。研究文献では、ヘッセ行列、フィッシャー情報量、または元の層出力と量子化された層出力の間のダイバージェンスを用いて感度を測定し、量子化の影響が最も大きい層にビットを割り当てる。OrcaSAQは、その測定を一切行わない少数派のファミリーに属する。感度ランキングをアーキテクチャ自体に組み込む。すなわち、アーキテクチャとテンソルの役割に基づく事前知識を用いて、どの重みが脆弱かを決定し、その他すべてを目標の基本精度で量子化する。

それがもたらすのは、高速で決定的、かつキャリブレーション不要のパイプラインです。組み立てるべきキャリブレーション用コーパスも、レイヤーごとの感度探索も、モデルごとの再チューニングもないため、同じレシピは、新しいアーキテクチャの重みが公開されたその日にそのまま移行できます。一方で犠牲になるのは適応性です。GPTQやAWQのようなキャリブレーション駆動の手法は、モデルとデータの実際の活性化分布を調べ、同じ平均ビット幅から通常はより高い品質を引き出します。OrcaSAQの賭けは、Mixture-of-Expertsモデルにおいては、テンソルの役割が、キャリブレーション実行がもたらす情報の大部分を、はるかに低いコストで教えてくれるというものです。

敏感な重みを見つける2つの方法

ポリシーの前に、問いがあります。どのテンソルが量子化によって悪影響を受けるかを、どうやって知るのか。その2つの答えが設計空間全体です。

キャリブレーション駆動型。小さなコーパスをモデルに通し、各テンソルまたはブロックが引き起こす誤差を測定し、総再構成誤差を最小化するようにビットを割り当てます。GPTQは、層ごとの量子化誤差に対するヘッセ行列ベースの近似を使用します。AWQは、アクティベーション統計を使用して、保護すべき重要な重みを特定します。長所は、実際のデータに適応できることです。コストは、厳選されたコーパス、各層に対するフォワードパスと逆ヘッセ行列の求解、そしてキャリブレーションセットが変わると結果が変動することです。

キャリブレーション不要。アーキテクチャに基づいて、データを見る前に感度ランキングを決定する。MoEでは、負荷を担う役割はすでにわかっている: すべてのトークンで発火するエキスパートと、残差ストリームに書き込むプロジェクションである。そのランキングを固定ポリシーとしてエンコードし、機械的に適用する。

OrcaSAQは明確に第二の陣営に属しており、この記事はMoE量子化におけるその陣営の擁護論である——そのために何を犠牲にするのかを冷静に見据えた説明を添えて。

ポリシー:どのテンソルがより多くのビットを取得するか

モデルカードに記載されているOrcaSAQのビット割り当てポリシーは、orcarouter/GLM-5.3-Flash-MLX3つのルールと1つの例外に要約されます。基本精度とは、作成中のビルド(6、4、3、または2ビット)のことであり、ポリシーは特定のテンソルの役割をそれよりも上位に引き上げます。

共有エキスパート: ベース +2 ビット。共有エキスパートはすべてのトークンで発火するため、その量子化誤差はモデルが生成するすべての出力に反映されます。これはモデルの中で最も影響力の高いテンソルであり、最も多くのビットが割り当てられています。

down_proj: ベース+1ビット。 SwiGLU MLPブロックにおいて、down projectionは残差ボトルネックです。その出力は、より深い層すべてが読み取る残差ストリームに直接加算されます。ここでの誤差は、下流のすべてが参照するものを直接破壊します。

gate_proj と up_proj: 基本精度。 これらは拡張パスとゲーティングパスであり、それらの出力は活性化関数内で要素ごとに乗算されます。そこでのわずかな誤差はゲーティングによって部分的に打ち消されるため、ベース幅を許容できます。

量子化されておらず、BF16で保持される:34個の線形アテンション層、学習されたスパースインデクサー、ハイパーコネクション配列、正規化層、embed_tokenslm_head、およびビジョンタワー全体。これらはアップストリームリリースではFP8ではなく、完全な精度のままです。

ビット幅は、MLXがサポートする最も近い幅 {2,3,4,5,6,8} に切り上げられます。具体的には、GLM-5.3-Flash(合計320B / アクティブ18B、288のルーティングエキスパートとトップ8ルーティングの共有エキスパート1つ、45層)では、4ビット版は共有エキスパートに6ビット、すべてのダウンプロジェクションに5ビット、ゲートプロジェクションとアッププロジェクションに4ビットを割り当てます。6ビット版は、ダウンプロジェクションを8ビットに切り上げます。グループサイズは4ビット版と6ビット版では64、2ビット版と3ビット版では32で、共有エキスパートは常に64を使用します。

OrcaSAQ bit-allocation policy card titled 'OrcaSAQ — the bit-allocation policy' on GLM-5.3-Flash, listing the rules 'shared expert base +2 bits', 'down_proj base +1 bit', 'gate_proj / up_proj base', 'never FP8 upstream BF16', with a concrete 'At a 4-bit base' column showing shared expert 6 bits, down_proj 5 bits, gate/up projections 4 bits, and BF16 for the linear-attention path, indexer and vision tower, plus a footer citing the orcarouter/GLM-5.3-Flash-MLX model card

共有エキスパートのルールには価値があるのか?2ビットベースでは共有エキスパートは4ビットに、6ビットベースでは8ビットになる。どちらの場合も、追加の2ビットはメモリを消費し、その分をルーティングされるエキスパートが使えたはずだ。そして後述するモデルカード自身の数値は、このトレードオフが報われることを示唆している。これは、2bit-liteビルドをリリースする価値があるのと同じ理由だ。常時アクティブなエキスパートこそ、わずかな追加精度が最も大きな効果をもたらす場所なのである。

選択ルール: _scale_invを自由な感度信号として

ビット割り当てポリシーは、どのテンソルが候補であるかをすでに把握していることを前提としています。そのセットの選定こそ、OrcaSAQの最も賢い点です。なぜなら、そのルールは機械的で、データを一切必要としないからです:あるテンソルが再量子化されるのは、FP8リリースがそれを_scale_invコンパニオンとともに出荷した場合のみです。

それが機能する理由: アップストリームのGLM-5.3-FlashベースはFP8で、ブロック単位のe4m3、128×128ブロックで、動的アクティベーション方式を採用しています。ブロック単位のFP8量子化では、ブロックごとのスケールとその逆数が重みとともに保存されており、_scale_invがチェックポイントに存在することは、そのテンソルがアップストリームで量子化パスを通過したことを示す永続的なマーカーです。アップストリームのリリースは、どのテンソルを量子化しても安全かをすでに示しています — ヘッセ行列も、キャリブレーションコーパスも、フォワードパスも不要です。

GLM-5.3-Flash の場合、そのセットは MoE と dense-MLP の線形層に加え、各 deepseek_sparse_attention ブロック — q_a_projq_b_projkv_a_proj_with_mqa、および o_proj — の4つの射影が、深さ 3, 7, 11 … 43 の11個のスパース層にわたり、MTP ブロックも含めて 12 × 4 = 48 テンソルになります。それ以外のすべてはマーカーを持つことはなく、BF16 のままです: 34 個の linear_attention 層、スパースインデクサー、そしてビジョンタワーです。MTP 層(層 45)は個別のモジュールとしてエクスポートされるのではなく、量子化された重みの中に含まれています。

盗む価値があるのは、そのトリックそのものです。パイプラインの上流で重みを量子化するモデルリリースは、何を量子化できるかを決定するという作業の大部分をすでに終えています。その_scale_invマーカーは、その決定をファイル形式にシリアライズしたものです。OrcaSAQはそれを読み出します。それこそが、このパイプラインを決定論的かつ転用可能なものにしているのです。FP8の重みとスケールメタデータを同梱するあらゆるモデルは、データパイプラインを一切使わずに同じルールで処理できます。

OrcaSAQ selection-rule card titled 'OrcaSAQ — the mechanical selection rule' showing the rule 'Re-quantize a tensor iff the FP8 release shipped it with a _scale_inv companion', with a 'Quantized (had _scale_inv)' column listing the MoE and dense-MLP linears, 11 sparse layers x 4 projections at depth 3, 7, 11 … 43, the MTP block, 12 x 4 = 48 sparse-attention projection tensors and 37,338 tensors total, and a 'Never FP8 upstream (BF16)' column listing 34 linear-attention layers, the sparse indexer, hyper-connections, norms, embed_tokens, lm_head and the vision tower

The gotcha: トップレベルのビットではなく、モジュール単位の設定

独自のMLX量子化器を書くなら(このセクションの対象読者です)、モデルカードの中で最も有用なのは警告です。トップレベルのbitsgroup_sizeconfig.json内)だけでは不十分です。

合計で37,338個のテンソルが量子化されています。割り当てはconfig.jsonquantizationに、モジュールごとの{group_size, bits}オーバーライドとしてMLXモジュールパスをキーに記録されています。例えばmodel.layers.3.mlp.switch_mlp.down_projです。MLXはレイヤーのルーティングされたエキスパートを単一のswitch_mlpに融合するため、173のエントリが37,338個すべてのテンソルをカバーしています。

そして、ローダーはロード時にそれらのエントリを読み取ります。ファイル全体を基本幅で量子化すると、精度を引き上げたすべてのテンソル — 基本+2の共有エキスパート、基本+1の各ダウンプロジェクション — は幅が正しくならず、モデルはシェイプが崩れた状態でロードされます。モジュールごとのマップはスキップ可能な最適化ではありません。それはロードパスそのものです。独自の量子化器を書くときは、ポリシーが引き上げるすべてのテンソルに対するオーバーライドを出力し、リリース前にそれらをトップレベルのデフォルトと照合してください。

その保険は元が取れますか?

この証拠は私たち自身が1つのモデル(GLM-5.3-Flash)で測定したもので、各ビルドは逆量子化され、同一のglm5_nextフォワードに通したため、唯一の変数は量子化のみです。以下の数値はモデルカードからのものであり、ベンダーのベンチマークや第三者の数値ではありません。これらは単一のデータポイントとして捉え、法則とは見なさないでください。

• パープレキシティ、FP8リファレンスの2.7797との比較: 6ビット 2.7864 (+0.24%)、4ビット 2.8620 (+2.96%)、3ビット 3.0566 (+9.96%)、2ビット 4.3622 (+56.9%)。

• 参照と同じ順序での Top-1 トークン一致: 97.76%、96.13%、92.06%、86.56%。

読み取り結果は、まさにポリシーが予測するとおりである。3ビットに至るまではすべてが緩やかに劣化する — これはビット予算が適切なテンソルに使われている証拠である — そして2ビットは崖のように急落する。なぜなら、ある点を下回ると、役割ベースのビット幅引き上げが損傷を補償しなくなるからである。4ビットでは、FP8リファレンスよりおよそ38%小さいビルドに対して+2.96%のパープレキシティとなり、これは真に良いトレードオフである。また、102GBの2bit-liteビルドをそもそもロード可能にしているのも、同じポリシーをより積極的に適用した結果である。同じベースを量子化している独立した実践者たちも同じ順序を報告している — 上位の段階はノイズフロアに近く、4ビットは実質的だが控えめである — ただし、評価コーパスが異なるため絶対値は異なる。

OrcaSAQ quality card titled 'OrcaSAQ — quality versus the FP8 reference' listing perplexity versus the FP8 reference at 2.7797: 6-bit 2.7864 (+0.24%), 4-bit 2.8620 (+2.96%), 3-bit 3.0566 (+9.96%), 2-bit 4.3622 (+56.9%), with top-1 agreement 97.76%, 96.13%, 92.06%, 86.56%, and a footer noting these are OrcaRouter's own measurements on GLM-5.3-Flash, not vendor benchmarks

自分のMoEには何が引き継がれますか?

私たちのものではないモデルのための、再利用可能な推論:

常時アクティブなエキスパートを見つけましょう。すべてのトークンで発火するもの(通常は共有エキスパートまたは常時ルーティングされるエキスパート)には、最も寛大なビットを割り当ててください。その誤差は至る所で再現されるからです。

残差ボトルネックを特定する。 残差ストリームに書き込む射影(通常は各MLPブロックのダウンプロジェクション)は base +1 を取得する。そこでの誤差は、より深いすべての層に見られる。

拡張パスとゲーティングパスはベースのままにします。アクティベーション内で出力が要素ごとに乗算される場合、その量子化誤差は部分的に吸収されます。

アップストリームで量子化されていないということは、あなたも量子化しないということです。ベースリリースがそれらのテンソルをフル精度で保持していた場合は、フル精度のまま保持してください。

上流リリースのスケールメタデータを選択基準として使用してください。ベースモデルがその重みを量子化する場合、その後に残されるスケール/逆スケールマーカーは、量子化可能なものを示す無料のマップとなります — 感度検索は不要です。

モジュールごとのオーバーライドを記録する。グローバルビット幅は、ロード時に昇格されるすべてのテンソルの形状を崩す。モジュールパスマップを作成する。

そして、キャリブレーションセットを少しでも保持できるなら、それをポリシーの置き換えではなく監査に使いましょう。同じ平均ビット数でキャリブレーション駆動の量子化を実行し、ロール事前分布の順序がデータの示す内容と一致するか確認してください。高密度モデルやまったく新しいアーキテクチャでは、その監査が、正当なデフォルトと単なる推測を分ける違いになります。

OrcaSAQが不適切な選択となるケース

キャリブレーションフリーのトレードオフが現実のものである以上、このセクションは手法の誠実さを保つべきものである。

品質の上限がパイプラインの速度を上回り、キャリブレーションセットが利用できる場合。GPTQやAWQスタイルの手法は、モデルとデータの実際の活性化統計に適応するため、平均ビット数が同等であれば、通常は固定の役割ベースのポリシーを上回ります。1つのモデルを一度だけ量子化し、再量子化しない場合、キャリブレーションに掛かる追加の数時間は、測定可能な品質を得るための一度きりの費用です。

非MoEデンスモデル。 共有エキスパート、ゲート/アップ/ダウンといった役割の事前分布は存在しないため、ポリシーは信頼性を支える構造を失う。残るのは「上流で量子化されたものはすべて量子化されたままである」という弱い主張だけだ。

FP8のアップストリームリリースがないモデル。その_scale_inv選択ルールには、判断の拠り所となるものが何もない。量子化可能な集合は別の方法で決定しなければならず、機械的転移可能性の議論は成り立たなくなる。

まったく新しいアーキテクチャ。 事前の仮定とは、まさに成立しないかもしれない仮定である。キャリブレーション駆動の手法ならば、役割ベースのポリシーが見逃した脆弱なテンソルを検出できただろう。しかし、OrcaSAQは決して見ようとしないので、それを見つけることはない。

サブ3ビットのターゲット。その方針はあなたを救いません。2ビットでは、余分なビットがどこに割り当てられたかに関係なく、モデルのパープレキシティは+56.9%です。2bit-liteビルドは、品質のためではなく、フィットのために存在します。

保証が必要な場合。テンソル単位の保証、量子化対応トレーニング(QAT)の予算、またはパイプラインコストを無視して固定サイズで可能な限り最高の品質を実現することは、すべてキャリブレーションの領域です。

結論

感度対応量子化がその実践であり、OrcaSAQはそのための決定的かつキャリブレーション不要のレシピのひとつです。普遍的な教訓は、共有エキスパートとダウンプロジェクションの引き上げ、機械的な_scale_inv選択規則、そしてローダーが実際に読み取るモジュールごとの設定です。GLM-5.3-Flashのような3200億パラメータのMoEでは、このレシピによりパープレキシティ+2.96%の4ビットMLXビルドが生成されます——そしてorcarouter/GLM-5.3-Flash-MLXリポジトリは、2、3、4、6ビットで同じポリシーを提供しており、128GBマシン向けの別個の2bit-liteビルドも備えています。私たちのGLM-5.3-Flash-MLXウォークスルーでは、どのマシンでどのビルドを実行すべきかを段階的に説明しています。

固定サイズでの最後のわずかな品質向上が優先事項であり、校正用コーパスを構築できるのであれば、校正駆動のツールを使用してそれらを適応させてください。再現可能で高速、データ不要で、次のアーキテクチャにも移行できる量子化を優先する場合 — あるいはそもそもデータパイプラインを構築したくない場合 — ロールベースのポリシーは妥当なデフォルトです。そして、そもそも量子化をしたくないのであれば、フル精度のGLM-5.3-Flashは、OrcaRouter経由でz-ai/glm-5.3-flashとして提供されます。選択は、どの程度のパイプラインを実行するかという問題であり、感度を考慮した量子化を行う価値があるかどうかという問題ではありません。

一切量子化したくない場合は?z-ai/glm-5.3-flashは、OrcaRouterでプロバイダー価格にて提供される完全精度モデルで、マークアップは0%です。

© 2026 OrcaRouter

プロバイダー向け

推論プラットフォームを運営していますか?OrcaRouter にモデルを掲載しましょう。

providers@orcarouter.ai

コミュニティに参加

Discordsupport@orcarouter.aiXGitHubYouTube