僅需0.4GB,參數只有0和±1!微軟開源首個原生1 bit模型,CPU輕松跑
大模型輕量化終于又有好玩的了。
就在最近,微軟亞研院開源了第一款參數量達到20億,并且還是原生1bit精度的LLM——BitNet b1.58 2B4T。
論文地址:https://arxiv.org/abs/2504.12285
這個模型好玩在三個點上,其實都在模型名字里了:
1. b1.58量化
這個模型里的參數,一共只有{-1, 0, +1}三種數值,很難想象知識是如何壓縮在里面的!(根據信息論計算公式,這個模型的精度就是≈1.58,如果是純粹的1bit量化,那么只有兩個數值)。
2. 模型非常的小!
參數只有2B,和動輒14B、32B、617B等全量模型相比,大小還不到他們零頭,并且由于參數的精度壓縮到極低,所以這個模型只有0.4GB的大小。
3. 針對CPU的推理框架
使用為CPU架構專門設計的開源推理框架BitNet來運行,微軟已經花了1-2年的時間來完善了這個框架。
這種低精度、低參數,并且能在CPU上原生推理的大模型,為端側AI開啟了無限可能性。
甚至未來有可能可以部署在家里的電飯煲或者冰箱中,成為真正的「AI智能體」。
首個開源原生1bit模型
微軟推出的BitNet b1.58 2B4T是首個開源的、原生1 bit的LLM,參數規模達到20億。
該模型在包含4萬億個Token的語料庫上進行訓練,別看它小,這個模型在涵蓋語言理解、數學推理、編碼熟練度和對話能力的基準測試中都進行了嚴格評估。
只有三種參數的BitNet b1.58 2B4T的性能與同類大小全精度的LLM相當。
上圖可以看到,BitNet b1.58 2B4T在30億參數以下的模型中,就性能與內存而言,取得了不錯的平衡。
在11個基準測試中的平均分已經和1.5B和2B的全精度模型相當,用微軟自己的話說就是,「推進了由領先的開放權重LLMs定義的帕累托前沿,展示了更高的效率」。
同時,BitNet b1.58 2B4T在計算效率方面提供了顯著優勢,包括大幅減少的內存占用、能耗和解碼延遲。
該模型的權重已經通過 Hugging Face 發布,并提供了針對GPU和CPU架構的開源推理實現。
極限的技術探索
開源LLMs已經是AI領域非常重要的一股力量,但是由于部署和推理所需的大量計算資源(簡單說就是沒卡)阻礙了社區發展——雖然開源了,但是大部分人都玩不了。
1-bit LLMs,代表了一種極端但是非常有前景的模型量化形式。
當模型的權重被限制為二進制{-1, +1}或三進制{-1, 0, +1},通過大幅減少存儲權重所需的內存并實現高效的位運算,它們有可能顯著降低部署成本、減少能耗并加速推理速度。
微軟的這項工作證明,當原生1 bit LLMs在大規模上數據集有效訓練時,可以實現與全精度類似規模的模型相媲美的性能。
BitNet b1.58 2B4T的架構采用標準的Transformer模型,并基于BitNet框架進行了修改,該模型完全從零開始訓練——參數并不是后期量化成{-1, 0, +1},而是原生訓練。
預訓練技術路線
預訓練語料庫由公開可用的文本和代碼數據集組成,包括大型網絡爬蟲數據集,如DCLM和教育網頁數據集,如 FineWeb-EDU。
為了增強數學推理能力,還加入了合成生成的數學數據。
在預訓練之后,模型進行了有監督微調(SFT),以提高其指令跟隨能力,并改善其在對話互動格式中的表現。
SFT階段使用了多種公開可用的指令跟隨和對話數據集。
為了進一步增強特定能力,特別是在推理和復雜指令遵循方面,還補充了使用GLAN和 MathScale方法生成的合成數據集。
為了進一步使模型的行為與人類對有用性和安全性的偏好保持一致,在SFT 階段之后應用了直接偏好優化(DPO)。
DPO是一種比傳統的RLHF更高效的替代方法,它通過直接優化語言模型并利用偏好數據,避免了訓練單獨獎勵模型的需求。
DPO 階段進一步精煉了模型的對話能力,并使其更好地與實際使用中的預期交互模式保持一致。
性能評估
通過多種基準測試來衡量模型的表現,這些基準測試包括了:
- 語言理解與推理
- 世界知識
- 閱讀理解
- 數學與代碼
- 指令跟隨與對話
如表1所示,BitNet b1.58 2B4T展現了顯著的資源效率。
與所有評估過的全精度模型相比,它的非嵌入內存占用和解碼過程中估算的能耗明顯較低。
內存占用為0.4GB,輸出延遲為29ms。
在任務表現方面,BitNet b1.58 2B4T也表現得非常具有競爭力。
它在多個涵蓋推理、知識和數學能力的基準測試中取得了最佳結果。
進一步通過與Qwen2.5 1.5B的后訓練量化(PTQ)版本進行比較,探索效率與性能之間的權衡,使用了標準的INT4方法(GPTQ和AWQ)。
INT4量化雖然成功地減少了全精度模型的內存占用(從2.6GB下降到0.7GB),但由于原生的1 bit架構,BitNet b1.58 2B4T的內存需求更低。
更重要的是,這種卓越的內存效率并沒有犧牲與量化模型相比的性能。
標準的后訓練量化(PTQ)技術會導致相較于原始全精度模型,性能出現明顯下降(從平均55.72下降到了51.17)。
相比之下,BitNet b1.58 2B4T在評估的基準測試中表現優于Qwen2.5-1.5B的INT4量化版本。
最后,將BitNet b1.58 2B4T與其他針對或量化到接近1 bit精度的模型進行比較。
評估結果明確地將BitNet b1.58 2B4T定位為該類別的領先模型。
BitNet b1.58 2B4T在大多數基準測試中取得了最高分,表現遠超所有其他比較的 1 位模型。
推理部署:GPU/CPU都能跑
高效的推理對于LLM的部署至關重要,尤其是在資源受限的環境中。
BitNet b1.58 2B4T采用1.58位權重和8位激活的獨特量化方案,因此需要專門的實現方式,因為標準的深度學習庫通常缺乏針對這種混合精度、低位格式的優化內核。
為了解決這個問題,微軟開發并開源了專門的推理庫,支持GPU和CPU平臺,特別地,針對CPU開發了bitnet.cpp。
bitnet.cpp是一個C++庫,作為1 bit大規模語言模型(LLM)在CPU上推理的官方參考實現,bitnet.cpp提供了針對標準CPU架構優化的內核,旨在高效執行。
但路還很長
微軟研究院提供了一個在線的,已經部署好的體驗網站。
并且分為了CPU部署和GPU A100部署兩種模式。
讓我們實測一下,這個模型到底能不能用?
可以看到,不論是CPU還是GPU,輸出內容的都還不錯。
看來微軟所言非虛,這次這個模型還得很能打的。
簡單測試一下數學問題,整體輸出還是OK的,輸出速率在27 token/s。
寫代碼也不在話下。
總而言之,微軟研究院發布的BitNet b1.58 2B4T模型,以其僅20億參數、創新的原生1.58位量化技術(參數僅為{-1, 0, +1})和僅0.4GB的大小,代表了LLM輕量化的一次重要探索。
雖然各個指標方面都追求極致的縮小,但是這個模型保持了與同等規模全精度模型相當性能。
盡管實際測試顯示其在特定任務(如非英語處理)上仍有局限。
但其開源特性和展現出的潛力,無疑為資源受限的端側AI部署開啟了新的想象空間。
1-bit的嘗試是極限的,但是通往未來AI的道路是無限的。
作者介紹
韋福如
韋福如博士現任微軟杰出科學家,領導團隊從事基礎模型、自然語言處理、語音處理和多模態人工智能等領域的研究。
近年來,他還致力于領導和推進通用型人工智能的基礎研究和創新。
韋博士還擔任西安交通大學和中國科技大學兼職博士生導師,香港中文大學教育部-微軟重點實驗室聯合主任。
馬樹銘
馬樹銘(Shuming Ma)是微軟亞洲研究院(MSRA)自然語言計算組的研究員,工作地點位于中國北京。
在加入微軟亞洲研究院之前,于2019年獲得了北京大學的碩士和學士學位,研究方向主要為自然語言處理。
馬樹銘的研究興趣集中在大規模預訓練語言模型領域。已經在頂級學術會議上發表了30多篇論文,包括ICML、ICLR、ACL、EMNLP等。
王鴻鈺
現為中國科學院計算技術研究所(ICT,CAS)三年級博士研究生,導師為陳熙霖教授。本科畢業于中國科學技術大學(USTC)計算機科學與技術系,期間在錢超副研究員的指導下進行學習和研究。
目前在微軟亞洲研究院(MSRA)通用人工智能組(GenAI)擔任研究實習生,受韋福如博士和馬樹銘博士的指導,實習時間為2021年8月至今。