宅中地 - 每日更新
宅中地 - 每日更新

贊助商廣告

X

起點決定終點:謝菲爾德大學發現極限壓縮AI模型時,初始化才是真正的攔路虎

2026年04月20日 首頁 » 熱門科技

這項由英國謝菲爾德大學電腦科學系主導的研究,以預印本形式於2026年4月9日發布在arXiv上,編號為arXiv:2604.08118v1,目前正在同行評審中。感興趣的讀者可通過該編號檢索完整論文。

你的手機里裝著一個能對話、能寫作、能回答問題的AI助手——但它消耗的儲存空間可能超出你的想像。那些強大的大型語言模型,動輒幾十個GB,根本塞不進普通手機或者平價筆記本電腦。為了讓AI能住進這些"小房子"里,工程師們發展出了一種叫做"量化"的技術,本質上就是把AI的記憶壓縮再壓縮,就像把一張高清照片壓縮成更小的文件一樣。

問題是,壓縮得越狠,AI就越容易變傻。4位精度的壓縮幾乎無感,但當壓縮到2位精度——也就是每個參數只剩下4種可能取值——AI的表現可能會從流暢對話直接崩潰到胡言亂語。研究人員已經嘗試了很多補救方案:更寬的搜索範圍、更多的訓練輪次、更大的校準數據集。但謝菲爾德大學的研究團隊發現,這些努力都打錯了靶子。

真正的問題出在更早的地方——出在"初始化"這個步驟上。就像蓋房子時地基打歪了,後來再怎麼精裝修都無法讓房子變正。這篇論文的核心發現正是:在極度壓縮的情況下,最初如何設定模型的"記憶編碼方式",幾乎決定了最終模型能達到的上限,而不是後來的搜索和微調。

研究團隊為此專門設計了一種新的初始化方法,叫做OA-EM(輸出感知期望最大化),並在三種不同架構的模型上進行了系統測試,結果表明這個方法不僅能讓壓縮後的AI更聰明,還能讓整個壓縮過程更省時間。

一、壓縮AI的基本邏輯:把記憶裝進"碼本"

要理解這項研究,先得理解AI的記憶是怎麼被壓縮的。大型語言模型的核心是一張巨大的數字表格,裡面存著模型學到的所有"知識"——準確說是數以億計的權重參數。每個參數原本用32位或16位浮點數表示,非常精細。壓縮的目標就是用更少的位數來表示這些參數。

"加法量化"(Additive Quantization)是其中一種頗有創意的方案。它的思路是:與其直接把每個數字變粗糙,不如把一組數字(比如8個參數構成一組)表示成若干個"代表詞"之和。這些代表詞來自事先準備好的"碼本",每本碼本里有256個條目。當你要還原原始參數時,只需要查表做加法,速度極快,幾乎不需要任何計算——就像查字典一樣,找到編號對應的詞條,直接讀出來就行。

這種方式在手機CPU、嵌入式晶片這類沒有專用AI加速器的設備上格外重要,因為查表操作比乘法運算要便宜得多。AQLM(大型語言模型加法量化)正是這類方案的代表性實現:2位精度下,每組8個權重用兩本碼本的兩個編號來表示,每本碼本256個條目,兩個8位索引加起來剛好2比特/參數。

整個壓縮過程分兩步走:先用某種方法初始化碼本,確定每個"代表詞"長什麼樣;再通過搜索,找出每組參數最匹配哪兩個代表詞的組合。AQLM的傳統做法是用"殘差K均值"來初始化——先把所有權重分成若干簇,找出每簇的中心作為第一本碼本的代表詞;然後用每組參數減去最近的代表詞,把剩餘的"誤差"再做一次聚類,得到第二本碼本。這個過程是貪心的、順序進行的,先定第一本再定第二本,沒有回頭路。

二、地基歪了,裝修救不了:初始化為何決定命運

這裡出現了一個微妙卻致命的問題。當你貪心地先確定第一本碼本,再去確定第二本時,你其實是在做一個錯誤的假設:第一本碼本獨立來看最好,整體就最好。但現實並非如此,最好的第一本碼本取決於第二本能補償什麼,而第二本是在第一本已經定好之後才設計的——兩本碼本之間存在相互依賴,順序貪心的方式忽視了這種耦合關係。

研究團隊用一個數學命題(論文中的Proposition 1)把這個問題精確刻畫出來,分解了貪心初始化的誤差來源。誤差由三部分組成:第一部分是第一本碼本選錯了代表詞產生的直接誤差;第二部分是這個"選錯"對第二本碼本補償能力的干擾——如果第一步走偏了,第二步能不能拉回來取決於第二本碼本里有沒有合適的條目;第三部分是因為第二本碼本是在錯誤的殘差上訓練的,所以它學到的也不是最理想的東西,這個"錯配"導致的額外損失永遠不會是負的,只會讓問題更糟。

關鍵在於第二部分能否化解第一部分的錯誤。這取決於壓縮率,也就是研究團隊引入的一個核心概念——"表示比率"ρ(rho)。

表示比率的定義很直覺:用層內權重組的數量,除以碼本能表示的組合總數。對於2位精度(M=2本碼本,每本K=256個條目),碼本組合總數是256?=65536。對於3位精度(M=3本),組合總數是256?約等於1680萬。權重組的數量則取決於模型大小,以Llama 3.2 3B為例大約是120萬組。

於是,3位精度下ρ約等於0.07,意思是碼本能表示的組合數遠多於實際需要處理的權重組,空間綽綽有餘,初始化走偏了也有大量"備用組合"能兜底;2位精度下ρ約等於18,情況完全翻轉,每個碼本組合平均要"照顧"18組權重,競爭激烈,初始化一旦走偏,補救的餘地極為有限。

這個256倍的容量驟降不是量變而是質變。3位精度下貪心初始化只會讓困惑度(衡量AI語言流暢程度的指標,數值越低越好)差0.65分,而在2位精度下,貪心初始化會讓Llama 3.2 3B的WikiText-2困惑度飆升到352.39——而正常的16位精度模型困惑度只有7.28。用人話說,就是模型基本不會說人話了。

三、加寬搜索範圍救不了場:為何標準補救方案失靈

面對這種崩潰,AQLM的傳統對策是加寬"束搜索"(Beam Search)的寬度。束搜索是一種在搜索時同時保持多個候選方案的策略,類似於下圍棋時不只計算一條路線而是同時考慮幾條最有希望的路線,最後選出最好的一條。搜索寬度越大,搜到的方案越接近最優,但計算時間也越長。

按照直覺,既然搜索寬度越大越好,那隻要把寬度拉足夠大,初始化差一點應該也能補救——畢竟搜索會找到最好的分配方案。然而實驗數據告訴我們,這個直覺在2位精度下完全失效。

當使用貪心初始化時,將搜索寬度從4提升到8,WikiText-2困惑度從352.39降至60.61,看起來有明顯改善;再從8提升到16,降至46.01。但無論搜索寬度怎麼加,結果始終距離健康值相差甚遠。更奇怪的是,C4數據集上的困惑度隨搜索寬度加大反而從18.64略升至19.00,說明更寬的搜索在另一個維度上其實還變差了——這暗示著模型在過度適應校準數據。

反觀OA-EM初始化後的結果,搜索寬度4就能達到16.82,寬度8是17.39,寬度16是16.53,基本維持在一個穩定的範圍內。

這個對比揭示了束搜索的本質局限:它優化的是給定碼本下的"分配方案",而不能改變碼本本身的幾何形狀。如果碼本的代表詞本來就擺在錯誤的位置,束搜索再寬也只是在錯誤的框架里找最好的路,而無法重塑框架本身。就好比一場考試題目出錯了,不管你怎麼認真答題,對照錯誤答案還是得不了高分——關鍵在於題目,不在於你的作答策略。

研究團隊還注意到一個有趣的"時間賬":在Llama 3.2 3B上,把搜索寬度從4提升到16會讓量化時間從6.1小時增加到16.9小時,多花了10.8小時;但這段額外時間換來的WikiText-2困惑度改善,從352.39到46.01,依然是災難性的結果,而不是接近健康水平。

四、OA-EM:換一種視角來擺放"代表詞"

既然問題出在碼本的初始代表詞擺錯了位置,那解決方案就是在初始化階段就把代表詞擺對。OA-EM的核心思路可以用一個建築比喻來理解:貪心初始化相當於按照"哪裡人最多就在哪裡蓋樓"的策略,結果大量資源浪費在偏遠地區的人口密集處,而城市核心區域的需求卻沒被充分滿足;OA-EM則相當於先調查清楚哪些區域對整個城市的經濟貢獻最大,優先在那些地方配置資源。

技術上,OA-EM在標準K均值初始化的基礎上引入了兩個改變。第一個改變是把度量距離的方式從"歐氏距離"換成"海森矩陣加權的馬氏距離"。歐氏距離就是普通的直線距離,不考慮每個方向的重要程度;馬氏距離則會根據各個方向的重要性做拉伸或壓縮。海森矩陣(來自模型在校準數據上的二階導數資訊)告訴我們,哪些權重方向的變化對模型輸出影響最大——也就是哪些方向"最敏感"。用這個矩陣來加權距離,意味著OA-EM在分配代表詞時會優先照顧對模型輸出影響大的權重方向,而不是簡單地追求空間上的均勻分布。

第二個改變是把"最小化權重空間裡的重構誤差"改為"最小化輸出空間裡的重構誤差"。聽起來像繞口令,但區別很重要:前者只關心每組權重被代表詞近似得有多好;後者直接關心"用這套碼本重建出來的權重,讓模型產生的輸出和原始權重的輸出差多少"。後者才是真正影響模型質量的指標,這也是"輸出感知"(Output-Aware)這個名字的由來。

OA-EM的工作流程是在K均值初始化的基礎上疊代改進:固定當前每組權重的分配,更新代表詞使得輸出重構誤差最小(M步,用Adam優化器跑100步,帶餘弦退火學習率);再固定代表詞,把每組權重重新分配給馬氏距離最近的代表詞(E步)。這兩步交替進行3輪,總共約300步Adam更新,作為一個預處理階段,在正式的束搜索開始之前完成。

OA-EM並沒有打破AQLM的順序框架——第一本碼本還是先於第二本確定。但它通過更好的幾何定位,讓第一本碼本的代表詞更精準地覆蓋了對模型輸出最重要的權重方向,從而給第二本碼本留下了更規整、更易處理的殘差,從根源上縮小了貪心誤差中的"直接誤差"和"殘差錯配"兩項。

五、實驗驗證:數字背後的故事

研究團隊在三個模型上進行了系統測試:Llama 3.2 3B、Llama 3.1 8B,以及來自不同架構家族的Qwen 2.5 3B。所有模型都在C4數據集的128條序列上進行校準,評估則覆蓋了WikiText-2和C4兩個困惑度基準,以及ARC-Easy、ARC-Challenge、HellaSwag、PIQA、WinoGrande、LAMBADA六個零樣本推理任務。

在OA-EM初始化之後,量化還會經歷兩個階段:束搜索(找到每組權重的最佳碼本分配)和PV-tuning(端到端微調,同時更新碼本和分配索引)。研究的核心問題是:OA-EM帶來的初始化優勢,在經過這兩輪後續優化之後,還能保留下來嗎?

結果是明確的。在Llama 3.2 3B上,經過PV-tuning之後,OA-EM在所有搜索寬度配置下的WikiText-2困惑度都優於貪心初始化:搜索寬度4下,OA-EM得到11.53而貪心初始化得到12.66;寬度8下分別是11.53對11.76;寬度16下是11.49對12.01。差距從PV-tuning前的幾十分壓縮到了0.23分,但始終存在,方向始終一致。

更能說明問題的是搜索寬度的影響方式不同。貪心初始化下,寬度從4增加到8是有幫助的(12.66→11.76),但再從8增加到16反而變差了(11.76→12.01),呈現出非單調的不穩定行為。而OA-EM初始化下,寬度增加帶來的效果是穩定且單調的:4和8都是11.53,16微降至11.49。如果兩種方案真的收斂到了相同的優化終點,那搜索寬度對兩者的影響理應是一致的——恰恰相反的行為模式說明它們處於不同的優化盆地,PV-tuning只是在各自的盆地里爬坡,而沒有跳到另一個盆地。

在效率上,OA-EM也展現出明顯的帕累托優勢。OA-EM在搜索寬度4下只需6.1小時量化,就能得到11.53的最終困惑度;而貪心初始化在搜索寬度8下需要9.9小時,最終只能得到11.76。前者不僅結果更好,時間還節省了38%。用最省力的OA-EM配置對比最費力的貪心配置——OA-EM寬度4(6.1小時,11.53)vs 貪心寬度16(16.9小時,12.01)——OA-EM節省了63%的時間,還得到了更好的結果。

在Llama 3.1 8B上,規律同樣存在,只是幅度較小:PV-tuning後WikiText-2困惑度從9.39降至9.25,C4從12.02降至11.89。8B模型之所以對初始化不那麼敏感,研究團隊認為是因為它在更多數據(15萬億token,而3B模型只有3萬億)上訓練,權重分布更平滑,極端的高量級權重組更少,貪心初始化的"浪費"問題相對較輕。這說明表示比率ρ是預測初始化瓶頸的必要條件,但不是充分條件——權重本身的分布形態也會影響脆弱程度。

Qwen 2.5 3B上的結果則揭示了一個更細膩的面向:OA-EM在困惑度上依然贏(WikiText-2從10.93降至10.73,C4從14.57降至14.49),但在下游任務平均準確率上貪心初始化微弱領先(0.606 vs 0.603)。研究團隊指出,在3B規模下零樣本任務的評估本身方差較大,且Qwen架構的權重統計特性比Llama系列更平滑,初始化瓶頸本就較弱;而困惑度作為更穩定、更直接的質量信號,始終指向OA-EM更優。

六、3位精度的情況:瓶頸縮小但不消失

研究團隊還專門測試了3位精度(ρ≈0.07,過完備區間)的情況,以驗證"表示比率預測初始化重要性"的框架。結果顯示,3位精度下初始化的影響確實小得多:貪心初始化的WikiText-2困惑度是9.52,OA-EM是8.87,差距0.65分;PV-tuning後分別是8.66和8.54,差距壓縮到0.12分,約5.4倍的壓縮比。

相比之下,2位精度下貪心初始化差了約43分,PV-tuning後差距壓縮到0.23分,約188倍的壓縮比——數值上的壓縮比更大,但絕對差距依然存在,方向依然一致,說明PV-tuning在兩種情況下都是"在盆地內改善"而非"在盆地間跳躍"。

3位精度的下游任務表現同樣支持OA-EM:在6個任務中贏了4個,ARC-Easy提升了3.5個百分點,LAMBADA準確率提升了1.6個百分點,平均準確率從0.647提升至0.654。這意味著即使在過完備區間,初始化的好壞依然能留下可見的痕跡,PV-tuning無法完全抹平。

七、領域偏移:初始化差的模型更脆弱

研究還觀察到一個頗有洞察力的現象:貪心初始化的模型在PV-tuning前,其表現失靈程度與評估數據集和校準數據集(C4)的距離成正比。

在C4本身(域內數據)上,貪心初始化的困惑度是18.64,OA-EM是18.00,差距僅1.04倍;在LAMBADA(近域外數據)上,兩者分別是12.28和8.85,差距擴大到1.39倍;在WikiText-2(遠域外數據)上,兩者是60.61和17.39,差距達到3.49倍。這個梯度說明貪心初始化的碼本在容量受限時,會把有限的表示能力過度集中在校準數據最關心的權重組上,導致對其他場景的泛化能力急劇下降。OA-EM通過海森矩陣加權,把碼本容量分配給對模型輸出真正重要的權重方向,而不僅僅是校準數據頻繁激活的方向,因而在跨域評估下展現出更好的魯棒性。

這個發現的實際意義在於:如果你打算在一個領域校準模型,然後用到另一個領域,初始化質量的重要性會被進一步放大;而OA-EM恰恰在這種場景下提供了更穩健的保護。

歸根結底,這篇論文講了一個關於"起點決定終點"的故事。在AI模型壓縮這件事上,工程師們長期習慣於在出問題之後加大修復力度,卻沒有意識到問題根源在更早的地方。就像一道數學題,如果你第一步就理解錯了題目,後續的計算再仔細也是枉然;但如果第一步就把方向弄對,後續哪怕粗糙一點也能得到接近滿分的答案。OA-EM做的事情,本質上就是花一點點額外的精力把第一步做對——讓碼本的代表詞從一開始就站在它們應該站的位置。

這對普通用戶的影響是相當直接的。如果你希望在手機、樹莓派或者沒有高端GPU的筆記本上運行一個還算聰明的語言模型,研究證明了2位精度的加法量化是可行路線,而不是"壓縮太狠必然崩潰"的死路。OA-EM讓這條路從充滿坑洞變得更加平坦可行,而且不需要任何額外的推理代價——模型部署時依然是最快的查表操作,只是在量化階段多做了一些更聰明的前期準備工作。

一個值得繼續思考的問題是:這個"初始化決定盆地"的規律,究竟在多大程度上是加法量化特有的,還是在任何需要學習離散表示的系統中都會出現?未來的研究或許會把這個框架擴展到更廣泛的壓縮和表示學習場景中,讓"聰明地開始"成為一個更普遍的原則。有興趣深入探討的讀者,可以通過arXiv編號2604.08118檢索完整論文,代碼也已在GitHub上公開(kenno94-IK/aqlm-oaem)。

Q&A

Q1:2位量化為什麼比3位量化崩潰得更厲害?

A:2位量化時,每組權重只能從65536種碼本組合中選一個,而模型層內約有120萬組權重,平均每個組合要"照顧"18組權重,競爭激烈。3位量化時可選組合超過1680萬,遠多於權重組數量,初始化走偏了還有大量備用組合兜底。這種容量差距是256倍,是質變而非量變,導致貪心初始化在2位精度下幾乎必然陷入糟糕的優化盆地。

Q2:OA-EM會讓量化過程變慢很多嗎?

A:總體上不會,甚至往往更快。OA-EM只是在束搜索前額外做3輪約300步的Adam更新,新增時間有限。更重要的是,OA-EM改善了初始化質量,使得束搜索每層需要的疊代輪次更少,反而節省了整體時間。例如在3位精度測試中,OA-EM將量化總時間從13小時25分縮短至12小時39分,節省了約5.7%。在2位精度下,OA-EM在搜索寬度4的情況下就能達到貪心初始化搜索寬度16才能接近的質量,節省63%的量化時間。

Q3:OA-EM適用於所有類型的模型壓縮方法嗎?

A:不是所有類型都適用。OA-EM專門針對"自由形式加法量化"這一類方法,即通過學習非結構化碼本來壓縮權重的方案,代表性實現是AQLM。對於使用固定數學結構碼本的方法(如QuIP#使用E8格碼本,QTIP使用網格碼),這類方法從根本上繞過了離散分配問題,本身不存在OA-EM所解決的初始化瓶頸。不過研究團隊認為,"表示比率"這個分析框架和"盆地持久性"這個現象,對任何依賴貪心順序初始化的學習碼本方法都有參考價值。

宅中地 - Facebook 分享 宅中地 - Twitter 分享 宅中地 - Whatsapp 分享 宅中地 - Line 分享
相關內容
Copyright ©2026 | 服務條款 | DMCA | 聯絡我們
宅中地 - 每日更新