ホームへ戻る

模型壓縮研究

Wringerは低ランク蒸留の成果を低ビット重みに再圧縮、ただし現時点で削減できるのはストレージ容量のみ

Wringerは、一時的なLoRAで2.655 bpwモデルを修復した後、その補正を整数コードとscaleに再求解し、推論時にはadapterを保持しない。公開モデルは3つのベンチマークでBF16スコアの約94.65%を維持するが、モデル全体では実際には4.69 bpwで、ネイティブ低ビットkernelも存在しない。

Sidney San Martín · CC0 · Image source
zh-Hant

個人研究者のWeiciao Wu氏は、「fill then wring」と呼ばれる低ビット圧縮パイプライン「Wringer」と、それに対応するAgents‑A1‑4B checkpointを公開した。対象モデルは32層のQwen 3.5ハイブリッドアーキテクチャで、25層のlinear attentionと7層のglobal attentionを備える。実験は単一の96GB RTX PRO 6000上で実施され、コード、事前登録済みの69件の実験、評価出力、圧縮コンテナがGitHubとHugging Faceで公開されている。

最初のステップでは、完全な二次行列を用いるGPTQ、正負の値を持つ偶数グリッド、Tikhonov正則化を組み合わせてblock scaleを求解する。続く「fill」では整数コードを固定し、量子化された各linear layerにrank‑128 adapterを取り付け、BF16の元モデルを教師として約1億tokenの自己蒸留を行う。著者によると、この段階には約7.5時間を要した。最後の「wring」では、`Wq + BA/r`を新たなターゲットとして整数コードとscaleを再求解し、その後adapterを破棄する。これはLoRAを保持する一般的な補償手法とは異なり、追加容量が存在するのは訓練中だけである。

1回のパイプライン実行では、IFEval、HumanEval、GSM8Kにおける平均スコア維持率は93.7%だった。実際に公開された2回適用モデルでは94.65%と報告されている。ただし、2.655 bits per weightという値は、35億6,500万個のtransformer body内のlinear weightsのみを対象に算出されている。BF16のまま残るtied embedding、norm、小規模なSSMパラメータを含めると、言語モデル全体では4.69 bpwとなる。embeddingを量子化した場合については、著者はまだ再評価を行っていない。圧縮ファイルは約1.102 GiBにすぎないものの、現在の推論経路ではBF16へ展開してからvLLMに渡すため、ファイルサイズの小ささをVRAM使用量、レイテンシ、スループットの改善と直接解釈することはできない。

また、結果は単一モデルと3つのベンチマークに限られており、比較対象も主に著者が作成したGGUF曲線である。AQLM、QuIP#、その他の低ビット手法との、同一データかつ同一計算予算による比較はまだ行われていない。さらに、キャリブレーション用プロンプトはHumanEvalの10問と大きく重複している。これらを除外してもheadlineの数値は上昇しなかったが、サンプル数は依然として少なすぎる。次に求められる真のマイルストーンは、ネイティブなpacked-code GEMM、embeddingの量子化、そして複数モデルおよび複数seedにわたる独立再現だろう。

出典

  1. Wringer: Fill, then Wring — a 4B Reasoning Model at 2.655 Bits per Weight
  2. Wringer source, preregistrations and evaluation evidence
  3. Wringer technical summary