Kit de développement logiciel Nova Forge - 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.

Kit de développement logiciel Nova Forge

Le SDK Nova Forge est un SDK Python complet permettant de personnaliser les modèles Amazon Nova. Le SDK fournit une interface unifiée pour la formation, l'évaluation, le suivi, le déploiement et l'inférence des modèles Amazon Nova sur différentes plateformes, notamment SageMaker AI et Amazon Bedrock. Que vous adaptiez des modèles à des tâches spécifiques à un domaine ou que vous optimisiez les performances pour votre cas d'utilisation, ce SDK fournit tout ce dont vous avez besoin dans une interface unifiée.

Avantages

  • Un seul SDK pour l'ensemble du cycle de personnalisation du modèle, de la préparation des données au déploiement et à la surveillance.

  • Support pour plusieurs méthodes d'entraînement, notamment le pré-entraînement continu (CPT), le réglage fin supervisé (SFT), l'optimisation directe des préférences (DPO) et le réglage fin du renforcement (RFT), à la fois en un tour ou en plusieurs tours, avec des approches LoRa et à classement complet.

  • Support intégré pour SageMaker Training Jobs et Amazon Bedrock, avec gestion automatique des ressources. SageMaker HyperPod

  • Plus besoin de trouver les recettes ou l'URI de conteneur adaptés à vos techniques d'entraînement.

  • Apportez vos propres recettes d'entraînement ou utilisez les paramètres intelligents par défaut du SDK avec des remplacements de paramètres.

  • Le SDK valide votre configuration par rapport aux combinaisons de modèles et d'instances prises en charge et fournit une assistance à la validation, évitant ainsi les erreurs avant le début de la formation.

  • CloudWatch La surveillance intégrée d'Amazon vous permet de suivre les progrès de la formation en temps réel.

  • Intégré MLFlow pour suivre les expériences d'entraînement avec des serveurs MLFlow de suivi basés sur l' SageMaker IA.

Exigences

Le SDK nécessite au moins Python 3.12.

Installation

Pour installer ce SDK, veuillez suivre la commande ci-dessous.

pip install amzn-nova-forge

Modèles et techniques pris en charge

Le SDK prend en charge les modèles et techniques suivants au sein de la famille Amazon Nova :

Method Modèles pris en charge
Pré-formation continue Tous les modèles Nova (SMHP uniquement)
Réglage précis supervisé de la LoRa Tous les modèles Nova
Réglage précis supervisé du classement complet Tous les modèles Nova (SMHP et SMTJ uniquement)
Optimisation directe des préférences LoRa Modèles Nova 1.0 (SMHP et SMTJ uniquement)
Optimisation directe des préférences, classement complet Modèles Nova 1.0 (SMHP et SMTJ uniquement)
Renforcement : réglage précis de la LoRa Nova Lite 2.0
Renfort, réglage précis du classement complet Nova Lite 2.0 (SMHP et SMTJ uniquement)
Renfort multitours, réglage précis de la LoRa Nova Lite 2.0 (SMHP uniquement)
Renfort à tours multiples, réglage précis du classement complet Nova Lite 2.0 (SMHP uniquement)

Démarrage

1. Préparez vos données

Chargez votre ensemble de données à partir de fichiers locaux ou de S3, et laissez le SDK gérer la transformation au format adapté à la méthode d'entraînement que vous avez choisie. Vous pouvez également fournir des données formatées et commencer immédiatement.

from amzn_nova_forge.dataset.dataset_loader import JSONLDatasetLoader from amzn_nova_forge.model.model_enums import Model, TrainingMethod loader = JSONLDatasetLoader(question="input", answer="output") loader.load("s3://your-bucket/training-data.jsonl") loader.transform(method=TrainingMethod.SFT_LORA, model=Model.NOVA_LITE)

2. Configurez votre infrastructure

Choisissez vos ressources de calcul : le SDK valide les configurations et garantit une configuration optimale.

from amzn_nova_forge.manager.runtime_manager import BedrockRuntimeManager, SMTJRuntimeManager, SMHPRuntimeManager # Bedrock runtime = BedrockRuntimeManager( execution_role="arn:aws:iam::123456789012:role/ExampleRole" ) # SageMaker Training Jobs runtime = SMTJRuntimeManager( instance_type="ml.p5.48xlarge", instance_count=4 ) # SageMaker HyperPod runtime = SMHPRuntimeManager( instance_type="ml.p5.48xlarge", instance_count=4, cluster_name="my-hyperpod-cluster", namespace="kubeflow" )

3. Entraînement

Commencez l'entraînement avec seulement quelques lignes de code.

from amzn_nova_forge.model import NovaModelCustomizer from amzn_nova_forge.model.model_enums import Model, TrainingMethod customizer = NovaModelCustomizer( model=Model.NOVA_LITE_2, method=TrainingMethod.SFT_LORA, infra=runtime, data_s3_path="s3://your-bucket/prepared-data.jsonl" ) result = customizer.train(job_name="my-training-job")

4. Surveillance

Suivez vos progrès d'entraînement directement depuis le SDK.

from amzn_nova_forge.monitor.log_monitor import CloudWatchLogMonitor # Monitor training logs customizer.get_logs() # Or monitor directly via CloudWatchLogMonitor monitor = CloudWatchLogMonitor.from_job_result(result) monitor.show_logs(limit=10) # Check job status result.get_job_status() # InProgress, Completed, Failed

5. Evaluer

Évaluez les performances du modèle à l'aide de divers benchmarks intégrés ou concevez vos propres évaluations.

from amzn_nova_forge.recipe_config.eval_config import EvaluationTask # Evaluate on benchmark tasks eval_result = customizer.evaluate( job_name="model-eval", eval_task=EvaluationTask.MMLU, model_path=result.model_artifacts.checkpoint_s3_path )

6. Déploiement

Déployez votre modèle personnalisé en production avec le support intégré pour Amazon Bedrock ou SageMaker.

from amzn_nova_forge.model.model_enums import DeployPlatform # Bedrock provisioned throughput deployment = customizer.deploy( model_artifact_path=result.model_artifacts.checkpoint_s3_path, deploy_platform=DeployPlatform.BEDROCK_PT, unit_count=10 ) # Bedrock On-Demand deployment = customizer.deploy( model_artifact_path=result.model_artifacts.checkpoint_s3_path, deploy_platform=DeployPlatform.BEDROCK_OD ) # Sagemaker Real-time Inference deployment = customizer.deploy( model_artifact_path=result.model_artifacts.checkpoint_s3_path, deploy_platform=DeployPlatform.SAGEMAKER, unit_count=10, sagemaker_instance_type="ml.p5.48xlarge", sagemaker_environment_variables={ "CONTEXT_LENGTH": "12000", "MAX_CONCURRENCY": "16", } )

Capacités clés

Création de recettes à la volée

Le SDK élimine le besoin de rechercher les recettes ou l'URI de conteneur appropriés pour des techniques spécifiques.

Traitement intelligent des données

Le SDK transforme automatiquement vos données dans le format approprié pour l'entraînement. Que vous travailliez avec des fichiers JSON, JSONL ou CSV, le chargeur de données gère la conversion de manière fluide. Data Loader prend en charge le texte ainsi que les données multimodales (images et vidéos).

Support de l'infrastructure d'entreprise

Le SDK fonctionne à la fois avec les tâches de SageMaker formation et SageMaker HyperPod gère automatiquement :

  • Validation du type d'instance

  • Validation des recettes

  • Validation d’un jeu de données

  • Orchestration et surveillance des tâches

Le SDK prend également en charge SageMaker Training Jobs sans serveur et la personnalisation de Bedrock.

Évaluation complète

Évaluez vos modèles personnalisés par rapport à des critères de référence standard, notamment :

  • MMLU (compréhension massive du langage multitâche)

  • BBH (Tâches de raisonnement avancées)

  • GPQA (questions-réponses Google-Proof de niveau supérieur)

Utilisez les valeurs de référence par défaut ou modifiez-les en fonction de vos besoins :

  • BYOM (apportez votre propre métrique)

  • BYOD (apportez votre propre ensemble de données)

Déploiement en production

Déployez vos modèles sur Amazon Bedrock ou SageMaker avec des options pour :

  • Débit provisionné Bedrock : capacité dédiée pour des performances constantes

  • Bedrock On-Demand (applicable uniquement à la personnalisation basée sur LoRa) - tarification Pay-per-use

  • Inférence en temps réel Sagemaker - Capacité dédiée pour des performances constantes

Inférence par lots

Exécutez efficacement des tâches d'inférence à grande échelle :

  • Traitez des milliers de demandes en parallèle

  • Agrégation automatique des résultats

  • Traitement par lots rentable

Nova Forge

Pour les abonnés de Nova Forge, le SDK prend en charge les recettes de mixage de données.

En savoir plus

Prêt à commencer à personnaliser les modèles Nova avec le SDK Nova Forge ? Consultez notre GitHub référentiel pour des guides détaillés, des références d'API et des exemples supplémentaires : https://github.com/aws/nova-forge-sdk