返回首頁

模型壓縮研究

Wringer 將低秩蒸餾結果重新壓回低位元權重,但目前只節省儲存空間

Wringer 先以暫時性 LoRA 修復 2.655 bpw 模型,再把修正重新求解進整數碼與 scale,推論時不保留 adapter。公開模型在三項基準保留約 94.65% 的 BF16 分數,但完整模型其實是 4.69 bpw,也沒有原生低位元 kernel。

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

個人研究者 Weiciao Wu 公開 Wringer,一套「fill then wring」低位元壓縮流程及對應的 Agents‑A1‑4B checkpoint。目標模型是 32 層 Qwen 3.5 混合架構,包含 25 層線性注意力與 7 層全域注意力;實驗在單張 96GB RTX PRO 6000 上完成,程式、69 組預註冊實驗、評測輸出與壓縮容器已放上 GitHub 和 Hugging Face。

第一步以完整二階矩陣的 GPTQ、帶正負號的偶數網格及 Tikhonov 正則共同求解 block scale。接著「fill」會凍結整數碼,替每個被量化的 linear layer 掛上 rank‑128 adapter,以 BF16 原模型自我蒸餾約一億 token;作者稱此階段約耗時 7.5 小時。最後「wring」以 `Wq + BA/r` 為新目標重新求解整數碼與 scale,再丟棄 adapter。這與一般保留 LoRA 的補償法不同:額外容量只在訓練期間存在。

一輪流程在 IFEval、HumanEval、GSM8K 的平均分數保留率為 93.7%;實際發布的兩輪模型報告 94.65%。但 2.655 bits per weight 只計算 35.65 億個 transformer-body linear weights。把仍為 BF16 的 tied embedding、norm 與小型 SSM 參數算進去,整個語言模型是 4.69 bpw;若把 embedding 改量化,作者尚未重新評測。壓縮檔雖只有約 1.102GiB,現有推論路徑仍會解壓成 BF16 再交給 vLLM,因此不能把檔案大小直接解讀為 VRAM、延遲或吞吐改善。

結果也只涵蓋單一模型與三項基準,對照組主要是作者建立的 GGUF 曲線,尚未與 AQLM、QuIP# 或其他低位元方法做同資料、同運算預算比較。校準提示還與十題 HumanEval 有高度重合;排除後 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