Mixture-of-Agents (MoA): Come l'intelligenza collettiva migliora le prestazioni degli LLM
Il rapido avanzamento dei large language models (LLM) è come un’arma a doppio taglio. Da un lato, avere numerosi LLM all’avanguardia ci offre molte opzioni per risolvere i nostri casi d’uso. Dall’altro, questa abbondanza di scelte può essere travolgente.
Inoltre, poiché diverse organizzazioni e aziende sviluppano questi LLM, essi vengono addestrati su dataset diversi, dando origine a LLM con specializzazioni differenti. Alcuni LLM eccellono nella risoluzione di problemi matematici, mentre altri sono più adatti alle attività di programmazione. Questa diversità rende difficile selezionare l’LLM più adatto alle nostre esigenze, soprattutto quando si affrontano casi d’uso multi-dominio.
In questo articolo esploreremo un metodo per affrontare questa sfida: l’approccio Mixture-of-Agents (MoA), che combina diversi LLM con specializzazioni differenti in un unico sistema. Quindi, senza ulteriori indugi, iniziamo con alcune motivazioni alla base di MoA.
La motivazione alla base di Mixture-of-Agents (MoA)
Il rapido avanzamento degli LLM ci ha benedetti con numerose opzioni quando dobbiamo scegliere il modello migliore per il nostro caso d’uso. Tuttavia, il teorema del no-free-lunch si applica ancora agli LLM: nessun singolo modello offre prestazioni ugualmente buone in tutti i compiti. LLM diversi eccellono in compiti diversi a causa dei loro dati di addestramento differenti. Pertanto, selezionare un LLM che si adatti al meglio al problema specifico che stiamo cercando di risolvere è fondamentale.
Sorge una sfida quando abbiamo a che fare con casi d’uso multi-dominio che richiedono competenze da più LLM. Questo solleva una domanda importante: Possiamo utilizzare collettivamente più LLM per sfruttarne i punti di forza individuali e creare un sistema più capace e robusto? Il metodo Mixture-of-Agents (MoA) tenta di rispondere a questa domanda.
Che cos’è MoA?
In breve, Mixture-of-Agents (MoA) è un framework in cui più LLM specializzati, o "agenti", collaborano per risolvere compiti sfruttando i loro punti di forza unici.
Il concetto alla base di MoA è semplice: combiniamo diversi LLM con punti di forza e capacità differenti in un unico sistema. Quando un utente invia una query, ogni LLM nel sistema genera una risposta. Poi, un LLM designato alla fine sintetizza tutte queste risposte in un’unica risposta coerente per l’utente, come mostrato nella visualizzazione qui sotto:
Figura: Concetto di Mixture-of-Agents
Figura: Concetto di Mixture-of-Agents.
Sebbene il concetto di MoA sia semplice, è sorprendentemente efficace. Gli autori del paper su MoA hanno scoperto che gli LLM tendono a generare output di qualità superiore quando vengono presentati con risposte di altri LLM.
Questo fenomeno è stato dimostrato tramite test di benchmark sul dataset AlpacaEval 2.0 utilizzando sei LLM diversi, inclusi Qwen, Wizard, Mixtral, Llama 3, e dbrx. Gli autori hanno confrontato la qualità delle risposte degli LLM in due condizioni: usando prompt di input diretti rispetto all’uso di risposte di altri modelli. Hanno misurato la qualità usando la metrica del tasso di vittoria Length Controlled (LC), che valuta la qualità dell’output indipendentemente da fattori come la lunghezza della risposta, che possono influenzare significativamente i risultati della valutazione.
Figura: Confronto dei tassi di vittoria LC di AlpacaEval 2.0 per ciascun LLM da due input diversi: direttamente dal prompt dell’utente e dall’output di altri modelli
Figura: Confronto dei tassi di vittoria LC di AlpacaEval 2.0 per ciascun LLM da due input diversi: direttamente dal prompt dell’utente e dall’output di altri modelli. Fonte.
I risultati sono stati coerenti in tutti e sei gli LLM: hanno ottenuto punteggi migliori di LC win rate quando lavoravano con output provenienti da altri LLM rispetto all'elaborazione diretta dei prompt di input. Sulla base di questi risultati, gli autori hanno sviluppato il concetto di MoA, che esploreremo in dettaglio nella prossima sezione.
Il fondamento di Mixture-of-Agents (MoA)
MoA integra diversi LLM in un unico sistema per migliorare iterativamente la qualità della generazione delle risposte.
Il sistema è costituito da più livelli, ognuno contenente diversi LLM di dimensioni e capacità differenti. Gli LLM nel primo livello generano in modo indipendente risposte al prompt di input. Queste risposte vengono poi presentate agli LLM nel secondo livello come input, che generano le proprie risposte indipendenti. Questo ciclo continua attraverso i livelli successivi fino a raggiungere il livello finale. Alla fine, un singolo LLM sintetizza le risposte dell'ultimo livello in una risposta finale per l'utente.
Figura: Illustrazione della struttura di Mixture-of-Agents
Figura: Illustrazione della struttura di Mixture-of-Agents. Fonte.
Sulla base di questo concetto, gli LLM utilizzati in MoA possono essere classificati in due categorie: proposer e aggregator.
I proposer generano risposte all'interno di ogni livello del sistema MoA, contribuendo alla qualità della risposta finale.
Gli aggregator raccolgono tutte le risposte dagli LLM nell'ultimo livello e le sintetizzano in un'unica risposta di alta qualità per l'utente.
Date le diverse capacità e specializzazioni dei vari LLM, dobbiamo prestare attenzione nella scelta dei modelli da utilizzare come proposer e aggregator. Alcuni LLM eccellono come proposer, mentre altri funzionano meglio come aggregator, e alcuni possono svolgere efficacemente entrambi i ruoli. Discuteremo i risultati dettagliati nella prossima sezione.
Poiché MoA può comprendere molti livelli, lo stesso LLM può essere riutilizzato come proposer sia all'interno dello stesso livello sia in livelli diversi. Ad esempio, possiamo costruire un sistema MoA con 5 livelli, ciascuno contenente 5 LLM, e usare il modello Llama3 70B in tutti come singolo proposer.
Una volta che i proposer nell'ultimo livello generano le loro risposte, tutti gli output vengono strutturati in un unico prompt coerente affinché l'aggregator generi la risposta finale.
Ecco un esempio di tale prompt:
Figura: Esempio di prompt per sintetizzare e aggregare risposte da diversi LLM
Figura: Esempio di prompt per sintetizzare e aggregare risposte da diversi LLM. Fonte.
Sebbene questo concetto sia simile all'approccio Mixture-of-Experts (MoE) utilizzato nelle reti neurali tradizionali, c'è una differenza fondamentale. Nelle reti neurali tradizionali, i livelli MoE sono implementati come diverse sotto-reti all'interno dell'architettura di un singolo modello. Pertanto, quando abbiamo nuovi dati che si discostano molto dai dati di training, dobbiamo ottimizzare finemente i pesi di ciascun livello MoE per ottimizzare le prestazioni.
Nel frattempo, MoA si basa interamente sul prompting. Pertanto, non è necessario ottimizzare finemente gli LLM per migliorare le prestazioni complessive del sistema. Questo offre maggiore flessibilità, poiché possiamo scegliere liberamente diversi LLM come proposer o aggregator, indipendentemente dalle loro dimensioni e architettura. Ciò significa anche che, se in futuro avremo un nuovo modello allo stato dell'arte, potremo implementare questo modello direttamente nel nostro sistema MoA come proposer o aggregator.
MoA offre inoltre prestazioni competitive e funge da alternativa efficace ad altri metodi multi-agente progettati per sfruttare le diverse capacità degli LLM, come:
LLM ranker: questo metodo utilizza più LLM come proponenti per generare in modo indipendente risposte alle query di input. Un LLM autonomo seleziona quindi la risposta migliore tra quelle di questi proponenti.
RouteLLM: questo metodo utilizza una funzione di routing addestrata per analizzare la complessità della query e determinare quali LLM debbano elaborare l’input.
Risultati della valutazione su dataset di benchmark
MoA è stato valutato su tre dataset di benchmark: AlpacaEval 2.0, MT-Bench e FLASK.
Sono state testate tre diverse varianti di MoA:
MoA: un sistema a tre livelli con sei proponenti per livello (Qwen1.5-110B-Chat, Qwen1.5-72B-Chat, WizardLM-8x22B, LLaMA-3-70B-Instruct, Mixtral-8x22B-v0.1, dbrx-instruct) e Qwen1.5-110B-Chat come aggregatore.
MoA con GPT-4o: la stessa configurazione di cui sopra, ma utilizzando GPT-4o come aggregatore.
MoA-lite: un sistema a due livelli che utilizza gli stessi sei proponenti e lo stesso aggregatore del MoA standard.
Figura: MoA a 2 livelli (sinistra) vs MoA a 3 livelli (destra)
Figura: MoA a 2 livelli (sinistra) vs MoA a 3 livelli (destra). Fonte.
Sul dataset AlpacaEval 2.0, tutte e tre le varianti di MoA hanno superato il modello allo stato dell’arte, GPT-4 Omni, fino all’8,2%. La configurazione MoA con GPT-4o come aggregatore ha ottenuto il tasso di vittoria LC più alto tra le varianti.
Tutte e tre le varianti di MoA hanno inoltre dimostrato prestazioni competitive sul dataset MT-Bench. Sebbene l’attuale modello allo stato dell’arte, GPT-4 Turbo, abbia ottenuto risultati eccezionalmente buoni, MoA con GPT-4o come aggregatore lo ha superato. Il confronto delle prestazioni tra le varianti di MoA e altri modelli allo stato dell’arte è mostrato di seguito:
Figura: Risultati su AlpacaEval 2.0 (sinistra) e MT-Bench (destra)
Figura: Risultati su AlpacaEval 2.0 (sinistra) e MT-Bench (destra). Fonte.
Il dataset FLASK offre una valutazione più granulare rispetto ad AlpacaEval 2.0 e MT-Bench, valutando 12 aspetti: robustezza, correttezza, efficienza, factuality, buon senso, comprensione, profondità di analisi, completezza, metacognizione, leggibilità, concisione e innocuità.
La configurazione MoA con Qwen1.5-110B-Chat come aggregatore ha superato GPT-4 Omni in cinque aspetti: correttezza, factuality, profondità di analisi, completezza e metacognizione. Nel frattempo, le prestazioni delle altre metriche sono abbastanza comparabili a GPT-4 Omni, a parte la concisione. La configurazione MoA ha mostrato un calo notevole nella concisione, come illustrato di seguito:
Figura: Risultati su FLASK
Figura: Risultati su FLASK. Fonte.
Ora che conosciamo le sue prestazioni rispetto a modelli allo stato dell’arte come la famiglia GPT-4, è anche interessante vedere le sue prestazioni rispetto ad altri metodi correlati di mixture-of-agent.
Come menzionato nella sezione precedente, un esempio di un altro metodo simile a mixture-of-agent è il LLM ranker, che utilizza più LLM (proponenti) per generare risposte indipendenti a un prompt di input. Invece di utilizzare un aggregatore, il LLM ranker seleziona la risposta migliore tra quelle dei proponenti.
Per la valutazione, sia MoA sia LLM ranker hanno utilizzato gli stessi sei proponenti: Qwen1.5-110B-Chat, Qwen1.5-72B-Chat, WizardLM-8x22B, LLaMA-3-70B-Instruct, Mixtral-8x22B-v0.1 e dbrx-instruct. Ogni proponente è stato testato come aggregatore per MoA, mentre il LLM ranker ha utilizzato solo Qwen1.5-110B-Chat per selezionare la risposta migliore.
Nelle valutazioni sul dataset AlpacaEval 2.0, MoA ha costantemente superato i ranker LLM indipendentemente dall’aggregatore utilizzato. Questo mostra il potenziale del metodo MoA, in cui l’aggregatore alla fine non sceglie semplicemente una delle risposte dei proposer, ma genera piuttosto un’aggregazione su tutte le risposte dei proposer per creare una risposta finale più capace e robusta.
Figure: LC win rate on AlpacaEval 2.0 with different aggregators in an MoA setup with 6 proposers
Figura: tasso di vittoria LC su AlpacaEval 2.0 con diversi aggregatori in una configurazione MoA con 6 proposer. Fonte.
Raccomandazioni per la configurazione Mixture-of-Agents (MoA)
Ora che abbiamo visto le prestazioni di MoA rispetto alla famiglia GPT-4 usando tre varianti con sei diversi proposer ciascuna, emergono due domande chiave: in che modo il numero di proposer influisce sulle prestazioni complessive di MoA? E cosa succede se usiamo più LLM identici come proposer invece di LLM diversi?
Per determinare l’impatto del numero di proposer, l’autore del paper su MoA ha valutato MoA su AlpacaEval 2.0 con numeri variabili di proposer. Ha misurato il tasso di vittoria LC di configurazioni MoA a 2 livelli usando 6, 3, 2 e 1 proposer diversi. I risultati indicano che un numero maggiore di proposer aiuta l’aggregatore a generare risposte più robuste.
Inoltre, le configurazioni MoA che usano un singolo proposer (LLM identici come proposer) hanno ottenuto prestazioni peggiori rispetto alle configurazioni multi-proposer. Questo suggerisce che MoA trae vantaggio dall’avere un insieme diversificato di LLM con specializzazioni diverse, piuttosto che dall’usare un unico LLM identico.
Figure: Effects of the number of proposers on AlpacaEval 2.0.
Figura: effetti del numero di proposer su AlpacaEval 2.0. Fonte.
Considerati i vantaggi delle configurazioni multi-proposer, è anche importante capire quali LLM funzionano meglio in queste configurazioni. I test di sei diversi LLM su AlpacaEval 2.0 hanno rivelato che modelli come GPT-4o, Qwen e Llama 3 sono abbastanza versatili da fungere sia da proposer sia da aggregatori. Tuttavia, modelli come WizardLM si comportano nettamente meglio come proposer che come aggregatori.
Impact of different LLMs used as proposers vs aggregators
Impatto dei diversi LLM usati come proposer rispetto agli aggregatori. Fonte.
Per quanto riguarda i costi, la dipendenza di MoA da più LLM rende il suo rapporto costo-prestazioni particolarmente interessante se confrontato con modelli all’avanguardia come GPT-4o e GPT-4 Turbo. Gli esperimenti mostrano che MoA-Lite può superare GPT-4 Turbo di circa il 4% su AlpacaEval 2.0 riducendo al contempo i costi di oltre la metà. Il costo di MoA-Lite qui è calcolato sulla base delle informazioni sui prezzi disponibili da TogetherAI. Tuttavia, se non abbiamo problemi a spendere di più per massimizzare le prestazioni, allora MoA a 3 livelli sarebbe una scelta migliore.
Figure: Performance trade-off vs cost (left) and performance trade-off vs TFLOPS (right).
Figura: compromesso prestazioni-costo (sinistra) e compromesso prestazioni-TFLOPS (destra). Fonte.
Per la valutazione della latenza, gli autori hanno utilizzato i TFLOPS come metrica. TFLOPS si riferisce alla capacità del sistema di eseguire un trilione di operazioni in virgola mobile in un secondo. Sebbene i TFLOPS non siano esattamente comparabili alla latenza, l’autore ha utilizzato i TFLOP come proxy per la latenza perché la latenza può variare a seconda dei sistemi di inferenza. Il risultato della sperimentazione ha mostrato che la configurazione MoA a 3 livelli ottimizza i suoi TFLOPS per massimizzare il tasso di vittoria LC, come mostrato dalla linea tratteggiata di Pareto nella visualizzazione sopra.
Tuttavia, la famiglia GPT-4 dimostra TFLOPS più elevati rispetto alle configurazioni MoA. Ciò è previsto poiché MoA deve elaborare più risposte LLM prima di generare il suo output finale. Questo porta alla sua principale limitazione: Time to First Token (TTFT), che può influire negativamente sull’esperienza utente. Il lavoro futuro mira ad affrontare questo problema implementando l’aggregazione delle risposte per chunk invece dell’aggregazione dell’intera risposta, riducendo potenzialmente il TTFT mantenendo al contempo le sue prestazioni.
Conclusione
Il metodo Mixture-of-Agents (MoA) offre una soluzione promettente per sfruttare la diversità e la specializzazione dei moderni LLM. Utilizzando più LLM con vari punti di forza attraverso un sistema di proponenti e aggregatori, MoA crea una risposta finale più capace e robusta. La sua flessibilità e il suo affidamento sul prompt engineering, anziché sul fine-tuning, lo rendono un approccio conveniente e adattabile, in particolare per casi d’uso multi-dominio.
Le valutazioni benchmark su dataset come AlpacaEval 2.0 e MT-Bench mostrano prestazioni superiori di MoA rispetto a modelli all’avanguardia come la famiglia GPT-4. Per ottimizzare ulteriormente le prestazioni, si consiglia di utilizzare una configurazione multi-proposer invece di una single-proposer. Tuttavia, MoA non è privo di limitazioni. L’affidamento a più LLM aumenta la latenza, incidendo sull’esperienza utente a causa di un Time to First Token (TTFT) più elevato. Pertanto, sono necessari ulteriori perfezionamenti, come l’aggregazione delle risposte per chunk, per ottimizzarne l’efficienza.
Risorse correlate
Repo GitHub di MoA: https://github.com/togethercomputer/MoA
Paper MoA: Mixture-of-Agents Enhances Large Language Model Capabilities
RouteLLM: bilanciare costi e qualità nelle distribuzioni LLM
Fine-tuning efficiente degli LLM con LoRA (Low-Rank Adaptation)
Valutare sicurezza e allineamento degli LLM in domini specifici
Continua a leggere

Zilliz Cloud On-Demand Compute: Pay Only for What You Use
The customer case behind Zilliz Cloud On-Demand: how a $10K vector search bill came down to under $500, and the engineering changes that made it possible.

Introducing Functions and Model Inference on Zilliz Cloud: Automatic Embedding and Reranking with Hosted Models
Zilliz Cloud Functions auto-generate embeddings via OpenAI, Voyage AI, Cohere, or Zilliz Hosted Models. Built-in reranking — just insert text and search.

8 Latest RAG Advancements Every Developer Should Know
Explore eight advanced RAG variants that can solve real problems you might be facing: slow retrieval, poor context understanding, multimodal data handling, and resource optimization.


