Funzionamento del router modello in Microsoft Fonderia

Il router modello è un modello di apprendimento automatico appositamente creato e sottoposto a training che analizza tutti i prompt in tempo reale e le instrada al modello linguistico di grandi dimensioni (LLM) più adatto. Si tratta di un modello di Machine Learning leggero progettato per stimare il modello che offre prestazioni ottimali per una determinata richiesta a una latenza minima.

Questo articolo illustra le funzionalità, le modalità di routing e le procedure consigliate per il router modello Power. Per informazioni sui modelli e sulle versioni supportati, vedere la panoramica del router modello. Per i passaggi di distribuzione e utilizzo, vedere Usare il router del modello.

Prerequisiti

Perché il modello di router

La scelta del modello appropriato per ogni richiesta è difficile da eseguire manualmente. Model router è un modello di apprendimento automatico realizzato su misura, addestrato su centinaia di migliaia di esempi in vari scenari, dalle richieste semplici a complessi flussi di lavoro agentici. Corrisponde automaticamente a ogni richiesta al modello più adatto, ottimizzando qualità, costi e latenza.

Invece di basarsi su regole statiche o sulla selezione manuale, il router del modello apprende dai dati e si adatta man mano che i modelli si evolvono.

Come vengono instradate le richieste

Quando arriva un prompt, il router del modello lo elabora attraverso tre passaggi:

  1. Comprendere il prompt. Il router analizza la richiesta completa, inclusi i messaggi di sistema, i messaggi utente, le definizioni degli strumenti e la cronologia delle conversazioni, per determinare cosa richiede la richiesta e quanto sia difficile.

  2. Selezionare il modello migliore. In base all'analisi, il router stima quale modello nel pool offre il risultato migliore per questo prompt specifico. Inoltre, considera qualsiasi modalità di instradamento configurata. Queste possono essere modalità Bilanciata, di Costo o di Qualità.

  3. Instradare e rispondere. Il prompt viene inoltrato al modello selezionato. L'intera decisione di routing aggiunge un sovraccarico minimo, ovvero una frazione trascurabile del tempo di inferenza LLM.

Principali risultati della progettazione

  • Efficienza. Il router è ottimizzato per l'inferenza rapida, mantenendo il sovraccarico minimo indipendentemente dalla complessità della richiesta.
  • Adattabilità. Il router viene regolato automaticamente man mano che il set di modelli supportati si evolve, senza richiedere modifiche all'applicazione.
  • Trasparenza. Il modello selezionato viene sempre divulgato nella risposta dell'API tramite il campo del modello, quindi è possibile vedere esattamente quale modello ha gestito ogni richiesta.

Il router del modello analizza le richieste di prendere decisioni di routing, ma non le archivia. Rispetta i confini della zona dati instradando solo verso modelli approvati all'interno dei vincoli geografici e di conformità nella propria configurazione.

Panoramica del modello

Il router modello è un modello ML appositamente ideato per l'inferenza rapida. Non è un LLM stesso: è progettato per prendere decisioni di routing con un sovraccarico di latenza minimo.

Addestriamo il router su un set di dati ampio e diversificato che comprende centinaia di migliaia di esempi in molti domini. Questi includono la risposta alle domande, la generazione di codice, il ragionamento matematico. Vengono trattati anche i riepiloghi, le conversazioni e i flussi di lavoro agenti. Si espandono continuamente i dati di training per mantenere il passo con nuovi modelli e funzionalità.

Il training del router modello viene eseguito per la gestione della complessità a livello di produzione, includendo i carichi di lavoro con agente e chiamata di strumenti che richiedono invocazioni strutturate e flussi di lavoro in più passaggi.

Routing intelligente dei prompt

Una delle funzionalità chiave del router modello è comprendere la difficoltà del prompt. Non tutte le domande di scrittura del codice sono altrettanto difficili; non tutti i riepiloghi richiedono la stessa profondità di ragionamento.

Il router distingue tra le richieste che qualsiasi modello capace può gestire bene, ideali per modelli veloci ed efficienti a costi contenuti, e richieste che richiedono un ragionamento più profondo, un giudizio sfumato o una sofisticata orchestrazione degli strumenti, in cui i modelli avanzati giustificano il loro costo più elevato.

Questo routing consapevole della difficoltà è ciò che consente al router del modello di risparmiare sui costi senza sacrificare la qualità. Disporre di capacità all'avanguardia è conveniente solo quando la situazione lo richiede realmente.

Gestione della complessità reale

Le richieste di produzione sono raramente domande ben strutturate in una sola frase. Il router gestisce:

  • Contesti lunghi che si estendono su migliaia di token, in cui il segnale di routing potrebbe essere distribuito nell'intero input.
  • Le conversazioni a più turni, in cui i turni precedenti forniscono contesto, ma il messaggio utente più recente contiene il segnale più pertinente per il routing.
  • Scenari agentici e di chiamata di strumenti, in cui il modello deve produrre chiamate strutturate degli strumenti, una funzionalità per cui il router è ottimizzato.

Adattamento ai subset di modelli

Quando si personalizza il pool di modelli usando subset di modelli, il router ricalibra automaticamente le decisioni di routing per ottimizzare i modelli disponibili.

Modalità di routing approfondite

Il router del modello espone tre modalità di routing che controllano il compromesso tra costi e qualità. Per le descrizioni della modalità e i passaggi di configurazione, vedere la panoramica del router del modello e la guida pratica.

  • Bilanciato (impostazione predefinita): Ottimizza per la migliore combinazione di qualità e costi. La maggior parte dei carichi di lavoro dovrebbe iniziare qui.
  • Costo: Favorisce in modo aggressivo modelli più economici, accettando una qualità leggermente inferiore su richieste complesse.
  • Qualità: Seleziona sempre il modello di qualità più elevata per ogni richiesta, indipendentemente dal costo.

Osservare il comportamento di routing

Ogni modalità di routing produce una distribuzione diversa del traffico tra i modelli sottostanti. È possibile osservare la distribuzione del routing usando Monitoraggio di Azure:

  • In modalità bilanciata, il traffico viene distribuito in modo più ampio nel pool di modelli in base alla complessità della richiesta.
  • Nella modalità a costo, indirizzare la maggior parte del traffico verso modelli più piccoli ed economici, passando a modelli di dimensioni maggiori solo quando il prompt lo richiede.
  • In modalità Qualità, i modelli all'avanguardia e di elevata capacità gestiscono la maggior parte del traffico.

Esempio

Il repositoryModelRouter-Distribution consente di eseguire esperimenti di routing sul proprio corpus di richieste per visualizzare in anteprima il modo in cui ogni modalità distribuisce il carico di lavoro prima di scegliere.

Grafico a barre che mostra la distribuzione del routing tra i livelli di modello per le modalità Costo, Bilanciato e Qualità, con la modalità Costo fortemente favorevole ai modelli di nanoclasse e alla modalità Qualità che favorisce i modelli di frontiera.Bar chart that shows routing distribution across model tiers for Cost, Balanced, and Quality modes, with Cost mode heavily favoring nano-class models and Quality mode favoring frontier models.

Colore Modalità Descrizione
🟥 Modalità costo Prima barra : indirizza ai modelli più economici per impostazione predefinita
🟦 Modalità bilanciata Seconda fascia: si estende alla fascia economica e a quella media
🟠 Modalità qualità Terza barra: favorisce i modelli di esplorazione e di inferenza.

Basato su un esperimento temporizzato; i modelli e la distribuzione effettivi variano. Origine: ModelRouter-Distribution.

Quando usare il router modello e la distribuzione diretta

La scelta tra modello di router e un'implementazione diretta del modello dipende dalle caratteristiche del carico di lavoro, dai requisiti di conformità e dalle preferenze operative.

Quando usare router modello

  • Il carico di lavoro è diversificato. Una combinazione di prompt semplici e complessi offre la maggior parte dei vantaggi del routing intelligente. Il router corrisponde a ogni richiesta al modello più adatto, offrendo qualità paragonabile o superiore a un singolo modello per utilizzo generico.
  • L'ottimizzazione dei costi è importante. I modelli più piccoli e più economici gestiscono richieste semplici mentre i modelli di frontiera sono riservati per attività complesse. I risparmi vengono convalidati sia in benchmark in-domain che out-of-domain.
  • La latenza e velocità di risposta sono fondamentali. Per scenari rivolti agli utenti con traffico elevato, come chatbot e supporto clienti, il router del modello instrada i prompt più semplici verso i modelli più veloci. Il risultato è una latenza media inferiore nelle combinazioni di traffico rispetto a quando viene usato sempre un modello di frontiera.
  • Si vuole un singolo endpoint. Una distribuzione, una chiamata API, un limite di velocità, operazioni più semplici.
  • Stai costruendo agenti. Il router modello supporta gli strumenti e può selezionare modelli veloci per le sottoattività di classificazione e i modelli di ragionamento per l'analisi, in modo dinamico, per ogni passaggio.
  • Si vuole eseguire il failover automatico. Resilienza predefinita senza configurazione aggiuntiva.
  • Si vuole semplificare la gestione del ciclo di vita del modello. Ogni versione del router gestisce un set curato di modelli sottostanti. I modelli deprecati vengono sostituiti in modo trasparente. Con l'aggiornamento automatico abilitato, l'endpoint e il codice dell'applicazione non cambiano man mano che i modelli si evolvono.

Quando usare la distribuzione diretta

  • È necessario lo stesso modello per ogni richiesta. Il router del modello rivela sempre quale modello ha gestito una richiesta (tramite il campo di risposta del modello), ma potrebbe selezionare modelli diversi per richieste diverse. Se il flusso di lavoro richiede lo stesso modello in tutti i casi, selezionare un modello specifico.

Modello ibrido

L'architettura più efficace usa entrambi:

  • Router modello come percorso predefinito per il traffico API generale, consentendo di ottenere risparmi sui costi per la maggior parte delle richieste.
  • Distribuzioni dirette per carichi di lavoro specializzati, imposti dalla conformità o sensibili ai parametri.

Questo approccio offre un'ampia ottimizzazione e un controllo preciso dove è necessario.

Procedure consigliate

Seguire queste raccomandazioni per ottenere il massimo dal modello di router.

  • Iniziare con la modalità bilanciata, quindi ottimizzare. Consentire il flusso del traffico attraverso la Modalità Bilanciata, osservare la distribuzione del routing in Monitoraggio di Azure per alcune settimane e quindi apportare le modifiche. Passare le pipeline batch che non sono sensibili alla latenza alla modalità Costo e promuovere le attività di ragionamento del percorso critico alla modalità Qualità.
  • Usare il subset del modello come filtro di conformità. Ottieni l'approvazione del modello dalla tua squadra di sicurezza, codificalo nel subset, e sappi che i nuovi modelli non verranno visualizzati senza consenso esplicito.
  • Monitorare la distribuzione del routing. Nel portale di Azure, andare in Monitoraggio > Metriche per la risorsa, filtrare in base alla distribuzione del router modello e suddividere in base al modello di base. Questa visualizzazione mostra esattamente dove si trovano i token.
  • Progettare per la finestra di contesto più piccola o innalzare il livello minimo. Se le richieste superano costantemente la finestra di contesto del modello più piccolo nel pool, usare il subset del modello per includere solo i modelli che supportano la lunghezza del contesto richiesta.
  • Selezionare almeno due modelli per il failover. Un subset a modello singolo nega tutti i vantaggi del routing e disabilita il failover automatico.

Procedure da evitare

  • Non usare subset a modello singolo. L'ottimizzazione del routing, i risparmi sui costi e il failover vengono tutti sprecati, di fatto, per avere usato il router modello come un costoso pass-through.
  • Non ignorare il campo del modello nelle risposte. Questo campo è il segnale di osservabilità principale. Registra, crea dashboard e tieni traccia di quali modelli di machine learning gestiscono il traffico.