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