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
Themen
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