Maison Périphériques technologiques IA Les étudiants de premier cycle utilisent 60 lignes de code pour vous apprendre à créer manuellement un grand modèle GPT. L'introduction technique est comparable à un didacticiel.

Les étudiants de premier cycle utilisent 60 lignes de code pour vous apprendre à créer manuellement un grand modèle GPT. L'introduction technique est comparable à un didacticiel.

Apr 11, 2023 pm 11:49 PM
gpt 模型

Actuellement, les grands modèles de langage (LLM) sont considérés comme la direction des percées en matière d'intelligence artificielle. Les gens essaient de les utiliser pour faire toutes sortes de choses complexes, telles que des questions et réponses, la création, le raisonnement mathématique et l'écriture de code. La récente explosion de ChatGPT en est le meilleur exemple.

Cependant, pour les praticiens du machine learning, le seuil pour les grands modèles est très élevé : parce qu'ils sont trop volumineux et difficiles à former, cette direction a longtemps été monopolisée par les grandes entreprises. Cependant, depuis peu, il existe de plus en plus de moyens de simplifier le modèle GPT. À la mi-janvier, Andrej Karpathy, ancien directeur principal de Tesla AI (maintenant de retour chez OpenAI) a publié un tutoriel complet sur la création d'un modèle GPT à partir de zéro​. Cependant, par rapport au GPT formé et au GPT-3 d'OpenAI, la différence de taille entre les deux est de 10 000 à 1 million de fois. Récemment, Jay Mody, étudiant de premier cycle en génie logiciel à l'Université McMaster au Canada, a implémenté un modèle GPT à partir de zéro avec seulement 60 lignes de code en important la bibliothèque NumPy et l'a nommé PicoGPT. De plus, il a également chargé les poids du modèle GPT-2 formés dans son implémentation et généré du texte. 60 lignes de code sont présentées ci-dessous.

Les étudiants de premier cycle utilisent 60 lignes de code pour vous apprendre à créer manuellement un grand modèle GPT. Lintroduction technique est comparable à un didacticiel.

Mais pour ce faire, vous devez être familier avec Python et NumPy et avoir une expérience de base dans la formation de réseaux de neurones. L'auteur a déclaré que ce blog vise à fournir une introduction simple, facile à comprendre et complète à GPT. Par conséquent, l'auteur utilise uniquement les poids du modèle déjà formés pour implémenter le code d'accès direct.

Les étudiants de premier cycle utilisent 60 lignes de code pour vous apprendre à créer manuellement un grand modèle GPT. Lintroduction technique est comparable à un didacticiel.

Adresse du code :

​https://github.com/jaymody/picoGPT/blob/29e78cc52b58ed2c1c483ffea2eb46 ff 6bdec785/gpt2_pico.py#L3-L58​

Pour cette recherche, Andrej Karpathy a donné quatre mots : en retard mais arrivé. À l’époque, les minGPT et nanoGPT construits par Karpathy nécessitaient 300 lignes de code.

Les étudiants de premier cycle utilisent 60 lignes de code pour vous apprendre à créer manuellement un grand modèle GPT. Lintroduction technique est comparable à un didacticiel.Il est à noter que ce tutoriel n'est pas totalement à seuil zéro. Afin de permettre aux lecteurs de comprendre, l'auteur présente d'abord ce qu'est GPT, ses entrées, sorties et autres contenus, le tout de manière très détaillée.

Les étudiants de premier cycle utilisent 60 lignes de code pour vous apprendre à créer manuellement un grand modèle GPT. Lintroduction technique est comparable à un didacticiel.

Quant à ce que GPT peut faire exactement, l'auteur donne quelques exemples. Il peut écrire des e-mails, résumer un livre, vous donner des idées de légendes sur Instagram et expliquer les trous noirs à un 5-. ans, écrire du code en SQL, etc.

En lisant attentivement cette partie, vous pouvez approximativement comprendre certaines connaissances de base de GPT. Avec ces informations générales, l’étape suivante consiste à savoir comment le configurer.

Introduction au projet

Paramètres

Ce chapitre présente principalement comment définir l'encodeur, les hyperparamètres et les paramètres.

Les étudiants de premier cycle utilisent 60 lignes de code pour vous apprendre à créer manuellement un grand modèle GPT. Lintroduction technique est comparable à un didacticiel.

Ce que vous devez faire, c'est d'abord cloner le référentiel :

Les étudiants de premier cycle utilisent 60 lignes de code pour vous apprendre à créer manuellement un grand modèle GPT. Lintroduction technique est comparable à un didacticiel. Ensuite installer les dépendances :

Les étudiants de premier cycle utilisent 60 lignes de code pour vous apprendre à créer manuellement un grand modèle GPT. Lintroduction technique est comparable à un didacticiel.

Remarque, si vous utilisez un Macbook M1, vous devez remplacer tensorflow par tensorflow-macos dans Requirements.txt avant d'exécuter pip install. Dans le cadre de ce projet, les fichiers incluent encoder.py, utils.py, gpt2.py, gpt2_pico.py :

  • encoder.py : contient le code d'OpenAI BPE Tokenizer, extrait directement du dépôt gpt-2
  • ; utils.py : contient le code pour télécharger et charger les poids, les tokenizers et les hyperparamètres du modèle GPT-2 ;
  • gpt2.py : contient le modèle GPT et le code de génération, qui peuvent être exécutés en tant que script python ; .py : identique à gpt2.py, mais avec moins de lignes de code.
  • où gpt2.py doit être implémenté à partir de zéro, vous devez donc d'abord supprimer gpt2.py et recréer un fichier vide :

Les étudiants de premier cycle utilisent 60 lignes de code pour vous apprendre à créer manuellement un grand modèle GPT. Lintroduction technique est comparable à un didacticiel.

Copiez ensuite le code suivant vers gpt2 Dans .py :

Les étudiants de premier cycle utilisent 60 lignes de code pour vous apprendre à créer manuellement un grand modèle GPT. Lintroduction technique est comparable à un didacticiel.

Le code ci-dessus contient 4 parties principales :

la fonction gpt2 est le code réel pour implémenter GPT cette fois ; algorithme de décodage autorégressif ;

  • fonction principale ;
  • fire.Fire (main) Convertissez le fichier en application CLI pour pouvoir enfin exécuter le code : python gpt2.py "une invite ici". La fonction
  • main contient les paramètres encode, hparams, params et exécute le code suivant :

Ensuite, les fichiers de modèle et de tokenizer nécessaires seront téléchargés dans le fichier models/124M.

Les étudiants de premier cycle utilisent 60 lignes de code pour vous apprendre à créer manuellement un grand modèle GPT. Lintroduction technique est comparable à un didacticiel.

Une fois les réglages terminés, l'auteur commence à introduire quelques détails sur l'encodeur, les hyperparamètres et les paramètres. En prenant l'encodeur comme exemple, l'encodeur de cet article est le même que le tokenizer BPE utilisé par GPT-2. Voici quelques exemples de texte encodé et décodé par cet encodeur :

Le jeton réel ressemble à ceci :

Les étudiants de premier cycle utilisent 60 lignes de code pour vous apprendre à créer manuellement un grand modèle GPT. Lintroduction technique est comparable à un didacticiel.

Notez que parfois le jeton est un mot (par exemple Non) , Parfois ce sont des mots mais précédés d'un espace (par exemple Ġall, Ġ représente un espace), parfois ils font partie d'un mot (par exemple capes est divisé en Ġcap et es), et parfois ce sont des signes de ponctuation (par exemple .).

L'un des avantages de BPE est qu'il peut encoder des chaînes arbitraires, et s'il rencontre quelque chose qui n'existe pas dans le vocabulaire, il le divisera en sous-chaînes qu'il comprend : Les étudiants de premier cycle utilisent 60 lignes de code pour vous apprendre à créer manuellement un grand modèle GPT. Lintroduction technique est comparable à un didacticiel.

Le contenu plus détaillé ne sera pas décrit à nouveau. Ensuite, nous présenterons le réseau neuronal de base. Cette partie est encore plus basique, comprenant principalement GELU, la fonction Softmax, la normalisation des couches et le linéaire.

Les étudiants de premier cycle utilisent 60 lignes de code pour vous apprendre à créer manuellement un grand modèle GPT. Lintroduction technique est comparable à un didacticiel.

Il y a des exemples de code dans chaque petite partie, par exemple dans la partie Linéaire, l'auteur montre la multiplication matricielle standard + biais :

Les étudiants de premier cycle utilisent 60 lignes de code pour vous apprendre à créer manuellement un grand modèle GPT. Lintroduction technique est comparable à un didacticiel.

Couche linéaire d'un espace vectoriel Le code pour projeter dans un autre espace vectoriel est le suivant :

Les étudiants de premier cycle utilisent 60 lignes de code pour vous apprendre à créer manuellement un grand modèle GPT. Lintroduction technique est comparable à un didacticiel.

Architecture GPT

Cette partie présente l'architecture de GPT elle-même.

Les étudiants de premier cycle utilisent 60 lignes de code pour vous apprendre à créer manuellement un grand modèle GPT. Lintroduction technique est comparable à un didacticiel.

L'architecture du transformateur est la suivante :

Les étudiants de premier cycle utilisent 60 lignes de code pour vous apprendre à créer manuellement un grand modèle GPT. Lintroduction technique est comparable à un didacticiel.

Le transformateur utilise uniquement la pile de décodeur (partie droite de l'image) :

Les étudiants de premier cycle utilisent 60 lignes de code pour vous apprendre à créer manuellement un grand modèle GPT. Lintroduction technique est comparable à un didacticiel.

Il convient de noter qu'en raison de la suppression de l'encodeur, la couche intermédiaire d'attention croisée est également supprimée. ​

À un niveau élevé, l'architecture GPT comprend les trois parties suivantes :

  • intégration de texte + position
  • Pile de décodeur de transformateur
  • projection vers le vocabulaire ;

Le code ressemble à ceci :

Les étudiants de premier cycle utilisent 60 lignes de code pour vous apprendre à créer manuellement un grand modèle GPT. Lintroduction technique est comparable à un didacticiel.

Capture d'écran de la section de code

Ensuite, chacune des trois parties ci-dessus est décomposée plus en détail, ce qui n'est pas le cas. ici non plus.

Ce qui précède est l'implémentation de GPT par l'auteur. L'étape suivante consiste à les combiner et à exécuter le code pour obtenir gpt2.py. L'ensemble de son contenu ne comporte que 120 lignes de code (60 lignes si vous supprimez les commentaires et les espaces).

L'auteur a testé les résultats de la manière suivante :

Les étudiants de premier cycle utilisent 60 lignes de code pour vous apprendre à créer manuellement un grand modèle GPT. Lintroduction technique est comparable à un didacticiel.

Les résultats de sortie sont les suivants :

Les étudiants de premier cycle utilisent 60 lignes de code pour vous apprendre à créer manuellement un grand modèle GPT. Lintroduction technique est comparable à un didacticiel.

Comme l'a dit l'auteur : Cette expérience Cela a fonctionné.

Cet article ne présente que brièvement le processus global en suivant les idées de l'auteur. Les amis qui souhaitent en savoir plus peuvent se référer au lien d'origine.

Lien original : https://jaykmody.com/blog/gpt-from-scratch/#basic-layers

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Commandes de chat et comment les utiliser
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Le modèle MoE open source le plus puissant au monde est ici, avec des capacités chinoises comparables à celles du GPT-4, et le prix ne représente que près d'un pour cent de celui du GPT-4-Turbo. Le modèle MoE open source le plus puissant au monde est ici, avec des capacités chinoises comparables à celles du GPT-4, et le prix ne représente que près d'un pour cent de celui du GPT-4-Turbo. May 07, 2024 pm 04:13 PM

Imaginez un modèle d'intelligence artificielle qui non seulement a la capacité de surpasser l'informatique traditionnelle, mais qui permet également d'obtenir des performances plus efficaces à moindre coût. Ce n'est pas de la science-fiction, DeepSeek-V2[1], le modèle MoE open source le plus puissant au monde est ici. DeepSeek-V2 est un puissant mélange de modèle de langage d'experts (MoE) présentant les caractéristiques d'une formation économique et d'une inférence efficace. Il est constitué de 236B paramètres, dont 21B servent à activer chaque marqueur. Par rapport à DeepSeek67B, DeepSeek-V2 offre des performances plus élevées, tout en économisant 42,5 % des coûts de formation, en réduisant le cache KV de 93,3 % et en augmentant le débit de génération maximal à 5,76 fois. DeepSeek est une entreprise explorant l'intelligence artificielle générale

L'IA bouleverse la recherche mathématique ! Le lauréat de la médaille Fields et mathématicien sino-américain a dirigé 11 articles les mieux classés | Aimé par Terence Tao L'IA bouleverse la recherche mathématique ! Le lauréat de la médaille Fields et mathématicien sino-américain a dirigé 11 articles les mieux classés | Aimé par Terence Tao Apr 09, 2024 am 11:52 AM

L’IA change effectivement les mathématiques. Récemment, Tao Zhexuan, qui a prêté une attention particulière à cette question, a transmis le dernier numéro du « Bulletin de l'American Mathematical Society » (Bulletin de l'American Mathematical Society). En se concentrant sur le thème « Les machines changeront-elles les mathématiques ? », de nombreux mathématiciens ont exprimé leurs opinions. L'ensemble du processus a été plein d'étincelles, intense et passionnant. L'auteur dispose d'une équipe solide, comprenant Akshay Venkatesh, lauréat de la médaille Fields, le mathématicien chinois Zheng Lejun, l'informaticien de l'Université de New York Ernest Davis et de nombreux autres universitaires bien connus du secteur. Le monde de l’IA a radicalement changé. Vous savez, bon nombre de ces articles ont été soumis il y a un an.

Google est ravi : les performances de JAX surpassent Pytorch et TensorFlow ! Cela pourrait devenir le choix le plus rapide pour la formation à l'inférence GPU Google est ravi : les performances de JAX surpassent Pytorch et TensorFlow ! Cela pourrait devenir le choix le plus rapide pour la formation à l'inférence GPU Apr 01, 2024 pm 07:46 PM

Les performances de JAX, promu par Google, ont dépassé celles de Pytorch et TensorFlow lors de récents tests de référence, se classant au premier rang sur 7 indicateurs. Et le test n’a pas été fait sur le TPU présentant les meilleures performances JAX. Bien que parmi les développeurs, Pytorch soit toujours plus populaire que Tensorflow. Mais à l’avenir, des modèles plus volumineux seront peut-être formés et exécutés sur la base de la plate-forme JAX. Modèles Récemment, l'équipe Keras a comparé trois backends (TensorFlow, JAX, PyTorch) avec l'implémentation native de PyTorch et Keras2 avec TensorFlow. Premièrement, ils sélectionnent un ensemble de

KAN, qui remplace MLP, a été étendu à la convolution par des projets open source KAN, qui remplace MLP, a été étendu à la convolution par des projets open source Jun 01, 2024 pm 10:03 PM

Plus tôt ce mois-ci, des chercheurs du MIT et d'autres institutions ont proposé une alternative très prometteuse au MLP – KAN. KAN surpasse MLP en termes de précision et d’interprétabilité. Et il peut surpasser le MLP fonctionnant avec un plus grand nombre de paramètres avec un très petit nombre de paramètres. Par exemple, les auteurs ont déclaré avoir utilisé KAN pour reproduire les résultats de DeepMind avec un réseau plus petit et un degré d'automatisation plus élevé. Plus précisément, le MLP de DeepMind compte environ 300 000 paramètres, tandis que le KAN n'en compte qu'environ 200. KAN a une base mathématique solide comme MLP est basé sur le théorème d'approximation universelle, tandis que KAN est basé sur le théorème de représentation de Kolmogorov-Arnold. Comme le montre la figure ci-dessous, KAN a

Bonjour, Atlas électrique ! Le robot Boston Dynamics revient à la vie, des mouvements étranges à 180 degrés effraient Musk Bonjour, Atlas électrique ! Le robot Boston Dynamics revient à la vie, des mouvements étranges à 180 degrés effraient Musk Apr 18, 2024 pm 07:58 PM

Boston Dynamics Atlas entre officiellement dans l’ère des robots électriques ! Hier, l'Atlas hydraulique s'est retiré "en larmes" de la scène de l'histoire. Aujourd'hui, Boston Dynamics a annoncé que l'Atlas électrique était au travail. Il semble que dans le domaine des robots humanoïdes commerciaux, Boston Dynamics soit déterminé à concurrencer Tesla. Après la sortie de la nouvelle vidéo, elle a déjà été visionnée par plus d’un million de personnes en seulement dix heures. Les personnes âgées partent et de nouveaux rôles apparaissent. C'est une nécessité historique. Il ne fait aucun doute que cette année est l’année explosive des robots humanoïdes. Les internautes ont commenté : Les progrès des robots ont fait ressembler la cérémonie d'ouverture de cette année à des êtres humains, et le degré de liberté est bien plus grand que celui des humains. Mais n'est-ce vraiment pas un film d'horreur ? Au début de la vidéo, Atlas est allongé calmement sur le sol, apparemment sur le dos. Ce qui suit est à couper le souffle

FisheyeDetNet : le premier algorithme de détection de cible basé sur une caméra fisheye FisheyeDetNet : le premier algorithme de détection de cible basé sur une caméra fisheye Apr 26, 2024 am 11:37 AM

La détection de cibles est un problème relativement mature dans les systèmes de conduite autonome, parmi lesquels la détection des piétons est l'un des premiers algorithmes à être déployés. Des recherches très complètes ont été menées dans la plupart des articles. Cependant, la perception de la distance à l’aide de caméras fisheye pour une vue panoramique est relativement moins étudiée. En raison de la distorsion radiale importante, la représentation standard du cadre de délimitation est difficile à mettre en œuvre dans les caméras fisheye. Pour alléger la description ci-dessus, nous explorons les conceptions étendues de boîtes englobantes, d'ellipses et de polygones généraux dans des représentations polaires/angulaires et définissons une métrique de segmentation d'instance mIOU pour analyser ces représentations. Le modèle fisheyeDetNet proposé avec une forme polygonale surpasse les autres modèles et atteint simultanément 49,5 % de mAP sur l'ensemble de données de la caméra fisheye Valeo pour la conduite autonome.

Les robots Tesla travaillent dans les usines, Musk : Le degré de liberté des mains atteindra 22 cette année ! Les robots Tesla travaillent dans les usines, Musk : Le degré de liberté des mains atteindra 22 cette année ! May 06, 2024 pm 04:13 PM

La dernière vidéo du robot Optimus de Tesla est sortie, et il peut déjà fonctionner en usine. À vitesse normale, il trie les batteries (les batteries 4680 de Tesla) comme ceci : Le responsable a également publié à quoi cela ressemble à une vitesse 20 fois supérieure - sur un petit "poste de travail", en sélectionnant et en sélectionnant et en sélectionnant : Cette fois, il est publié L'un des points forts de la vidéo est qu'Optimus réalise ce travail en usine, de manière totalement autonome, sans intervention humaine tout au long du processus. Et du point de vue d'Optimus, il peut également récupérer et placer la batterie tordue, en se concentrant sur la correction automatique des erreurs : concernant la main d'Optimus, le scientifique de NVIDIA Jim Fan a donné une évaluation élevée : la main d'Optimus est l'un des robots à cinq doigts du monde. le plus adroit. Ses mains ne sont pas seulement tactiles

DualBEV : dépassant largement BEVFormer et BEVDet4D, ouvrez le livre ! DualBEV : dépassant largement BEVFormer et BEVDet4D, ouvrez le livre ! Mar 21, 2024 pm 05:21 PM

Cet article explore le problème de la détection précise d'objets sous différents angles de vue (tels que la perspective et la vue à vol d'oiseau) dans la conduite autonome, en particulier comment transformer efficacement les caractéristiques de l'espace en perspective (PV) en vue à vol d'oiseau (BEV). implémenté via le module Visual Transformation (VT). Les méthodes existantes sont globalement divisées en deux stratégies : la conversion 2D en 3D et la conversion 3D en 2D. Les méthodes 2D vers 3D améliorent les caractéristiques 2D denses en prédisant les probabilités de profondeur, mais l'incertitude inhérente aux prévisions de profondeur, en particulier dans les régions éloignées, peut introduire des inexactitudes. Alors que les méthodes 3D vers 2D utilisent généralement des requêtes 3D pour échantillonner des fonctionnalités 2D et apprendre les poids d'attention de la correspondance entre les fonctionnalités 3D et 2D via un transformateur, ce qui augmente le temps de calcul et de déploiement.

See all articles