Piccolo ma potente, Mu abilita l'intelligenza artificiale agentica nelle Impostazioni di Windows sui moderni Copilot+ PC.
Illustrato per la prima volta alla conferenza Build 2025, Microsoft espone adesso i dettagli della tecnologia alla base di Mu, il suo nuovo modello linguistico integrato in Windows a beneficio degli Insider possessori di Copilot+ PC. A seguire, tutto ciò che devi sapere dal post ufficiale.
Microsoft presenta il suo nuovissimo modello di linguaggio di piccole dimensioni su dispositivo, Mu. Questo modello si rivolge a scenari che richiedono l'inferenza di complesse relazioni input-output ed è stato progettato per funzionare in modo efficiente, offrendo prestazioni elevate durante l'esecuzione in locale. Nello specifico, questo è il modello di linguaggio che alimenta l'agente in Impostazioni, disponibile per i Windows Insider nel canale Dev con PC Copilot+, mappando le query di input in linguaggio naturale alle chiamate di funzione di Impostazioni.
Mu è completamente scaricato sulla Neural Processing Unit (NPU) e risponde a oltre 100 token al secondo, soddisfacendo i severi requisiti UX dell'agente nello scenario Impostazioni. Questo blog fornirà ulteriori dettagli sulla progettazione e l'addestramento di Mu e su come è stato ottimizzato per la creazione dell'agente in Impostazioni.
Formazione del modello Mu
Abilitare Phi Silica all'esecuzione su NPU ha fornito a Microsoft preziose informazioni sull'ottimizzazione dei modelli per prestazioni ed efficienza ottimali. Queste informazioni hanno guidato lo sviluppo di Mu, un modello linguistico di dimensioni micro e specifico per ogni attività, progettato da zero per funzionare in modo efficiente su NPU e dispositivi edge.
Architettura encoder-decoder rispetto all'architettura solo decoder
Mu è un efficiente modello di linguaggio codificatore-decodificatore da 330M, ottimizzato per l'implementazione su piccola scala, in particolare sulle NPU dei PC Copilot+. Segue un'architettura codificatore-decodificatore a trasformatore, ovvero un codificatore converte prima l'input in una rappresentazione latente di lunghezza fissa e un decodificatore genera quindi token di output basati su tale rappresentazione.
Questo design offre significativi vantaggi in termini di efficienza. La figura sopra illustra come un encoder-decoder riutilizzi la rappresentazione latente dell'input, mentre un modello con solo decoder deve considerare l'intera sequenza input + output. Separando i token di input da quelli di output, la codifica one-time di Mu riduce notevolmente il sovraccarico di calcolo e di memoria. In pratica, ciò si traduce in una minore latenza e un throughput maggiore su hardware specializzato. Ad esempio, su una Qualcomm Hexagon NPU (un acceleratore di intelligenza artificiale mobile), l'approccio encoder-decoder di Mu ha ottenuto una latenza del primo token inferiore di circa il 47% e una velocità di decodifica 4,7 volte superiore rispetto a un modello con solo decoder di dimensioni simili. Questi vantaggi sono cruciali per le applicazioni su dispositivo e in tempo reale.
Il progetto di Mu è stato attentamente ottimizzato per i vincoli e le capacità delle NPU. Ciò ha comportato l'adeguamento dell'architettura del modello e delle forme dei parametri per adattarsi meglio al parallelismo e ai limiti di memoria dell'hardware. Microsoft ha scelto dimensioni di livello (come dimensioni nascoste e larghezze di rete feed-forward) in linea con le dimensioni dei tensori e le unità di vettorizzazione preferite dalla NPU, garantendo che le moltiplicazioni di matrici e altre operazioni venissero eseguite con la massima efficienza. Microsoft ha anche ottimizzato la distribuzione dei parametri tra encoder e decoder, favorendo empiricamente una suddivisione 2/3–1/3 (ad esempio, 32 livelli di encoder contro 12 livelli di decoder in un'unica configurazione) per massimizzare le prestazioni per parametro.
Inoltre, Mu utilizza la condivisione dei pesi in alcuni componenti per ridurre il numero totale di parametri. Ad esempio, collega gli embedding dei token di input e di output, in modo che un unico set di pesi venga utilizzato sia per rappresentare i token di input che per generare i logit di output. Questo non solo consente di risparmiare memoria (importante per le NPU con vincoli di memoria), ma può anche migliorare la coerenza tra i vocabolari di codifica e decodifica.
Infine, Mu limita le sue operazioni agli operatori ottimizzati per NPU supportati dal runtime di deployment. Evitando operazioni non supportate o inefficienti, Mu sfrutta appieno le capacità di accelerazione della NPU. Queste ottimizzazioni basate sull'hardware rendono Mu particolarmente adatto per un'inferenza rapida e diretta sul dispositivo.
Prestazioni elevate in un decimo delle dimensioni
Mu aggiunge tre aggiornamenti chiave al trasformatore che consentono di ottenere maggiori prestazioni da un modello più piccolo:
- Dual LayerNorm (pre e post-LN): la normalizzazione prima e dopo ogni sottostrato mantiene le attivazioni ben scalate, stabilizzando l'addestramento con un overhead minimo.
- Rotary Positional Embeddings (RoPE): le rotazioni a valori complessi incorporano le posizioni relative direttamente nell'attenzione, migliorando il ragionamento a lungo contesto e consentendo un'estrapolazione fluida a sequenze più lunghe di quelle viste durante l'addestramento.
- Grouped-Query Attention (GQA): la condivisione di chiavi/valori tra i gruppi di teste riduce drasticamente i parametri di attenzione e la memoria, preservando al contempo la diversità delle teste, riducendo la latenza e l'alimentazione delle NPU.
Tecniche di addestramento come i programmi di riscaldamento-stabilità-decadimento e l'ottimizzatore Muon sono state utilizzate per perfezionarne ulteriormente le prestazioni. Insieme, queste scelte offrono una maggiore accuratezza e un'inferenza più rapida, pur mantenendo il budget limitato di Mu per i dispositivi edge.
Microsoft ha addestrato Mu utilizzando GPU A100 su Azure Machine Learning, suddividendo l'addestramento in diverse fasi. Seguendo le tecniche sperimentate per prime nello sviluppo dei modelli Phi, Microsoft ha iniziato con un pre-addestramento su centinaia di miliardi di token didattici di altissima qualità, per apprendere la sintassi, la grammatica, la semantica e alcune nozioni generali del linguaggio.
Per continuare a migliorare l'accuratezza, il passo successivo è stata la distillazione dai modelli Phi di Microsoft. Catturando parte della conoscenza dei Phi, i modelli Mu raggiungono una notevole efficienza parametrica. Tutto ciò produce un modello di base che si adatta bene a una varietà di attività, ma l'abbinamento con dati specifici per l'attività, insieme a un'ulteriore messa a punto tramite metodi di adattamento a basso rango (Low-Rank Adaption, LoRA), può migliorare notevolmente le prestazioni del modello.
Microsoft ha valutato l'accuratezza di Mu ottimizzando diversi task, tra cui SQUAD, CodeXGlue e l'agente Impostazioni di Windows. Per molti task, Mu, specifico per ogni task, raggiunge prestazioni notevoli nonostante le sue dimensioni ridotte, pari a poche centinaia di milioni di parametri.
Confrontando Mu con un Phi-3.5-mini similmente ottimizzato, Microsoft ha scoperto che Mu è quasi paragonabile in termini di prestazioni, nonostante sia un decimo delle dimensioni, in grado di gestire decine di migliaia di lunghezze di contesto di input e oltre un centinaio di token di output al secondo.
Attività \ Modello | Mu messo a punto | Phi messo a punto |
---|---|---|
SQUAD | 0,692 | 0,846 |
CodeXGlue | 0,934 | 0,930 |
Impostazioni Agente | 0,738 | 0,815 |
Quantizzazione e ottimizzazione del modello
Per consentire al modello Mu di funzionare in modo efficiente sul dispositivo, Microsoft ha applicato tecniche avanzate di quantizzazione del modello su misura per le NPU sui PC Copilot+.
Microsoft ha utilizzato la quantizzazione post-addestramento (PTQ) per convertire i pesi e le attivazioni del modello da rappresentazioni in virgola mobile a rappresentazioni intere, principalmente a 8 e 16 bit. La PTQ ha permesso a Microsoft di prendere un modello completamente addestrato e quantizzarlo senza dover ripetere l'addestramento, accelerando significativamente i tempi di implementazione e ottimizzando l'esecuzione efficiente sui dispositivi Copilot+. In definitiva, questo approccio ha preservato l'accuratezza del modello riducendo drasticamente l'ingombro di memoria e i requisiti di elaborazione, senza influire sull'esperienza utente.
La quantizzazione era solo una parte della pipeline di ottimizzazione. Microsoft ha anche collaborato a stretto contatto con i suoi partner di chip AMD, Intel e Qualcomm per garantire che le operazioni quantizzate durante l'esecuzione di Mu fossero completamente ottimizzate per le NPU di destinazione. Ciò includeva la messa a punto degli operatori matematici, l'allineamento con modelli di esecuzione specifici dell'hardware e la convalida delle prestazioni su diversi chip. Le fasi di ottimizzazione si traducono in inferenze altamente efficienti sui dispositivi edge, producendo output a oltre 200 token al secondo su un Surface Laptop 7.
Si noti la velocità di elaborazione dei token e il tempo ultrarapido per le prime risposte dei token, nonostante la grande quantità di contesto di input fornito al modello.
Abbinando tecniche di quantizzazione all'avanguardia a ottimizzazioni specifiche per l'hardware, Microsoft ha garantito che Mu fosse altamente efficace per distribuzioni reali su applicazioni con risorse limitate. Nella prossima sezione, Microsoft approfondisce come Mu è stato perfezionato e applicato per creare il nuovo agente Windows in Impostazioni sui PC Copilot+.
Ottimizzazione del modello dell'agente nelle Impostazioni
Per migliorare la facilità d'uso di Windows, Microsoft si è concentrata sulla sfida di modificare centinaia di impostazioni di sistema. L'obiettivo era creare un agente basato sull'intelligenza artificiale all'interno delle Impostazioni, in grado di comprendere il linguaggio naturale e modificare le impostazioni annullabili in modo fluido. Microsoft voleva integrare questo agente nella casella di ricerca esistente per un'esperienza utente fluida, richiedendo una latenza estremamente bassa per numerose impostazioni possibili. Dopo aver testato diversi modelli, Phi LoRA ha inizialmente raggiunto gli obiettivi di precisione, ma era troppo grande per soddisfare gli obiettivi di latenza. Mu, con le giuste caratteristiche, ha richiesto un'ottimizzazione specifica per l'attività per prestazioni ottimali nelle Impostazioni di Windows.
Sebbene il Mu di base in questo scenario eccellesse in termini di prestazioni e consumo energetico, ha subito un calo di precisione di 2 volte utilizzando gli stessi dati senza alcuna messa a punto. Per colmare il divario, Microsoft ha scalato l'addestramento a 3,6 milioni di campioni (1300x) ed è passata da circa 50 impostazioni a centinaia di impostazioni. Utilizzando approcci sintetici per l'etichettatura automatizzata, la messa a punto rapida con metadati, la fraseggio diversificato, l'iniezione di rumore e il campionamento intelligente, la messa a punto del Mu utilizzata per l'agente Impostazioni ha raggiunto con successo gli obiettivi di qualità. La messa a punto del modello Mu ha raggiunto tempi di risposta inferiori a 500 millisecondi, in linea con gli obiettivi di Microsoft per un agente reattivo e affidabile in Impostazioni che potesse scalare fino a centinaia di impostazioni. L'immagine seguente mostra come l'esperienza è integrata con un esempio che mostra la mappatura da una query in linguaggio naturale a un'azione Impostazioni visualizzata dall'interfaccia utente.
Per affrontare ulteriormente la sfida delle query utente brevi e ambigue, Microsoft ha curato un set di valutazione diversificato che combina input utente reali, query sintetiche e impostazioni comuni, garantendo che il modello potesse gestire efficacemente un'ampia gamma di scenari. Microsoft ha osservato che il modello funzionava meglio con query composte da più parole che trasmettevano un intento chiaro, rispetto a input brevi o composti da parole parziali, che spesso non dispongono di contesto sufficiente per un'interpretazione accurata. Per colmare questa lacuna, l'agente in Impostazioni è integrato nella casella di ricerca di Impostazioni, consentendo alle query brevi che non raggiungono la soglia di più parole di continuare a visualizzare risultati di ricerca lessicali e semantici nella casella di ricerca, consentendo al contempo alle query composte da più parole di visualizzare l'agente per restituire risposte attuabili ad alta precisione.
Gestire l'ampia gamma di impostazioni di Windows poneva le sue sfide, in particolare a causa della sovrapposizione di funzionalità. Ad esempio, anche una semplice query come "Aumenta luminosità" poteva riferirsi a più modifiche di impostazioni: se un utente ha due monitor, significa aumentare la luminosità del monitor principale o di quello secondario?
Per risolvere questo problema, Microsoft ha perfezionato i suoi dati di formazione per dare priorità alle impostazioni più utilizzate, mentre continua a perfezionare l'esperienza per attività più complesse.
Cosa c'è davanti
Microsoft accoglie volentieri il feedback degli utenti del programma Windows Insider mentre continua a perfezionare l'esperienza dell'agente in Impostazioni.