Livre en ligne sur l’ingénierie ML
(github.com/stas00)-
Ingénierie de combat pour l’intelligence artificielle - Ce qu’il faut savoir
- Une collection ouverte de méthodes pour entraîner avec succès des modèles d’intelligence artificielle (ML), en particulier des grands modèles de langage (LLM) et des modèles multimodaux (VLM).
- Une ressource technique pour les ingénieurs et opérateurs en charge de l’entraînement LLM/VLM, riche en scripts et commandes à copier-coller pour exécuter rapidement les tâches nécessaires.
- L’auteur y consigne en continu l’expérience et le savoir-faire acquis lors de l’entraînement du modèle open source BLOOM-176B en 2022 et du modèle multimodal IDEFICS-80B en 2023, et travaille actuellement au développement/à l’entraînement de modèles open source de recherche augmentée chez Contextual.AI.
-
Table des matières
- Excuses pour la mise en page instable : de nouveaux chapitres sont en cours de rédaction et le contenu est en train d’être réorganisé de manière plus intuitive.
-
Composants matériels
- Accélérateurs - Les bêtes de somme du ML, y compris GPU, TPU, IPU, FPGA, HPU, QPU et RDU.
- Réseau - Connectivité intra-nœud et inter-nœuds, calcul des besoins en bande passante.
- Stockage - Disques et systèmes de fichiers locaux et distribués.
- CPU - Le CPU et l’affinité.
- Mémoire CPU - Le chapitre le plus court, sur la quantité de mémoire CPU réellement suffisante.
-
Performance
- Tolérance aux pannes
- Performance
- Réseau multi-nœuds
- Parallélisme de modèle
-
Opérations
- SLURM
- Hyperparamètres d’entraînement et initialisation du modèle
- Instabilité
-
Développement
- Débogage des défaillances logicielles et matérielles
- Encore plus de débogage
- Reproductibilité
- Précision des tenseurs / types de données
- Notes sur HF Transformers - Astuces sur les petits modèles, tokenizers, datasets, etc.
-
Divers
- Ressources - Chronique LLM/VLM.
-
Accès rapide
- Outils et guides qu’il faut souvent retrouver rapidement.
- Outils :
all_reduce_bench.py,torch-distributed-gpu-test.py - Guides :
debugging pytorch applications,slurm for users,make tiny models/datasets/tokenizers,LLM/VLM chronicles collection
-
Créer le livre
- Si vous souhaitez générer un PDF ou vérifier les liens, consultez la section « Créer le livre ».
-
Remerciements
- Pouvoir apprendre ce type de savoir-faire est un privilège dont peu peuvent bénéficier, car le coût de location de grands clusters de calcul ML est extrêmement élevé.
- Remerciements particuliers à Thom Wolf et à HuggingFace.
-
Contribuer
- Si vous trouvez un bug, une faute de frappe ou avez une suggestion d’amélioration, il est recommandé d’ouvrir une issue ou de proposer une PR.
-
Licence
- Le contenu de ce site est distribué sous licence Attribution-ShareAlike 4.0 International.
-
Carte de mes dépôts
- Machine learning : ML Engineering Open Book | ML ways | Porting
- Guides : The Art of Debugging
- Applications : ipyexperiments
- Outils et cheat sheets : bash | conda | git | jupyter-notebook | make | python | tensorboard | unix
L’avis de GN⁺
- Cette ressource apporte une contribution importante à la communauté ML en fournissant des connaissances pratiques et des outils nécessaires à l’entraînement de grands modèles de langage et de modèles multimodaux.
- En partageant le savoir-faire tiré de projets réels, elle aide les ingénieurs logiciels débutants à acquérir les connaissances pratiques nécessaires à l’entraînement de grands modèles ML.
- L’approche open source favorise le partage des connaissances et la collaboration dans le domaine du ML, ce qui joue un rôle important dans l’accélération de la recherche et de l’innovation.
1 commentaires
Commentaires sur Hacker News
Cet article a vraiment de la valeur. Je travaille à déboguer des configurations d’entraînement de LLM pour soutenir la recherche, et j’aurais aimé avoir ce genre de notes au moment de commencer.
Je travaille avec un Applied Scientist en aidant sur des tâches liées à l’entraînement et au déploiement de modèles ; comment quelqu’un comme moi peut-il être exposé à des travaux d’ingénierie de plus bas niveau, comme l’optimisation ou les performances ? Nous avons une équipe d’infrastructure ML, mais son objectif est de construire des outils autour de la plateforme, pas nécessairement d’exécuter les workloads de manière optimale.
J’aimerais essayer ça, mais je n’ai pas de GPU correct. Comment est-ce que vous faites tourner tout ça ?
Un grand merci pour tout ce qui figure dans « Unsolicited Advice » de la section AI Battlefield [1]. C’est une vision très réaliste du rythme effréné des avancées en IA et de la charge émotionnelle que cela entraîne.
À quel point Slurm est-il largement utilisé ?
J’ai cliqué au hasard et je me suis renseigné sur la repeatability, mais je me demande toujours comment cela est atteint en entraînement distribué. La synchronisation déterministe ne ralentit-elle pas les choses ? Pourtant, j’ai entendu dire qu’au moins dans quelques grandes entreprises, leurs entraînements sont reproductibles.
Comment acquiert-on de l’expérience sur ce genre de sujets quand on n’a pas d’emploi ?
Y a-t-il un PDF quelque part ? Il semble y avoir la manière de le construire, mais pas le fichier lui-même.