FlexGen, un moteur pour exécuter des robots IA sur un seul GPU

FlexGen

FlexGen est un moteur conçu dans le but de réduire les besoins en ressources d'inférence des grands modèles de langage à un seul GPU.

La nouvelle a été publiée récemment que un groupe de chercheurs de l'Université de Stanford, de l'Université de Californie à Berkeley, de l'ETH Zurich, de la Graduate School of Economics, de l'Université Carnegie Mellon, ainsi que Yandex et Meta, ont publié le code source de un moteur pour exécuter de grands modèles de langage dans des systèmes aux ressources limitées.

avec nom de code « FlexGen », est un projet qui vise à réduire significativement la exigences ressources pour les opérations d'inférence LLM. Publié sur GitHub, FlexGen ne nécessite que Python et PyTorch, mais peut généralement être utilisé avec un seul GPU comme NVIDIA Tesla T4 ou GeForce RTX 3090.

Par exemple, le moteur offre la possibilité de créer des fonctionnalités rappelant ChatGPT et Copilot exécutant un modèle OPT-175B pré-formé couvrant 175 milliards de paramètres sur un ordinateur ordinaire avec une carte graphique de jeu NVIDIA RTX3090 équipée de 24 Go de mémoire vidéo.

Il est mentionné que les modèles (LLM) prennent en charge le fonctionnement d'outils tels que ChatGPT et Copilot. Ce sont de grands modèles qui utilisent des milliards de paramètres et sont entraînés sur de grandes quantités de données.

Les exigences élevées en matière de calcul et de mémoire pour les tâches d'inférence LLM nécessitent généralement l'utilisation d'accélérateurs haut de gamme.

Nous sommes heureux que le public soit vraiment enthousiasmé par FlexGen. Cependant, notre travail est toujours en préparation et n'est pas encore prêt pour une publication/annonce publique. D'après les premiers retours sur ce projet, nous avons réalisé que les premières versions de ce README et de notre document n'étaient pas claires sur l'objectif de FlexGen. Il s'agit d'un effort préliminaire pour réduire les besoins en ressources des LLM, mais il présente également de nombreuses limites et n'est pas destiné à remplacer les cas d'utilisation lorsque des ressources suffisantes sont disponibles.

L'inférence LLM est un processus dans lequel un modèle de langage est utilisé pour générer des prédictions sur le texte d'entrée : il s'agit d'utiliser un modèle de langage, tel qu'un modèle génératif tel qu'un GPT (Generative Pretrained Transformer), pour faire des prédictions sur ce qui est le plus probable. se passer. être fourni en réponse après une saisie spécifique de texte capturé.

À propos de FlexGen

Le package comprend un exemple de script pour créer des bots. qui permet à l'utilisateur télécharger l'un des modèles de langage accessibles au public et commencer à discuter tout de suite.

Comme base, il est proposé d'utiliser un grand modèle de langage édité par Facebook, entraîné sur les collections BookCorpus (10 mille livres), CC-Stories, Pile (OpenSubtitles, Wikipedia, DM Mathematics, HackerNews, etc.), Pushshift.io (basé sur les données de Reddit)) et CCNewsV2 (archives d'actualités).

Le modèle couvre environ 180 milliards de jetons (800 Go de données). Il a fallu 33 jours d'exécution du cluster avec 992 GPU NVIDIA A100 de 80 Go pour entraîner le modèle.

Exécutant l'OPT-175B sur un système avec un seul GPU NVIDIA T4 (16 Go), le moteur FlexGen a démontré des performances jusqu'à 100 fois plus rapides que les solutions proposées précédemment, rendant l'utilisation de grands modèles de langage plus abordable et leur permettant de fonctionner sur des systèmes sans accélérateurs spécialisés.

Dans le même temps, FlexGen peut évoluer pour paralléliser les calculs en présence de plusieurs GPU. Pour réduire la taille du modèle, un schéma de compression de paramètres supplémentaire et un mécanisme de mise en cache du modèle sont utilisés.

Actuellement, FlexGen ne prend en charge que les modèles de langage OPT, mais à l'avenir, les développeurs promettent également d'ajouter la prise en charge de BLOOM (176 milliards de paramètres, prend en charge 46 langues et 13 langages de programmation), CodeGen (peut générer du code dans 22 langages de programmation) et GLM.

Enfin, il convient de mentionner que le code est écrit en Python, utilise le framework PyTorch et est distribué sous la licence Apache 2.0.

Pour Intéressé à en savoir plus, vous pouvez vérifier les détails dans le lien suivant.


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données: Miguel Ángel Gatón
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.