微軟剛發(fā)布Mu模型:支持Windows智能體,小參數(shù)跑出10倍性能
今天凌晨,微軟在官網(wǎng)發(fā)布了創(chuàng)新小參數(shù)模型Mu。
Mu僅有3.3億參數(shù),但其性能可以比肩微軟之前發(fā)布的小參數(shù)模型Phi-3.5-mini,體量卻比它小10倍左右,并且在離線NPU的筆記本設(shè)備上,可以跑出每秒超過100 tokens的響應(yīng),這在小參數(shù)模型領(lǐng)域非常罕見。
此外,Mu支持在Windows中設(shè)置智能體,可將自然語言指令實時轉(zhuǎn)化為系統(tǒng)操作,例如,只需對著電腦說一句 “把鼠標(biāo)指針調(diào)大一些,調(diào)整屏幕亮度”,智能體就能精準(zhǔn)定位到相關(guān)設(shè)置項一鍵完成調(diào)整。
Mu架構(gòu)簡單介紹
Mu借鑒了之前微軟發(fā)布的小參數(shù)模型Phi Silica,專為小型本地部署優(yōu)化,尤其是在配備NPU的Copilot+ PC上。
架構(gòu)方面,Mu使用了僅解碼器的Transformer,并在此基礎(chǔ)之上進(jìn)行了雙重層歸一化、旋轉(zhuǎn)位置嵌入和分組查詢注意力三大創(chuàng)新。
雙重層歸一化方法通過在Transformer架構(gòu)的每個子層前后分別實施LayerNorm操作,有效確保了激活值的分布具有良好的統(tǒng)計特性,從而顯著增強了訓(xùn)練過程的穩(wěn)定性。
不僅避免了深層網(wǎng)絡(luò)中常見的訓(xùn)練不穩(wěn)定問題,還通過減少數(shù)值不穩(wěn)定情況的發(fā)生,間接提高了訓(xùn)練效率,從總體上降低了訓(xùn)練時間和資源消耗。
在Transformer架構(gòu)中,位置嵌入是讓模型理解序列順序的關(guān)鍵部分。傳統(tǒng)的絕對位置嵌入方法是給每個固定位置分配獨立的向量,把絕對位置信息添加到詞向量中。
但這種方式有兩個根本問題:一是當(dāng)輸入序列長度超過訓(xùn)練時的長度,模型因為沒有對應(yīng)位置的預(yù)訓(xùn)練向量,就很難準(zhǔn)確理解超出部分的位置關(guān)系;
另外一個是絕對位置編碼只能反映 token 在序列里的絕對位置,沒辦法直接表示 token 之間的相對距離,在需要理解長距離關(guān)系,例如,分析長句語法、代碼函數(shù)調(diào)用順序的任務(wù)中,存在天然不足。
旋轉(zhuǎn)位置嵌入則通過引入復(fù)數(shù)域的旋轉(zhuǎn)操作,從本質(zhì)上改變了位置編碼的機(jī)制。其核心原理基于復(fù)數(shù)乘法的幾何特點,把每個位置的嵌入向量表示成復(fù)數(shù)形式,通過和旋轉(zhuǎn)矩陣相乘,讓向量在復(fù)平面上旋轉(zhuǎn)。
對于每個位置和維度,旋轉(zhuǎn)位置嵌入都定義了旋轉(zhuǎn)矩陣,當(dāng)輸入序列中的兩個 token 交互時,它們位置嵌入向量的旋轉(zhuǎn)角度差異,直接體現(xiàn)了兩者的相對距離。從數(shù)學(xué)角度看,旋轉(zhuǎn)位置嵌入 把位置編碼變成了動態(tài)可擴(kuò)展的函數(shù)映射,而不是靜態(tài)的向量存儲。這一特性讓模型具備了出色的長序列外推能力。
在推理時遇到超長序列,旋轉(zhuǎn)位置嵌入 可以根據(jù)已經(jīng)學(xué)習(xí)到的旋轉(zhuǎn)規(guī)則,動態(tài)生成超出訓(xùn)練長度部分的位置編碼,避免了傳統(tǒng)絕對位置編碼因為 沒見過的位置而導(dǎo)致性能大幅下降的問題。
Mu還使用了分組查詢注意力對多頭注意力機(jī)制進(jìn)行了大量優(yōu)化。在傳統(tǒng)的多頭注意力中,每個頭都擁有自己的Key、Query和Value矩陣,這導(dǎo)致了大量的參數(shù)和內(nèi)存消耗。
分組查詢注意力則通過在頭組之間共享鍵和值,顯著減少了注意力參數(shù)的數(shù)量和內(nèi)存占用。例如,如果有12個頭,可以分為3組,每組4個頭共享相同的鍵和值。
這種設(shè)計不僅減少了參數(shù)和內(nèi)存占用,降低了在NPU上的延遲和功耗,提高了模型的運行效率,還通過保持頭的多樣性,確保了每個頭可以獨立計算查詢,從而維持了與傳統(tǒng)多頭注意力機(jī)制相當(dāng)?shù)男阅堋?/span>
此外,Mu還使用了預(yù)熱穩(wěn)定衰減時間表和Muon優(yōu)化器等訓(xùn)練技術(shù)來進(jìn)一步優(yōu)化其性能。微軟使用了A100 GPU對Mu進(jìn)行了訓(xùn)練,遵循Phi模型開發(fā)中首創(chuàng)的技術(shù),首先在數(shù)百億個最高質(zhì)量的教育token上進(jìn)行預(yù)訓(xùn)練,以學(xué)習(xí)語言的語法、語義和一些世界知識。
為了進(jìn)一步提高準(zhǔn)確性,還從Phi模型中進(jìn)行知識蒸餾。通過捕獲Phi模型的一些知識,Mu模型實現(xiàn)了顯著的參數(shù)效率。其參數(shù)只有Phi-3.5-mini的十分之一,性能卻和它差不多。
支持Windows智能體
為提升 Windows 系統(tǒng)的易用性,微軟一直著力攻克修改數(shù)百項系統(tǒng)設(shè)置的難題,目標(biāo)是在“設(shè)置”中打造一個理解自然語言并能無縫修改可撤銷相關(guān)設(shè)置的 AI 智能體。微軟計劃將該智能體集成到現(xiàn)有搜索框中,以實現(xiàn)流暢的用戶體驗,這要求對眾多可能的設(shè)置實現(xiàn)超低延遲響應(yīng)。
在測試了各種模型后,Phi LoRA 最初達(dá)到了精度目標(biāo),但規(guī)模過大,無法滿足延遲要求。Mu具有合適的特性,需要針對特定任務(wù)進(jìn)行調(diào)整才能在 Windows設(shè)置中實現(xiàn)最佳性能。
此場景下的基線 Mu 模型雖在性能和功耗方面表現(xiàn)出色,但在使用相同數(shù)據(jù)且未經(jīng)任何微調(diào)時,精準(zhǔn)度會下降50%。為縮小這一差距,微軟將訓(xùn)練規(guī)模擴(kuò)大到 360萬個樣本,提升了 1300 倍,并將處理的設(shè)置從約50項擴(kuò)展至數(shù)百項。
通過采用自動化標(biāo)注的合成方法、帶元數(shù)據(jù)的提示調(diào)優(yōu)、多樣化措辭、噪聲注入和智能采樣,用于設(shè)置智能體的Mu微調(diào)模型成功達(dá)成質(zhì)量目標(biāo)。Mu微調(diào)模型的響應(yīng)時間控制在 500 毫秒以內(nèi)。根據(jù)測試顯示,Mu模型打造的智能體,在Windows設(shè)置的理解、執(zhí)行操作方面比較出色。