Inférence

Streaming

Le streaming en inférence IA est la livraison de la sortie du modèle jeton par jeton au client au fur et à mesure que chaque jeton est généré, plutôt que d'attendre la réponse complète avant de transmettre quoi que ce soit. Cela réduit la latence perçue à environ le temps-jusqu-au-premier-jeton et permet le rendu progressif de réponses longues.

Le streaming envoie chaque jeton généré — ou un petit tampon de jetons — au client immédiatement après sa production, via une connexion persistante qui reste ouverte pendant toute la durée de la génération. Les deux mécanismes de transport standard sont Server-Sent Events (SSE) via HTTP/1.1, où le serveur pousse des chunks JSON délimités par des sauts de ligne, et les flux gRPC bidirectionnels. Le client lit les chunks qui arrivent et les ajoute à l'affichage en temps réel, produisant la sortie de style machine à écrire familière à partir de ChatGPT, Claude et des interfaces Gemini.

Du point de vue du modèle, le calcul est identique que le streaming soit activé ou non : le décodeur autorégressif produit un jeton par passage avant-arrière quelle qu'en soit la manière. La différence est purement dans la livraison — sans streaming, le serveur met en tampon tous les jetons et les vide dans un seul corps de réponse HTTP après la fin de la génération ; avec le streaming, chaque jeton ou micro-lot déclenche une écriture dans le socket ouvert. Cela impose un surcoût serveur négligeable tout en changeant fondamentalement l'expérience de latence de l'utilisateur.

Pour les réponses de longueur modérée à longue, la livraison non-streaming exige que l'utilisateur attende le temps de génération complet — potentiellement 10 à 30 secondes pour les sorties multi-paragraphes — avant de voir quoi que ce soit. Le streaming réduit l'attente subjective au temps-jusqu-au-premier-jeton, généralement moins d'une seconde sur les systèmes optimisés. Il permet aussi l'arrêt anticipé : un utilisateur peut interrompre la génération une fois qu'il a assez d'informations, économisant le calcul serveur qui aurait sinon été dépensé pour terminer une réponse non désirée. Dans les pipelines vocaux et les boucles d'agent, le streaming est architecturalement essentiel : la synthèse texte-à-parole peut commencer à consommer la première phrase tandis que le modèle génère encore les paragraphes suivants, économisant des secondes de latence de réponse vocale.

Le streaming est le mode de livraison par défaut pour toutes les grandes API LLM en 2026, y compris celles d'OpenAI, Anthropic, Google, Mistral et Cohere. Le format de chunk SSE d'OpenAI — `data: {"choices":[{"delta":{"content":"token"}}]}` terminé par `data: [DONE]` — est devenu une norme de facto adoptée par vLLM, Ollama, LiteLLM et de nombreux autres serveurs open-source compatibles, simplifiant l'intégration des clients entre les fournisseurs.

Exemple

Un assistant de recherche juridique diffuse une analyse de cas de 1 200 jetons vers le navigateur de l'avocat jeton par jeton ; l'avocat commence à lire et à annoter le paragraphe d'ouverture en 350 ms tandis que le serveur génère encore les sections finales, réduisant le temps d'attente perçu total de 18 secondes à moins d'une seconde.

Termes liés

Dernières actualités sur le sujet

← Glossaire