今天,微软正式宣布了一个专为 Windows 设置代理功能打造的小语言模型 – Mu。Mu 主要用来驱动 Windows 设置代理功能,用户只需要在搜索框中用自然语言描述想要调整的设置,Mu 就会驱动 Windows 设置代理来自行完成对应的设置。目前,Mu 模型已经在处于 Dev 分支的 Copilot+ PC 可用。
以下是 Mu 模型的具体介绍:
专为设置代理打造的语言模型
Mu 的设计核心在于通过自然语言解析,实现对 Windows 设置的精准调用。它被用于设置应用中的 AI 代理,可理解用户的输入并自动完成设置更改操作。与传统方法相比,Mu 在本地运行、低延迟、即时响应等方面展现了显著优势,尤其适用于 Copilot+ PC 上的本地场景。
轻量级编码器-解码器模型
Mu 基于 Transformer 编码器-解码器架构构建,总参数量为 330M,专为移动端和边缘设备设计,能够高效运行于神经处理单元(NPU)上。其关键设计特点包括:
- 一次性编码 + 高效解码:Mu 将输入一次性编码为潜在表示,解码器随后基于此表示生成输出,从而显著减少计算和内存开销。
- 硬件感知优化:在 Qualcomm Hexagon NPU 上,Mu 实现了约 47% 的首标记延迟降低和 4.7 倍的解码速度提升。
- 权重共享机制:输入与输出嵌入共享参数,进一步减少模型大小并提升一致性。
这种轻量化架构特别适合对延迟和能耗要求极高的实时场景,如设置代理。
硬件优化与训练细节
在硬件适配方面,Mu 的架构针对 NPU 的并行特性进行了深度调整:
- 模型层维度(如隐藏层宽度)与 NPU 优化执行单元完全对齐;
- 编码器与解码器之间的参数分布采用 2:1 比例,最大化效率;
- 所有操作均限于 NPU 支持的高效算子。
训练方面,Mu 先在 Azure A100 GPU 上预训练,并使用数百亿高质量教育类数据打底。随后,通过蒸馏微软内部大型模型 Phi 的知识,进一步提升性能与参数效率。在此基础上,Mu 通过 LoRA 微调方法适配具体任务,表现出色。
性能增强技术
为了在较小的模型尺寸下榨取更多性能,Mu 引入了三项关键技术:
- 双层归一化(Dual LayerNorm):子层前后各进行一次归一化,稳定训练过程。
- 旋转位置嵌入(Rotary Positional Embeddings):提升模型对长上下文的理解与外推能力。
- 分组查询注意力(Grouped-Query Attention):减少注意力头参数和内存消耗,同时保持表达能力。
这些增强手段让 Mu 在任务中展现出接近甚至超越更大模型的能力。例如,在 SQuAD、CodeXGlue 等任务上,微调后的 Mu 性能与 Phi-3.5-mini 相当,尽管后者的模型体积是前者的十倍。
任务类别 |
微调 Mu |
微调 Phi-3.5-mini |
---|---|---|
SQuAD | 0.692 | 0.846 |
CodeXGlue | 0.934 | 0.930 |
设置代理 | 0.738 | 0.815 |
高效量化与设备部署
为确保在 Copilot+ PC 上高效运行,微软对 Mu 应用了先进的 后训练量化(Post-Training Quantization,PTQ) 技术,将模型的权重和激活从浮点压缩为 8/16 位整数。在与 AMD、Intel、Qualcomm 等芯片合作伙伴深度协作下,Mu 的所有关键运算都针对具体 NPU 硬件进行了优化。这使得 Mu 在 Surface Laptop 7 上可实现超过 200 tokens/sec 的生成速度,同时大幅减少能耗和内存占用。
设置代理的定制微调
Mu 的一个关键应用场景是构建 Windows 设置代理。微软希望让用户能够通过自然语言快速更改系统设置,因此对 Mu 进行了大规模的任务微调:
- 微调样本总数达到 360 万;
- 设置类别由最初的 50 个扩展至数百个;
- 使用自动合成、元提示优化、多样表达、噪声注入等技术提升模型泛化能力。
微调后的 Mu 模型在实际使用中能在 500 毫秒内完成响应,并实现高精度的设置指令识别。
微软还将该代理集成至设置应用的搜索框中,根据用户查询长度智能判断是否触发代理功能,兼顾自然语言和传统搜索体验。针对“增加亮度”这类模糊查询,系统可智能区分是主屏还是副屏,从而减少误解。
via Windows