整理 | 華衛、核子可樂
近日,微軟的研究人員聲稱,他們已經開發出了迄今為止規模最大的原生 1-bit 人工智能模型。該模型名為 BitNet b1.58 2B4T,僅使用 0.4GB(約 409.6MB)內存,可以在包括蘋果 M2 芯片在內的 CPU 上運行。評估結果顯示,該模型在各種任務中與同等規模的領先開源權重全精度大語言模型表現近乎相當,同時在計算效率方面具有顯著優勢,包括大幅減少內存占用、能耗以及解碼延遲。
目前,該模型 100% 開源,可供在 MIT 許可協議下公開使用。在 Hugging Face 上,微軟還提供了 BitNet b1.58 2B4T 多個版本的模型權重,包括經過打包的 1.58 bit 權重、BF16 格式的主權重和 GGUF 格式的模型權重。
模型權重:https://huggingface.co/microsoft/bitnet-b1.58-2B-4T
試用鏈接:https://bitnet-demo.azurewebsites.net/
有網友評價該模型道,“如果它真的匹配全精度模型性能,那就太不可思議了。”“BitNetb1.58 2B4T 的發布是 LLM 發展歷程中的一個里程碑,其性能和效率令人印象深刻。”
值得一提的是,BitNetb1.58 2B4T 成果背后這支來自 Microsoft Research 的技術團隊,全員都是中國人。
據了解,論文一作馬樹銘(Shuming Ma)是北京大學電子工程與計算機科學學院(EECS)的一名碩士研究生,目前處于研三階段,從事自然語言處理和機器學習方面的研究工作。二作王鴻鈺(Hongyu Wang)是中國科學院 (CAS) 的三年級博士生,2021 年 8 月至今在微軟亞洲研究院 GenAI 團隊擔任研究實習生, 在韋福如(Furu Wei )和馬樹銘的指導下開展工作。
韋福如現任微軟杰出科學家,領導團隊從事基礎模型、自然語言處理、語音處理和多模態人工智能等領域的研究。近年來,他還致力于領導和推進通用型人工智能的基礎研究和創新。韋博士還擔任西安交通大學和中國科技大學兼職博士生導師,香港中文大學教育部 - 微軟重點實驗室聯合主任。此前,他分別于 2004 年和 2009 年獲得武漢大學學士學位和博士學位。
1 性能與同等參數模型相當,速度甚至是其兩倍
作為首個具有 20 億參數(“參數”在很大程度上與“權重”同義)的 BitNet,BitNet b1.58 2B4T 在包含 4 萬億個 token 的數據集上進行了訓練(據估算,這大約相當于 3300 萬本書的內容),并在涵蓋語言理解、數學推理、編碼能力和對話能力等方面的基準測試中經過了嚴格評估,在各個方面的性能都與類似規模的同類模型近乎相當,同時顯著提升了效率。
需要明確的是,BitNet b1.58 2B4T 并非完全勝過與之競爭的擁有 20 億參數的模型,但它的表現似乎的確不俗。根據研究人員的測試,該模型在包括 ARC-Challenge、OpenbookQA、 BoolQ、GSM8K(小學水平數學問題的集合)和 PIQA(測試物理常識推理能力)等在內的基準測試中,超過了 Meta 的 Llama 3.2 1B、谷歌的 Gemma 3 1B 和阿里巴巴的 Qwen 2.5 1.5B。
圖:BitNet b1.58 2B4T 與類似尺寸(1B-2B 參數)的領先開放權重全精度 LLM 在各種基準測試中的效率指標和性能的比較
更令人印象深刻的是,BitNet b1.58 2B4T 的運行速度比其他同等規模的模型更快,在某些情況下的速度甚至能達到其他模型的數倍,同時內存占用卻只是后者的一小部分。BitNet b1.58 2B4T 的內存大小僅為 0.4GB,CPU 推理延遲是 29ms;而其他同等規模的模型需要 1.4-4.8GB,CPU 推理延遲在 41ms-124ms。
從微軟在技術報告中放出的對比圖可以看到,BitNet b1.58 2B4T 在性能上幾乎與 Qwen 2.5 1.5B 相當,但內存大小僅為后者的 1/6,速度提高了 2 倍。并且,其性能優于需 2GB 內存的 Llama 3.2 1B 模型,且 BitNet b1.58 2B4T 處理 token 的速度還要快 40%。
此外,具有 1000 億(100B)參數的 BitNet b1.58 模型可以在單個 CPU 上運行,速度可與人類閱讀速度相媲美(每秒處理 5-7 個 token),這一結果極大地增強了在本地設備上運行 LLM 的可能性在 Github 上,微軟還放出了在蘋果 M2 上運行 BitNet b1.58 3B 模型的演示視頻:
據介紹,Bitnet 本質上是專為在輕量級硬件上運行而設計的壓縮模型。微軟表示,在 BitNet 和 BitNet b1.58 上取得的這一新進展,為在速度和能耗方面提高大語言模型(LLM)的效率提供了一種可行的方法,還使得 LLM 能夠在廣泛的各類設備上進行本地部署。
開源項目地址:https://github.com/microsoft/BitNet
2 技術架構的核心創新
微軟在技術報告中介紹,BitNet b1.58 2B4T 完全是從零開始訓練的,架構源自標準 Transformer 模型,其中包含基于 BitNet 框架的重大修改。核心創新在于,將標準的全精度線性層 (torch.nn.Linear) 替換為自定義 BitLinear 層。
傳統大模型依賴 32 位或 16 位浮點數存儲權重,而該模型將權重壓縮至 1.58 位,這是使用絕對平均值 (absmean) 量化方案實現的,將權重量化為三個值:-1、0 和 1,大大減小了模型大小并實現了高效的數學運算。由于三元權重無法使用標準數據類型進行高效存儲,因此微軟將多個權重值打包成一個 8 位整數并存儲在高帶寬內存(HBM)當中。這采用了絕對最大 (absmax) 量化策略,應用于每個 token。
從理論上講,這使得其比當今的大多數模型都更加高效。在標準模型中,權重(定義模型內部結構的值)通常是量化的,因此模型在各種機器上表現良好。對權重進行量化會減少表示這些權重所需的比特數(比特是計算機能夠處理的最小單位),從而使模型能夠在內存較小的芯片上更快速地運行。
至關重要的是,該模型是使用這種量化方案從頭開始訓練的,而不是訓練后才進行量化的。除了 BitLinear 層之外,該模型還集成了激活函數 (FFN)、位置嵌入和偏差消除幾種已建立的 LLM 技術以提高性能和穩定性。
訓練過程中,BitNet b1.58 2B4T 涉及三個不同的階段:大規模預訓練,然后是監督微調 (SFT) 和直接偏好優化 (DPO):預訓練時使用兩階段學習率和權重衰減計劃,在公開的文本 / 代碼數據以及合成數學數據上進行大規模訓練;監督微調 (SFT)過程中,使用損失求和聚合方法以及特定的超參數調整,在遵循指令和對話相關的數據集上進行微調;利用偏好數據直接優化語言模型,來使其符合人類在有用性和安全性方面的偏好。
3 背后是微軟定制框架,硬件兼容性可能受阻
微軟稱,要使 BitNet b1.58 2B4T 模型實現技術報告中所展示的效率優勢,必須使用專門的 C++ 實現方案,即 bitnet.cpp。當前商用 GPU 架構在設計上并未針對 1 bit 模型進行優化,itnet.cpp 提供經過優化的內核,可以確保此模型能夠在缺少強大 GPU 加持的設備(如邊緣設備、筆記本電腦、標準服務器等)上部署以實現廣泛可及。
據介紹,bitnet.cpp 是一個微軟專門定制的用于 1-bit LLM 的推理框架,基于 llama.cpp 框架,旨在在優化速度和能耗的同時釋放 1-bit LLM 的全部潛力。具體來說,他們在 T-MAC 中開創的 Lookup Table 方法之上開發了一套內核,支持在 CPU 上對 BitNet b1.58 這種三權重值的 LLM 進行快速且無損失地推理。對于三權重值之外的一般低 bit LLM,微軟則建議使用 T-MAC 來做推理。
在公開披露的技術報告中,微軟從推理速度和能耗兩個方面對 bitnet.cpp 進行了評估,并針對參數大小從 125M 到 100B 的各類模型展開了全面測試。微軟還分別在 ARM 和 x86 架構上進行了系統測試,在 ARM 這邊,選擇搭載有蘋果 M2 Ultra 處理器及 64 GB 內存的 Mac Studio 進行了三輪端到端測試;在 x86 這邊,使用的則是搭載英特爾酷睿 i7-13700H 處理器(14 核,20 線程)加 64 GB 內存的 Surface Laptop Studio 2。
此外,微軟分別在兩臺設備上測試了兩種場景:其一是將推理限制在兩個線程之內,其二則不設線程限制,以求得出最佳推理速度。據悉,此舉旨在考慮本地設備上的可用線程數量有限這一現實情況,希望更準確地評估 BitNet b1.58 在本地環境中的性能表現。
圖:使用 llama.cpp (fp16)與 bitnet.cpp 在 Apple M2 Ultra (ARM CPU) 上、各種 BitNet b1.58 模型大小的推理速度和能耗比較
結果顯示,bitnet.cpp 在 ARM CPU (蘋果 M2)上實現了 1.37 倍到 5.07 倍的顯著提速效果,將能耗降低了 55.4% 到 70.0%,進一步提高了整體效率。在 x86 CPU (英特爾 i7-13700H)上的提速范圍為 2.37 倍到 6.17 倍,能耗降低在 71.9% 到 82.2% 之間。
并且,bitnet.cpp 在 ARM 與 x86 CPU 上的性能均顯著優于 llama.cpp,且優勢隨模型規模增長進一步提升,速度從 1.37 倍到 6.46 倍不等,具體視模型與架構而定。在蘋果 M2 且線程數量不受限的情況下,速度比峰值可達到 5.07 倍;而在英特爾 i7-13700H 且線程受限的情況下,bitnet.cpp 的速度比最高可達 6.46 倍,意味著其在資源受限的本地系統推理運行中特別有效。
圖:在無限線程和線程受限設置中不同 CPU 的推理速度比較
除了性能差異之外,帶寬限制在不同架構的 bitnet.cpp 的不同功效中起著重要作用,尤其是在比較 蘋果 M2 和 Intel i7-13700H 時。由于 蘋果 M2 的帶寬更大,與 Intel i7-13700H 相比,bitnet.cpp 的速度提升明顯更快,尤其是在運行大體量模型時。
在對比能耗成本時,微軟分別運行了參數為 700M、7B 和 70B 的模型。在蘋果 M2 上,隨著模型體量的增加,bitnet.cpp 的能效提升亦更加顯著。這凸顯了 bitnet.cpp 在速度和能源使用方面更高效地部署大規模推理的能力,這對于移動設備或邊緣計算等能源受限的環境至關重要。在英特爾 i7-13700H 芯片上,使用 bitnet.cpp 的節能效果更為顯著。雖然目前尚無 70B 模型在該英特爾 CPU 上運行的直接能耗數量,但對較小模型進行測試的結果清晰表明,bitnet.cpp 能夠顯著降低大語言模型在高性能多核心處理器上執行推理時的能耗需求。
圖:不同 CPU 之間的能耗成本比較(單位:焦 /token),“N/A”代表測試的 CPU 無法使用給定核心運行指定大小的模型
為了評估推理準確性,微軟從 WildChat 中隨機選取了 1000 條提示詞,使用到 700M BitNet b15.8 模型,并將 bitnet.cpp 及 llama.cpp 生成的輸出與 FP32 內核生成的輸出進行了比較。評估工作是逐個 token 進行的,每個模型輸出最多 100 個 token,且僅在推理樣本與全精度輸出完全匹配時方認定該樣本為無損。結果證實,bitnet.cpp 能夠對 1-bit LLM 實現準確、無損的推理。
圖:llama.cpp 與 bitnet.cpp 之間的推理準確率對比
然而,需要一提的是,bitnet.cpp 框架目前只能在特定的硬件上運行。在其支持的芯片列表中,并不包括在 AI 基礎設施領域占據主導地位的圖形處理器(GPU)。也就是說,BitNet 或許前景可期,特別是對于資源受限的設備來說,但硬件兼容性可能仍然會是一個很大的發展阻礙因素。
不過,微軟在技術報告中表示,他們已在對 bitnet.cpp 進行擴展,以支持更廣泛的平臺和設備,其中包括移動設備(如蘋果手機和安卓設備)、神經網絡處理器(NPU)以及圖形處理器(GPU)。未來,微軟還將致力于 1-bit LLM 的訓練優化工作以及定制化硬件和軟件棧的協同設計。
4 結語
BitNet b1.58 2B4T 代表一項令人信服的概念驗證,對在大規模大語言模型(LLM)中實現高性能必須依賴全精度權重這一觀點提出了挑戰,為在資源受限環境中部署強大語言模型開辟了新的道路,解決了原有模型在此類環境中難以實現的問題,有望推動先進 AI 進一步實現大眾化普及。
微軟表示,除了當前的性能結果,BitNet b1.58 2B4T 還展現出以下幾個令人興奮的研究方向,包括研究原生 1 bit 大模型的縮放特性、擴展序列長度、多語言能力、多模態架構集成等。
https://techcrunch.com/2025/04/16/microsoft-researchers-say-theyve-developed-a-hyper-efficient-ai-model-that-can-run-on-cpus/
https://arxiv.org/pdf/2504.12285
https://arxiv.org/pdf/2410.16144
聲明:本文為 InfoQ 整理,不代表平臺觀點,未經許可禁止轉載。
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.