View a markdown version of this page

Formation préalable continue (CPT) sur Nova 2.0 sur SageMaker HyperPod - Amazon Nova

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.

Formation préalable continue (CPT) sur Nova 2.0 sur SageMaker HyperPod

Amazon Nova Lite 2.0 est un modèle de raisonnement basé sur des ensembles de données plus grands et plus diversifiés que Nova Lite 1.0. Bien qu'il s'agisse d'un modèle plus grand, Nova Lite 2.0 permet une inférence plus rapide que Nova Lite 1.0 tout en offrant des capacités de raisonnement améliorées, des durées de contexte plus longues et des performances multilingues améliorées.

Avec CPT sur Nova 2.0 Lite, vous pouvez étendre ces fonctionnalités avancées aux données spécifiques à votre domaine et développer une expertise approfondie dans des domaines spécialisés tout en conservant les capacités de raisonnement et d'analyse supérieures du modèle.

Voici un exemple de recette pour le CPT. Vous pouvez trouver cette recette et d'autres dans le référentiel de SageMaker HyperPod recettes sur GitHub.

# Note: # This recipe can run on p5.48xlarge # Run config run: name: "my-cpt-run" # A descriptive name for your training job model_type: "amazon.nova-2-lite-v1:0:256k" # Model variant specification, do not change model_name_or_path: "nova-lite-2/prod" # Base model path, do not change replicas: 8 # Number of compute instances for training, allowed values are 4, 8, 16, 32 data_s3_path: "" # Customer data paths validation_data_s3_path: "" # Customer validation data paths output_s3_path: "" # Output artifact path, SageMaker HyperPod job-specific configuration - not compatible with standard SageMaker Training Jobs mlflow_tracking_uri: "" # Required for MLFlow mlflow_experiment_name: "my-cpt-experiment" # Optional for MLFlow. Note: leave this field non-empty mlflow_run_name: "my-cpt-run" # Optional for MLFlow. Note: leave this field non-empty ## Training specific configs training_config: task_type: cpt max_length: 8192 # Maximum context window size (tokens) global_batch_size: 256 # Global batch size, allowed values are 32, 64, 128, 256. trainer: max_steps: 10 # The number of training steps to run total val_check_interval: 10 # The number of steps between running validation. Integer count or float percentage limit_val_batches: 2 # Batches of the validation set to use each trigger model: hidden_dropout: 0.0 # Dropout for hidden states, must be between 0.0 and 1.0 attention_dropout: 0.0 # Dropout for attention weights, must be between 0.0 and 1.0 optim: optimizer: adam lr: 1e-5 # Learning rate name: distributed_fused_adam # Optimizer algorithm, do not change adam_w_mode: true # Enable AdamW mode eps: 1e-06 # Epsilon for numerical stability weight_decay: 0.0 # L2 regularization strength, must be between 0.0 and 1.0 adam_beta1: 0.9 # Beta1 for Adam optimizer adam_beta2: 0.95 # Beta2 for Adam optimizer sched: warmup_steps: 10 # Learning rate warmup steps constant_steps: 0 # Steps at constant learning rate min_lr: 1e-6 # Minimum learning rate, must be lower than lr

Commencer un travail de pré-formation continue le SageMaker HyperPod

Préparation de vos données

Pour plus d'informations sur le format des données, les fonctionnalités prises en charge, les contraintes et les meilleures pratiques pour la préparation des données d'entraînement CPT, consultezPréparation des données pour le CPT sur Amazon Nova 2.

Téléchargement de vos données

Téléchargez des ensembles de données d'entraînement et de validation dans un compartiment S3. Spécifiez ces emplacements dans le run bloc de la recette :

## Run config run: ... data_s3_path: "s3://<bucket-name>/<training-directory>/<training-file>.jsonl" validation_data_s3_path: "s3://<bucket-name>/<validation-directory>/<validation-file>.jsonl"
Note

Remplacez <bucket-name><training-directory>,<validation-directory>,<training-file>, et <validation-file> par des chemins S3 réels.

Définition de votre configuration

Définissez le modèle de base à l'aide model_name_or_path des champs model_type et du run bloc :

## Run config run: ... model_type: amazon.nova-2-lite-v1:0:256k model_name_or_path: nova-lite-2/prod ...

Paramètres de réglage CPT

Les paramètres disponibles pour le réglage fin avec CPT sont les suivants :

Configuration d’exécution

  • nom  : nom descriptif de votre poste de formation. Cela permet d'identifier votre tâche dans la console AWS de gestion.

  • model_type  : variante du modèle Amazon Nova à utiliser. Les options disponibles sontamazon.nova-2-lite-v1:0:256k.

  • model_name_or_path  : chemin vers le modèle de base à utiliser pour votre entraînement. Les options disponibles sontnova-lite-2/prod, ou le chemin S3 pour le point de contrôle post-entraînement ()s3://customer-escrow-bucket-unique_id/training_run_name.

  • répliques  : nombre d'instances de calcul à utiliser pour la formation distribuée. Les valeurs disponibles varient en fonction du modèle que vous choisissez. Amazon Nova Lite 2.0 prend en charge 4, 8, 16 ou 32 répliques.

  • data_s3_path  : emplacement S3 du jeu de données d'entraînement, qui est un fichier JSONL. Ce fichier doit résider dans le même AWS compte et la même région que le cluster. Tous les emplacements S3 fournis doivent se trouver dans le même compte et la même région.

  • validation_data_s3_path  : (Facultatif) L'emplacement S3 du jeu de données de validation, qui est un fichier JSONL. Ce fichier doit résider dans le même compte et la même région que le cluster. Tous les emplacements S3 fournis doivent se trouver dans le même compte et la même région.

  • output_s3_path  : emplacement S3 où le manifeste et les journaux sont stockés. TensorBoard Tous les emplacements S3 fournis doivent appartenir au même AWS compte et à la même AWS région.

  • mlflow_tracking_uri  : l'ARN de l'application MLflow à utiliser pour la journalisation MLflow

  • mlflow_experiment_name  : nom de l'expérience MLflow

  • mlflow_run_name : nom d'exécution de MLflow

Configuration d’entraînement

  • max_length  : longueur de séquence maximale en jetons. Détermine la taille de la fenêtre contextuelle pour l’entraînement. La valeur maximale prise en charge est de 8 192 jetons pour le CPT.

    Des séquences plus longues amélioreront l’efficacité de l’entraînement au prix d’une augmentation des exigences de mémoire. Nous vous recommandons de faire correspondre le paramètre max_length à votre distribution de données.

  • global_batch_size  : nombre total d'échantillons de formation traités ensemble en un seul passage avant ou arrière sur tous les appareils et tous les travailleurs.

    Cette valeur multiplie la taille du lot par appareil et le nombre d’appareils. Cela affecte la stabilité de l’entraînement et le débit. Nous vous recommandons de commencer par une taille de lot adaptée à la mémoire, puis d’augmenter verticalement à partir de là. Pour les données spécifiques à un domaine, des lots plus importants peuvent trop lisser les gradients.

Paramètres de l’entraîneur

  • max_steps  : nombre d'étapes d'entraînement à exécuter. Chaque étape entraînera le modèle avec le global_batch_size nombre d'éléments

Paramètres du modèle

  • hidden_dropout  : probabilité de supprimer les sorties d'état masquées. Augmentez cette valeur d’environ 0,0-0,2 pour réduire les surajustements sur de plus petits jeux de données. Les valeurs valides sont comprises entre 0 et 1 inclus.

  • attention_dropout  : probabilité de perte de poids d'attention. Ce paramètre peut faciliter la généralisation. Les valeurs valides sont comprises entre 0 et 1 inclus.

Configuration d’optimiseur

  • lr  : Le taux d'apprentissage, qui contrôle la taille des étapes lors de l'optimisation. Nous recommandons des valeurs comprises entre 1e-6 et 1e-4 pour de bonnes performances. Les valeurs valides sont comprises entre 0 et 1 inclus.

  • nom  : algorithme de l'optimiseur. Actuellement, seul distributed_fused_adam est pris en charge.

  • weight_decay  : force de régularisation L2. Des valeurs plus élevées (entre 0,01 et 0,1) augmentent la régularisation.

  • warmup_steps  : nombre d'étapes pour augmenter progressivement le taux d'apprentissage. Cela améliore la stabilité de l’entraînement. Les valeurs valides sont comprises entre 1 et 20 inclus.

  • min_lr  : taux d'apprentissage minimum à la fin de la décroissance. Les valeurs valides sont comprises entre 0 et 1 inclus, mais doivent être inférieures au taux d’apprentissage.