Chiosa
ML · learning path

Adapter la génération parallèle à l’étape qui ralentit le système

8 min4 articlesintermediate
Mis à jour

Un agent sur téléphone peut attendre à chaque action sur l’écran ; un générateur de texte peut, lui, consacrer du temps à proposer, vérifier ou reconstruire sa sortie. Le travail en parallèle est utile lorsqu’il atteint l’étape coûteuse du processus concerné.

Dans ces études, le déplacement ou le chevauchement du travail s’accompagne de gains annoncés de débit ou de latence pour des charges de travail et des configurations de service précises. JetSpec++ annonce lui aussi un gain en service, mais ses prédictions du contexte futur restent des estimations jusqu’à la vérification.

Les résultats invitent à évaluer chaque méthode à l’aide de la mesure pertinente dans son contexte, sans établir de classement commun des vitesses.

Ce que vous comprendrez

  • Quelle partie de la génération chaque méthode exécute-t-elle en parallèle, chevauche-t-elle avec un autre travail ou réutilise-t-elle ?

  • Que mesurent respectivement les jetons de sortie par seconde, les documents par seconde et les secondes par requête dans les comparaisons publiées ?

  • Pourquoi une prévision de l’issue d’une vérification diffère-t-elle d’un résultat de service mesuré ?

Repérer le travail séquentiel

Imaginez que vous demandiez à un agent sur téléphone de modifier un réglage. Il lit l’écran, choisit où appuyer, attend que l’application réagisse, puis lit l’écran suivant avant de faire un nouveau choix.

Chaque requête au modèle ne produit parfois qu’une courte action, mais le délai s’accumule au fil de la tâche. L’exécution sur le téléphone laisse aussi des intervalles entre les requêtes.

Pour cet usage, une mesure de vitesse pertinente est le temps par requête dans cette interaction répétée, et non la rapidité avec laquelle un modèle peut produire un long texte.

La génération de textes longs entraîne une autre forme d’attente. Un système peut proposer plusieurs jetons à la fois, mais un modèle plus grand doit tout de même vérifier la proposition.

Un autre système peut affiner plusieurs positions ensemble, tout en traitant une longue séquence à chaque étape d’affinage. Regrouper le travail en lots parallèles peut accélérer une partie de la génération tout en en laissant une autre séquentielle.

Pour comprendre un gain annoncé, il faut repérer le travail déplacé et déterminer ce que l’expérience a chronométré.

Les quatre études présentées ici s’attaquent à des coûts différents. L’une corrige un bloc de jetons proposé avant sa vérification ; une autre génère des représentations compressées, puis les transforme en texte ; une troisième prépare le bloc suivant pendant la vérification en cours ; la dernière réutilise des états entre les requêtes changeantes d’un agent sur téléphone.

La question commune est de savoir où s’effectue le travail de génération après chaque changement, et quelle mesure montre que ce changement a compté dans son propre contexte.

La suite de la leçon

  • Interpréter les mesures

  • Distinguer prévision et résultat

  • Comparer dans leur contexte