Robust Batch-Level Query Routing for Large Language Models under Cost and Capacity Constraints

Il paper propone un framework di routing a livello di batch per modelli linguistici su larga scala che, ottimizzando congiuntamente l'assegnazione dei modelli e gestendo l'incertezza delle prestazioni, garantisce il rispetto dei vincoli di costo e risorse GPU mentre migliora significativamente accuratezza e throughput rispetto ai metodi tradizionali.

Jelena Markovic-Voronov, Kayhan Behdin, Yuanda Xu, Zhengze Zhou, Zhipeng Wang, Rahul Mazumder

Pubblicato 2026-03-31
📖 4 min di lettura☕ Lettura da pausa caffè

Each language version is independently generated for its own context, not a direct translation.

Immagina di essere il capo di un grande ristorante (il sistema di intelligenza artificiale) che riceve centinaia di ordini (le domande degli utenti) ogni minuto. Hai a disposizione diversi cuciniere (i diversi modelli di intelligenza artificiale, o LLM):

  • Alcuni sono chef stellati (modelli potenti come GPT-4): cucinano piatti perfetti, ma costano una fortuna e impiegano molto tempo.
  • Altri sono cuochi veloci ed economici (modelli più piccoli): fanno un buon lavoro per le cose semplici, ma potrebbero sbagliare se il piatto è troppo complicato.

Il problema è che il ristorante ha un budget limitato (costi in denaro) e un numero limitato di fornelli (schede grafiche o GPU). Se chiami sempre lo chef stellato per tutto, vai in bancarotta. Se chiami sempre il cuoco economico per tutto, i clienti si lamentano della qualità.

Il vecchio modo di fare le cose (Routing "per domanda")

Fino a poco tempo fa, i ristoranti decidevano per ogni singolo ordine: "Questa domanda è facile? Chiamo il cuoco economico. È difficile? Chiamo lo chef stellato."

Il problema? Non controllavano il conto totale del turno.
Immagina che arrivi un gruppo di 100 clienti tutti insieme, e per caso tutti vogliono piatti difficilissimi. Il vecchio sistema chiamerebbe lo chef stellato per tutti e 100. Risultato? Il ristorante supera il budget in un attimo, i fornelli si bloccano e il servizio si ferma. Oppure, se arrivano 100 ordini banali, il sistema potrebbe sprecare soldi chiamando lo chef stellato per niente.

La nuova soluzione: "Routing a Blocchi" (Batch-Level)

Gli autori di questo articolo propongono un approccio più intelligente: invece di guardare un solo ordine alla volta, guardano l'intero gruppo di ordini che arriva insieme (il "batch").

È come se il capo del ristorante guardasse il tavolo intero prima di decidere:
"Ok, abbiamo 100 ordini. 80 sono semplici (usiamo i cuochi economici), 15 sono medi (un mix), e 5 sono complessi (usiamo lo chef stellato). Dobbiamo assicurarci che il totale non superi il budget e che abbiamo abbastanza fornelli accesi."

Usano una matematica avanzata (chiamata Programmazione Lineare Interera) per trovare la combinazione perfetta che massimizza la qualità del cibo rispettando il budget e i fornelli disponibili.

Il tocco in più: "La versione Robusta" (Robust Optimization)

C'è un altro problema: a volte non siamo sicuri al 100% di quanto sarà bravo uno chef su un piatto specifico. Forse lo chef stellato è stanco oggi, o forse il cuoco economico è in una giornata di grazia.

Il sistema "normale" si fida ciecamente delle stime: "Penso che questo chef sia bravo, quindi lo chiamo".
Il sistema "Robusto" invece dice: "Ok, penso che sia bravo, ma potrei sbagliarmi. Quindi, per sicurezza, assumiamo il caso peggiore possibile. Se anche lo chef fosse al minimo della forma, riusciremmo comunque a servire un buon pasto senza superare il budget?"

In pratica, il sistema "Robusto" è più prudente. Non scommette tutto sulla perfezione, ma si assicura che, anche se le cose vanno storte, il ristorante non fallisca e i clienti siano comunque soddisfatti.

L'ultimo pezzo del puzzle: "Assegnare i Fornelli" (Instance Allocation)

Prima ancora che i clienti arrivino, il proprietario deve decidere: "Quanti fornelli devo accendere per ogni tipo di cuoco?"
Se ne accendo troppi per gli chef stellati, spreco soldi di elettricità. Se ne accendo pochi per i cuochi veloci, non riesco a servire la folla.

Gli autori hanno creato un metodo per calcolare esattamente quanti "posti lavoro" (GPU) assegnare a ogni tipo di modello prima che inizi la giornata, basandosi sui dati storici, per ottenere il massimo rendimento.

I Risultati in Pillole

Grazie a questo metodo, il ristorante (il sistema di intelligenza artificiale):

  1. Risparmia soldi: Non spreca risorse su cose semplici.
  2. Mantiene la promessa: Anche se arriva un gruppo di clienti "difficili" (batch avversari), il sistema non va in crisi e rispetta il budget.
  3. È più sicuro: La versione "Robusta" evita errori disastrosi quando le previsioni non sono perfette.
  4. Migliora la qualità: Riesce a dare risposte migliori rispetto ai metodi vecchi, anche con lo stesso budget.

In sintesi: Hanno trasformato la gestione delle intelligenze artificiali da un gioco di "chi risponde per primo" a una gestione strategica di gruppo, dove ogni risorsa viene usata nel modo più intelligente possibile, tenendo sempre conto del portafoglio e della possibilità che le cose vadano storte.