Une réimplémentation minimale de TensorFlow.js du minGPT (Generative Pre-trained Transformer) de Karpathy.
Une définition complète de ce modèle de langage GPT « fait maison » (l'intégralité) peut être trouvée dans ce fichier model.ts unique (moins de 300
lignes de code).
Étant donné que model.ts est écrit en TypeScript, vous pouvez utiliser un terrain de jeu GPT maison pour l'entraîner, expérimenter des paramètres et générer ses prédictions directement dans le navigateur à l'aide d'un GPU.
Le modèle et le terrain de jeu sont écrits à des fins d'apprentissage , pour comprendre le fonctionnement de GPT et pour utiliser WebGPU pour la formation.
Pour comprendre ce qui se passe dans le fichier model.ts, veuillez vous référer à la conférence pratique et bien expliquée d'Andrej Karpathy "Construisons GPT : à partir de zéro, dans le code, épelé" (sans doute l'une des meilleures explications de GPT disponibles).
Dans le dossier ./gpt/src/, vous trouverez les fichiers suivants :
Heads
à l'intérieur CausalSelfAttention
de manière séquentielle (au lieu de parallèle). En conséquence, le modèle est un peu plus lent mais plus lisible. Certains poids de modèles pré-entraînés sont publiés dans le référentiel maison-gpt-js-weights. Vous pouvez les appliquer via le terrain de jeu web (section "Génération") ou via le terrain de jeu Node.js ( model.setWeights()
).
Pour expérimenter les paramètres du modèle, la formation et la génération de texte, vous pouvez utiliser le terrain de jeu Homemade GPT JS.
Aire de jeux GPT JS faite maison |
---|
Vous pouvez également lancer le terrain de jeu localement si vous souhaitez modifier et expérimenter le code du modèle de transformateur lui-même.
Installer les dépendances :
npm i
Lancez localement une aire de jeux Web :
npm run playground-web
Le terrain de jeu sera accessible sur http://localhost:3000/homemade-gpt-js
Exécutez ces commandes à partir de la racine du projet. Vous devez avoir Node.js ≥ 20.0.0.
Vous pouvez également expérimenter le modèle dans l'environnement Node.js.
Installer les dépendances :
npm i
Lancez le terrain de jeu Node.js :
npm run playground-node
Le fichier ./playground-node/src/index.ts contient l'exemple de base de formation et de génération de texte.
Exécutez ces commandes à partir de la racine du projet. Vous devez avoir Node.js ≥ 20.0.0.