IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Une solution open source reproduirait le processus de formation de ChatGPT, avec seulement 1,6 Go de mémoire GPU,
Selon Colossal-AI

Le , par Bruno

60PARTAGES

6  1 
Développé par OpenAI, une société spécialisée dans l’intelligence artificielle et basée aux États-Unis, ChatGPT ne cesse d’émerveiller le monde depuis son lancement, avec son habileté à écrire des essais, des articles, des poèmes et du code informatique en quelques secondes seulement. Cependant, comme OpenAI n'a pas publié le code de ChatGPT, comment reproduire efficacement ChatGPT est devenu un énorme problème auquel tout le monde est confronté, et un équivalent open source de ChatGPT est très demandé.

Colossal-AI, l'une des solutions open source les plus populaires pour les grands modèles d'intelligence artificielle, présente en Preview version un processus de mise en œuvre open source à faible coût de l'équivalent de ChatGPT, avec les points forts suivants :

  • un processus complet de mise en œuvre de l'équivalent de ChatGPT basé sur PyTorch, couvrant les 3 étapes, qui peut aider à construire le service de style ChatGPT basé sur des modèles pré-entraînés ;
  • Colossal-AI propose un mini processus d'entraînement de démonstration pour que les utilisateurs puissent s'amuser, qui ne nécessite que 1,62 Go de mémoire GPU et pourrait être réalisé sur un seul GPU de qualité grand public, avec une croissance jusqu'à 10,3 fois de la capacité du modèle sur un GPU ;
  • par rapport à la version originale de PyTorch, le processus de formation sur une seule machine peut être 7,73 fois plus rapide et l'inférence sur un seul GPU peut-être 1,42 fois plus rapide, ce qui peut être réalisé en une seule ligne de code ;
  • en ce qui concerne la tâche de réglage fin, une seule ligne de code permet d'augmenter la capacité du modèle de réglage fin jusqu'à 3,7 fois sur un seul GPU tout en conservant une vitesse d'exécution suffisamment élevée ;
  • Colossal-AI fournit plusieurs versions d'une échelle à un seul GPU, une échelle à plusieurs GPU sur un seul nœud, et une échelle originale de 175 milliards de paramètres. Nous prenons également en charge l'importation des modèles OPT, GPT-3, BLOOM et de nombreux autres grands modèles pré-entraînés de Hugging Face dans votre processus d'entraînement.

ChatGPT est un robot à grand modèle de langage (ils permettent de prédire le mot suivant dans une série de mots) développé par OpenAI et basé sur GPT-3.5. Il a une habileté remarquable à interagir sous forme de dialogue conversationnel et à fournir des réponses qui peuvent sembler étonnamment humaines.

Alors que la classe précédente de modèles d'intelligence artificielle était principalement constituée de modèles d'apprentissage profond (Deep Learning, DL), conçus pour apprendre et reconnaître des modèles dans les données, les LLM sont un nouveau type d'algorithme d'intelligence artificielle formé pour prédire la probabilité d'une séquence de mots donnée en fonction du contexte des mots qui la précèdent.

Ainsi, si les LLM sont formés sur des quantités suffisamment importantes de données textuelles, ils sont capables de générer de nouvelles séquences de mots jamais observées auparavant par le modèle, mais qui représentent des séquences plausibles basées sur le langage humain naturel.

ChatGPT est alimenté par GPT3.5, un LLM entraîné sur le modèle OpenAI 175B parameter foundation et un grand corpus de données textuelles provenant d'Internet via des méthodes d'apprentissage par renforcement et supervisé. Une utilisation anecdotique indique que ChatGPT présente des preuves de raisonnement déductif et de chaîne de pensée, ainsi que des compétences de dépendance à long terme.

Depuis son lancement, ChatGPT a gagné en notoriété dans tous les secteurs, attirant l'attention de millions d'utilisateurs en 5 jours, atteignant 100 millions d'utilisateurs actifs mensuels 2 mois après son lancement. Elle est devenue l'application à la croissance la plus rapide de l'histoire, dépassant de loin d'autres applications bien connues aujourd'hui, comme Twitter qui a mis 5 ans pour atteindre 100 millions d'utilisateurs, Meta (Facebook) qui a mis 4 ans et demi, TikTok qui a mis 9 mois et même les téléphones portables qui ont mis 16 ans pour atteindre 100 millions d'utilisateurs.


Combien de temps, il a fallu aux meilleures applications pour atteindre 100 millions d'utilisateurs mensuels ?
ChatGPT devrait atteindre ses 100 millions en janvier, deux mois après son lancement.


Bill Gates a fait l'éloge de ChatGPT comme étant aussi important que l'invention de l'Internet, tandis que le PDG de Microsoft, Satya Nadella, a été plus franc en déclarant que « l'IA va fondamentalement changer toutes les catégories de logiciels. » En tant qu'investisseur majeur ayant investi des dizaines de milliards de dollars dans OpenAI, Microsoft a rapidement intégré ChatGPT dans son propre moteur de recherche Bing et son navigateur Edge, et prévoit de l'ajouter à Teams, Office et d'autres suites bureautiques. Son action s'est envolée de plus de 80 milliards de dollars en une nuit.

L'action Google contre l'action Microsoft après les deux présentations de l'IA


Inquiet d'être battu par ChatGPT dans le domaine de la recherche, Google a rapidement lancé le produit concurrent Bard. Près de 7,4% de la valeur marchande d'Alphabet (quelque 140 milliards de dollars) a été effacé après que Google a fièrement présenté Bard, sa réponse aux offres d'IA de nouvelle génération de Microsoft. La raison ? Le système a raté une simple question. Dans une vidéo promotionnelle pour montrer Bard, un assistant de recherche Web pour concurrencer Bing amélioré par ChatGPT de Microsoft, le logiciel a répondu de manière incorrecte à une question scientifique, faisant baisser le cours de l'action d'Alphabet.

L'erreur de Bard a été révélée quelques heures seulement avant que Google organise son premier événement pour Bard à Paris. En plus, le haut dirigeant Prabhakar Raghavan a promis que le chatbot permettrait aux utilisateurs de parcourir les informations de « toutes nouvelles façons ». Du jour au lendemain, les géants mondiaux de la technologie tentent d'être les premiers à lancer leur propre service semblable à ChatGPT pour dominer le marché dans ce domaine.

« Bien que ChatGPT soit sorti depuis plusieurs mois, le public ne dispose ni de poids de pré-entraînement ni d'un processus complet de formation open source à faible coût », écrit Hpc-ai. En fait, il est difficile de réaliser la réplication efficace de l'ensemble du processus du service de style ChatGPT basé sur des sortes de modèles à 100 milliards de paramètres. Récemment, un certain nombre d'alternatives à ChatGPT ont été temporairement lancées. Mais il est difficile de faire la différence, car elles sont fermées.

Pourquoi ChatGPT est-il si magique ? Quelles sont les difficultés pour le reproduire ?

Analyse technique de ChatGPT

La caractéristique importante des résultats étonnants de ChatGPT est l'introduction de l'apprentissage par renforcement du feedback humain (RLHF) dans le processus de formation, afin de mieux saisir les préférences humaines.

L'apprentissage par renforcement avec retour d'information humain (RLHF) est une couche supplémentaire de formation qui utilise le retour d'information humain pour aider ChatGPT à apprendre à suivre des instructions et à générer des réponses satisfaisantes pour les humains. ChatGPT a été créé par OpenAI, une société d'intelligence artificielle basée à San Francisco, connue pour son célèbre DALL-E, un modèle d'apprentissage profond qui génère des images à partir d'instructions textuelles appelées "prompts". Le processus de formation du ChatGPT est divisé en trois étapes principales :

  1. l'échantillonnage de la bibliothèque d'invites, la collecte des réponses humaines et l'utilisation de ces données pour affiner le modèle linguistique large pré-entraîné ;
  2. l'échantillonnage de la bibliothèque d'invites, la génération de réponses multiples à l'aide du grand modèle linguistique, le classement manuel de ces réponses et l'entraînement d'un modèle de récompense (RM) pour s'adapter aux préférences humaines ;
  3. Sur la base du modèle de réglage fin supervisé de l'étape 1 et du modèle de récompense de l'étape 2, le grand modèle de langage est ensuite entraîné à l'aide d'algorithmes d'apprentissage par renforcement.

Dans l'étape 3, qui constitue la partie centrale de l'entraînement du RLHF, OpenAI adopte l'algorithme Proximal Policy Optimization (PPO) de l'apprentissage par renforcement pour introduire le signal de récompense afin que le modèle linguistique génère un contenu plus conforme aux préférences humaines.

Les trois étapes de la RLHF


La complexité du modèle ChatGPT qui découle de l'introduction de l'apprentissage par renforcement entraînera davantage d'appels de modèles. Par exemple, en utilisant l'algorithme PPO basé sur la structure Acteur-Critique (AC), il faut effectuer une inférence directe et une rétropropagation des modèles Acteur et Critique, ainsi qu'une inférence directe multiple du modèle de réglage fin supervisé et du modèle de récompense pendant la formation.

En ce qui concerne l'article d'InstructGPT, qui est la base de ChatGPT, Actor et le modèle de réglage fin supervisé utilisent tous deux le modèle de la série GPT-3 avec 175 milliards de paramètres, tandis que les modèles critique et de récompense utilisent le modèle de la série GPT-3 avec 6 milliards de paramètres.

Avec un tel nombre de paramètres de modèle, le démarrage du processus de formation original de ChatGPT nécessite des milliers de Go de mémoire GPU, ce qui est évidemment bien au-delà de la capacité d'un seul GPU, et la technologie commune de parallélisme des données n'est pas non plus suffisante. Cependant, même si le parallélisme tenseur et le parallélisme de pipelining sont introduits pour partitionner les paramètres, au moins 64 GPU A100 de 80 Go sont toujours nécessaires comme base matérielle ; pire encore, le pipelining ne convient pas aux tâches génératives d'AIGC en raison de sa complexité et de son efficacité due à sa bulle et à son ordonnancement.

L'étape 3 implique le processus complexe d'apprentissage par renforcement et de formation de quatre modèles, ce qui entraîne des difficultés et des défis supplémentaires pour la reproduction du code de ChatGPT.

Réplication à faible coût du processus de formation de ChatGPT à l'aide de Colossal-AI

Colossal-AI reproduit le processus de base de la formation ChatGPT en open source, y compris l'étape 1 de la préformation, l'étape 2 de la formation du modèle de récompense et l'étape 3 de la formation par apprentissage par renforcement, l'étape la plus complexe du processus.

En outre, Colossal-AI réduit considérablement la charge de mémoire du GPU pour la formation ChatGPT en utilisant ZeRO, Gemini, LoRA, la gestion de la mémoire AutoChunk, etc. Elle ne nécessite que la moitié des ressources matérielles pour démarrer l'apprentissage d'un modèle de 175 milliards de paramètres (de 64 cartes à 32 cartes), ce qui réduit considérablement le coût des applications de type ChatGPT. Avec les mêmes ressources matérielles mentionnées ci-dessus, Colossal-AI est capable de s'entraîner en moins de temps, ce qui permet de réduire les coûts de formation et d'accélérer les itérations de produits.

Pour permettre à un plus grand nombre de développeurs d'exécuter le processus de formation ChatGPT, en plus de la version originale à 175 milliards de paramètres, Colossal-AI propose également des versions de type ChatGPT à un seul GPU et à 4/8 GPU autonomes pour réduire les restrictions matérielles.


Sur un seul serveur multi-GPUs, même avec le GPU A100 80GB le plus haut de gamme, PyTorch ne peut lancer ChatGPT qu'à partir de petits modèles comme GPT-L (774M), en raison de la complexité et de la fragmentation de la mémoire de ChatGPT. Par conséquent, la mise à l'échelle parallèle multi-GPUs à 4 ou 8 GPUs avec DistributedDataParallel (DDP) de PyTorch entraîne des gains de performance limités.

Colossal-AI présente non seulement des avantages significatifs en matière de formation et d'inférence au niveau de la vitesse sur un seul GPU, mais peut être encore amélioré à mesure que le parallélisme augmente, jusqu'à 7,73 fois plus vite pour la formation sur un seul serveur et 1,42 fois plus vite pour l'inférence sur un seul GPU, et est capable de continuer à évoluer vers un parallélisme à grande échelle, ce qui réduit considérablement le coût de la réplication de ChatGPT.


Pour minimiser les coûts de formation et la facilité d'utilisation, Colossal-AI propose également un processus de formation ChatGPT qui peut être essayé sur un seul GPU. Par rapport à PyTorch, qui ne peut lancer que des modèles comportant jusqu'à 780 millions de paramètres sur l'A100 80GB (14 999 $), Colossal-AI multiplie par 10,3 la capacité d'un seul GPU pour atteindre 8 milliards de paramètres. Pour l'entraînement de ChatGPT basé sur un petit modèle de 120 millions de paramètres, un minimum de 1,62 Go de mémoire GPU est nécessaire, ce qui peut être satisfait par n'importe quel GPU grand public.


En outre, Colossal-AI s'efforce toujours de réduire le coût des tâches d'ajustement fin basées sur de grands modèles pré-entraînés. Par exemple, pour les tâches de réglage fin concernant ChatGPT sur le modèle OPT, Colossal-AI est capable d'augmenter jusqu'à 3,7 fois la capacité du modèle de réglage fin sur un seul GPU par rapport à PyTorch, tout en travaillant à une vitesse suffisamment élevée.

Une ligne de code pour démarrer

Colossal-AI fournit un code d'entraînement ChatGPT prêt à l'emploi. Les utilisateurs n'auront aucun mal à entraîner les principaux modèles pré-entraînés tels que GPT, OPT et BLOOM de la communauté Hugging Face selon la méthode ChatGPT à l'aide de Colossal-AI. Dans le cas de GPT, par exemple, une seule ligne de code est nécessaire pour spécifier l'utilisation de Colossal-AI comme stratégie de démarrage du système.

Code : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
13
14
from chatgpt.nn import GPTActor, GPTCritic, RewardModel
from chatgpt.trainer import PPOTrainer
from chatgpt.trainer.strategies import ColossalAIStrategy

strategy = ColossalAIStrategy(stage=3, placement_policy='cuda')

with strategy.model_init_context():
    actor = GPTActor().cuda()
    critic = GPTCritic().cuda()
    initial_model = deepcopy(actor).cuda()
    reward_model = RewardModel(deepcopy(critic.model)).cuda()

trainer = PPOTrainer(strategy, actor, critic, reward_model, initial_model, ...)
trainer.fit(prompts)

À l'aide des commandes suivantes, vous pouvez rapidement démarrer l'entraînement de l'échelle à une seule GPU, de l'échelle à plusieurs GPU, de la version originale à 175 milliards de paramètres, et avoir une évaluation sur divers indicateurs de performance (notamment l'utilisation maximale de la mémoire des GPU, le débit et les TFLOPS) :

# Training GPT2-S using a single card, a minimum batch size, Colossal-AI Gemini CPU strategy
torchrun --standalone --nproc_pero_node 1 benchmark_gpt_dummy.py --model s --strategy colossalai_gemini_cpu --experience_batch_size 1 --train_batch_size 1
# Training GPT2-XL with a 4-GPU machine, Colossal-AI Zero2 strategy
torchrun --standalone --nproc_per_node 4 benchmark_gpt_dummy.py --model xl --strategy colossalai_zero2
# Training GPT-3 with 4 8-GPU servers, Colossal-AI Gemini CPU strategy
torchrun --nnodes 4 --nproc_per_node 8 \
--rdzv_id=$JOB_ID --rdzv_backend=c10d --rdzv_endpoint=$HOST_NODE_ADDR \
benchmark_gpt_dummy.py --model 175b --strategy colossalai_gemini_cpu --experience_batch_size 1 --train_batch_size 1


Optimisation sous-jacente

Système central : Colossal-AI

La reproduction du processus de mise en œuvre de ChatGPT repose généralement sur Colossal-AI, un système d'apprentissage profond pour l'ère des grands modèles d'IA, qui prend en charge la formation et l'inférence efficaces et rapides de grands modèles d'IA basés sur PyTorch, et réduit le coût du déploiement de grands modèles d'IA. Depuis son ouverture, Colossal-AI s'est classé plusieurs fois en tête du classement GitHub Trending et a obtenu plus de 8 000 étoiles.

« Il a été choisi comme tutoriel officiel pour les principales conférences sur l'IA et le calcul intensif, telles que SC, AAAI, PPoPP et CVPR. Outre les optimisations mentionnées ci-dessus, Colossal-AI fournit également diverses solutions efficaces pour l'entraînement distribué de grands modèles d'IA, et a démontré sa supériorité dans des modèles de pointe tels que Stable Diffusion, OPT et AlphaFold »

Comparaison entre Colossal-AI et les principaux projets open source actuels au cours de la même période


Colossal-AI est dirigée par James Demmel, professeur émérite de l'université de Californie à Berkeley, et You Yang, Jeune Professeur Président de l'université nationale de Singapour. Ses solutions ont été appliquées avec succès et plébiscitées par certains géants technologiques bien connus dans les domaines de la conduite autonome, de l'informatique dématérialisée, de la vente au détail, de la médecine et des puces. Par exemple, Colossal-AI a aidé avec succès une entreprise Fortune-500 à développer un modèle de chatbot de type ChatGPT avec des capacités de recherche en ligne améliorées.

Ajustement fin à faible coût de LoRA

Colossal-AI prend en charge un réglage « fin et efficace » via la méthode Low-Rank Adaptation (LoRA). Cette méthode part du principe que les grands modèles de langage sont surparamétrés et que la modification des paramètres au cours de l'ajustement fin peut être représentée par une matrice à faible rang, qui peut être décomposée en un produit de deux matrices plus petites.


Les paramètres des grands modèles de langage étant fixés, seuls les paramètres des matrices décomposées sont ajustés lors du réglage fin ; cette méthode réduit donc considérablement la quantité de paramètres d'apprentissage. Pour le déploiement de l'inférence, le produit matriciel est ajouté à la matrice d'origine, comme, W = W0 + BA sans affecter la latence de l'inférence.

Selon l'équipe de Colossal-AI, la communauté open source aurait réalisé quelques essais fructueux. Le modèle BLOOM de 176 milliards de paramètres avec des codes, des ensembles de données et des poids de modèle entièrement libres aurait impliqué plus de 250 institutions de 60 pays du monde entier et plus de 1 000 développeurs, y compris des employés de Meta, Google et d'autres grandes entreprises qui ont participé aux essais. Le modèle open source de génération de texte en image Stable Diffusion, qui est devenu viral il y a quelques mois, est également le fruit d'un effort conjoint d'organisations telles que Stability AI, EleutherAI, LAION, etc.

Stable Diffusion est un modèle de diffusion latente texte-image. Grâce à un généreux don de calcul de Stability AI et au soutien de LAION, les chercheurs ont pu entraîner un modèle de diffusion latente sur des images 512x512 provenant d'un sous-ensemble de la base de données LAION-5B. Similaire à Imagen de Google, ce modèle utilise un encodeur de texte CLIP ViT-L/14 gelé pour conditionner le modèle à des invites textuelles. Avec son UNet de 860M et son encodeur de texte de 123M, le modèle est relativement léger et fonctionne sur un GPU avec au moins 10 Go de VRAM.

Contrairement à DALL-E mini et Disco Diffusion, qui sont des logiciels ouverts comparables, Stable Diffusion peut créer d'incroyables œuvres d'art photoréalistes et artistiques qui n'ont rien à envier aux modèles d'OpenAI ou de Google. Certains affirment même qu'il s'agit du nouvel état de l'art parmi les « moteurs de recherche génératifs », comme Mostaque aime les appeler.

Stability AI a annoncé en fin d'année dernière, la sortie de la version 2.0 de Stable Diffusion. Elle apporte de nombreuses améliorations. La nouveauté la plus importante est l'amélioration du modèle texte-image OpenCLIP. Toutefois, les données de Stable Diffusion sont presque entièrement en langue anglaise. Elles supposent que les textes et les images provenant de cultures et de communautés qui ne parlent pas anglais seraient largement ignorés.

Source : HPC-AI

Et vous ?

Quel est selon vous, l'utilité de reproduire le processus de formation de ChatGPT ?

Le processus de mise en œuvre open source de l'équivalent de ChatGPT présenté par Colossal-AI est-il pertinent ?

Voir aussi :

Les pasteurs utiliseraient ChatGPT pour écrire des sermons, alors que certains affirment que l'outil d'IA ne reproduit pas la passion d'une véritable prédication

Le PDG d'Alphabet demande aux employés de Google de l'aide pour tester son chatbot IA Bard, sa réponse à ChatGPT, à hauteur de 2 à 4 heures

Apprentice Bard, la réponse de Google a ChatGPT, donne une mauvaise réponse lors d'une démo de présentation, ce qui coûte à Alphabet environ 140 milliards de dollars de sa capitalisation boursière

Stable Diffusion de Stability AI serait le modèle d'IA le plus important de tous les temps, contrairement à GPT-3 et DALL-E 2, il apporte des applications du monde réel ouvertes pour les utilisateur

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de stigma
Membre expérimenté https://www.developpez.com
Le 24/02/2023 à 8:54
j'avais créé une IA en 1985 environ, et ça m'a permis d'être le gagnant du programme du mois (PSY-CAUSE) dans le journal de Micro 7. J'avais gagné un deuxième commodore 64 !
Le deuxième dans cette liste : http://abandonlistings.free.fr/microvo/COMMODORE%2064.htm
1  0