Simple Science

La science de pointe expliquée simplement

# Informatique# Intelligence artificielle# Calcul et langage

Améliorer l'inférence locale pour les modèles de langue

De nouvelles méthodes améliorent la vitesse et l'efficacité des modèles de langue sur les appareils locaux.

― 10 min lire


Améliorer les LLM sur lesAméliorer les LLM sur lesappareils locauxlangue sans sacrifier la qualité.Améliorer l'efficacité des modèles de
Table des matières

Les grands modèles linguistiques (LLMs) ont fait des progrès énormes ces dernières années. Maintenant, ils peuvent faire des trucs comme générer du texte de haute qualité, prendre des décisions complexes et résoudre divers problèmes. Cette évolution vient des améliorations dans la technologie d'apprentissage profond, les méthodes d'entraînement et l'accès à de vastes ensembles de données. Du coup, les LLMs sont utilisés dans plein de domaines, y compris la traduction, la génération de texte et même la rédaction de code.

Malgré ces avancées, il y a des défis liés à l'utilisation des LLMs. Au fur et à mesure que ces modèles deviennent plus puissants, ils ont aussi besoin de plus de ressources informatiques pour fonctionner efficacement. C'est particulièrement vrai quand ils sont utilisés dans le cloud, ce qui peut limiter leur accessibilité. Pour certaines applications, comme celles qui ont besoin de réponses rapides ou où la vie privée des données est une préoccupation, ces exigences peuvent poser problème.

Cet article parle d'une nouvelle approche pour faire fonctionner les LLMs mieux sur des appareils locaux, souvent limités en puissance de calcul. L'objectif est de rendre ces modèles plus rapides et plus efficaces pour les utilisateurs sans sacrifier la qualité. En faisant ça, on peut améliorer l'expérience d'utilisation des LLMs, les rendant plus réactifs et personnalisés, tout en gardant les données en sécurité sur l'appareil de l'utilisateur.

Défis de l'Inférence locale

Faire tourner des LLMs localement sur de petits lots n'est pas sans problèmes. Le processus est souvent lent car ces systèmes n'utilisent pas efficacement les ressources informatiques. Cette situation se présente pour trois raisons principales : latence, personnalisation et confidentialité.

D'abord, améliorer la vitesse de l'inférence locale mène à de meilleures interactions en temps réel. Par exemple, quand un utilisateur tape une requête, il s'attend à des réponses rapides. Ensuite, ça permet des expériences personnalisées. Si les modèles peuvent s'adapter aux utilisateurs individuels plus rapidement, ils deviennent beaucoup plus utiles. Enfin, l'inférence locale améliore la confidentialité des données, car les informations sensibles n'ont pas besoin de quitter l'appareil de l'utilisateur.

En s'attaquant à ces défis, on vise à donner accès à plus de gens aux LLMs, même s'ils n'ont pas accès à des systèmes cloud puissants.

Inférence LLM autoregressive

Pour comprendre comment les LLMs fonctionnent, il est utile de regarder le processus appelé génération autoregressive. Ce processus implique deux étapes principales. D'abord, le modèle prend la requête d'entrée et génère un cache de données appelé le cache KV. Il produit aussi le premier ensemble de prédictions de sortie. Cette étape est généralement rapide puisque le modèle peut traiter toute la requête d'un coup.

La deuxième étape implique le décodage. Ici, le modèle choisit un token (un morceau de texte) parmi les sorties générées et le renvoie dans le système. Le modèle produit alors de nouvelles prédictions basées sur ce token, répétant le processus jusqu'à ce que le nombre de tokens souhaité ait été généré. Le défi avec cette phase est qu'elle doit être effectuée un token à la fois. Ce traitement séquentiel entraîne une très faible efficacité lorsqu'on travaille avec de petits lots, faisant de cette partie la plus chronophage de la génération.

Optimisation des performances GPU

La plupart des LLMs fonctionnent sur des GPU (unités de traitement graphique) car leur structure est conçue pour le traitement parallèle, essentiel pour gérer les opérations matricielles à grande échelle. Les GPU se composent de nombreux cœurs petits et efficaces et ont un système de mémoire complexe.

Le principal défi pour optimiser l'inférence LLM sur petits lots est la très faible efficacité dans l'utilisation des ressources. Lorsqu'on travaille en petits lots, l'intensité arithmétique chute fortement, entraînant un potentiel gaspill é. Par exemple, avec un modèle comme GPT-2, exécuter une seule requête peut montrer des performances extrêmement faibles, ne traitant qu'une poignée de tokens par seconde.

En gros, quand le décodage est limité à de petits lots, le système est bottlenecked par la bande passante mémoire, ce qui restreint sa performance globale. La seule vraie façon d'améliorer la vitesse est d'augmenter l'efficacité avec laquelle ces modèles fonctionnent.

Introduction au Décodage spéculatif

Plusieurs méthodes sont en train d'être développées pour améliorer la vitesse de l'inférence LLM, et l'une d'elles s'appelle le décodage spéculatif. L'idée derrière cette méthode est d'utiliser un modèle plus petit et plus rapide pour prédire plusieurs tokens à l'avance. En faisant ça, les prédictions peuvent être envoyées au modèle plus grand comme un seul lot. Si le petit modèle fait des prédictions précises, ça peut faire gagner beaucoup de temps et de ressources.

Cependant, si le modèle plus grand n'est pas d'accord avec les prédictions du petit modèle, ces résultats sont jetés, et le système revient à la méthode traditionnelle de génération de tokens un par un. Le décodage spéculatif est particulièrement utile pour les paramètres de petits lots où la bande passante mémoire limite performance.

Cette méthode a deux grands avantages. D'abord, ça n'affecte pas la qualité de la sortie du modèle. Ensuite, ça fonctionne souvent bien en conjonction avec d'autres méthodes d'optimisation car ça déplace le travail d'un processus séquentiel à un processus parallèle.

Amélioration du décodage spéculatif

On a identifié deux améliorations clés aux méthodes de décodage spéculatif existantes. D'abord, il faut restructurer la façon dont les lots sont organisés. Au lieu de prédire une seule séquence pour tout le lot, on peut créer une structure arborescente de séquences possibles. Cette structure permet de meilleures prédictions de qualité et un traitement plus rapide car elle augmente le volume de tokens corrects générés dans chaque lot.

La deuxième amélioration consiste à appliquer le décodage spéculatif au Modèle de brouillon plus petit aussi. Cette étape supplémentaire de décodage rend l'ensemble du processus plus efficace, conduisant à un traitement de lot global plus rapide.

Lots structurés en arbre

Les méthodes actuelles de décodage spéculatif génèrent juste une séquence pour le lot complet, ce qui peut nuire à la performance. À mesure que la taille du lot augmente ou que les prédictions du petit modèle deviennent moins alignées avec le modèle plus grand, l'efficacité de ces prédictions diminue rapidement.

Pour contrer ça, on propose de développer un arbre de séquences de tokens possibles. Cette structure arborescente a plusieurs avantages. D'abord, elle permet un plus grand nombre de tokens attendus par lot. Ensuite, le design en arbre permet une utilisation plus efficace de la mémoire, car on peut faire fonctionner le petit modèle à divers points dans l'arbre au lieu de s'appuyer uniquement sur ses résultats à la fin de longues séquences.

En utilisant cette structure arborescente, on peut réaliser les opérations du petit modèle en parallèle, améliorant encore la vitesse. De cette façon, on n'a besoin d'exécuter le modèle de brouillon qu'en fonction de la profondeur de l'arbre, minimisant l'utilisation des ressources.

Spéculation en étapes

Les méthodes actuelles s'appuient sur un seul modèle plus petit pour rédiger des tokens, ce qui peut créer un déséquilibre dans la façon dont le temps et les ressources sont dépensés. Un modèle de brouillon plus grand peut fournir de meilleures prédictions, mais il a aussi un coût plus élevé, tandis qu'un modèle plus petit est moins coûteux mais peut ne pas produire des résultats précis.

Pour atténuer ce problème, on peut incorporer le décodage spéculatif dans le modèle de brouillon lui-même. Avec notre approche de décodage spéculatif en étapes, on utilise maintenant trois modèles : un modèle oracle pour les prédictions finales, un petit modèle de brouillon, et un autre modèle de brouillon. De cette façon, on peut optimiser les prédictions grâce à des lots structurés en arbre.

Expérimentation et résultats

Pour évaluer nos méthodes, on a utilisé plusieurs petits modèles et examiné comment notre spéculation en étapes se comparait aux méthodes traditionnelles. Nos résultats ont montré d'importantes améliorations en Vitesse de traitement. En utilisant un échantillonnage déterministe, notre mise en œuvre a atteint une performance 3.16 fois plus rapide par rapport aux méthodes standard et a surpassé l'approche spéculative régulière de 1.36 fois.

On a aussi examiné des cas où le modèle a traité plusieurs types de tokens. Il a montré que les tokens plus faciles, comme les espaces, étaient produits plus rapidement grâce aux deux modèles de brouillon, tandis que des tokens plus complexes nécessitaient l'attention du modèle oracle plus grand. Cela indique que les différents modèles ont leurs forces et leurs faiblesses selon la complexité de la tâche.

Directions futures

En regardant vers l'avenir, il y a plusieurs domaines à améliorer. Par exemple, on pourrait améliorer le processus de génération de prédictions en créant des techniques d'échantillonnage plus efficaces. De plus, faire fonctionner des modèles plus grands pourrait révéler des gains de performance encore plus importants tout en restant viables sur des appareils locaux.

En outre, examiner la précision des modèles de brouillon peut mener à de meilleures prédictions tout en maintenant une faible utilisation des ressources. Chacune de ces voies offre des opportunités pour de futures recherches et améliorations dans la gestion des LLMs.

Conclusion

En résumé, on a présenté plusieurs méthodes pour améliorer l'inférence locale avec les LLMs. En restructurant le traitement des lots en format arbre et en ajoutant des étapes de spéculation, on a pu atteindre des améliorations de vitesse notables sans compromettre la qualité des sorties. Cette approche rend non seulement les LLMs plus accessibles pour le grand public, mais ouvre aussi de nouvelles possibilités d'utilisation de ces modèles dans des applications réelles, mettant finalement une technologie avancée entre les mains de plus de gens.

Plus d'auteurs

Articles similaires