- Publié le
Le déploiement d'un service de génération de texte est vraiment différent de la plupart des autres applications d'apprentissage automatique
- Auteurs
- Nom
- AbnAsia.org
- @steven_n_t
"Le déploiement d'un service de génération de texte est vraiment différent de la plupart des autres applications de machine learning ! La latence d'un LLM pour répondre à l'invite est telle qu'il n'est pas possible d'utiliser des stratégies typiques telles que l'inférence en temps réel ou en streaming. Nous pourrions évoluer horizontalement, mais le coût associé à un LLM peut être assez élevé si nous n'y prêtons pas attention.
Nous pourrions regrouper les invites pour utiliser le parallélisme fourni par les machines GPU. Mais comment fait-on cela ? Devons-nous attendre d'avoir suffisamment de requêtes pour lancer un processus de décodage par lots ? Si nous faisons cela, cela induira une latence élevée pour les premières requêtes ! Une stratégie qui a été proposée est le traitement par lots continu en utilisant la nature itérative du processus de décodage.
Pour générer du texte, un LLM prédira de manière itérative le mot suivant et l'ajoutera aux jetons précédents qui ont déjà été décodés et à l'invite. Ce processus se poursuit jusqu'à ce que le modèle prédise un jeton de fin de phrase [EOS] ou si nous atteignons le seuil du nombre maximum de jetons. Nous pouvons utiliser ce mécanisme pour construire un processus de traitement par lots plus dynamique. A la fin de chaque itération, nous pouvons faire ce qui suit :
Si l'une des séquences atteint une condition de fin, nous expulsons la séquence du lot en cours. Nous pouvons renvoyer la séquence entière ou le dernier token selon que nous avons utilisé ou non un processus de streaming.
Nous ajoutons les jetons nouvellement prédits pour chacune des séquences à la fin des séquences.
Si une ou plusieurs demandes d'invite ont été mises en file d'attente, nous les incluons dans le lot actuel.
Nous complétons le lot jusqu'à la séquence la plus longue du lot.
En regroupant dynamiquement les données pendant le processus de décodage, nous augmentons le débit tout en maintenant une faible latence. Un problème qui apparaît est que nous perdons la capacité de préserver la faible latence fournie par la mise en cache KV. Lorsqu'une nouvelle requête rejoint le lot, son cache KV doit être rempli, et la phase d'initialisation de celles-ci ralentit le processus de décodage du lot.
Ce type de stratégie est inévitable pour les services de génération de texte avec des charges de requêtes élevées comme ChatGPT, Gemini ou Claude, et c'est un excellent moyen de minimiser les coûts de service !"
Veuillez noter que la version française est assistée par Ai, des erreurs mineures peuvent donc exister.
Auteur
AiUTOMATING PEOPLE, ABN ASIA a été fondée par des personnes ayant des racines profondes dans le milieu académique, avec une expérience professionnelle aux États-Unis, aux Pays-Bas, en Hongrie, au Japon, en Corée du Sud, à Singapour et au Vietnam. ABN ASIA est l'endroit où l'académie et la technologie rencontrent l'opportunité. Avec nos solutions de pointe et nos services de développement logiciel compétents, nous aidons les entreprises à se développer et à s'imposer sur la scène mondiale. Notre engagement : Plus vite. Mieux. Plus fiable. Dans la plupart des cas : moins cher également.
N'hésitez pas à nous contacter chaque fois que vous avez besoin de services informatiques, de conseils en matière de numérique, de solutions logicielles prêtes à l'emploi, ou si vous souhaitez nous envoyer des demandes de propositions (RFP). Vous pouvez nous contacter à l'adresse [email protected]. Nous sommes prêts à vous aider avec tous vos besoins technologiques.
© ABN ASIA