Comment entraîner son propre modèle LLM avec 4 GPU 4090
(sabareesh.com)- Parti d’un intérêt pour ChatGPT, l’auteur a décidé de mener lui-même l’entraînement afin de comprendre en profondeur le fonctionnement des LLM
- Au départ, il utilisait une puce M1, mais face à ses limites, il a monté une machine personnalisée exploitant des GPU NVIDIA 4090
1. Définir les objectifs et planifier le budget
- Définition des objectifs : les besoins matériels varient selon la taille et le type du modèle à entraîner
- Planification du budget : trouver un équilibre entre performances et coût, en gardant à l’esprit le prix des composants haut de gamme
2. Choix du matériel
- Carte mère : recommandation de la SuperMicro M12SWA-TF. Elle fournit suffisamment de lignes PCIe pour utiliser plusieurs GPU
- CPU : choix de l’AMD Threadripper PRO 5955WX. Il prend en charge 128 lignes PCIe, ce qui résout les problèmes de bande passante
- RAM : 128 Go de mémoire recommandés. Adaptés aux grands jeux de données et aux charges de calcul importantes
- GPU : GPU NVIDIA 4090 - idéal pour l’entraînement de LLM
- 24 Go de VRAM permettent de traiter de grands modèles et jeux de données
- Les performances en BFloat16 optimisent les charges de travail IA
- 16 384 cœurs CUDA renforcent les capacités de traitement parallèle
- Stockage : configuration avec un SSD NVMe de 6 To et un HDD de 8 To
- Alimentation : 2 PSU de 1500 W pour une alimentation électrique stable
- Boîtier et refroidissement : utilisation d’un boîtier prenant en charge plusieurs GPU et d’un système de refroidissement efficace
3. Assemblage de la machine
- Configuration à double PSU : l’un alimente la carte mère et le CPU, l’autre les GPU
- Vérification de la compatibilité : examen approfondi de la compatibilité entre les composants
- Comment entraîner son propre modèle LLM avec 4 GPU 4090
- Les câbles ont été soigneusement rangés afin d’améliorer le flux d’air et de simplifier la maintenance
4. Configuration logicielle
- Système d’exploitation : utilisation d’un OS Linux (par ex. Ubuntu) pour un environnement d’entraînement stable
- Pilotes et dépendances : installation des derniers pilotes GPU, ainsi que des bibliothèques CUDA et cuDNN
- Framework d’entraînement : installation de PyTorch ou TensorFlow
- Noyau personnalisé : activation de la communication P2P entre GPU via un noyau fourni par Tinygrad
5. Entraînement du LLM
- Préparation des données : nettoyage et prétraitement du dataset pour obtenir des données d’entrée de haute qualité
- Choix du modèle : sélection d’un modèle adapté au matériel, comme Llama2 ou GPT
- Processus d’entraînement : surveillance et optimisation de l’utilisation des ressources
6. Optimisation et montée en charge
- Entraînement multi-GPU : utilisation de Distributed Data Parallel (DDP) ou de la technologie ZeRO
- Utilisation d’un patch kernel permettant la communication P2P sur les GPU NVIDIA 4xxx
- Réglage des performances : optimisation des hyperparamètres, de la taille des batchs et du taux d’apprentissage afin d’obtenir une meilleure convergence et une meilleure efficacité
7. Maintenance et supervision
- Mises à jour régulières : maintenir le système et les logiciels à jour
- Supervision du système : vérification de l’état de la machine avec
nvidia-smi, Prometheus, etc.
Principaux enseignements et conseils
- Alternatives matérielles : des GPU comme les A100 ou H100 offrent davantage de VRAM, mais des GPU grand public comme la 4090 fournissent d’excellentes performances dans une configuration rentable
- Envisager le cloud : l’on-premise est adapté aux projets de long terme, tandis que le cloud convient mieux aux besoins de courte durée
- Exploiter les ressources de la communauté : consulter les guides de Hugging Face et d’Andrej Karpathy
Construire une machine pour l’entraînement de LLM est un projet exigeant mais gratifiant, qui peut devenir un outil puissant pour explorer de nouvelles possibilités en développement IA
1 commentaires
Commentaires sur Hacker News
Cette configuration est excellente, et c’est la meilleure build utilisant 6 RTX 4090
Cet article semble avoir été rédigé par un modèle d’IA, et la dernière partie donne fortement cette impression
Un article expliquant quel type d’entraînement peut être réalisé avec ce genre d’équipement serait plus intéressant
Quelqu’un partage son expérience personnelle de préentraînement de LLM à domicile après avoir monté son propre matériel de ML
Je me demande de quel matériel on a besoin pour affiner un modèle de taille intermédiaire
Pour la plupart des gens, l’aspect logiciel de l’entraînement des modèles devrait être plus intéressant et plus accessible
J’aimerais lire un article écrit par une personne plutôt que par un modèle d’IA
Je veux parler des câbles riser
C’est amusant pour un hobbyiste fortuné, mais pour faire un vrai travail, il vaut mieux louer sur Runpod
Il suffit de 4 GPU 4090 et d’un circuit dédié de 30 ampères