Nvidia

La prise en charge de Multi-LoRA est désormais disponible dans la boîte à outils Nvidia RTX AI

La prise en charge de Multi-LoRA est désormais disponible dans la boîte à outils Nvidia RTX AI. La dernière mise à jour offre des performances jusqu'à 6 fois plus rapides grâce à des LLM optimisés sur les PC et postes de travail RTX AI.

Les grands modèles de langage sont à l’origine de certains des développements les plus passionnants de l’IA grâce à leur capacité à comprendre, résumer et générer rapidement du contenu textuel. Ces fonctionnalités alimentent divers cas d'utilisation, notamment les outils de productivité, les assistants numériques, les personnages non-joueurs dans les jeux vidéo, etc. Cependant, il ne s'agit pas d'une solution universelle et les développeurs doivent souvent optimiser les LLM pour répondre aux besoins de leurs applications.

La boîte à outils Nvidia RTX AI

La boîte à outils Nvidia RTX AI facilite l'optimisation et le déploiement de modèles d'IA sur les PC et les postes de travail RTX AI grâce à une technique appelée adaptation à rang basou LoRA. Une nouvelle mise à jour, disponible aujourd'hui, permet la prise en charge de l'utilisation simultanée de plusieurs adaptateurs LoRA au sein de la bibliothèque d'accélération Nvidia TensorRT-LLM AI, améliorant ainsi les performances des modèles optimisés jusqu'à 6x.

Optimisés pour les performances Les LLM doivent être soigneusement personnalisés pour obtenir des performances supérieures et répondre aux besoins croissants des utilisateurs. Ces modèles fondamentaux sont formés sur d'énormes quantités de données, mais manquent souvent du contexte nécessaire au cas d'utilisation spécifique d'un développeur. Par exemple, un LLM générique peut créer un dialogue pour les jeux vidéo, mais il manquera probablement de la nuance et de la subtilité nécessaires pour écrire. à la manière d'un elfe des bois au passé sombre et au mépris de l'autorité à peine dissimulé.

Pour obtenir un résultat plus ciblé, les développeurs peuvent affiner le modèle avec des informations liées au cas d'utilisation de l'application. Prenons l'exemple du développement d'une application pour générer des dialogues dans le jeu à l'aide d'un LLM. Le processus d'optimisation commence par l'utilisation de pondérations provenant d'un modèle pré-entraîné, telles que des informations sur ce qu'un personnage pourrait dire dans le jeu. Pour obtenir un dialogue dans le bon style, un développeur peut optimiser le modèle sur un ensemble de données d'exemples plus petit, tel qu'un dialogue écrit sur un ton plus effrayant ou maléfique.

Dans certains cas, les développeurs peuvent souhaiter exécuter tous ces différents processus d’optimisation en même temps. Par exemple, ils peuvent souhaiter générer des textes marketing rédigés avec différentes voix pour différents canaux de contenu. En même temps, ils voudront peut-être résumer un document et faire des suggestions stylistiques, ainsi que rédiger une description de scène de jeu vidéo et une invite d'image pour un générateur de texte en image.

Il n'est pas pratique d'exécuter plusieurs modèles en même temps, car ils ne rentreraient pas tous dans la mémoire du GPU en même temps. Même s’ils le faisaient, leur temps d’inférence serait affecté par la bande passante mémoire, c’est-à-dire la vitesse à laquelle les données peuvent être lues de la mémoire vers les GPU.

Que peut-on réaliser avec LoRA

Une manière courante de résoudre ces problèmes consiste à utiliser des techniques d’optimisation telles que l’adaptation de bas rang (LoRA). Une façon simple de le considérer est comme un fichier de correctif contenant des personnalisations du processus d'optimisation. Une fois formés, les adaptateurs LoRA personnalisés peuvent s’intégrer de manière transparente au modèle de base pendant l’inférence, ajoutant ainsi une surcharge minimale. Les développeurs peuvent attacher des adaptateurs à un seul modèle pour répondre à plusieurs cas d'utilisation. Cela permet de réduire l'empreinte mémoire tout en fournissant les détails supplémentaires nécessaires pour chaque cas d'utilisation spécifique.

En pratique, cela signifie qu'une application peut conserver en mémoire une seule copie du modèle de base, ainsi que de nombreuses personnalisations à l'aide de plusieurs adaptateurs LoRA. Ce processus est appelé service multi-LoRA. Lorsque plusieurs appels de modèles sont effectués, le GPU peut traiter tous les appels en parallèle, maximisant l'utilisation de ses cœurs Tensor et minimisant les demandes de mémoire et de bande passante, permettant ainsi aux développeurs d'utiliser efficacement les modèles d'IA dans leurs flux de travail. Les modèles optimisés à l'aide d'adaptateurs multi-LoRA fonctionnent jusqu'à 6 fois plus vite.

Dans l'exemple d'application de dialogue en jeu décrit ci-dessus, la portée de l'application pourrait être étendue, en utilisant le service multi-LoRA, pour générer à la fois des éléments d'histoire et des illustrations, pilotés par une seule invite. L'utilisateur pourrait saisir une idée de base pour une histoire et le LLM développerait le concept, l'étendant pour fournir une base détaillée. L'application pourrait alors utiliser le même modèle, amélioré avec deux adaptateurs LoRA distincts, pour affiner l'histoire et générer les images correspondantes. Un adaptateur LoRA génère une invite Stable Diffusion pour créer des visuels à l'aide d'un modèle Stable Diffusion XL déployé localement. Pendant ce temps, l’autre adaptateur LoRA, optimisé pour l’écriture d’histoires, pourrait créer un récit bien structuré et engageant.

Dans ce cas, le même modèle est utilisé pour les deux étapes d’inférence, garantissant ainsi que l’espace requis pour le processus n’augmente pas de manière significative. La deuxième étape, qui implique à la fois la génération de texte et d'images, est réalisée à l'aide d'une inférence par lots, ce qui rend le processus exceptionnellement rapide et efficace sur les GPU Nvidia. Cela permet aux utilisateurs de parcourir rapidement différentes versions de leurs histoires, en affinant facilement le récit et les illustrations.

Ce processus est décrit plus en détail dans un blog technique récent.

Conclusions

Les LLM deviennent l’un des composants les plus importants de l’IA moderne. À mesure que l’adoption et l’intégration augmentent, la demande de LLM puissants et rapides avec des personnalisations spécifiques aux applications ne fera qu’augmenter. La prise en charge multi-LoRA ajoutée aujourd'hui à la boîte à outils RTX AI offre aux développeurs un nouveau moyen puissant d'accélérer ces capacités.