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.

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.

  • Integrierte 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.

  • Integriert MLFlow , um Trainingsexperimente mit SageMaker MLFlow KI-Tracking-Servern zu verfolgen.

Voraussetzungen

Das SDK benötigt mindestens 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 der Vorschulung Alle Nova-Modelle (nur SMHP)
Beaufsichtigte Feinabstimmung von LoRa Alle Nova-Modelle
Beaufsichtigte Feinabstimmung bei vollem Rang Alle Nova-Modelle (nur SMHP und SMTJ)
Direkte Präferenzoptimierung LoRa Nova 1.0-Modelle (nur SMHP und SMTJ)
Direkte Präferenzoptimierung mit vollem Rang Nova 1.0-Modelle (nur SMHP und SMTJ)
Feinabstimmung von LoRa durch Verstärkung Nova Lite 2.0
Feinabstimmung von Verstärkungen auf ganzer Linie Nova Lite 2.0 (nur SMHP und SMTJ)
Feinabstimmung von LoRa mit Multi-Turn-Verstärkungen Nova Lite 2.0 (nur SMHP)
Feinabstimmung der Verstärkung mit mehreren Windungen auf ganzer Linie Nova Lite 2.0 (nur SMHP)

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 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. 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, 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. Trainieren

Beginnen Sie das Training mit nur wenigen Codezeilen.

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. Überwachen

Verfolge deinen Trainingsfortschritt direkt im 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. Evaluieren

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

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. Bereitstellen

Implementieren Sie Ihr maßgeschneidertes Modell in der Produktion mit integrierter Unterstützung für Amazon Bedrock oder 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", } )

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 (Google-Proof-Fragen und Antworten für Hochschulabsolventen)

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 mit folgenden Optionen bereit:

  • 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 Inference in Echtzeit — Dedizierte Kapazität für gleichbleibende Leistung

Batch-Inferenz

Führen Sie umfangreiche Inferenzjobs effizient aus:

  • Verarbeiten Sie Tausende von Anfragen parallel

  • Automatische Ergebnisaggregation

  • Kostengünstige 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