mai 4, 2024

BreaGeek News

Obtenez toutes les dernières nouvelles et rapports sur la FRANCE ici. Manchettes, politique et culture françaises sur une chaîne d'information

Le guide Face Hug pour améliorer les LLM en production

Le guide Face Hug pour améliorer les LLM en production

Lorsqu’il s’agit de déployer des modèles de langage étendus (LLM) en production, les deux principaux défis proviennent de l’énorme quantité de paramètres qu’ils nécessitent et de la nécessité de traiter de très longues séquences d’entrée pour représenter les informations contextuelles. Hugging Face a documenté une liste de techniques pour surmonter ces obstacles Basé sur leur expérience dans l’entretien de tels modèles.

Les trois techniques décrites par Patrick von Platen dans son article sur Hugging Face sont : Fonctionne à basse résolution numériqueEn utilisant une variante de l’algorithme d’attention connu sous le nom de Attention éclairet utilise Architectures spécialisées pour l’inférence.

Les LLM nécessitent le chargement d’une grande quantité de VRAM, allant de dizaines (bigcode/starcoder) à des centaines de gigaoctets (Llama, Bloom, GPT3). La première amélioration est possible en passant de float32`` to bfloat16«  précision :

De nos jours, presque tous les modèles sont entraînés sur bfloat16, et il n’y a aucune raison d’exécuter le modèle à la pleine résolution Float32 si votre GPU prend en charge bfloat16. Float32 ne donnera pas de résultats d’inférence meilleurs que la précision utilisée pour entraîner le modèle.

Cela permet de réduire de moitié la consommation totale de mémoire, mais malheureusement, la mémoire requise peut encore être très importante dans de nombreux cas. Une approche plus agressive consiste à quantifier les poids du modèle à 8 bits ou 4 bits, ce qui est fait Il est prouvé qu’il n’entraîne pas de perte de performances significative.

La quantification fonctionne particulièrement bien pour la génération de texte puisque tout ce qui nous importe est de choisir le prochain ensemble de jetons le plus probable et nous ne nous soucions pas vraiment des valeurs exactes de la distribution logit du prochain jeton.

Cela permettra de réduire davantage les besoins en mémoire, ce qui permettra d’exécuter des modèles plus petits sur des GPU du commerce avec seulement 16 Go de VRAM, mais au prix d’un temps d’inférence légèrement plus long.

READ  Une intelligence artificielle portable capable de « voir » et de « parler » De nouvelles célébrités ont dénoncé les deepfakes

Utiliser Attention éclairun nouvel algorithme pour les couches d’auto-attention que les LLM appliquent pour comprendre les relations contextuelles entre les symboles d’entrée, constitue une autre amélioration majeure, explique von Platen, car il permet de décomposer la croissance quadratique des couches en fonction du nombre de symboles d’entrée.

L’algorithme est trop complexe pour être résumé ici, mais il suffit de dire qu’en utilisant des statistiques de normalisation softmax et des mathématiques intelligentes, ils fournissent un résultat identique tout en Cela nécessite uniquement une mémoire qui augmente linéairement avec les codes d’entrée. Les performances d’inférence bénéficient également grâce à l’algorithme utilisant une SRAM plus rapide au lieu d’une VRAM GPU plus lente.

En pratique, il n’y a actuellement absolument aucune raison de ne pas utiliser Flash Attention s’il est disponible. L’algorithme donne mathématiquement le même résultat, et est plus rapide et plus efficace en termes de mémoire.

Le troisième domaine dans lequel les LLM peuvent être améliorés en production consiste à choisir la bonne structure pour qu’ils soient capables de gérer de manière efficace et efficiente les entrées de texte longues. Ici, la recherche moderne peut aider à prendre la bonne décision grâce à deux éléments qui deviennent rapidement des goulots d’étranglement, explique von Platen : Implications thématiques Et le Cache clé-valeur.

Les intégrations positionnelles fournissent un signal permettant au LLM de comprendre l’ordre de la séquence en codant la position de chaque jeton dans une présentation numérique. Pour les LLM visant à résoudre des tâches nécessitant de traiter des entrées textuelles volumineuses, des intégrations positionnelles relatives telles que grossesse Et Alibi Doit être utilisé pour la formation.

Le codage de position RoPE et ALiBi peut extrapoler des longueurs d’entrée qui n’ont pas été vues pendant la formation, tandis qu’il a été démontré que l’extrapolation fonctionne beaucoup mieux dès le départ pour ALiBi par rapport à RoPE.

Les deux algorithmes sont déjà disponibles dans un certain nombre de programmes LLM existants.

READ  L'émulateur Valve Nintendo Switch apparaît dans la vidéo Steam Deck

Le chat clé-valeur peut être utilisé comme moyen de chiffrer le contexte de la conversation. Le cache clé-valeur augmente d’un élément à chaque nouvelle interaction, ce qui est plus efficace que l’approche alternative de contexte d’encodage/décodage à chaque requête. Von Platen détaille deux classes de caches clé-valeur, à savoir Attention multi-requêtes (MQA) et Attention aux requêtes agrégées (GQA) pour montrer les avantages qu’ils apportent.

L’article de Von Platen couvre bien plus de sujets que ce qui peut être résumé ici et fournit des exemples pratiques pour illustrer ses propos, alors ne manquez pas son article pour avoir une image complète.