Perché le latenze medie sembrano buone mentre l’IA interattiva è lenta?

Eva Wong è la Technical Writer e smanettatrice residente di ZimaSpace. Una geek da sempre con una passione per homelab e software open-source, si specializza nel tradurre concetti tecnici complessi in guide accessibili e pratiche. Eva crede che l'auto-ospitare debba essere divertente, non intimidatorio. Attraverso i suoi tutorial, dà potere alla comunità di demistificare le configurazioni hardware, dalla costruzione del loro primo NAS al dominio dei container Docker.

Le medie della latenza possono sembrare buone mentre l’IA interattiva appare lenta, perché le attese lunghe ma rare e le pause seriali dominano i turni che gli utenti ricordano.

Nove prompt locali possono iniziare in 300 millisecondi, mentre il decimo attende cinque secondi per il caricamento del modello o per uno strumento. La media resta inferiore a un secondo, eppure la conversazione sembra ripetutamente interrompersi. La qualità dell’interazione dipende dalla distribuzione e dalla sequenza dei ritardi, non da un unico valore centrale calcolato su tipi di richieste non correlati per quella particolare interazione che la persona ricorda.

La media nasconde la forma della distribuzione dei ritardi

Una media aritmetica combina tutte le richieste in un unico numero. Alcuni turni molto lenti possono essere diluiti da numerosi accessi alla cache o da prompt brevi. I percentili mostrano con quale frequenza gli utenti superano una soglia di ritardo, anche se persino il p95 può nascondere l’1% peggiore.

La coda della latenza spiega che una piccola frazione di componenti lente può dominare la latenza dell’intera richiesta nei sistemi con distribuzione a ventaglio. Anche l’IA interattiva attende la fase obbligatoria più lenta.

Anche la composizione del carico di lavoro è importante. I controlli di stato e le chiamate in cache non dovrebbero condividere una media della latenza con i turni vocali, il recupero RAG o le azioni degli strumenti. Un valore aggregato basso può essere matematicamente corretto e operativamente irrilevante.

Gli utenti percepiscono traguardi e blocchi, non solo il completamento

Un turno di chat ha diversi orologi: attesa in coda, recupero, primo token, cadenza dei token, attesa dello strumento e completamento finale. Un tempo totale rapido con un’apertura silenziosa prolungata può sembrare peggiore di una risposta leggermente più lunga che inizia subito e viene trasmessa in modo uniforme.

Un’analisi della latenza distingue il tempo al primo token dal tempo di risposta completo, perché queste misure rappresentano parti diverse del comportamento del modello. Entrambe sono necessarie per descrivere un turno interattivo.

Anche l’ordine delle pause visibili è importante. Un blocco dello strumento dopo diversi token interrompe l’attenzione in modo diverso dalla stessa attesa prima del primo token. Una media calcolata tra le fasi cancella questa struttura dell’interazione e indirizza l’ottimizzazione verso il componente sbagliato.

Quando i percentili possono ancora trarre in inganno

I percentili falliscono quando lo strumento di misurazione smette di inviare lavoro durante i blocchi, campiona solo le richieste completate o aggrega finestre temporali non correlate. Questa omissione coordinata può sottostimare proprio i ritardi che gli utenti incontrano sotto carico.

La trattazione di Gil Tene sull’omissione coordinata mostra perché i test di carico devono mantenere la pianificazione prevista delle richieste, invece di rallentare gli invii quando il sistema rallenta. In caso contrario, le distribuzioni della latenza sembrano artificialmente buone.

Anche la spiegazione della latenza di coda smette di essere applicabile se ogni traccia delle fasi è rapida, ma gli utenti continuano a segnalare lentezza. Il rendering dell’interfaccia, il buffering di rete o un feedback ritardato possono trovarsi al di fuori del confine del server misurato. Altri dashboard dei percentili non aiutano quando l’orologio parte troppo tardi o si ferma troppo presto.

-15% OFF

Traccia i traguardi per cui gli utenti attendono davvero

Registra l’accodamento, l’inizio dell’esecuzione, la fine del recupero, il primo token, ogni chiamata agli strumenti, l’ultimo token e il rendering sul client usando un unico identificatore di traccia monotono. Riporta p50, p95, p99, massimo e tasso di superamento della soglia per tipo di interazione e stato a freddo o a caldo.

Usa le tracce degli avvii a freddo dell’IA per separare il caricamento a freddo dall’inferenza a regime. Mantieni nel dataset i turni non riusciti e annullati, invece di escludere le relative attese.

Riproduci le richieste secondo una pianificazione intenzionale fissa e confronta i traguardi visibili al client con quelli visibili al server. Ottimizza la fase responsabile del percentile lento. Se le tracce del server e del client divergono, esamina il trasporto e il rendering; se aumentano solo i turni a freddo, intervieni sul caricamento anziché sulla generazione a regime.

Hub Tecnologico e AI

Altro da leggere

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.