# MixLLM: LLM Quantization with Global Mixed-precision between Output-features and Highly-efficient System Design > [!info] Talk metadata > - **会議:** [[MLSys2026]] Day 3 (May 20 / Wed)、Grand Ballroom 2、17:45 - 18:00 PDT > - **セッション:** Research Track Oral: Model Compression > - **登壇者:** Taosong Fang(スライド表紙に "Presenter: Taosong Fang" と明記) > - **著者:** Zhen Zheng$^1$, Xiaonan Song$^1$, Chuanjie Liu$^1$($^1$Microsoft。連絡先: Zhen Zheng <[email protected]>) > - **URL:** https://mlsys.org/virtual/2026/oral/3805 > - **OpenReview:** https://openreview.net/forum?id=VBbMRQ4VOc > - **Code:** https://github.com/microsoft/MixLLM > - **掲載:** Proceedings of the 9th MLSys Conference, Bellevue, WA, USA, 2026 > [!abstract] 概要 > 量子化は LLM を小型化する最も効果的な手法の一つであるが、既存手法は精度低下またはシステム効率の低さという課題を抱える。MixLLM は出力特徴量間の混合精度量子化の最適化空間を探索する手法であり、各層単独ではなくモデル全体の最終損失に対する寄与度に基づいて重要な出力特徴量をグローバルに特定し、大きなビット幅を割り当てる。システム面では、int8 Tensor Core を活用するための二段階逆量子化、高速な整数-浮動小数点変換、メモリアクセス・逆量子化・MatMul を重畳するソフトウェアパイプラインを設計した。10% のビット幅増加(W4.4A8 構成)のみで、Llama 3.1 70B におけるパープレキシティ増加を SOTA の約 0.5 から 0.2 未満に削減し、MMLU-Pro 損失を 3 モデルの SOTA 比で 1.92 から 0.99 に縮小する。精度と同時に A100・H100 の両 GPU でシステム効率も SOTA を達成した。 ## 背景と動機 ### LLM 推論のメモリウォール問題 LLM は 100 GB 超の GPU メモリを要求し、デコーディング時にはトークン生成のたびに全パラメータをロードする必要がある。量子化はメモリ使用量と計算量を同時に削減できる有効な圧縮手法である。 ### 量子化手法の三角形 LLM 量子化には精度・メモリ消費・システム効率の三角形のトレードオフが存在する。 1. **重み専用量子化(Weight-only)**: 小バッチデコーディングでは有効だが、4 ビットでは精度低下が顕著。大バッチでは逆量子化オーバーヘッドによりシステム性能が劣化する 2. **重み-アクティベーション量子化(Weight-Activation)**: 低ビット演算ユニットを活用でき、小バッチ・大バッチ・プリフィルのすべてで有効。ただしアクティベーション量子化が精度・システム効率の両面で追加の課題を生む ### 既存手法の限界 - **SmoothQuant**: トークン別スムージングによるアクティベーション外れ値の緩和。広く使われるが精度は限定的 - **QuaRot**: 回転行列によるアウトライアフリー 4 ビット推論。ただし精度劣化が残る - **QServe**: W4A8K4V8 の協調設計。ゼロポイント量子化のオーバーヘッドが大きい - **Atom**: 入力特徴量間の混合精度。疎行列演算は GPU 上で非効率(ハードウェア利用率 10% 未満) - **SliM-LLM**: 層内混合精度。グローバル探索を行わず、システム性能を考慮しない float16 外れ値分離方式(SpQR, SqueezeLLM 等)は GPU 上の疎行列演算の非効率性から、大バッチでの性能が低い。 ## 手法 ### 設計判断の概要 MixLLM は以下の設計判断に基づく。 - **アクティベーション**: 8 ビット対称量子化(グループ別 RTN)。4 ビットでは精度劣化が大きい一方、8 ビットは十分な精度を維持する - **重み**: 4 ビット非対称量子化(グループサイズ 128)を基本とし、高顕著性チャネルのみ 8 ビット対称量子化に昇格 - **混合精度の軸**: 出力特徴量(出力チャネル)間で混合。入力特徴量間の混合より、部分問題が互いに独立するためシステム設計が容易 ### グローバル混合精度探索 各出力チャネル $c$ の顕著性 $S_c$ を、量子化による**モデル全体の最終損失への寄与度**として定義する。 $S_c = |l(c_q) - l(c_0)|$ ここで $l()$ はモデルの損失関数、$c_q$ はチャネル $c$ の量子化済み重み、$c_0$ は元の重みである。テイラー展開で二次まで近似し、ヘシアンをフィッシャー情報行列 $F$ で近似する。 $H \approx F = \frac{1}{|\mathcal{D}|}\sum_{d \in \mathcal{D}} g_d g_d^T$ 最終的な顕著性スコアは単一ベクトル積に簡約される。 $S_c = \frac{1}{|\mathcal{D}|}\sum_{d \in \mathcal{D}} \left| g_d^T(c_q - c_0) + \frac{1}{2}(g_d^T(c_q - c_0))^2 \right|$ 既存手法(Frantar+ 2022、Dettmers+ 2024、Kim+ 2024)と異なり、MixLLM は一次項を省略しない。損失関数そのものではなく損失の引数を簡約するため、一次項の保持が精度向上に寄与する。 **アルゴリズム 1**(グローバル精度探索手順)は全線形層の出力チャネルにわたって顕著性を計算し、降順にソートしたうえで、指定された個数 $T$ の高顕著性チャネルを 8 ビットに割り当てる。 #### 探索の特性 - Llama 3.1 8B の場合、全出力チャネルの 10% をグローバルに 8 ビットに選択した際の層別分布はきわめて不均一である(論文図 2)。`v_proj` と `down_proj` が突出して高い 8 ビットチャネル比率を示す(Table 7: `v_proj` 平均 71.22%、`down_proj` 平均 53.82%) - 探索オーバーヘッドは 128 サンプル・シーケンス長 2048 のキャリブレーションデータで、7B/8B モデルは約 7 分、70B モデルは A100 4 枚で約 55 分(Table 6)。SliM-LLM(8B: 3 時間超、7B: 4 時間超)と比べ大幅に高速 ### 量子化構成の選択 MixLLM は以下の構成を評価した。 | 構成 | 8 ビット比率 | 実効ビット幅 | |---|---|---| | W4A8 (p0) | 0% | 4.0 | | W4.4A8 (p10) | 10% | 4.4 | | W4.8A8 (p20) | 20% | 4.8 | | W6A8 (p50) | 50% | 6.0 | | W8A8 (p100) | 100% | 8.0 | W4.4A8(10% を 8 ビットに昇格)が精度とメモリ消費のスイートスポットであり、わずか 10% のメモリ増加で SOTA を大幅に上回る精度を達成する。 ### 二段階逆量子化による int8 Tensor Core 活用 W4A8 構成では、逆量子化済みの重みとアクティベーションは $(W_q - z) \cdot s_w$ と $A_q \cdot s_a$ となる。4 ビット重みをゼロポイント付きで直接 float16 に逆量子化すると int8 Tensor Core が使えなくなる。 MixLLM の二段階逆量子化はこの問題を解決する。 1. 重みを $(W_q - z)$ へ部分逆量子化(uint4 の減算で結果は int8 範囲に収まる) 2. $A_q$ との int8 MatMul を Tensor Core で実行 3. MatMul 後にグループ別スケール $s_w \cdot s_a$ を乗算 ### 高速 I2F 変換 二段階逆量子化の第 2 ステップは整数-浮動小数点(I2F)変換を必要とする。通常の I2F 命令はレンジ依存で高コストである。MixLLM は特定のレンジ内で整数値のバイナリ表現が float32 のそれと一致する性質を利用し、I2F を**単一の浮動小数点減算**に置き換える。 具体的には、バイアス $\text{mid} = \text{0x4b400000}$(float32 で $2^{23}$ の近傍)を int32 に加算し、対応するバイアスを float として減算する。量子化グループサイズ 128 のとき、int8 要素 $k$ 個のドット積レンジは $2^{16}k$ であり、$k = 128$ で安全に変換可能である。 この簡略化により、512/4096/4096(M/N/K)の量子化 MatMul で A100 上 20 TOPS 超の性能改善を達成した。 ### ソフトウェアパイプライン GPU カーネルのソフトウェアパイプラインはグローバルメモリ・共有メモリ・レジスタ・Tensor Core・SIMT Core の 5 階層にわたる多段重畳を実現する(論文図 3)。 - **グローバル → 共有メモリ(G2S)**: 重みタイルとアクティベーションタイルを非同期にロード - **共有メモリ → レジスタ(S2R)**: ブロック再利用を伴うロード - **SIMT Core での逆量子化(Pre-deq)**: ゼロポイント減算を `vsub4` ベクトル命令で 4 要素同時に実行 - **Tensor Core での MMA**: int8 MatMul のメイン計算 - **パイプラインの末尾**: I2F 変換(Post-I2F-deq)とスケール乗算 重みテンソルのメモリレイアウトは事前にパック・インターリーブし、実行時のパーミュテーションを排除する。 ### 並列実行 4 ビット部分と 8 ビット部分の MatMul は CUDA Graph により GPU 上で並列実行される。二つの部分 MatMul の結果は fused scatter(カーネルエピローグ)で対応するチャネルインデックスに書き込まれ、最終出力テンソルに統合される。このスキャッタ操作は実質的にコストゼロである。 ### ルーフラインモデルによる性能分析 A100(80 GB SXM)のハードウェア上限は HBM2e 帯域 2039 GB/s、int8 Tensor Core 624 TOPS、FP32 SIMT 19.5 TFLOPS である。 - **W8A8 対称量子化**: 重み実効フットプリント $1 + 2/G$ バイト/要素。逆量子化は軽量でルーフライン交点は約 306 Ops/Byte - **W4A8 非対称量子化**: 重み実効フットプリント $0.5 + 2.5/G$ バイト/要素。メモリバウンド傾斜が急峻になり、小バッチでの到達可能スループットが大きく向上。一方、SIMT Core での `vsub4` 逆量子化が Tensor Core と並行に動作するため、実効ピークはチップ全体の 624 TOPS より低い補助的演算天井が存在する W4A8 は W8A8 より低い演算強度で計算バウンドに突入するが、MixLLM の高速 I2F と部分融合により SIMT オーバーヘッドは A100 の 32:1 プロビジョニング比(624 INT8 TOPS 対 19.5 FP32 TFLOPS)に十分収まる。 ## 実験結果 ### パープレキシティ評価 wikitext2 / C4 データセット上のパープレキシティ(Table 1、シーケンス長 2048)。代表的な結果を以下に示す。 **Llama 3.1 8B:** | 手法 | wikitext2 | C4 | |---|---|---| | float16 | 6.24 | 8.95 | | SmoothQuant W8A8 | 6.34 | 9.08 | | QuaRot W4A8 | 6.60 | 9.67 | | QServe W4A8 | 6.64 | 9.49 | | MixLLM W4A8 (p0) | 6.54 | 9.62 | | MixLLM W4.4A8 (p10) | 6.42 | 9.33 | | MixLLM W8A8 (p100) | 6.25 | 8.97 | **Llama 3.1 70B:** | 手法 | wikitext2 | C4 | |---|---|---| | float16 | 2.81 | 6.68 | | SmoothQuant W8A8 | 2.92 | 6.77 | | QuaRot W4A8 | 3.43 | 7.10 | | QServe W4A8 | 3.49 | 7.07 | | MixLLM W4.4A8 (p10) | 3.02 | 6.83 | | MixLLM W4.8A8 (p20) | 2.97 | 6.79 | | MixLLM W8A8 (p100) | 2.81 | 6.68 | MixLLM W4.4A8 はわずか 10% のビット幅追加で QuaRot・QServe を大幅に上回る。W8A8 構成では float16 とほぼ同等のパープレキシティを達成する。 重要な知見として、MixLLM の 4.4 ビット重み(W4.4A8)は 5 ビット RTN 重み専用量子化と同等の精度を達成する。これは高顕著性チャネルに選択的にビット幅を割り当てることで、均一 5 ビットより効率的にメモリを使用できるためである。 ### ダウンストリームタスク評価 Llama 3.1 8B / Qwen 2.5 7B / Mistral 7B v0.3 の 3 モデルで 6 タスク(BBH 3-shot、GPQA、MMLU-Pro 5-shot、MuSR、ARCc、HellaSwag)を評価した(Table 2)。 **MixLLM W4.4A8 の主要結果(3 モデル平均):** | タスク | float16 | QServe W4A8 | MixLLM W4.4A8 | MixLLM W8A8 | |---|---|---|---|---| | BBH | 48.62 | 45.78 | 48.17 | 48.84 | | GPQA | 30.86 | 30.02 | 30.09 | 30.93 | | MMLU-Pro | 35.52 | 32.84 | 34.53 | 35.54 | | MuSR | 41.07 | 39.92 | 41.74 | 40.94 | | ARCc | 52.24 | 50.54 | 52.70 | 52.10 | | HellaSwag | 79.43 | 78.10 | 79.00 | 79.42 | MixLLM W4.4A8 は全 4 ビット重み専用量子化(QuaRot W4A4、QServe)を 10% のメモリ追加のみで上回る。MMLU-Pro タスクでは MixLLM W4.4A8 の平均改善幅が QServe 比 +1.69、QuaRot W4A4 比 +6.93、QuaRot W4A8 比 +0.93 である。 MixLLM W8A8 は SmoothQuant とほぼ同等の精度でありながら、グループ別量子化により float16 ベースラインとの差がほぼゼロである。これは MixLLM がグループ別のアクティベーション量子化を採用しているためで、チャネル別/トークン別方式より精度が高い。 ### GSM8K での推論精度 Qwen 2.5 7B モデルで MixLLM W4.4A8 を用いた GSM8K 評価では、`strict-match` 指標が float16 の 0.8 から 0.792 へわずか 0.008 の低下にとどまり、長鎖推論タスクでもほぼ無損失である。 ### A100 GPU でのシステム性能 単一線形層(入力特徴量 4096、出力特徴量 4096/14336)のカーネル性能を torch FP16 ベースラインとの比較で評価した(論文図 5)。 **FP16 比の平均高速化率(出力特徴量 4096):** | 手法 | 平均高速化率 | |---|---| | MixLLM W4A8 | 1.96x | | MixLLM W8A8 | 2.76x | | MixLLM W4.8A8 | 1.88x | **出力特徴量 14336 の場合:** | 手法 | 平均高速化率 | |---|---| | MixLLM W4A8 | 2.45x | | MixLLM W8A8 | 2.15x | | MixLLM W4.8A8 | 2.34x | SOTA の W4A16(TRT-LLM)との比較では、MixLLM W4A8 が出力特徴量 4096 で平均 1.31x、出力特徴量 14336 で平均 1.36x の高速化を達成した。 QServe(同等ビット幅)との比較では、MixLLM W4A8 が出力特徴量 4096 で平均 1.03x、W8A8 が 1.41x の高速化を達成した。 vLLM への統合評価では、Mixtral-7B で W4.4A8 を用いてバッチサイズ 2・入出力長 1000/1000 の構成において、float16 比 **1.41x** の出力トークンスループット向上を達成した。 ### H100 GPU での性能 H100 上での単一線形層カーネル性能を W4A16 ベースラインと比較した(論文図 7)。 - 出力特徴量 4096: MixLLM W4A8 は平均 **1.81x**(ナイーブ 4 ビットレイアウト比)、**1.39x**(シャッフル最適化レイアウト比) - 出力特徴量 14336: MixLLM W4A8 は平均 **1.91x**(ナイーブ比)、**1.34x**(シャッフル比) ### アブレーション研究 Llama 3.1 8B のパープレキシティ(wikitext2)に対する各最適化の累積効果(論文図 8): | 構成 | パープレキシティ | |---|---| | W4A4 RTN チャネル/トークン別対称 | 744.414 | | + アクティベーション 8 ビット | 9.867 | | + 重み非対称 | 8.551 | | + 重みグループ別 g128 | 6.937 | | + アクティベーショングループ別 g128 | 6.830 | | + 10% 8 ビット(対角フィッシャー、一次項なし) | 6.496 | | + ブロックフィッシャー + 一次項 | 6.489 | | + GPTQ(並べ替えなし) | 6.424 | | + GPTQ グループ並べ替え | 6.422 | | + クリッピング | 6.420 | アクティベーション 8 ビット化と重み非対称+グループ別量子化が最大の精度改善を担い、グローバル混合精度(10% の 8 ビット昇格)がさらに約 0.33 の改善をもたらす。フィッシャー情報行列の一次項保持や GPTQ 適用は追加的だが着実な改善を与える。 ### Atom との比較 Atom(Zhao+ MLSys 2024)は入力特徴量間の混合精度で 512 個の外れ値を float16 で分離する(重み約 4.4 ビット相当)。MixLLM W4.4A8 との比較(Table 4、wikitext2): | モデル | Atom W4.4A8 | MixLLM W4.4A8 | |---|---|---| | Llama 2 7B | 5.64 | 5.54 | | Llama 2 13B | 5.03 | 4.93 | MixLLM は同等ビット幅で Atom より高精度である。カーネル性能でも、MixLLM の W4.4A8 カーネルは Atom の W4.4A8 カーネルに対しシーケンス長 1024 の線形層で **1.56x** の高速化を達成した。これはメモリ・計算パイプラインの効率が大幅に優れていることを示す。 ### KV 量子化との直交性 MixLLM の重み-アクティベーション量子化は KV キャッシュ量子化と直交的に適用可能である(Table 8)。Llama 3.1 8B における W4.4A8 + 8 ビット KV 量子化のパープレキシティは 6.42 であり、KV 量子化なしの 6.42 と同一で、KV 量子化による追加劣化はほぼゼロである。 ## 技術的洞察と位置づけ ### 核心的洞察 1. **グローバル視点の混合精度**: 各層内で固定比率の外れ値を選ぶのではなく、全層の全出力チャネルを横断してモデル最終損失への寄与度でランキングする。層ごとに最適な 8 ビットチャネル比率が大きく異なる(`v_proj`: 71%、`gate_proj`: 0.73%)ため、グローバル探索が精度に直結する 2. **出力特徴量軸の混合精度**: 入力特徴量軸(Atom)と異なり、出力チャネル間の混合は部分問題が独立であるため、二つの MatMul を並列実行し fused scatter で統合するだけでよい。疎行列演算が不要でハードウェア親和性が高い 3. **アルゴリズム-システム協調設計**: 量子化構成(グループ別非対称 4 ビット + 対称 8 ビット混合)と GPU カーネル(二段階逆量子化 + 高速 I2F + ソフトウェアパイプライン)を一体で最適化することで、精度とシステム効率の両立を実現した ### 先行研究との差異 | 手法 | 量子化対象 | 混合精度の軸 | 探索スコープ | GPU カーネル設計 | |---|---|---|---|---| | SmoothQuant | W8A8 | なし(均一) | - | チャネル別スケール | | QuaRot | W4A4/W4A8 | なし(均一) | - | 回転行列前処理 | | QServe | W4A8K4V8 | なし(均一) | - | INT4 Tensor Core | | Atom | W4A8 | 入力特徴量 | 層内固定比率 | 疎行列 + 密行列 | | SliM-LLM | W4A16 | 出力特徴量 | 層内ローカル | なし | | **MixLLM** | **W4.4A8** | **出力特徴量** | **全層グローバル** | **二段階逆量子化 + I2F 融合 + パイプライン** | ### 実用的意義 - W4.4A8(10% 追加メモリのみ)が精度-効率のスイートスポットであることを実証した。この知見は LLM 量子化の運用指針として直接的に適用できる - グローバル精度探索は 7B/8B モデルで約 7 分と軽量であり、量子化は一度だけ実行すればよいため実用的なコストである - int8 Tensor Core ベースのカーネルは A100 と H100 の両方で SOTA 性能を達成し、アーキテクチャ横断のポータビリティを備える ### 制約と今後の課題 - 現状の評価はデコーダ型 LLM に限定されており、エンコーダ型やエンコーダ-デコーダ型への適用は検証されていない - 混合精度の比率(8 ビットチャネルの割合)の自動決定は今後の課題として残る - Hopper 世代以降の TMA(Tensor Memory Accelerator)を活用したさらなる最適化の余地がある ## 関連リンク - [[MLSys2026]]