View a markdown version of this page

Nova Forge SDK - Amazon Nova

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Nova Forge SDK

Das Nova Forge SDK ist ein umfassendes Python-SDK zur Anpassung von Amazon Nova-Modellen. Das SDK bietet eine einheitliche Oberfläche für Training, Evaluierung, Überwachung, Bereitstellung und Inferenz von Amazon Nova-Modellen auf verschiedenen Plattformen, einschließlich SageMaker KI und Amazon Bedrock. Ganz gleich, ob Sie Modelle an domänenspezifische Aufgaben anpassen oder die Leistung für Ihren Anwendungsfall optimieren möchten, dieses SDK bietet alles, was Sie benötigen, in einer einheitlichen Oberfläche.

Gehen Sie wie folgt vor, um von der Installation zu Ihrem ersten Schulungsjob zu gelangen:

Vorteile

  • Ein SDK für den gesamten Lebenszyklus der Modellanpassung — von der Datenvorbereitung über die Bereitstellung bis hin zur Überwachung.

  • Support mehrerer Trainingsmethoden, darunter Continued Pre-Training (CPT), Supervised Fine-Tuning (SFT), Direct Preference Optimization (DPO) und Reinforcement Fine-Tuning (RFT), sowohl mit Singleturn als auch mit Multi-Turn, sowohl mit LoRa- als auch mit Full-Rank-Ansätzen.

  • Built-in Unterstützung für SageMaker Training Jobs und Amazon Bedrock mit automatischem Ressourcenmanagement. SageMaker HyperPod

  • Sie müssen nicht mehr nach den richtigen Rezepten oder Container-URI für Ihre Trainingstechniken suchen.

  • Bringen Sie Ihre eigenen Trainingsrezepte mit oder verwenden Sie die intelligenten Standardeinstellungen des SDK mit Parameterüberschreibungen.

  • Das SDK validiert Ihre Konfiguration anhand unterstützter Modell- und Instanzkombinationen und bietet Validierungsunterstützung, wodurch Fehler vor Trainingsbeginn vermieden werden.

  • Mit der integrierten CloudWatch Amazon-Überwachung können Sie den Trainingsfortschritt in Echtzeit verfolgen.

  • Integrierter MLflow zur Verfolgung von Trainingsexperimenten mit SageMaker KI-MLflow-Tracking-Servern.

Voraussetzungen

Unterstützte Python-Versionen

Das Nova Forge SDK wurde getestet auf:

  • Python 3.12

Installation

Um dieses SDK zu installieren, folgen Sie bitte dem folgenden Befehl.

pip install amzn-nova-forge

Unterstützte Modelle und Techniken

Das SDK unterstützt die folgenden Modelle und Techniken innerhalb der Amazon Nova-Familie:

Methode Unterstützte Modelle
Fortsetzung Pre-training Alle Nova-Modelle (nur SMHP)
Betreute LoRa Fine-tuning Alle Nova-Modelle
Beaufsichtigt Fine-tuning Full-Rank Alle Nova-Modelle (nur SMHP und SMTJ)
Direkte Präferenzoptimierung LoRa Nova 1.0-Modelle (nur SMHP und SMTJ)
Direkte Präferenzoptimierung Full-Rank Nova 1.0-Modelle (nur SMHP und SMTJ)
Fine-tuning Verstärkung LoRa Nova Lite 2.0
Verstärkung Fine-tuning Full-Rank Nova Lite 2.0 (nur SMHP und SMTJ)
Multi-turn Fine-tuning Verstärkung LoRa Nova Lite 2.0
Multi-turn Verstärkung Fine-tuning Full-Rank Nova Lite 2.0

Multi-turn Ergebnisse des verstärkenden Lernens

Ein Restricted Model Package (RMP) ist ein SageMaker KI-Modellpaket, das proprietäre Modellartefakte in einem plattformverwalteten Treuhandspeicher verpackt. Mit RMPs können Sie die Verwendung dieser Modelle mithilfe von IAM-Richtlinien autorisieren und kontrollieren, ohne direkten Zugriff auf die zugrunde liegenden Artefakte zu gewähren. Modelldaten können nicht direkt heruntergeladen, exportiert oder angezeigt werden. Es kann nur innerhalb autorisierter AWS-Services verwendet werden. RMPs existieren innerhalb von Modellpaketgruppen, die mit StorageType: "Restricted" gekennzeichnet sind.

Wenn Sie ein Modell mithilfe von Multi-Turn Reinforcement Learning (MTRL) auf SageMaker Training Jobs Serverless trainieren, wird die Ausgabe als RMP-ARN innerhalb einer Modellpaketgruppe und nicht als S3-Pfad bereitgestellt. Dies unterscheidet sich von anderen Trainingsmethoden (wie SFT, DPO oder RFT), bei denen es sich bei der Ausgabe um einen S3-Pfad zum Modell-Checkpoint handelt.

Um MTRL zu verwenden, geben Sie model_package_group_name in der Laufzeitkonfiguration a an, um die Trainingsausgabe zu erhalten. Sobald der Job abgeschlossen ist, können Sie auf den Ausgabe-RMP-ARN verweisen, um das trainierte Modell auszuwerten. Die Verwendung eines RMP als Eingabe für einen nachfolgenden Trainingsjob — beispielsweise zur Verkettung von MTRL-Läufen in einen iterativen Trainingsablauf — ist für das dritte Quartal 2026 geplant. Weitere Informationen und Codebeispiele finden Sie unter Eingeschränkte Modellpakete.

Erste Schritte

1. Bereiten Sie Ihre Daten vor

Laden Sie Ihren Datensatz aus lokalen Dateien oder S3 und lassen Sie das SDK die Transformation in das richtige Format für die von Ihnen gewählte Trainingsmethode durchführen. Oder stellen Sie formatierte Daten bereit und legen Sie sofort los.

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

2. Konfigurieren Sie Ihre Infrastruktur

Wählen Sie Ihre Rechenressourcen aus — das SDK validiert Konfigurationen und sorgt für eine optimale Einrichtung.

from amzn_nova_forge.manager.runtime_manager import BedrockRuntimeManager, SMTJRuntimeManager, SMTJServerlessRuntimeManager, 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 Training Jobs Serverless runtime = SMTJServerlessRuntimeManager( model_package_group_name = "my-package" ) # SageMaker HyperPod runtime = SMHPRuntimeManager( instance_type="ml.p5.48xlarge", instance_count=4, cluster_name="my-hyperpod-cluster", namespace="kubeflow" )

3. Trainieren

Beginnen Sie das Training mit nur wenigen Codezeilen.

from amzn_nova_forge.trainer.forge_trainer import ForgeTrainer from amzn_nova_forge.model.model_enums import Model, TrainingMethod from amzn_nova_forge.core import ForgeConfig trainer = ForgeTrainer( model=Model.NOVA_LITE_2, method=TrainingMethod.SFT_LORA, infra=runtime, training_data_s3_path="s3://your-bucket/sft/prepared-data.jsonl", # Training data path config=ForgeConfig( output_s3_path="s3://your-bucket/output", ), ) result = trainer.train(job_name="my-training-job")

4. Überwachen

Verfolge deinen Trainingsfortschritt direkt im SDK.

from amzn_nova_forge.monitor.log_monitor import CloudWatchLogMonitor # Monitor training logs trainer.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. Evaluieren

Bewerten Sie die Modellleistung mit einer Vielzahl integrierter Benchmarks oder entwerfen Sie Ihre eigenen Bewertungen.

from amzn_nova_forge.evaluator import ForgeEvaluator from amzn_nova_forge.recipe_config.eval_config import EvaluationTask evaluator = ForgeEvaluator( model=Model.NOVA_LITE_2, infra=runtime, config=ForgeConfig( output_s3_path="s3://your-bucket/output", ), data_s3_path="s3://your-bucket/eval-data/data.jsonl" ) # Evaluate on benchmark tasks eval_result = evaluator.evaluate( job_name="model-eval", eval_task=EvaluationTask.MMLU, model_path=result.model_artifacts.checkpoint_s3_path )

6. Bereitstellen

Implementieren Sie Ihr maßgeschneidertes Modell in der Produktion mit integrierter Unterstützung für Amazon Bedrock oder SageMaker.

from amzn_nova_forge.deployer import ForgeDeployer from amzn_nova_forge.model.model_enums import DeployPlatform, Model deployer = ForgeDeployer( region="us-east-1", model=Model.NOVA_LITE_2, ) # Bedrock provisioned throughput deployment = deployer.deploy( model_artifact_path=result.model_artifacts.checkpoint_s3_path, deploy_platform=DeployPlatform.BEDROCK_PT, unit_count=10 ) # Bedrock On-Demand deployment = deployer.deploy( model_artifact_path=result.model_artifacts.checkpoint_s3_path, deploy_platform=DeployPlatform.BEDROCK_OD ) # Sagemaker Real-time Inference deployment = deployer.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", } )

Die wichtigsten Funktionen

Rezepterstellung im Handumdrehen

Das SDK macht die Suche nach den entsprechenden Rezepten oder Container-URI für bestimmte Techniken überflüssig.

Intelligente Datenverarbeitung

Das SDK wandelt Ihre Daten automatisch in das richtige Format für das Training um. Egal, ob Sie mit JSON-, JSONL- oder CSV-Dateien arbeiten, der Data Loader wickelt die Konvertierung nahtlos ab. Data Loader unterstützt sowohl Text als auch multimodale Daten (Bilder und Videos).

Support der Unternehmensinfrastruktur

Das SDK funktioniert sowohl mit SageMaker Training Jobs als auch SageMaker HyperPod mit der automatischen Verwaltung von:

  • Validierung des Instanztyps

  • Validierung des Rezepts

  • Datensatzvalidierung

  • Orchestrierung und Überwachung von Job

Das SDK unterstützt auch serverlose SageMaker Trainingsjobs und die Anpassung von Bedrock.

Umfassende Bewertung

Bewerten Sie Ihre maßgeschneiderten Modelle anhand von Standard-Benchmarks, darunter:

  • MMLU (Massives Multitasking Language Understanding)

  • BBH (Aufgaben zum Denken für Fortgeschrittene)

  • GPQA (Fragen und Antworten) Graduate-Level Google-Proof

Verwenden Sie entweder die Benchmark-Standardeinstellungen oder passen Sie sie an Ihre Bedürfnisse an:

  • BYOM (Bringen Sie Ihre eigene Metrik mit)

  • BYOD (Bringen Sie Ihren eigenen Datensatz mit)

Einsatz in der Produktion

Stellen Sie Ihre Modelle auf Amazon Bedrock oder SageMaker AI bereit und bieten Sie Optionen für:

  • Bedrock Provisioned Throughput — Dedizierte Kapazität für gleichbleibende Leistung

  • Bedrock On-Demand (gilt nur für LoRa-basierte Anpassungen) — Preisgestaltung Pay-per-use

  • SageMaker KI Real-time Inference — Dedizierte Kapazität für gleichbleibende Leistung

Batch-Inferenz

Führen Sie umfangreiche Inferenzjobs effizient aus:

  • Verarbeiten Sie Tausende von Anfragen parallel

  • Automatische Ergebnisaggregation

  • Cost-effective Batch-Verarbeitung

Nova Forge

Für Abonnenten von Nova Forge unterstützt das SDK Rezepte zum Mischen von Daten.

Weitere Informationen

Sind Sie bereit, mit der Anpassung von Nova-Modellen mit dem Nova Forge SDK zu beginnen? In unserem GitHub Repository finden Sie ausführliche Anleitungen, API-Referenzen und weitere Beispiele: https://github.com/aws/nova-forge-sdk