GitHub référentiels - Amazon SageMaker AI

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

GitHub référentiels

Pour lancer une tâche de formation, vous utilisez des fichiers provenant de deux GitHub référentiels distincts :

Ces référentiels contiennent des composants essentiels pour lancer, gérer et personnaliser les processus de formation LLM (Large Language Model). Vous utilisez les scripts des référentiels pour configurer et exécuter les tâches de formation pour votre LLMs.

HyperPod référentiel de recettes

Utilisez le référentiel de SageMaker HyperPod recettes pour obtenir une recette.

  1. main.py: Ce fichier sert de point d'entrée principal pour lancer le processus de soumission d'un poste de formation à un cluster ou à un poste de SageMaker formation.

  2. launcher_scripts: Ce répertoire contient une collection de scripts couramment utilisés conçus pour faciliter le processus de formation pour différents modèles linguistiques de grande taille (LLMs).

  3. recipes_collection: Ce dossier contient une compilation de recettes LLM prédéfinies fournies par les développeurs. Les utilisateurs peuvent exploiter ces recettes en conjonction avec leurs données personnalisées pour former des modèles LLM adaptés à leurs besoins spécifiques.

Vous utilisez les SageMaker HyperPod recettes pour lancer des formations ou affiner des tâches. Quel que soit le cluster que vous utilisez, le processus de soumission de la tâche est le même. Par exemple, vous pouvez utiliser le même script pour soumettre une tâche à un cluster Slurm ou Kubernetes. Le lanceur envoie une tâche de formation basée sur trois fichiers de configuration :

  1. Configuration générale (config.yaml) : inclut les paramètres courants tels que les paramètres par défaut ou les variables d'environnement utilisés dans le cadre de la tâche de formation.

  2. Configuration du cluster (cluster) : pour les tâches de formation utilisant des clusters uniquement. Si vous soumettez une tâche de formation à un cluster Kubernetes, vous devrez peut-être spécifier des informations telles que le volume, l'étiquette ou la politique de redémarrage. Pour les clusters Slurm, vous devrez peut-être spécifier le nom de la tâche Slurm. Tous les paramètres sont liés au cluster spécifique que vous utilisez.

  3. Recette (recettes) : les recettes contiennent les paramètres de votre tâche de formation, tels que les types de modèles, le degré de découpage ou les chemins des ensembles de données. Par exemple, vous pouvez définir Llama comme modèle d'entraînement et l'entraîner à l'aide de techniques de parallélisme de modèles ou de données telles que le Fully Sharded Distributed Parallel (FSDP) sur huit machines. Vous pouvez également spécifier différentes fréquences ou trajectoires de points de contrôle pour votre travail de formation.

Après avoir spécifié une recette, vous exécutez le script de lancement pour spécifier une tâche de end-to-end formation sur un cluster en fonction des configurations effectuées via le point main.py d'entrée. Chaque recette que vous utilisez est accompagnée de scripts shell situés dans le dossier launch_scripts. Ces exemples vous guident dans la soumission et le lancement de tâches de formation. La figure suivante montre comment un lanceur de SageMaker HyperPod recettes soumet une tâche de formation à un cluster sur la base de ce qui précède. Actuellement, le lanceur de SageMaker HyperPod recettes est construit sur le Nvidia NeMo Framework Launcher. Pour plus d'informations, consultez le Guide du NeMo lanceur.

Schéma illustrant le flux de travail du lanceur de HyperPod recettes. Sur la gauche, à l'intérieur d'une zone en pointillés, se trouvent trois icônes de fichier intitulées « Recipe », « config.yaml » et « slurm.yaml ou k8s.yaml ou sm-job.yaml (Cluster config) ». Une flèche pointe de cette case vers une case centrale intitulée « HyperPod  Recipe Launcher ». À partir de cette case centrale, une autre flèche pointe vers la droite vers « Training Job », avec « main.py » écrit au-dessus de la flèche.

HyperPod référentiel d'adaptateurs de recettes

L'adaptateur SageMaker HyperPod de formation est un cadre de formation. Vous pouvez l'utiliser pour gérer le cycle de vie complet de vos tâches de formation. Utilisez l'adaptateur pour répartir le pré-entraînement ou le réglage précis de vos modèles sur plusieurs machines. L'adaptateur utilise différentes techniques de parallélisme pour répartir la formation. Il gère également la mise en œuvre et la gestion de la sauvegarde des points de contrôle. Pour en savoir plus, consultez Paramètres avancés.

Utilisez le référentiel d'adaptateurs de SageMaker HyperPod recettes pour utiliser l'adaptateur de recettes.

  1. src: Ce répertoire contient la mise en œuvre de la formation aux modèles linguistiques à grande échelle (LLM), qui englobe diverses fonctionnalités telles que le parallélisme des modèles, la formation à précision mixte et la gestion des points de contrôle.

  2. examples: Ce dossier fournit une collection d'exemples illustrant comment créer un point d'entrée pour la formation d'un modèle de LLM, servant de guide pratique pour les utilisateurs.