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