Ajustez Nova 1.0 - 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.

Ajustez Nova 1.0

Conditions préalables

Avant de commencer une tâche d’entraînement, notez les éléments suivants.

  • Compartiments Amazon S3 pour stocker vos données d’entrée et de sortie des tâches d’entraînement. Vous pouvez utiliser un compartiment pour les deux ou des compartiments distincts pour chaque type de données. Assurez-vous que vos compartiments se trouvent dans le même Région AWS endroit où vous créez toutes les autres ressources pour la formation. Pour plus d’informations, consultez Création d’un compartiment à usage général.

  • Un rôle IAM autorisé à exécuter une tâche d’entraînement. Assurez-vous de joindre une politique IAM à AmazonSageMakerFullAccess. Pour plus d'informations, consultez Comment utiliser les rôles SageMaker d'exécution.

  • Recettes Amazon Nova de base, consultez Obtention de formules Amazon Nova.

Préparation des données

La préparation de données de haute qualité correctement formatées est une première étape essentielle du processus de peaufinage des grands modèles de langage. Que vous utilisiez le peaufinage supervisé (SFT) ou l’optimisation directe des préférences (DPO), avec des approches d’adaptation de rang complet ou inférieur (LoRA), vos données doivent respecter des exigences de format spécifiques pour garantir un entraînement réussi des modèles. Cette section décrit les formats de données, les méthodes de validation et les bonnes pratiques nécessaires pour vous aider à préparer efficacement vos jeux de données afin d’optimiser les modèles Amazon Nova.

SFT

Exigences relatives au format de données SFT - Pour le SFT complet et le SFT LoRa, les données doivent suivre le format indiqué ci-dessous. Pour découvrir des exemples et les contraintes liés à ce format, consultez Préparation des données pour optimiser les modèles de compréhension.

Validation des données SFT - Pour valider le format de votre jeu de données avant de le soumettre, nous vous recommandons d’utiliser le script de validation suivant issu du référentiel des exemples Amazon Bedrock. Cet outil de validation vous aidera à garantir que vos fichiers jsonl respectent les spécifications de format requises et à identifier tout problème potentiel avant de soumettre votre tâche de peaufinage.

DPO

Exigences relatives au format des données du DPO - Pour le DPO de rang complet et le DPO avec LoRa, les données doivent suivre le format indiqué ci-dessous. Le jeu de données doit également être au format similaire à celui de SFT, sauf que le dernier tour doit comporter des paires de préférences.

Autres contraintes sur les jeux de données DPO - Les autres contraintes sur les jeux de données sont les mêmes pour SFT. Pour plus d’informations, consultez Contraintes liées aux jeux de données. Un seul fichier JSONL pour l’entraînement et un seul fichier JSONL pour la validation sont attendus. Le jeu de validation est facultatif.

Recommandations relatives aux jeux de données DPO : un minimum de 1 000 paires de préférences pour un entraînement efficace. Des données de préférences de haute qualité permettront d’obtenir des résultats plus efficaces.

Exemple de format de données DPO

// N-1 turns same as SFT format { "role": "assistant", "candidates": [ { "content": [ { "text": "..." } // content list can contain multiple 'text' objects ], "preferenceLabel": "preferred" }, { "content": [ { "text": "..." } // content list can contain multiple 'text' objects ], "preferenceLabel": "non-preferred" } ] }

Exemple de format de données DPO (multitours)

{ "system": [ { "text": "..." } ], "messages":[ { "role": "user", "content": [ { "text": "..." } ] }, { "role": "assistant", "content": [ { "text": "..." } ] }, { "role": "user", "content": [ { "text": "..." } ] }, { "role": "assistant", "candidates": [ { "content": [ { "text": "..." } ], "preferenceLabel": "preferred" }, { "content": [ { "text": "..." } ], "preferenceLabel": "non-preferred" } ] } ], }

Exemple de format de données DPO (avec images)

{ "system": [ { "text": "..." } ], "messages":[ { "role": "user", "content": [ { "text": "..." }, { "text": "..." }, { "image": { "format": "jpeg", "source": { "s3Location": { "uri": "s3://your-bucket/your-path/your-image.jpg", "bucketOwner": "your-aws-account-id" } } } } // "content" can have multiple "text" and "image" objects. // max image count is 10 ] }, { "role": "assistant", "content": [ { "text": "..." } ] }, { "role": "user", "content": [ { "text": "..." }, { "text": "..." }, { "image": { "format": "jpeg", "source": { "s3Location": { "uri": "s3://your-bucket/your-path/your-image.jpg", "bucketOwner": "your-aws-account-id" } } } } // "content" can have multiple "text" and "image" objects. // max image count is 10 ] }, { "role": "assistant", "candidates": [ { "content": [ { "text": "..." } ], "preferenceLabel": "preferred" }, { "content": [ { "text": "..." } ], "preferenceLabel": "non-preferred" } ] } ], }

Les tâches d’entraînement sont limitées par défaut à un jour, bien que les estimations présentées dans les tableaux ci-dessous supposent une durée d’entraînement de 5 jours à des fins d’illustration. À titre de bonne pratique, nous vous recommandons de porter votre limite de durée d’entraînement à 28 jours maximum pour faire face à des charges de travail d’entraînement plus longues. Pour demander une augmentation de cette limite, consultez Demande d’augmentation de quota.

Limites des jeux de données SFT

Longueur de contexte Modèle Method Ensembles de données Description

Tâches de longueur de contexte 32k

Amazon Nova Micro Rang complet et LoRA Texte uniquement

Si vous utilisez un jeu de données dont tous les enregistrements ont une longueur de contexte de 32k et qu’ils sont exécutés par exemple pendant 5 époques, vous ne pouvez avoir que 100 000 enregistrements au maximum.

Amazon Nova Lite

Rang complet Texte uniquement

Si vous utilisez un jeu de données dont tous les enregistrements ont une longueur de contexte de 32k et qu’ils sont exécutés par exemple pendant 5 époques, vous ne pouvez avoir que 100 000 enregistrements au maximum.

Image et vidéo

Si vous utilisez un jeu de données dont tous les enregistrements ont une longueur de contexte de 32k et qu’ils sont exécutés par exemple pendant 5 époques, vous ne pouvez avoir que 50 000 enregistrements au maximum.

LoRA Texte uniquement

Si vous utilisez un jeu de données dont tous les enregistrements ont une longueur de contexte de 32k et qu’ils sont exécutés par exemple pendant 5 époques, vous ne pouvez avoir que 100 000 enregistrements au maximum.

Image et vidéo Si vous utilisez un jeu de données dont tous les enregistrements ont une longueur de contexte de 32k et qu’ils sont exécutés par exemple pendant 5 époques, vous ne pouvez avoir que 90 000 enregistrements au maximum.

Amazon Nova Pro

Rang complet Texte uniquement

Si vous utilisez un jeu de données dont tous les enregistrements ont une longueur de contexte de 32k et qu’ils sont exécutés par exemple pendant 5 époques, vous ne pouvez avoir que 40 000 enregistrements au maximum.

Image et vidéo

Si vous utilisez un jeu de données dont tous les enregistrements ont une longueur de contexte de 32k et qu’ils sont exécutés par exemple pendant 5 époques, vous ne pouvez avoir que 30 000 enregistrements au maximum.

LoRA Texte uniquement

Si vous utilisez un jeu de données dont tous les enregistrements ont une longueur de contexte de 32k et qu’ils sont exécutés par exemple pendant 5 époques, vous ne pouvez avoir que 40 000 enregistrements au maximum.

Image et vidéo

Si vous utilisez un jeu de données dont tous les enregistrements ont une longueur de contexte de 32k et qu’ils sont exécutés par exemple pendant 5 époques, vous ne pouvez avoir que 35 000 enregistrements au maximum.

Tâches de longueur de contexte 64k

Amazon Nova Micro Rang complet et LoRA Texte uniquement

Si vous utilisez un jeu de données dont tous les enregistrements ont une longueur de contexte de 64k et qu’ils sont exécutés par exemple pendant 5 époques, vous ne pouvez avoir que 50 000 enregistrements au maximum.

Amazon Nova Lite

Rang complet Texte uniquement

Si vous utilisez un jeu de données dont tous les enregistrements ont une longueur de contexte de 64k et qu’ils sont exécutés par exemple pendant 5 époques, vous ne pouvez avoir que 50 000 enregistrements au maximum.

Image et vidéo

Si vous utilisez un jeu de données dont tous les enregistrements ont une longueur de contexte de 64k et qu’ils sont exécutés par exemple pendant 5 époques, vous ne pouvez avoir que 30 000 enregistrements au maximum.

LoRA -

LoRA n’est pas pris en charge à 64k pour Nova Lite.

Amazon Nova Pro Rang complet et LoRA Texte uniquement

Si vous utilisez un jeu de données dont tous les enregistrements ont une longueur de contexte de 64k et qu’ils sont exécutés par exemple pendant 5 époques, vous ne pouvez avoir que 17 000 enregistrements au maximum.

Image et vidéo

Si vous utilisez un jeu de données dont tous les enregistrements ont une longueur de contexte de 64k et qu’ils sont exécutés par exemple pendant 5 époques, vous ne pouvez avoir que 15 000 enregistrements au maximum.

Limites des jeux de données DPO

Longueur de contexte Modèle Method Ensembles de données Description

Tâches de longueur de contexte 16k

Amazon Nova Micro Rang complet Texte uniquement

Si vous utilisez un jeu de données dont tous les enregistrements ont une longueur de contexte de 16k et qu’ils sont exécutés par exemple pendant 5 époques, vous ne pouvez avoir que 120 000 enregistrements au maximum.

LoRA Texte uniquement

Si vous utilisez un jeu de données dont tous les enregistrements ont une longueur de contexte de 16k et qu’ils sont exécutés par exemple pendant 5 époques, vous ne pouvez avoir que 125 000 enregistrements au maximum.

Amazon Nova Lite

Rang complet Texte uniquement

Si vous utilisez un jeu de données dont tous les enregistrements ont une longueur de contexte de 16k et qu’ils sont exécutés par exemple pendant 5 époques, vous ne pouvez avoir que 130 000 enregistrements au maximum.

Image

Si vous utilisez un jeu de données dont tous les enregistrements ont une longueur de contexte de 16k et qu’ils sont exécutés par exemple pendant 5 époques, vous pouvez terminer 20 000 échantillons en deux jours.

LoRA Texte uniquement

Si vous utilisez un jeu de données dont tous les enregistrements ont une longueur de contexte de 16k et qu’ils sont exécutés par exemple pendant 5 époques, vous ne pouvez avoir que 140 000 enregistrements au maximum.

Image

Si vous utilisez un jeu de données dont tous les enregistrements ont une longueur de contexte de 16k et qu’ils sont exécutés par exemple pendant 5 époques, vous pouvez terminer 20 000 échantillons en deux jours.

Amazon Nova Pro

Rang complet Texte uniquement

Si vous utilisez un jeu de données dont tous les enregistrements ont une longueur de contexte de 16k et qu’ils sont exécutés par exemple pendant 5 époques, vous ne pouvez avoir que 45 000 enregistrements au maximum.

Image

Si vous utilisez un jeu de données dont tous les enregistrements ont une longueur de contexte de 16k et qu’ils sont exécutés par exemple pendant 5 époques, vous pouvez terminer 20 000 échantillons en quatre jours.

LoRA Texte uniquement

Si vous utilisez un jeu de données dont tous les enregistrements ont une longueur de contexte de 16k et qu’ils sont exécutés par exemple pendant 5 époques, vous ne pouvez avoir que 55 000 enregistrements au maximum.

Image

Si vous utilisez un jeu de données dont tous les enregistrements ont une longueur de contexte de 16k et qu’ils sont exécutés par exemple pendant 5 époques, vous pouvez terminer 20 000 échantillons en quatre jours.

Tâches de longueur de contexte 32k

Amazon Nova Micro Rang complet Texte uniquement

Si vous utilisez un jeu de données dont tous les enregistrements ont une longueur de contexte de 32k et qu’ils sont exécutés par exemple pendant 5 époques, vous ne pouvez avoir que 45 000 enregistrements au maximum.

LoRA Texte uniquement

Si vous utilisez un jeu de données dont tous les enregistrements ont une longueur de contexte de 32k et qu’ils sont exécutés par exemple pendant 5 époques, vous ne pouvez avoir que 50 000 enregistrements au maximum.

Amazon Nova Lite

Rang complet Texte uniquement

Si vous utilisez un jeu de données dont tous les enregistrements ont une longueur de contexte de 32k et qu’ils sont exécutés par exemple pendant 5 époques, vous ne pouvez avoir que 55 000 enregistrements au maximum.

Image

Si vous utilisez un jeu de données dont tous les enregistrements ont une longueur de contexte de 32k et qu’ils sont exécutés par exemple pendant 5 époques, vous ne pouvez avoir que 35 000 enregistrements au maximum.

LoRA Texte uniquement

Si vous utilisez un jeu de données dont tous les enregistrements ont une longueur de contexte de 32k et qu’ils sont exécutés par exemple pendant 5 époques, vous ne pouvez avoir que 60 000 enregistrements au maximum.

Image

Si vous utilisez un jeu de données dont tous les enregistrements ont une longueur de contexte de 32k et qu’ils sont exécutés par exemple pendant 5 époques, vous ne pouvez avoir que 35 000 enregistrements au maximum.

Amazon Nova Pro Rang complet Texte uniquement

Si vous utilisez un jeu de données dont tous les enregistrements ont une longueur de contexte de 32k et qu’ils sont exécutés par exemple pendant 5 époques, vous ne pouvez avoir que 20 000 enregistrements au maximum.

Image

Si vous utilisez un jeu de données dont tous les enregistrements ont une longueur de contexte de 64k et qu’ils sont exécutés par exemple pendant 5 époques, vous ne pouvez avoir que 16 000 enregistrements au maximum.

LoRA Texte uniquement

Si vous utilisez un jeu de données dont tous les enregistrements ont une longueur de contexte de 32k et qu’ils sont exécutés par exemple pendant 5 époques, vous ne pouvez avoir que 22 000 enregistrements au maximum.

Image

Si vous utilisez un jeu de données dont tous les enregistrements ont une longueur de contexte de 64k et qu’ils sont exécutés par exemple pendant 5 époques, vous ne pouvez avoir que 18 000 enregistrements au maximum.

En réduisant le nombre d’époques ou la longueur contextuelle de vos enregistrements, vous pourriez fournir davantage d’enregistrements.

Configurations SFT de rang complet et LoRA PEFT

Cette section fournit des conseils sur les configurations de formules pour les approches de peaufinage supervisé (SFT) de rang complet et de peaufinage efficace des paramètres d’adaptation de rang inférieur (LoRA PEFT). Ces fichiers de formules servent de plan pour les tâches de personnalisation de votre modèle, vous permettant de spécifier des paramètres d’entraînement, des hyperparamètres et d’autres paramètres critiques qui déterminent la manière dont votre modèle apprend à partir de vos données. Pour ajuster les hyperparamètres, suivez les instructions de la section Sélection des hyperparamètres.

Configurations de peaufinage (SFT de rang complet et LoRA PEFT)

La seule différence entre le peaufinage SFT de rang complet et le peaufinage LoRA PEFT en termes de formule est la configuration LoRA PEFT, qui est définie sur « null » pour le rang complet et définie sur les valeurs appropriées si vous utilisez un peaufinage basé sur LoRA PEFT. Des exemples de recettes sont disponibles dans le GitHub référentiel de SageMaker HyperPod recettes. Les tableaux suivants présentent des configurations détaillées qui pourraient vous être utiles.

À propos de la configuration « run ».

Clé Définition micro Lite Pro
Configuration d’exécution type_modèle

Spécifie la variante du modèle Nova à utiliser. Ne modifiez pas ce fichier.

« amazon. nova-micro-v10:128 km »

« amazon. nova-lite-v1:30:300 km »

« amazon. nova-pro-v1:30:300 km »

model_name_or_path

Chemin d’accès au modèle de base.

"nova-micro/prod"

"nova-lite/prod"

"nova-pro/prod"

réplicas

Nombre d’instances de calcul à utiliser pour l’entraînement distribué.

2, 4 ou 8

4, 8 ou 16

6, 12 ou 24

À propos de la configuration « training_config ».

Clé racine Clés enfants Définition Min Max
max_length

Longueur de séquence maximale en jetons. Détermine la taille de la fenêtre contextuelle pour l’entraînement. Réglable au multiple de 1 024 le plus proche, valeur maximale : 65 536 (pour Lite Lora 32 768).

1 024

65 536, sauf Lite LoRA qui supporte 32 768.
global_batch_size

Nombre total d’échantillons par étape, les valeurs autorisées sont 16, 32, 64. Valeur maximale : 32 pour Nova Pro, 64 pour Nova Lite et Micro.

16 32 pour Nova Pro, 64 pour Nova Lite et Micro.
Configuration du formateur formateur max_epochs

Nombre de passages complets sur votre jeu de données d’entraînement. Pour la plupart des tâches de personnalisation, 1 à 5 époques sont généralement suffisantes. Il est recommandé d’en conserver jusqu’à 5.

1 -
Configuration du modèle modèle hidden_dropout

Probabilité de supprimer les sorties d’état masquées. Augmentez (0.0-0.2) pour réduire le surajustement sur de plus petits jeux de données. Les limites sont comprises entre 0 et 1.

0 1
modèle attention_dropout

Probabilité de perte des pondérations d’attention. Peut aider à la généralisation. Les limites sont comprises entre 0 et 1.

0 1
modèle ffn_dropout

Probabilité de perte des sorties du réseau à propagation avant. Les limites sont comprises entre 0 et 1.

0 1
Configuration d’optimiseur model.optim ta

Taux d’apprentissage, contrôle la taille des étapes lors de l’optimisation. Les limites sont comprises entre 0 et 1. Généralement réglé entre 1e-6 et 1e-4 pour de bonnes performances.

0 1
model.optim name

Algorithme d’optimiseur. Actuellement, seul distributed_fused_adam est pris en charge.

- -
model.optim adam_w_mode

Activez le mode AdamW (vrai/faux).

- -
model.optim eps

Epsilon pour la stabilité numérique.

model.optim weight_decay

La force de régularisation L2 doit être comprise entre 0,0 et 1,0.

0 1
model.optim bêtas

Les valeurs bêta de l’optimiseur Adam doivent être comprises entre 0,0 et 1,0.

0 1
model.optim sched_warmup_steps

Nombre d’étapes pour augmenter progressivement le taux d’apprentissage. Cela améliore la stabilité de l’entraînement. Entre 1 et 20.

1 20
model.optim sched_constant_steps

Étapes à un rythme d’apprentissage constant.

1.00E-10 1,00E-06
model.optim sched.min_lr

Taux d’apprentissage minimal en fin de décalage. Les limites sont comprises entre 0 et 1, mais doivent être inférieures au taux d’apprentissage.

0 1

Configuration LoRA PEFT

model.peft peft_scheme

Utilisez « lora » ou « null ». « lora » utilise la méthode LoRA PEFT pour un peaufinage efficace des paramètres. « null » permet le peaufinage de rang complet.

- -
model.peft lora_tuning.loraplus_lr_ratio

Le facteur d’échelle du taux d’apprentissage LoRA+ doit être compris entre 0,0 et 100,0.

0 100
model.peft lora_tuning.alpha

Facteur d’échelle pour les poids LoRA. Les valeurs autorisées sont 32, 64, 96, 128, 160 et 192.

32 192
model.peft lora_tuning.adapter_dropout

Régularisation des paramètres LoRA. La valeur doit être comprise entre 0,0 et 1,0.

0 1

Peaufinage de configurations spécifiques (DPO)

La seule différence entre l'optimisation directe des préférences (DPO) par rapport à LoRa PEFT et FullRank SFT réside dans la configuration de dpo_cfg et les valeurs autorisées. Reportez-vous au tableau ci-dessous pour l’exemple d’autorisation spécifique pour DPO. Des exemples de recettes sont disponibles dans le GitHub référentiel de SageMaker HyperPod recettes. Le tableau suivant présente les configurations détaillées qui pourraient vous être utiles.

Clé racine Clés enfants Définition Min Max
max_length Longueur de séquence maximale en jetons. Détermine la taille de la fenêtre contextuelle pour l’entraînement. Réglable au multiple de 1 024 le plus proche, valeur maximale : 32 768.

1 024

32768

global_batch_size

Taille globale de lot, les valeurs autorisées sont {16, 32, 64, 128, 256}.

16 256
Configuration du formateur formateur max_epochs

Nombre de passages complets sur votre jeu de données d’entraînement. Pour la plupart des tâches de personnalisation, 1 à 5 époques sont généralement suffisantes. Le nombre maximum d’époques est de 5.

1 5
Configuration du modèle modèle hidden_dropout

Probabilité de supprimer les sorties d’état masquées. Augmentez (0.0-0.2) pour réduire le surajustement sur de plus petits jeux de données. Les limites sont comprises entre 0 et 1.

0 1
modèle attention_dropout

Probabilité de perte des pondérations d’attention. Peut aider à la généralisation. Les limites sont comprises entre 0 et 1.

0 1
modèle ffn_dropout

Probabilité de perte des sorties du réseau à propagation avant. Les limites sont comprises entre 0 et 1.

0 1
Configuration d’optimiseur model.optim ta

Taux d’apprentissage, contrôle la taille des étapes lors de l’optimisation. Les limites sont comprises entre 0 et 1. Généralement réglé entre 1e-6 et 1e-4 pour de bonnes performances.

0 1
model.optim name

Algorithme d’optimiseur. Actuellement, seul distributed_fused_adam est pris en charge.

- -
model.optim adam_w_mode

Activez le mode AdamW (vrai/faux).

- -
model.optim eps

Epsilon pour la stabilité numérique.

1.00E-10 1,00E-06
model.optim weight_decay

La force de régularisation L2 doit être comprise entre 0,0 et 1,0.

0 1
model.optim bêtas

Les valeurs bêta de l’optimiseur Adam doivent être comprises entre 0,0 et 1,0.

0 1
model.optim sched_warmup_steps

Nombre d’étapes pour augmenter progressivement le taux d’apprentissage. Cela améliore la stabilité de l’entraînement. Entre 1 et 20.

1 20
model.optim sched_constant_steps

Étapes à un rythme d’apprentissage constant.

model.optim sched.min_lr

Taux d’apprentissage minimal en fin de décalage. Les limites sont comprises entre 0 et 1, mais doivent être inférieures au taux d’apprentissage.

0 1

Configuration LoRA PEFT

model.peft peft_scheme

Utilisez « lora » ou « null ». « lora » utilise la méthode LoRA PEFT pour un peaufinage efficace des paramètres. « null » permet le peaufinage de rang complet.

- -
model.peft lora_tuning.loraplus_lr_ratio

Le facteur d’échelle du taux d’apprentissage LoRA+ doit être compris entre 0,0 et 100,0.

0 100
model.peft lora_tuning.alpha

Facteur d’échelle pour les poids LoRA. Les valeurs autorisées sont 32, 64, 96, 128, 160 et 192.

32 192
model.peft lora_tuning.adapter_dropout

Régularisation des paramètres LoRA. Doit être compris entre 0,0 et 1,0.

0 1
Configuration DPO model-dpo_cfg bêta

Force de l’application des préférences.

0.001 0.1

Exécution d'un modèle Nova personnalisé sur des tâches SageMaker de formation

Cette section explique comment exécuter un modèle Nova personnalisé sur des tâches de SageMaker formation via un environnement de bloc-notes Jupyter. Vous trouverez un exemple complet expliquant le processus de configuration et de lancement d'une tâche de formation, ainsi que des tableaux de référence permettant de sélectionner l'image de conteneur URIs et les configurations d'instance appropriées. Cette approche vous permet de contrôler par programmation vos flux de travail affinés tout en tirant parti SageMaker de l'infrastructure gérée pour la personnalisation des modèles. Pour plus d'informations, voir Utiliser un estimateur SageMaker basé sur l'IA pour exécuter une tâche de formation.

Tableaux de référence

Avant d'exécuter l'exemple de bloc-notes, reportez-vous aux tableaux suivants pour sélectionner l'image de conteneur URIs et les configurations d'instance appropriées.

Sélection de l’URI d’image

Formule URI de l’image

URI de l’image SFT

708977205387.dkr.ecr.us-east-1.amazonaws.com/nova-fine-tune-repo:SM-TJ-SFT-latest

URI de l’image DPO

708977205387.dkr.ecr.us-east-1.amazonaws.com/nova-fine-tune-repo:SM-TJ-DPO-latest

Sélection du type et du nombre d’instances

Modèle Type de tâche Type d’instance Nombre d’instances recommandées Nombre d’instances autorisées
Amazon Nova Micro Réglage précis (SFT/DPO, LoRa) g5.12xlarge, g6.12xlarge, g5.48xlarge, g6.48xlarge 1 1
Amazon Nova Micro Réglage précis (SFT, FFT) g5.48xlarge, g6.48xlarge 1 1
Amazon Nova Lite Peaufinage (SFT, LoRA) g5.12xlarge, g6.12xlarge, g5.48xlarge, g6.48xlarge 1 1
Amazon Nova Lite Réglage précis (DPO, LoRa) g5.48xlarge, g6.48xlarge 1 1
Amazon Nova Micro Réglage fin (SFT) p5.48xlarge, p5en.48xlarge 2 1,2,4,8
Amazon Nova Lite Réglage fin (SFT) p5.48xlarge, p5en.48xlarge 4 2,4,8,16
Amazon Nova Pro Réglage fin (SFT) p5.48xlarge, p5en.48xlarge 6 3,6,12,24
Amazon Nova Micro Réglage précis (DPO) p5.48xlarge, p5en.48xlarge 2 2,4,8
Amazon Nova Lite Réglage précis (DPO) p5.48xlarge, p5en.48xlarge 4 4,8,16
Amazon Nova Pro Réglage précis (DPO) p5.48xlarge, p5en.48xlarge 6 6,12,24

Exemple de bloc-notes

L’exemple de bloc-notes suivant montre comment exécuter une tâche d’entraînement. Pour des carnets de démarrage supplémentaires expliquant comment personnaliser les modèles Nova à l'aide de tâches de formation SageMaker basées sur l'IA, voir Utiliser un estimateur SageMaker basé sur l'IA pour exécuter une tâche de formation.

# 1. Install dependencies !pip install sagemaker==2.254.1 # 2. Import dependencies and initialize sagemaker session import sagemaker,boto3 sm = boto3.client('sagemaker', region_name='us-east-1') sagemaker_session = sagemaker.session.Session(boto_session=boto3.session.Session(), sagemaker_client=sm) # 3. Configure your job # Define the core configuration for launching a SageMaker Training Job. This includes input/output S3 URIs, container image, hardware setup, and other runtime parameters. Update the placeholders below before submitting the job. job_name = "<Your Job Name>" input_s3_uri = "<S3 path to input data>" validation_s3_uri = "<S3 path to validation data>" # optional, leave blank if no validation data output_s3_uri = "<S3 path to output location>" image_uri = "<Image URI from documentation>" # you can choose the image for SFT/DPO instance_type = "ml.p5.48xlarge" # do not change instance_count = <Integer number of hosts> # change hosts as needed. Refer to documentation for allowed values based on model type. role_arn = "<IAM Role you want to use to run the job>" recipe_path = "<Local path to the recipe file>" # 4. Launch SageMaker Training Job # This block sets up and runs the SageMaker training job using the PyTorch estimator. It configures the training image, hardware, input channels, and TensorBoard integration. Validation data is included if provided. from sagemaker.debugger import TensorBoardOutputConfig from sagemaker.pytorch import PyTorch from sagemaker.inputs import TrainingInput tensorboard_output_config = TensorBoardOutputConfig( s3_output_path=output_s3_uri, ) estimator = PyTorch( output_path=output_s3_uri, base_job_name=job_name, role=role_arn, instance_count=instance_count, instance_type=instance_type, training_recipe=recipe_path, sagemaker_session=sagemaker_session, image_uri=image_uri, tensorboard_output_config=tensorboard_output_config, # Add the setting for using TensorBoard. disable_profiler=True, debugger_hook_config=False ) trainingInput = TrainingInput( s3_data=input_s3_uri, distribution='FullyReplicated', s3_data_type='Converse' ) if (validation_s3_uri): validationInput = TrainingInput( s3_data=validation_s3_uri, distribution='FullyReplicated', s3_data_type='Converse' ) estimator.fit(inputs={"train": trainingInput, "validation": validationInput}) # inputs must be called "train" and "validation", do not change else: estimator.fit(inputs={"train": trainingInput})

Conseils d’optimisation des hyperparamètres

Pour optimiser efficacement votre modèle Nova LLM, vous devez sélectionner avec soin les hyperparamètres. Bien que cette section explique la structure et les composants de base de la formule, l’optimisation des hyperparamètres pour votre cas d’utilisation spécifique nécessite souvent des conseils supplémentaires. Pour des recommandations complètes sur la sélection des hyperparamètres, les bonnes pratiques et les stratégies d’optimisation, consultez Sélection des hyperparamètres. Cette ressource fournit des conseils détaillés sur la sélection des taux d’apprentissage, des tailles de lots, des époques d’apprentissage et d’autres paramètres critiques appropriés en fonction des caractéristiques de votre jeu de données et des objectifs d’entraînement. Nous vous recommandons de consulter ce guide lorsque vous optimisez la configuration de votre formule afin d’obtenir des performances de modèle optimales.

Pour plus de détails sur les valeurs minimales, maximales et par défaut pour les époques, le taux d’apprentissage et les étapes de préparation de l’apprentissage, consultez Hyperparamètres pour la compréhension des modèles.

Modifications courantes de formules

Voici quelques ajustements de formules courants en fonction de cas d’utilisation spécifiques :

  • Pour les jeux de données plus petits (< 1 000 exemples)

    training_config: max_epochs: 2 # More passes through a smaller dataset model: hidden_dropout: 0.1 # Increase regularization weight_decay: 0.01 # Increase regularization
  • Pour plus d’efficacité avec des capacités de calcul limitées

    peft: peft_scheme: "lora" lora_tuning:
  • Pour le réglage d’instructions complexes

    optim: lr: 5e-6 # Lower learning rate for more stable learning sched: warmup_steps: 100 # Longer warmup for stability