Ce référentiel contient le code permettant de développer, de pré-entraîner et de peaufiner un LLM de type GPT et est le référentiel de code officiel du livre Build a Large Language Model (From Scratch).
Dans Créer un grand modèle de langage (à partir de zéro) , vous apprendrez et comprendrez comment les grands modèles de langage (LLM) fonctionnent de l'intérieur vers l'extérieur en les codant de A à Z, étape par étape. Dans ce livre, je vais vous guider dans la création de votre propre LLM, en expliquant chaque étape avec un texte clair, des diagrammes et des exemples.
La méthode décrite dans ce livre pour former et développer votre propre modèle petit mais fonctionnel à des fins éducatives reflète l'approche utilisée pour créer des modèles fondamentaux à grande échelle tels que ceux derrière ChatGPT. De plus, ce livre comprend du code pour charger les poids de modèles pré-entraînés plus grands pour un réglage fin.
Pour télécharger une copie de ce référentiel, cliquez sur le bouton Télécharger ZIP ou exécutez la commande suivante dans votre terminal :
git clone --depth 1 https://github.com/rasbt/LLMs-from-scratch.git
(Si vous avez téléchargé le paquet de codes depuis le site Web de Manning, pensez à visiter le référentiel de code officiel sur GitHub à l'adresse https://github.com/rasbt/LLMs-from-scratch pour les dernières mises à jour.)
Veuillez noter que ce fichier README.md
est un fichier Markdown ( .md
). Si vous avez téléchargé cet ensemble de codes à partir du site Web de Manning et que vous le visualisez sur votre ordinateur local, je vous recommande d'utiliser un éditeur ou un aperçu Markdown pour un affichage correct. Si vous n'avez pas encore installé d'éditeur Markdown, MarkText est une bonne option gratuite.
Vous pouvez également afficher ce fichier et d'autres fichiers sur GitHub à l'adresse https://github.com/rasbt/LLMs-from-scratch dans votre navigateur, qui restitue automatiquement Markdown.
Conseil
Si vous recherchez des conseils sur l'installation des packages Python et Python et sur la configuration de votre environnement de code, je vous suggère de lire le fichier README.md situé dans le répertoire d'installation.
Titre du chapitre | Code principal (pour un accès rapide) | Tout le code + supplémentaire |
---|---|---|
Recommandations de configuration | - | - |
Ch 1 : Comprendre les grands modèles de langage | Aucun code | - |
Ch 2 : Travailler avec des données texte | - ch02.ipynb - dataloader.ipynb (résumé) - exercices-solutions.ipynb | ./ch02 |
Ch 3 : Codage des mécanismes d'attention | - ch03.ipynb - multihead-attention.ipynb (résumé) - exercices-solutions.ipynb | ./ch03 |
Ch 4 : Implémenter un modèle GPT à partir de zéro | - ch04.ipynb - gpt.py (résumé) - exercices-solutions.ipynb | ./ch04 |
Ch 5 : Pré-entraînement sur des données non étiquetées | - ch05.ipynb - gpt_train.py (résumé) - gpt_generate.py (résumé) - exercices-solutions.ipynb | ./ch05 |
Ch 6 : Réglage fin de la classification de texte | - ch06.ipynb - gpt_class_finetune.py - exercices-solutions.ipynb | ./ch06 |
Ch 7 : Réglage fin pour suivre les instructions | - ch07.ipynb - gpt_instruction_finetuning.py (résumé) - ollama_evaluate.py (résumé) - exercices-solutions.ipynb | ./ch07 |
Annexe A : Introduction à PyTorch | - code-part1.ipynb - code-part2.ipynb - DDP-script.py - exercices-solutions.ipynb | ./annexe-A |
Annexe B : Références et lectures complémentaires | Aucun code | - |
Annexe C : Solutions d'exercice | Aucun code | - |
Annexe D : Ajout de cloches et de sifflets à la boucle d'entraînement | - annexe-D.ipynb | ./annexe-D |
Annexe E : Réglage fin efficace des paramètres avec LoRA | - annexe-E.ipynb | ./annexe-E |
Le modèle mental ci-dessous résume le contenu couvert dans ce livre.
Le code des chapitres principaux de ce livre est conçu pour fonctionner sur des ordinateurs portables conventionnels dans un délai raisonnable et ne nécessite pas de matériel spécialisé. Cette approche garantit qu’un large public peut interagir avec le matériel. De plus, le code utilise automatiquement les GPU s'ils sont disponibles. (Veuillez consulter le document d'installation pour des recommandations supplémentaires.)
Plusieurs dossiers contiennent du matériel optionnel en bonus pour les lecteurs intéressés :
J'accepte toutes sortes de commentaires, mieux partagés via le forum Manning ou les discussions GitHub. De même, si vous avez des questions ou si vous souhaitez simplement partager des idées avec d'autres, n'hésitez pas à les publier également sur le forum.
Veuillez noter que puisque ce référentiel contient le code correspondant à un livre imprimé, je ne peux actuellement pas accepter de contributions qui étendraient le contenu du code du chapitre principal, car cela introduirait des écarts par rapport au livre physique. Le garder cohérent permet de garantir une expérience fluide pour tout le monde.
Si vous trouvez ce livre ou ce code utile pour votre recherche, pensez à le citer.
Citation à la Chicago :
Raschka, Sébastien. Créez un grand modèle de langage (à partir de zéro) . Manning, 2024. ISBN : 978-1633437166.
Entrée BibTeX :
@book{build-llms-from-scratch-book,
author = {Sebastian Raschka},
title = {Build A Large Language Model (From Scratch)},
publisher = {Manning},
year = {2024},
isbn = {978-1633437166},
url = {https://www.manning.com/books/build-a-large-language-model-from-scratch},
github = {https://github.com/rasbt/LLMs-from-scratch}
}