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.
Beaufsichtigte Feinabstimmung
Einführung
Bei der überwachten Feinabstimmung werden Datensätze mit Input-Output-Paaren für die jeweilige Aufgabe verwendet. Mit anderen Worten, Sie geben Beispiele für Eingabeaufforderungen (Fragen, Anweisungen usw.) zusammen mit den richtigen oder gewünschten Antworten und setzen das Training des Modells anhand dieser Antworten fort. Die Gewichtung des Modells wird so angepasst, dass ein überwachter Verlust, typischerweise eine Kreuzentropie zwischen den Vorhersagen und den Ziel-Antwort-Tokens, minimiert wird.
Wann sollte SFT verwendet werden?
SFT eignet sich am besten, wenn Sie eine klar definierte Aufgabe mit klar definierten Ergebnissen haben. Wenn Sie explizit sagen können: „Bei gegebener X-Eingabe ist die correct/desired Ausgabe Y“ und Sie können Beispiele für solche XY-Mappings sammeln, dann ist die überwachte Feinabstimmung eine gute Wahl. Zu den Szenarien, in denen SFT hervorragende Leistungen erbringt, gehören:
-
Strukturierte oder komplexe Klassifizierungsaufgaben: z. B. Klassifizierung interner Dokumente oder Verträge in viele benutzerdefinierte Kategorien. Mit SFT kann das Modell diese spezifischen Kategorien viel besser lernen, als wenn es nur Eingabeaufforderungen erfordert.
-
Aufgaben zur Beantwortung von Fragen oder zur Transformation mit bekannten Antworten: z. B. Feinabstimmung eines Modells zur Beantwortung von Fragen aus der Wissensdatenbank eines Unternehmens oder zur Konvertierung von Daten zwischen Formaten, wobei jede Eingabe eine richtige Antwort hat.
-
Einheitlichkeit bei Formatierung und Stil: Wenn Sie möchten, dass das Modell immer in einem bestimmten Format oder Ton reagiert, können Sie anhand von Beispielen für das richtige Format/den richtigen Ton eine Feinabstimmung vornehmen. Wenn Sie beispielsweise anhand von Paaren zwischen Aufforderung und Antwort trainieren, die eine bestimmte Markensprache oder einen bestimmten Stil vermitteln, können Sie dem Modell beibringen, diesen Stil in seinen Ausgaben zu berücksichtigen. Das Verhalten bei der Befolgung von Anweisungen wird häufig zunächst anhand von kuratierten Beispielen für gutes Assistenzverhalten anhand von SFT vermittelt.
SFT ist der direkteste Weg, einem LLM eine neue Fähigkeit oder ein neues Verhalten beizubringen, wenn Sie angeben können, wie das richtige Verhalten aussieht. Es nutzt das bestehende Sprachverständnis des Modells und konzentriert es auf Ihre Aufgabe. Verwenden Sie SFT nicht, wenn die Lücke eher im Wissen als im Verhalten besteht. Dadurch lernt das Modell nicht neue Fakten, Fachjargon oder aktuelle Ereignisse. In diesen Fällen sollten Sie lieber fortlaufende Vorschulungen an großen unternehmensinternen Korpora oder eine generierte Generierung vornehmen, um externes Wissen als Inferenz heranzuziehen. Wenn Sie die Qualität messen können, aber keine einzige Antwort als richtig bezeichnen können, ist eine verstärkte Feinabstimmung mit nachweisbaren Prämien oder an möglicherweise der SFT vorzuziehen. LLM-as-judge
Planen Sie je nach Aufgabenkomplexität und Leistung des Nova-Modells ohne Feinabstimmung Tausende bis Zehntausende von Demonstrationen pro Aufgabe ein, wobei Datenqualität, Konsistenz und Vielfalt wichtiger sind als das reine Volumen.
Wann sollte Parametereffizienz und wann SFT mit vollem Rang eingesetzt werden?
Mit den Anpassungsrezepten von Nova können Sie parametereffizient arbeiten, insbesondere LoRa oder Full-Rank-SFT. Wenn Sie eine einfache, kosteneffiziente Modellaktualisierung wünschen oder nur über sehr wenige Daten verfügen, bevorzugen Sie parametereffiziente Methoden, sodass Sie kleine Adapter trainieren und gleichzeitig den größten Teil des Backbones unberührt lassen (SFT mit vollem Rang aktualisiert alle Modellparameter).
Datenmischung für SFT
Durch das Mischen von Daten können Sie Ihre benutzerdefinierten Trainingsdatensätze mit den firmeneigenen Trainingsdaten von Nova kombinieren. Diese Funktion ist sowohl für Nova 1.0- als auch für Nova 2.0-Modelle verfügbar.
Proprietärer Nova-Datentyp: Nova unterstützt sowohl Text- als auch multimodale SFT-Datentypen. Es ist in mehrere Datenkategorien unterteilt, die jeweils eine Mischung von Aufgaben enthalten, die für die entsprechende Kategorie relevant sind.
Proprietäre Datenkategorien von Nova: Textdatensätze umfassen mehrere Kategorien, darunter: autonome Entscheidungsfindung, Aufgabenerfüllung, zielorientierte Datensätze (Agenten), sowohl logische als auch unlogische Datensätze zur präzisen Aufgabenausführung (reasoning-instruction-following, Befolgung von Anweisungen), Sequenzen, die strategisches Denken und step-by-step Aufgabenzusammensetzung (Planung) demonstrieren, verantwortungsvolle KI (RAI), Langkontext, Sachlichkeit, Mathematik, MINT und vieles mehr. In ähnlicher Weise umfassen multimodale Datensätze Videos, Screenshots, Diagramme und vieles mehr.
Mit der Funktion zum Mischen von Daten können Sie Ihre eigenen Trainingsproben zur Feinabstimmung mit Stichproben aus den Nova-Datensätzen kombinieren, die zur Feinabstimmung des Nova verwendet wurden. Auf diese Weise können Sie verhindern, dass Ihr individuelles Training zu stark beansprucht wird und Sie die Nova-Fähigkeiten „katastrophal vergessen“, oder Sie können Fähigkeiten aufbauen, wenn Sie von einem neuen, vortrainierten Checkpoint aus trainieren.
Um Nova-Daten zu mischen, müssen Sie lediglich einen data_mixing-Block zu Ihrer YAML-Rezeptdatei im Abschnitt training_config hinzufügen. Text- und multimodale Datenmischblöcke haben unterschiedliche Inhalte, und Datenmischblöcke unterscheiden sich für Nova 1.0 und Nova 2.0 etwas. Bitte beachten Sie die entsprechenden Rezepte.
Unterstützte Modelle
Nova 1.0 (Micro, Lite, Pro)
Nova 2.0 Lite
Unterstützte Modalität
Text
Multimodal
Beispiele für YAML-Konfigurationen
Beispiel für einen Datenmischblock für Nova 1.0-Textmischung
## Run config run: name: "my-lora-run" # A descriptive name for your training job model_type: "amazon.nova-lite-v1:0:300k" # Model variant specification, do not change model_name_or_path: "nova-lite/prod" # Base model path, do not change replicas: 4 # Number of compute instances for training, allowed values are 4, 8, 16 data_s3_path: "" # Customer data path output_s3_path: "" # Output artifact path, SageMaker HyperPod job-specific configuration - not compatible with standard SageMaker Training jobs ## MLFlow configs mlflow_tracking_uri: "" # Required for MLFlow mlflow_experiment_name: "my-lora-experiment" # Optional for MLFlow. Note: leave this field non-empty mlflow_run_name: "my-lora-run" # Optional for MLFlow. Note: leave this field non-empty ## Training specific configs training_config: max_length: 32768 # Maximum context window size (tokens). global_batch_size: 64 # Global batch size, allowed values are 16, 32, 64 trainer: max_epochs: 2 # Number of training epochs 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 ffn_dropout: 0.0 # Dropout for feed-forward networks, must be between 0.0 and 1.0 optim: 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 betas: # Adam optimizer betas, must be between 0.0 and 1.0 - 0.9 - 0.999 sched: warmup_steps: 10 # Learning rate warmup steps constant_steps: 0 # Steps at constant learning rate min_lr: 1e-6 # Minimum learning rate peft: peft_scheme: "lora" # Enable LoRA for parameter-efficient fine-tuning lora_tuning: loraplus_lr_ratio: 8.0 # LoRA+ learning rate scaling factor, must be between 0.0 and 100.0 alpha: 32 # Scaling factor for LoRA weights. Allowed values are 32, 64, 96, 128, 160 and 192 adapter_dropout: 0.01 # Regularization for LoRA parameters. Must be between 0.0 and 1.0 data_mixing: dataset_catalog: sft_text # Nova text dataset catalog sources: customer_data: percent: 50 # Percent of overall mix to draw from customer data nova_data: # The remainder will be drawn from Nova data. The categories below must add to 100 agents: 1 # autonomous decision-making, task completion, goal-oriented behavior in AI systems chat: 51 # Conversational exchanges demonstrating natural dialogue flow code: 8 # Programming examples and solutions spanning multiple languages rai: 1 # ethical AI principles, safety considerations, and responsible technology deployment instruction-following: 13 # precise task execution based on varying levels of user prompts and directives stem: 6 # science, technology, engineering, and mathematics content planning: 2 # sequences demonstrating strategic thinking and step-by-step task breakdown reasoning: 8 # logical problem-solving and analytical thinking demonstrations rag: 1 # retrieval-augmented generation examples translation: 9 # language translation tasks
Konfigurationsbeispiel für Nova 2.0
run: name: my-lora-sft-run model_type: amazon.nova-2-lite-v1:0:256k model_name_or_path: nova-lite-2/prod data_s3_path: s3://my-bucket-name/train.jsonl replicas: 4 output_s3_path: s3://my-bucket-name/outputs/ mlflow_tracking_uri: "" mlflow_experiment_name: "my-lora-sft-experiment" mlflow_run_name: "my-lora-sft-run" training_config: max_steps: 100 save_steps: 10 save_top_k: 5 max_length: 32768 global_batch_size: 32 reasoning_enabled: true lr_scheduler: warmup_steps: 15 min_lr: 1e-6 optim_config: lr: 1e-5 weight_decay: 0.0 adam_beta1: 0.9 adam_beta2: 0.95 peft: peft_scheme: "lora" lora_tuning: alpha: 64 lora_plus_lr_ratio: 64.0
Mischen von Nova 2.0-Textdaten
data_mixing: dataset_catalog: sft_1p5_text_chat sources: customer_data: percent: 50 nova_data: agents: 1 baseline: 10 chat: 0.5 code: 10 factuality: 0.1 identity: 1 long-context: 1 math: 2 rai: 1 instruction-following: 13 stem: 0.5 planning: 10 reasoning-chat: 0.5 reasoning-code: 0.5 reasoning-factuality: 0.5 reasoning-instruction-following: 45 reasoning-math: 0.5 reasoning-planning: 0.5 reasoning-rag: 0.4 reasoning-rai: 0.5 reasoning-stem: 0.4 rag: 1 translation: 0.1
Nova 1.0 Multimodales Mischen von Daten
data_mixing: dataset_catalog: sft_mm sources: customer_data: percent: 50 nova_data: agents: 11 docs: 17 perception: 10 rag: 4 rai: 3 reasoning: 10 stem: 17 text: 10 video: 18
Nova 2.0 Multimodales Mischen von Daten
data_mixing: dataset_catalog: sft_1p5_mm_chat sources: customer_data: percent: 50 nova_data: charts: 1 chat: 38 code: 20 docs: 3 general: 2 grounding: 1 rag: 4 screenshot: 4 text: 8 translation: 4 video: 15
Checkpoints modellieren
Nova 1.0-Checkpoints
-
VORTRAINIERT [
nova-<micro/lite/pro>/pretraining-text-partial]: Checkpoint nach der Phase des Nova-Vortrainings mit konstanter Lernrate, in der das Modell mit Billionen von Text-Tokens trainiert wird. [Ergebnis der ersten Phase] -
MITTELTRAINIERT [
nova-<micro/lite/pro>/pretraining-text-full]: Nach allen Phasen des Nova-Vortrainings und der Trainingsmitte mit Billionen von Text-Tokens wird nur Text angezeigt. Verwenden Sie diese Option, wenn Sie nicht möchten, dass das Modell multimodale Daten erfasst hat. [Ergebnis von Phase 3] -
MITTELTRAINIERT [
nova-<lite/pro>/pretraining-mm-full]: Kontrollpunkt nach allen Phasen des Nova-Vortrainings und der Trainingsmitte, einschließlich multimodaler Daten, mit Billionen von Tokens. [Ergebnis von Phase 3 mit multimodalen Daten] -
FINAL [
nova-<micro/lite/pro>/prod]: Vollständig ausgerichteter letzter Checkpoint, der alle Schritte vor und nach dem Training durchlaufen hat. [Ergebnis der vierten Phase]
Nova 2.0-Checkpoints
-
VORGESCHULT [
nova-lite-2/pretraining-text-RD]: Kontrollpunkt nach einer konstanten Lernrate und nach dem Herunterfahren, in denen das Modell mit Billionen von Tokens trainiert wird. [Ergebnis von Phase 2] -
nova-lite-2/pretraining-text-CEMID-TRAINED []: Ermöglicht es Kunden mit mittleren Mengen unstrukturierter Daten, ihre Daten mit einer konservativeren Lernrate als vor dem Training einzuführen, wodurch domänenspezifisches Wissen vermittelt und gleichzeitig katastrophales Vergessen vermieden wird. [Ergebnis von Phase 3] -
FINAL [
nova-lite-2/prod]: Vollständig ausgerichteter letzter Checkpoint, der alle Schritte vor und nach dem Training durchlaufen hat. [Ergebnis der vierten Phase]
Phasen der Ausbildung:
Phase 1: PT Ckpt, anfängliches Vortraining mit konstanter Lernrate
Stufe 2: PT Ckpt, Senkung der Lernrate
Stufe 3: PT Ckpt, Schulung zur Erweiterung des Kontextes
Stufe 4: Schulung im Anschluss an die Schulung und Sicherheitstraining
Ausbildungsansätze
| Datentyp | Datenvolumen | Durchführen | Mit Checkpoint |
|---|---|---|---|
| Umfangreiche unstrukturierte Domain-Rohdaten (Dokumente, Protokolle, Artikel, Code usw.) | 1T+ Tokens | Fortsetzung der Vorschulung | Ende der Constant Learning Rate (CLR) |
| Umfangreiche unstrukturierte Domain-Rohdaten | Über 100 Milliarden Tokens | Mitten im Training | Ende von CLR |
| Kleinere Mengen unstrukturierter Rohdaten; Spuren strukturierter Argumentationen/CoT-Daten | Mehr als 1 Milliarde Tokens | Mitten im Training | Nova-Basismodell |
| Strukturierte Demonstrationen (hochwertige Input-Output-Paare, kuratierte Aufgabenanweisungen, Multi-Turn-Dialoge) | Über 1.000 Beispiele | Überwachte Feinabstimmung (SFT) | Nova-Basismodell |
Voraussetzungen, bevor Sie beginnen
-
Wir gehen davon aus, dass Sie bereits einen SMHP-Cluster mit einer eingeschränkten Instanzgruppe (RIG) eingerichtet haben, die über aktive Kapazität verfügt. Falls nicht, finden Sie hier Informationen zur Fertigstellung Ihres SMHP-Clusters und Ihres RIG-Setups [Docs-Link, Workshop-Link
] -
Sie benötigen p5.48xlarge EC2-Instances, um dieses Rezept auszuführen. Die Mindestanzahl an Instanzen, die für die effiziente Ausführung dieses Rezepts erforderlich ist, ist wie folgt:
Nova Lite 2.0 - 4 p5.48xlarge
Nova Lite 1.0 — 4 p 5.48xlarge
Nova Micro 1.0 — 4 p 5.48xlarge
Nova Pro 1.0 — 6 p 5,48 x groß
-
Installieren Sie die Forge-spezifische SageMaker HyperPod CLI mithilfe der hier
bereitgestellten Anweisungen -
Vergewissern Sie sich, dass Sie mit Ihrem Cluster eine Verbindung herstellen können
hyperpod get-clustersBeachten Sie, dass dieser Befehl alle SMHP-Cluster in Ihrem Konto auflistet
-
Vergewissern Sie sich, dass Ihre Trainings- und optional Validierungsdaten in einem S3-Bucket verfügbar sind, auf den die Ausführungsrolle Ihres SMHP-Clusters zugreifen kann. Informationen zur Datenaufbereitung finden Sie im nächsten Abschnitt.
-
Lassen Sie die Einrichtung abgeschlossen haben. Wenn Sie die Einrichtung noch nicht abgeschlossen haben, folgen Sie bitte der folgenden Anleitung.
-
Überprüfung: Stellen Sie nach Abschluss der Einrichtung sicher, dass Sie die folgenden Befehle erfolgreich ausführen können
aws sagemaker describe-cluster --cluster-name <cluster-name> --region <region> hyperpod connect-cluster --cluster-name cluster-name
Ein systematischer Ansatz für eine erfolgreiche SFT
-
Datenvorbereitung: Folgen Sie den festgelegten Richtlinien, um Datensätze zu erstellen, zu bereinigen oder neu zu formatieren, sodass sie die erforderliche Struktur haben. Stellen Sie sicher, dass Eingaben, Ausgaben und Zusatzinformationen (wie Argumentationsspuren oder Metadaten) richtig aufeinander abgestimmt und formatiert sind.
-
Trainingskonfiguration: Definieren Sie, wie das Modell trainiert werden soll. Bei Verwendung von Amazon SageMaker HyperPod wird diese Konfiguration in eine YAML-Rezeptdatei geschrieben, die Folgendes beinhaltet:
Datenquellenpfade (Trainings- und Validierungsdatensätze)
Wichtige Hyperparameter (Anzahl der Trainingsschritte, Lernrate, Batchgröße)
Optionale Komponenten (verteilte Trainingsparameter usw.)
Einstellung zur Datenmischung (definiert die Proportionen der Kunden- und Nova-Datenkategorien)
-
Optimieren Sie die SFT-Hyperparameter: Die von uns empfohlenen Werte für die SFT-Rezepturparameter sind ein guter Ausgangspunkt und eine solide Wahl. Wenn Sie sie für Ihren Anwendungsfall weiter optimieren möchten, führen Sie mehrere SFT-Läufe mit unterschiedlichen Parameterkombinationen durch und wählen Sie die beste aus. Sie können Parameterkombinationen anhand der Hyperparameter-Optimierungsmethode Ihrer Wahl auswählen. Ein einfacher Ansatz besteht darin, den Wert eines Parameters (Standard*0.5, Standard, Standard*2) zu variieren und gleichzeitig einen anderen Standardwert für andere Parameter beizubehalten. Wiederholen Sie dies für jeden Parameter, den Sie optimieren möchten, und iterieren Sie bei Bedarf. Die wichtigsten Parameter für LoRa sind Lernrate, Alpha (Skalierungsparameter), Anzahl der zu trainierenden Epochen und Aufwärmschritte; für den vollen Rang sind es hauptsächlich die Lernrate, die Anzahl der Epochen und die Aufwärmschritte.
Sequenzierung von Experimenten und Mischen von Daten
-
Wenn Sie nur SFT-Daten (train/dev/test) für eine Reihe von Aufgaben haben und Sie sich nur um die Testleistung bei diesen Aufgaben kümmern
Führen Sie am [FINAL] Nova-Checkpoint SFT aus, ohne zu mischen. Verwenden Sie die standardmäßigen SFT-Hyperparameter und optimieren Sie sie optional für Ihren Anwendungsfall. Monitorvalidierungsmetriken and/or bewerten Zwischenprüfpunkte für größere Datensätze.
-
Wenn Sie nur über SFT-Daten (train/dev/test) für eine Reihe von Aufgaben verfügen und Ihnen die Testleistung bei diesen Aufgaben sowie allgemeine Benchmarks im betreffenden Bereich wichtig sind
Führen Sie zunächst SFT mit Nova-Datenmischung an einem Checkpoint vor dem Training durch (PRE-TRAINED oder MID-TRAINED Checkpoint, nicht FINAL). Durch die Verwendung eines Zwischenprüfpunkts kann das Modell Ihre benutzerdefinierten Daten besser in die firmeneigenen Daten von Nova integrieren und gleichzeitig die starken allgemeinen Funktionen beibehalten.
Führen Sie kürzere SFT-Trainingsläufe mit unterschiedlicher Menge an Nova-Daten in der Mischung (z. B. 10%, 25%, 50%, 75%) und Nova-Datenkategorien durch, die Ihren Anwendungsfall ergänzen (z. B. wählen Sie Anweisung nach Kategorie, wenn Sie Wert auf allgemeine Fähigkeiten legen). Überwachen Sie die Validierungsmetriken und bewerten Sie, ob das Mischen die Leistung bei allgemeinen Benchmarks verbessert. Wählen Sie den Trainingsmix und den Checkpoint aus, der zu der besten Kombination aus Leistung bei Ihrer Aufgabe und allgemeiner Leistung führt. Je nach Anwendungsfall können sowohl die Leistung der Aufgaben als auch die allgemeine Leistung durch Reinforcement Fine Tuning (RFT) weiter verbessert werden.
Datensatz für SFT vorbereiten
Nova 2.0: Verwenden Sie das Converse-API-Format wie für Nova 1.0 https://docs.aws.amazon.com/bedrock/ latest/userguide/conversation -inference-call.html. Das Nova 2.0-Datenformat kann zusätzliche Felder zur Argumentation enthalten: https://docs.aws.amazon.com/bedrock/ latest/APIReference/API _runtime_ .html ReasoningContentBlock
Der Inhalt der Argumentation erfasst die zwischengeschalteten Denkschritte des Modells, bevor eine endgültige Antwort generiert wird. Verwenden assistant Sie anschließend das reasoningContent Feld, um Argumentationsspuren einzufügen. Verwenden Sie Klartext für Argumentationsinhalte, vermeiden Sie Markup-Tags wie <thinking> und, </thinking> sofern dies nicht ausdrücklich für Ihre Aufgabe erforderlich ist, und stellen Sie sicher, dass der Inhalt der Argumentation klar und relevant für den Problemlösungsprozess ist.
Verantwortliches KI-Toolkit und Moderation von Inhalten
Einstellungen für die Inhaltsmoderation: Nova Forge-Kunden haben Zugriff auf anpassbare Inhaltsmoderationseinstellungen (CCMS) für die Modelle Nova Lite 1.0 und Pro 1.0. Mit CCMS können Sie die Steuerung der Inhaltsmoderation an Ihre spezifischen Geschäftsanforderungen anpassen und gleichzeitig wichtige verantwortungsvolle KI-Sicherheitsvorkehrungen einhalten. Um festzustellen, ob Ihr geschäftlicher Anwendungsfall für CCMS in Frage kommt, wenden Sie sich an Ihren Amazon Web Services Services-Kundenbetreuer.
Nova Forge bietet ein Toolkit für verantwortungsvolle KI, das Trainingsdaten, Bewertungsbenchmarks und Laufzeitkontrollen umfasst, um Sie dabei zu unterstützen, Ihre Modelle an den Nova-Richtlinien für verantwortungsvolle KI auszurichten.
Trainingsdaten: Die Kategorie „RAI“ bei der Datenmischung umfasst Fälle und Szenarien, in denen verantwortungsvolle KI-Prinzipien, Sicherheitsüberlegungen und verantwortungsvoller Technologieeinsatz im Vordergrund stehen. Nutzen Sie diese Informationen, um Ihre Modelle während der weiteren Vorschulung verantwortungsbewusst aufeinander abzustimmen.
Bewertungen: Es stehen Benchmark-Aufgaben zur Verfügung, mit denen Sie die Fähigkeit Ihres Modells testen können, unangemessene, schädliche oder falsche Inhalte zu erkennen und abzulehnen. Verwenden Sie diese Bewertungen, um den Unterschied zwischen der Leistung des Basismodells und der Leistung Ihres benutzerdefinierten Modells zu messen.
Laufzeitkontrollen: Standardmäßig moderieren Novas Runtime Controls die Modellreaktionen während der Inferenz. Um diese Kontrollen für Ihren speziellen Geschäftsfall zu ändern, fordern Sie Customable Content Moderation Settings (CCMS) an, indem Sie sich an Ihren Amazon Web Services Services-Kundenbetreuer wenden.
Gemeinsame Verantwortung für die Sicherheit
Sicherheit ist eine gemeinsame Verantwortung von Amazon Web Services und unseren Kunden. Wenn Sie das Basismodell ändern oder fortlaufende Vorschulungen durchführen, um die Leistung in einem bestimmten Anwendungsfall zu verbessern, kann sich dies auf die Sicherheit, Fairness und andere Eigenschaften des neuen Modells auswirken.
Wir verwenden eine robuste Anpassungsmethode, um Änderungen an den in unseren Basismodellen integrierten Sicherheits-, Fairness- und anderen Schutzmaßnahmen zu minimieren und gleichzeitig die Auswirkungen auf die Modellleistung bei Aufgaben, für die das Modell nicht maßgeschneidert wurde, zu minimieren.
Sie sind verantwortlich für:
End-to-end Testen ihrer Anwendungen an Datensätzen, die für ihre Anwendungsfälle repräsentativ sind
Entscheidung, ob die Testergebnisse ihren spezifischen Erwartungen in Bezug auf Sicherheit, Fairness und andere Eigenschaften sowie allgemeine Wirksamkeit entsprechen
Weitere Informationen finden Sie im Amazon Web Services Services-Leitfaden zur verantwortungsvollen Nutzung von KI, in der Amazon Web Services Services-Richtlinie für verantwortungsvolle KI, in der Richtlinie zur AWS akzeptablen Nutzung und in den AWS Servicebedingungen für die Services, die Sie nutzen möchten.
Anpassbare Einstellungen für die Inhaltsmoderation (CCMS)
Mit CCMS können Sie die Kontrollen an Ihre Geschäftsanforderungen anpassen und gleichzeitig wichtige, nicht konfigurierbare Kontrollen beibehalten, die einen verantwortungsvollen Umgang mit KI sicherstellen.
Diese Einstellungen ermöglichen die Generierung von Inhalten über drei verfügbare Konfigurationen:
Nur Sicherheit
Sicherheit, sensible Inhalte und Fairness kombiniert
Alle Kategorien kombiniert
Die vier Kategorien für die Moderation von Inhalten sind:
Sicherheit — Umfasst gefährliche Aktivitäten, Waffen und kontrollierte Substanzen
Vertraulicher Inhalt — Beinhaltet Obszönitäten, Nacktheit und Mobbing
Fairness — Geht auf Vorurteile und kulturelle Überlegungen ein
Sicherheit — Beinhaltet Cyberkriminalität, Malware und bösartige Inhalte
Unabhängig von Ihrer CCMS-Konfiguration setzt Amazon Nova wichtige, nicht konfigurierbare Kontrollen durch, um einen verantwortungsvollen Umgang mit KI sicherzustellen, z. B. Kontrollen zur Vermeidung von Schäden für Kinder und zum Schutz der Privatsphäre.
Empfehlungen für die Verwendung von CCMS
Bei der Verwendung von CCMS empfehlen wir, Continuous Pre Training (CPT) zu verwenden und nicht am Checkpoint, sondern an einem Kontrollpunkt vor dem RAI (Pre-Training-Early, PRE-TRAINING-Mid oder) zu beginnen. PRE-TRAINING-Final GA/FINAL Diese Checkpoints wurden weder einer Sicherheitsschulung unterzogen noch wurden sie auf bestimmte RAI-Verhaltensweisen ausgerichtet, sodass Sie sie effizienter an Ihre Anforderungen an die Moderation von Inhalten anpassen können.
Tipp: Wenn Sie CCMS mit Datenmischung verwenden, sollten Sie erwägen, den Prozentsatz der Kategorie „RAI“ in Ihrer nova_data-Konfiguration an Ihre spezifischen Anforderungen an die Inhaltsmoderation anzupassen.
Verfügbarkeit
CCMS ist derzeit für zugelassene Kunden verfügbar, die Folgendes verwenden:
Modelle Nova Lite 1.0 und Pro 1.0
Amazon Bedrock On-Demand-Inferenz
Die Region us-east-1 (Nord-Virginia)
Um CCMS für Ihre Forge-Modelle zu aktivieren, wenden Sie sich an Ihren Amazon Web Services Account Manager.
Bewertungsmethoden
Voraussetzungen
Checkpoint S3-URI aus der
manifest.jsonDatei Ihres Trainingsjobs (für trainierte Modelle)Der Bewertungsdatensatz wurde im richtigen Format auf S3 hochgeladen
S3-Pfad für die Evaluierungsergebnisse ausgeben
Sofort einsatzbereite Benchmarks: Verwenden Sie sofort einsatzbereite Benchmarks, um die Leistung bei allgemeinen Aufgaben zu validieren. Weitere Informationen finden Sie hier: -hp-evaluate.html https://docs.aws.amazon.com/sagemaker/ latest/dg/nova
Bringen Sie Ihre eigenen Daten mit
Sie können Ihre benutzerdefinierten Daten auch angeben, indem Sie sie im folgenden Format formatieren und dann die unten genannten Container verwenden, um bei Bedarf Inferenzergebnisse zusammen mit Protokollwahrscheinlichkeiten für Kalibrierungen zu erhalten.
Erstellen Sie jsonl pro Aufgabe mit der folgenden Struktur:
{ "metadata": "{key:4, category:'apple'}", "system": "arithmetic-patterns, please answer the following with no other words: ", "query": "What is the next number in this series? 1, 2, 4, 8, 16, ?", "response": "32" }
Die während der Inferenzphase der Evaluierung generierten Ergebnisse werden folgende Struktur haben:
{ "prompt": "[{'role': 'system', 'content': 'arithmetic-patterns, please answer the following with no other words: '}, {'role': 'user', 'content': 'What is the next number in this series? 1, 2, 4, 8, 16, ?'}]", "inference": "['32']", "gold": "32", "metadata": "{key:4, category:'apple'}" }
Beschreibungen der Felder:
prompt: Formatierte Eingabe, die an das Modell gesendet wurdeinference: Die generierte Antwort des Modellsgold: Richtige Antwort aus dem Eingabedatensatz erwartet, Antwortfeld aus der Eingabemetadata: Optionale Metadaten, die von der Eingabe übergeben wurden
Evaluierungskonfiguration vorbereiten
Befehl zum Starten des Evaluierungsjobs. Wird verwendet"--override-parameters", um einen beliebigen Eintrag aus dem Rezept zu ändern.
hyperpod start-job -n kubeflow \ --recipe evaluation/nova/nova_micro_p5_48xl_bring_your_own_dataset_eval \ --override-parameters '{ "instance_type": "p5.48xlarge", "container": "708977205387.dkr.ecr.us-east-1.amazonaws.com/nova-evaluation-repo:SM-HP-Eval-latest", "recipes.run.name": "<your-eval-job-name>", "recipes.run.model_name_or_path": "<checkpoint-s3-uri>", "recipes.run.output_s3_path": "s3://<your-bucket>/eval-results/", "recipes.run.data_s3_path": "s3://<your-bucket>/eval-data.jsonl" }'
Bewährte Methoden
-
Priorisieren Sie die Datenqualität vor dem Volumen: Hochwertige, vielfältige und repräsentative Trainingsdaten sind wertvoller als große Mengen an Daten von geringer Qualität.
-
reasoning-instruction-followingKategorie einbeziehen: Wenn Sie Daten mischen, sollten Sie die Kategorie "reasoning-instruction-following" angeben, um eine hohe generische Leistung bei allen Aufgaben zu gewährleisten.
-
Verwenden Sie Standard-Lernraten: Beginnen Sie mit den Standard-Lernraten (1e-5 für LoRa, 5e-6 für SFT mit vollem Rang) und passen Sie sie nur bei Bedarf auf der Grundlage von Validierungsmetriken an.
-
Ausgewogenes Mischen von Nova-Daten: Kombinieren Sie maximal 50% der Nova-Daten, um ein optimales Verhältnis zwischen Latenz und Leistung zu erzielen. Höhere Prozentsätze können die allgemeinen Fähigkeiten verbessern, aber auch die Trainingszeit verlängern.
-
Überwachen Sie die Validierungskennzahlen: Evaluieren Sie während des Trainings regelmäßig Zwischen-Checkpoints, um Überbeanspruchung oder Leistungseinbußen frühzeitig zu erkennen.
-
Testen Sie anhand repräsentativer Datensätze: Stellen Sie sicher, dass Ihre Bewertungsdatensätze Ihre Anwendungsfälle in der Produktion genau wiedergeben, um eine aussagekräftige Leistungsbeurteilung zu ermöglichen.
Config für Trainingsjobs vorbereiten
Hyperparameter
Vollständiger Satz von Hyperparametern außer Datenmischung:
## Run config run: name: my-lora-sft-run model_type: amazon.nova-2-lite-v1:0:256k model_name_or_path: nova-lite-2/prod data_s3_path: s3://my-bucket-name/train.jsonl # SageMaker HyperPod (SMHP) only and not compatible with SageMaker Training jobs. Note replace my-bucket-name with your real bucket name for SMHP job replicas: 4 # Number of compute instances for training, allowed values are 4, 8, 16, 32 output_s3_path: s3://my-bucket-name/outputs/ # Output artifact path (Hyperpod job-specific; not compatible with standard SageMaker Training jobs). Note replace my-bucket-name with your real bucket name for SMHP job ## MLFlow configs mlflow_tracking_uri: "" # Required for MLFlow mlflow_experiment_name: "my-lora-sft-experiment" # Optional for MLFlow. Note: leave this field non-empty mlflow_run_name: "my-lora-sft-run" # Optional for MLFlow. Note: leave this field non-empty training_config: max_steps: 100 # Maximum training steps. Minimal is 4. save_steps: 10 # This parameter suggests after how many training steps the checkpoints will be saved. Should be less than or equal to max_steps(please override this value with a numerical value equal or less than max_steps value; min: 4) save_top_k: 5 # Keep top K best checkpoints. Note supported only for SageMaker HyperPod jobs. Minimal is 1. max_length: 32768 # Sequence length (options: 8192, 16384, 32768 [default], 65536) global_batch_size: 32 # Golbal batch size (options: 32, 64, 128) reasoning_enabled: true # If data has reasoningContent, set to true; otherwise False lr_scheduler: warmup_steps: 15 # Learning rate warmup steps. Recommend 15% of max_steps min_lr: 1e-6 # Minimum learning rate, must be between 0.0 and 1.0 optim_config: # Optimizer settings lr: 1e-5 # Learning rate, must be between 0.0 and 1.0 weight_decay: 0.0 # L2 regularization strength, must be between 0.0 and 1.0 adam_beta1: 0.9 # Exponential decay rate for first-moment estimates, must be between 0.0 and 1.0 adam_beta2: 0.95 # Exponential decay rate for second-moment estimates, must be between 0.0 and 1.0 peft: # Parameter-efficient fine-tuning (LoRA) peft_scheme: "lora" # Enable LoRA for PEFT lora_tuning: alpha: 64 # Scaling factor for LoRA weights ( options: 32, 64, 96, 128, 160, 192), lora_plus_lr_ratio: 64.0 # LoRA+ learning rate scaling factor (0.0–100.0)
Die wichtigsten Parameter für LoRa sind Lernrate, Alpha (Skalierungsparameter), Anzahl der zu trainierenden Epochen und Aufwärmschritte. Bei einem vollen Rang sind es hauptsächlich die Lernrate, die Anzahl der Epochen und die Aufwärmschritte. Die Rezepte sind bereits mit den empfohlenen Standardwerten gefüllt.
Richten Sie den Datenmischblock ein
Fügen Sie Ihrem Rezept den Abschnitt data_mixing mit der entsprechenden prozentualen Verteilung auf die Datensatzkategorien hinzu.
Im Folgenden beschreiben wir jede verfügbare Nova-Datenkategorie.
Nova 1.0-Konfiguration mit Datenmischung
data_mixing: dataset_catalog: sft_text # Nova text dataset catalog sources: customer_data: percent: 50 # Percent of overall mix to draw from customer data nova_data: # The remainder will be drawn from Nova data. The categories below must add to 100 agents: 1 # autonomous decision-making, task completion, goal-oriented behavior in AI systems chat: 51 # Conversational exchanges demonstrating natural dialogue flow code: 8 # Programming examples and solutions spanning multiple languages rai: 1 # ethical AI principles, safety considerations, and responsible technology deployment instruction-following: 13 # precise task execution based on varying levels of user prompts and directives stem: 6 # Technical content covering science, technology, engineering, and mathematics planning: 2 # Sequences demonstrating strategic thinking and step-by-step task breakdown reasoning: 8 # Logical deduction, critical thinking, and analytical problem-solving scenarios rag: 1 # combining retrieved external knowledge with generated responses translation: 9 # Multi-language content pairs showing accurate translation
Was bedeuten diese Kategorien?
| Name der Kategorie | Einzelheiten der Informationen |
|---|---|
| agents | Die Trainingsdaten konzentrierten sich auf autonome Entscheidungsfindung, Aufgabenerfüllung und zielorientiertes Verhalten in KI-Systemen |
| chat | Gesprächsaustausch, der den natürlichen Dialogfluss, die Aufrechterhaltung des Kontextes und angemessene soziale Interaktionen demonstriert |
| Code | Programmierbeispiele und Lösungen für mehrere Sprachen, Debugging-Szenarien und bewährte Methoden für die Softwareentwicklung |
| rai | Fälle und Szenarien, in denen ethische KI-Prinzipien, Sicherheitsüberlegungen und verantwortungsvoller Technologieeinsatz im Vordergrund stehen |
| Befolgung der Anweisungen | Beispiele für die präzise Ausführung von Aufgaben auf der Grundlage unterschiedlicher Ebenen von Benutzeraufforderungen und -anweisungen |
| Stamm | Technische Inhalte aus den Bereichen Wissenschaft, Technologie, Ingenieurwesen und Mathematik, einschließlich Problemlösung und theoretischer Konzepte |
| Planung | Sequenzen, die strategisches Denken, Aufschlüsselung von step-by-step Aufgaben und effiziente Ressourcenzuweisung demonstrieren |
| Argumentation | Logische Deduktion, kritisches Denken und analytische Problemlösungsszenarien mit klaren Argumentationsketten |
| Lappen | Beispiele für die effektive Kombination von abgerufenem externem Wissen mit generierten Antworten zur Bereitstellung genauer, kontextbezogener Informationen |
| Übersetzung | Mehrsprachige Inhaltspaare, die eine genaue Übersetzung ermöglichen und gleichzeitig Kontext, Tonalität und kulturelle Nuancen beibehalten |
Multimodale Datenmischung (Nova 1.0)
data_mixing: dataset_catalog: sft_mm # Nova multi-modal dataset catalog sources: customer_data: percent: 50 # Percent of overall mix to draw from customer data nova_data: # The remainder will be drawn from Nova data. The categories below must add to 100 agents: 11 # Combining visual and textual inputs docs: 17 # Document-centric data combining text, images, layouts, and formatting perception: 10 # Visual-linguistic pairs t rag: 4 # Combining retrieved external knowledge with generated responses rai: 3 # Ethical AI principles, safety considerations, and responsible technology deployment reasoning: 10 # Logical analysis, problem-solving, and drawing conclusions stem: 17 # Technical content pairing visual elements (diagrams, charts, equations) with text text: 10 # A balanced pool of contextual text data create from the text-only SFT datasets video: 18 # Video datasets
Was bedeuten diese Kategorien?
| Name der Kategorie | Einzelheiten der Informationen |
|---|---|
| agents | Trainingspaare, die visuelle und textuelle Eingaben kombinieren und zeigen, wie KI-Systeme multisensorische Umweltinformationen interpretieren, darauf reagieren und mit ihnen interagieren sollten |
| Dokumente | Dokumentorientierte Daten, die Text, Bilder, Layouts und Formatierungen kombinieren, um Modellen das Verständnis und die Verarbeitung verschiedener Dokumenttypen und -strukturen zu vermitteln und sie so bei Konzepten wie der Erkennung von PDF-Inhalten zu unterstützen |
| Wahrnehmung | Visuellinguistische Paare vermitteln Modelle zur genauen Beschreibung, Interpretation und Argumentation von Bildern, Videos und anderen visuellen Eingaben in natürlicher Sprache |
| Lappen | Beispiele für multimodale Abfragen, die zeigen, wie visuelles und textuelles externes Wissen effektiv kombiniert und referenziert werden kann, um genaue, kontextuelle Antworten zu generieren |
| Argumentation | Fälle, in denen visuelle und textuelle Elemente kombiniert werden und die logische Analyse, Problemlösung und das Ziehen von Schlussfolgerungen über mehrere Modalitäten hinweg demonstrieren |
| Stamm | Technischer Inhalt, bei dem visuelle Elemente (Diagramme, Diagramme, Gleichungen) mit Text kombiniert werden, um wissenschaftliche, mathematische und technische Konzepte und Problemlösungen zu vermitteln |
| text | Ein ausgewogener Pool von kontextuellen Textdaten, der aus den reinen Textkategorien von SFT Nova erstellt wird, um generalistische Fähigkeiten zu vermitteln |
| video | Bewegungsbasierte visuelle Inhalte mit Schwerpunkt auf zeitlichem Verständnis und sequentiellem visuell-narrativen Verständnis |
Nova 2.0-Konfiguration mit Datenmischung
data_mixing: dataset_catalog: sft_1p5_text_chat # Nova text dataset catalog sources: customer_data: percent: 50 # Percent of overall mix to draw from customer data nova_data: # The remainder will be drawn from Nova data. The categories below must add to 100 agents: 1 # autonomous decision-making, task completion, goal-oriented behavior in AI systems baseline: 10 # [New in Nova 1.5] chat: 0.5 # Conversational exchanges demonstrating natural dialogue flow code: 10 # Programming examples and solutions spanning multiple languages factuality: 0.1 # [New in Nova 1.5] identity: 1 # [New in Nova 1.5] long-context: 1 # [New in Nova 1.5] math: 2 # [New in Nova 1.5] rai: 1 # ethical AI principles, safety considerations, and responsible technology deployment instruction-following: 13 # precise task execution based on varying levels of user prompts and directives stem: 0.5 # Technical content covering science, technology, engineering, and mathematics planning: 10 # Sequences demonstrating strategic thinking and step-by-step task breakdown reasoning-chat: 0.5 reasoning-code: 0.5 reasoning-factuality: 0.5 reasoning-instruction-following: 45 reasoning-math: 0.5 reasoning-planning: 0.5 reasoning-rag: 0.4 reasoning-rai: 0.5 reasoning-stem: 0.4 rag: 1 # combining retrieved external knowledge with generated responses translation: 0.1
Was bedeuten diese Kategorien?
| Name der Kategorie | Einzelheiten der Informationen |
|---|---|
| agents | Die Trainingsdaten konzentrierten sich auf autonome Entscheidungsfindung, Aufgabenerfüllung und zielorientiertes Verhalten in KI-Systemen |
| Baseline | Die grundlegenden Sprachdaten konzentrierten sich auf das allgemeine Verständnis, die grundlegende Kommunikation und die wichtigsten sprachlichen Fähigkeiten |
| chat | Konversationsaustausch, der einen natürlichen Dialogfluss, die Aufrechterhaltung des Kontextes und angemessene soziale Interaktionen demonstriert |
| Code | Programmierquellcode, Dokumentation und technische Diskussionen aus verschiedenen Programmiersprachen und Plattformen. |
| Sachlichkeit | Referenzmaterialien und verifizierte Informationen mit Schwerpunkt auf Genauigkeit, Quellenvalidierung und Wahrheitsbeurteilung |
| Identität | Persönlichkeitsrahmen und Verhaltensmuster konzentrierten sich auf konsistente Charaktereigenschaften, Werte und Interaktionsstile |
| langer Kontext | Ausführliche Texte und komplexe Erzählungen konzentrierten sich auf die Wahrung von Kohärenz und Relevanz während eines langen Austauschs |
| math | Mathematische Inhalte, darunter Lehrbücher, Probleme, Lösungen und mathematische Diskussionen. |
| rai | Fälle und Szenarien, in denen ethische KI-Prinzipien, Sicherheitsüberlegungen und verantwortungsvoller Technologieeinsatz im Vordergrund stehen |
| Befolgung der Anweisungen | Beispiele für die präzise Ausführung von Aufgaben auf der Grundlage unterschiedlicher Ebenen von Benutzeraufforderungen und -anweisungen |
| Stamm | Technische Inhalte aus den Bereichen Wissenschaft, Technologie, Ingenieurwesen und Mathematik, einschließlich Problemlösung und theoretischer Konzepte |
| Planung | Sequenzen, die strategisches Denken, Aufschlüsselung von step-by-step Aufgaben und effiziente Ressourcenzuweisung demonstrieren |
| Gespräch mit Argumenten | Analytische Dialogszenarien konzentrierten sich auf logische Diskussionen und strukturierte Gesprächsabläufe |
| Argumentationscode | Herausforderungen bei der Programmierung und algorithmische Probleme konzentrierten sich auf die systematische Lösungsentwicklung |
| Argumentation — Sachlichkeit | Die Szenarien zur Informationsbewertung konzentrierten sich auf kritische Bewertungs- und Überprüfungsprozesse |
| reasoning-instruction-following | Komplexe Aufgabenanalyse mit Schwerpunkt auf systematischer Interpretation und methodischer Ausführung |
| Argumentationsmathematik | Mathematische Problemlösungsszenarien mit Schwerpunkt auf logischer Weiterentwicklung und Lösungsstrategien |
| Argumentationsplanung | Strategische Entscheidungsszenarien konzentrierten sich auf einen systematischen Ansatz zur Zielerreichung |
| Argumentationslappen | Szenarien zum Abrufen und Synthetisieren von Informationen, die sich auf das kontextuelle Verständnis und die entsprechende Anwendung konzentrieren |
| Argumentation | Ethische Entscheidungsszenarien konzentrierten sich auf die systematische Bewertung der Sicherheit und Fairness von KI |
| Argumentationsstamm | Wissenschaftliche Problemlösungsszenarien mit Schwerpunkt auf methodischer Analyse und Lösungsentwicklung |
| Lappen | Beispiele für die effektive Kombination von abgerufenem externem Wissen mit generierten Antworten zur Bereitstellung genauer, kontextbezogener Informationen |
| Übersetzung | Mehrsprachige Inhaltspaare, die eine genaue Übersetzung ermöglichen und gleichzeitig Kontext, Tonalität und kulturelle Nuancen beibehalten |
Multimodale Datenmischung (Nova 2.0)
data_mixing: dataset_catalog: sft_1p5_mm_chat # Nova text dataset catalog sources: customer_data: percent: 50 # Percent of overall mix to draw from customer data nova_data: # The remainder will be drawn from Nova data. The categories below must add to 100 charts: 1 chat: 38 code: 20 docs: 3 general: 2 grounding: 1 rag: 4 screenshot: 4 text: 8 translation: 4 video: 15
Hinweis: Nova 2.0 beinhaltet Unterstützung für Videodatenkategorien, die in Nova 1.0 nicht verfügbar ist.
Was bedeuten diese Kategorien?
| Name der Kategorie | Einzelheiten der Informationen |
|---|---|
| Diagramme | Visuelle Darstellungen und Beschreibungen von Grafiken, Kreisdiagrammen, Balkendiagrammen, Liniendiagrammen und anderen statistischen Visualisierungen, die dem Modell helfen, quantitative Informationen zu verstehen und effektiv zu kommunizieren |
| chat | Konversationsdaten gepaart mit visuellen Elementen konzentrierten sich auf das Verständnis von kontextuellen Dialogen und bildgestützte Interaktionen |
| Code | Programmierschnittstellen und Entwicklungsumgebungen mit Schwerpunkt auf visueller Codeinterpretation, IDE-Screenshots und technischen Diagrammen |
| Dokumente | Dokumentorientierte Daten, die Text, Bilder, Layouts und Formatierungen kombinieren, um Modellen das Verständnis und die Verarbeitung verschiedener Dokumenttypen und -strukturen zu vermitteln und sie so bei Konzepten wie der Erkennung von PDF-Inhalten zu unterstützen |
| general | Vielfältiger visueller und textueller Inhalt, der sich auf ein umfassendes Verständnis von Bildern, Grafiken und beschreibendem Begleittext konzentriert |
| Grounding | Visuelles Referenzmaterial und beschriftete Bilder konzentrierten sich auf die Verbindung von Sprachkonzepten mit realen visuellen Repräsentationen |
| Lappen | Beispiele für multimodale Abfragen, die zeigen, wie visuelles und textuelles externes Wissen effektiv kombiniert und referenziert werden kann, um genaue, kontextuelle Antworten zu generieren |
| Bildschirmfoto | Aufnahmen von Anwendungsschnittstellen und digitale Anzeigebilder mit Schwerpunkt auf dem Verständnis von Softwareschnittstellen und digitalen Interaktionen |
| text | Ein ausgewogener Pool von kontextuellen Textdaten, die aus den reinen Textkategorien von SFT Nova erstellt werden, um generalistische Fähigkeiten zu vermitteln |
| Übersetzung | Sprachübergreifende visuelle Inhalte konzentrieren sich auf die mehrsprachige Interpretation von Text in Bildern und kulturellen visuellen Elementen |
| video | Bewegungsbasierte visuelle Inhalte konzentrieren sich auf das zeitliche Verständnis und das sequentielle Verständnis visueller Erzählungen |
Wie starte ich einen Job
Sie können auch in der README-Datei nachschlagen, wenn Sie nur die wichtigsten Informationen benötigen, um den ersten SFT-Lauf zu starten.
Informationen zum Container:
| Modell | Technik | Unterkategorie | Image-URI | Hyperpod Launcher-Befehl |
|---|---|---|---|---|
| Nova 1.0 | Feinabstimmung | WEICH/LINKS | 708977205387.dkr. ecr.us-east-1.amazonaws.com /:sm-HP-SFT-latest nova-fine-tune-repo | Hyperpod Startjob\ -n kubeflow\ --recipe in Ordnung- -:sm-hp-SFT-Llatest“} 'tuning/nova/nova_1_0/nova_micro/SFT/nova_micro_1_0_p5_gpu_sft \ --override-parameters '{ "instance_type": "ml.p5.48xlarge", "container": "708977205387.dkr.ecr.us-east-1.amazonaws.com/novafine-tune-repo |
| Nova 1.0 | Feinabstimmung | SFT mit Datenmischung | 708977205387.dkr. ecr.us-east-1.amazonaws.com /:HP-SFT-DATAMIX nova-fine-tune-repo | Hyperpod start-job\ -n kubeflow\ --recipe in Ordnung- -:HP-SFT-DATAMIX“} 'tuning/nova/forge/nova_1_0/nova_micro/SFT/nova_micro_1_0_p5_gpu_sft_text_with_datamix \ --override-parameters '{ "instance_type": "ml.p5.48xlarge", "container": "708977205387.dkr.ecr.us-east-1.amazonaws.com/novafine-tune-repo |
| Nova 2.0 | Feinabstimmung | SFT-Text | 708977205387.dkr. ecr.us-east-1.amazonaws.com /:SM-HP-SFT-V2-Latest nova-fine-tune-repo | Hyperpod start-job\ -n kubeflow\ --recipe in Ordnung- -:sm-hp-SFT-V2-latest“} 'tuning/nova/nova_2_0/nova_lite/SFT/nova_lite_2_0_p5_gpu_sft \ --override-parameters '{ "instance_type": "ml.p5.48xlarge", "container": "708977205387.dkr.ecr.us-east-1.amazonaws.com/novafine-tune-repo |
| Nova 2.0 | Feinabstimmung | SFT-Text + Datamischung | 708977205387.dkr. ecr.us-east-1.amazonaws.com /:SM-HP-SFT-V2-Datamixing-Latest nova-fine-tune-repo | Hyperpod start-job\ -n kubeflow\ --recipe fine- -:sm-hp-SFT-V2-datamixing-latest“} 'tuning/nova/forge/nova_2_0/nova_lite/SFT/nova_lite_2_0_p5_gpu_sft_text_with_datamix \ --override-parameters '{ "instance_type": "ml.p5.48xlarge", "container": "708977205387.dkr.ecr.us-east-1.amazonaws.com/novafine-tune-repo |
| Nova 2.0 | Feinabstimmung | WEICH, 5 MM | 708977205387.dkr. ecr.us-east-1.amazonaws.com /:sm-HP-SFT-V2-latest nova-fine-tune-repo | Hyperpod start-job\ -n kubeflow\ --recipe in Ordnung- -:sm-hp-SFT-V2-latest“} 'tuning/nova/nova_2_0/nova_lite/SFT/nova_lite_2_0_p5_gpu_sft \ --override-parameters '{ "instance_type": "ml.p5.48xlarge", "container": "708977205387.dkr.ecr.us-east-1.amazonaws.com/novafine-tune-repo |
| Nova 2.0 | Feinabstimmung | SFT MM + Datamixing | 708977205387.dkr. ecr.us-east-1.amazonaws.com /:SM-HP-SFT-V2-Datamixing-Latest nova-fine-tune-repo | Hyperpod start-job\ -n kubeflow\ --recipe fine- -:sm-hp-SFT-V2-datamixing-latest“} 'tuning/nova/forge/nova_2_0/nova_lite/SFT/nova_lite_2_0_p5_gpu_sft_mm_with_datamix \ --override-parameters '{ "instance_type": "ml.p5.48xlarge", "container": "708977205387.dkr.ecr.us-east-1.amazonaws.com/novafine-tune-repo |
Sobald Sie alle Einstellungen vorgenommen haben, gehen Sie vom Stammverzeichnis des Repositorys aus zum standardmäßigen Nova SFT-Rezeptordner sagemaker-hyperpod-cli
cd//src/hyperpod_cli/sagemaker_hyperpod_recipes/recipes_collection/recipes/training/nova
Hier können Sie je nach Wahl des Basismodells wählen, ob Sie Nova 1- oder Nova 2-Rezepte ausführen möchten.
Für Nova 1.0 sft:
-
Wenn Sie einen normalen SFT-Job verwenden möchten, sollten Sie in diesem Ordner ein Rezept sehen können
cd/src/hyperpod_cli/sagemaker_hyperpod_recipes/recipes_collection/recipes/fine-tuning/nova_1_0/nova_lite/SFTund dann solltest du in diesem Ordner ein Rezept namens nova_lite_1_0_p5x8_gpu_sft.yaml sehen
-
Wenn Sie datamixing sft Job verwenden möchten, können Sie zum Ordner sft Forge recipes navigieren
cd/src/hyperpod_cli/sagemaker_hyperpod_recipes/recipes_collection/recipes/fine-tuning/nova/forge/nova_1_0/nova_lite/SFTund du solltest in diesem Ordner ein Rezept mit dem Namen sehen können: nova_lite_1_0_p5x8_gpu_sft_with_datamix.yaml
Bearbeiten Sie die für den Job erforderlichen Abschnitte im Rezept wie name, data_s3_path, validation_s3_path, output_s3_path und max_steps. Da wir sft ausführen, gilt der Begriff Epochen hier nicht.
Für Nova 2.0 sft:
-
Wenn Sie einen normalen SFT-Job verwenden möchten, sollten Sie in diesem Ordner ein Rezept sehen können
cd/src/hyperpod_cli/sagemaker_hyperpod_recipes/recipes_collection/recipes/fine-tuning/nova_2_0/nova_lite/SFTund dann solltest du in diesem Ordner ein Rezept namens nova_lite_2_0_p5x8_gpu_sft.yaml sehen
-
Wenn Sie datamixing sft Job verwenden möchten, können Sie zum Ordner sft Forge recipes navigieren
cd/src/hyperpod_cli/sagemaker_hyperpod_recipes/recipes_collection/recipes/fine-tuning/nova/forge/nova_2_0/nova_lite/SFTund du solltest in diesem Ordner ein Rezept mit dem Namen sehen können: nova_lite_2_0_p5x8_gpu_sft_with_datamix.yaml
Bearbeiten Sie die Abschnitte im Rezept, die für den Job erforderlich sind, z. B. name, data_s3_path, validation_s3_path, output_s3_path und max_steps. Da wir SFT ausführen, gilt der Begriff Epochen hier nicht.
Die Konfiguration für das Mischen von Daten wird genauso aussehen, aber mit einem zusätzlichen Abschnitt zum Mischen von Daten unten, der dem hier ähnelt
data_mixing: dataset_catalog: sft_text_lite sources: nova_data: # percent inputs for Nova data must sum to 100%; use 0% if you want to exclude a data grouping agents: 20 business-and-finance: 20 scientific: 20 code: 20 factual-and-news: 20 longform-text: 0 health-and-medicine: 0 humanities-and-education: 0 legal: 0 math: 0 additional-languages: 0 social-and-personal-interest: 0 entertainment: 0 reasoning: 0 other: 0 tables: 0 customer_data: # percent input of customer data. 100 = use only customer data, 0 = use only the nova_data mix above percent: 25
Hier gibt es zwei Kategorien von Daten der obersten Ebene:
-
nova_data: Dies ist die eigentliche Datenmischung, die in noch mehr Kategorien unterteilt ist. Es ist unbedingt erforderlich, dass sie zusammen 100% ergeben
Eine vollständige Aufschlüsselung dieser Kategorien, einschließlich der Anzahl der Token, finden Sie unten
customer_data: Dies sind Ihre Trainingsdaten, auf die im Schlüssel data_s3_path oben in Ihrer Yaml verwiesen wird. Der hier angegebene Prozentsatz bestimmt, wie hoch der resultierende Prozentsatz für nova_data sein wird. Bei den obigen Prozentangaben verwenden wir während der Schulung beispielsweise 25% von customer_data und 75% von nova_data, wovon 15% Agenten, 15% sind, 15% sind wissenschaftliche Daten business-and-finance, 15% sind Code und 15% factual-and-news
Tipp: Führen Sie pip install -e. erneut aus und schon können Sie Ihren Job einreichen!
Wir werden hier einige Parameter überschreiben, um das Mischen von Daten zu verwenden:
hyperpod start-job \ -n kubeflow \ --recipe fine-tuning/nova/forge/nova_2_0/nova_lite/SFT/nova_lite_2_0_p5x8_gpu_sft_with_datamix \ --override-parameters '{ "instance_type": "ml.p5.48xlarge", "recipes.run.name": "nova-sft-datamixing", "container": "708977205387.dkr.ecr.us-east-1.amazonaws.com/nova-fine-tune-repo:SM-HP-SFT-V2-Datamix", "recipes.run.data_s3_path": "s3://sft-data/sft_train_data.jsonl", "recipes.run.validation_data_s3_path": "s3://sft-data/sft_val_data.jsonl", "recipes.run.output_s3_path": "s3://sft-data/output/ }'
Ihre Ausgabe sollte einen Jobnamen wie folgt enthalten:
⚡ MY Desktop ⚡ % hyperpod start-job \ -n kubeflow \ --recipe training/nova/forge/nova_2_0/nova_lite/sft/nova_lite_2_0_p5x8_gpu_pretrain_with_datamix \ --override-parameters '{ "instance_type": "ml.p5.48xlarge", "recipes.run.name": "nova-sft-datamixing", "container": "708977205387.dkr.ecr.us-east-1.amazonaws.com/nova-fine-tune-repo:SM-HP-SFT-V2-Datamix", "recipes.run.data_s3_path": "s3://sft-data/sft_train_data.jsonl", "recipes.run.validation_data_s3_path": "3://sft-data/sft_val_data.jsonl", "recipes.run.output_s3_path": "3://sft-data/output/ }'
Die Ausgabe würde wie folgt aussehen:
Final command: python3 /local/home/my/Downloads/sagemaker-hyperpod-cli/src/hyperpod_cli/sagemaker_hyperpod_recipes/main.py recipes=training/nova/nova_micro_p5x8_gpu_pretrain cluster_type=k8s cluster=k8s base_results_dir=/local/home/niphaded/Downloads/sagemaker-hyperpod-cli/results cluster.pullPolicy="IfNotPresent" cluster.restartPolicy="OnFailure" cluster.namespace="kubeflow" instance_type="p5d.48xlarge" container="900867814919.dkr.ecr.us-east-1.amazonaws.com/nova-fine-tune-repo:sft-datamix-rig-final" Prepared output directory at /local/home/my/Downloads/sagemaker-hyperpod-cli/results/my-sft-run-wzdyn/k8s_templates Found credentials in shared credentials file: ~/.aws/credentials Helm script created at /local/home/my/Downloads/sagemaker-hyperpod-cli/results/my-sft-run-wzdyn/niphaded-sft-run-wzdyn_launch.sh Running Helm script: /local/home/my/Downloads/sagemaker-hyperpod-cli/results/my-sft-run-wzdyn/niphaded-sft-run-wzdyn_launch.sh NAME: my-sft-run-wzdyn LAST DEPLOYED: Tue Aug 26 16:21:06 2025 NAMESPACE: kubeflow STATUS: deployed REVISION: 1 TEST SUITE: None Launcher successfully generated: /local/home/my/Downloads/sagemaker-hyperpod-cli/src/hyperpod_cli/sagemaker_hyperpod_recipes/launcher/nova/k8s_templates/SFT { "Console URL": "https://us-east-1.console.aws.amazon.com/sagemaker/home?region=us-east-1#/cluster-management/hyperpod-eks-ga-0703" }
Sie können den Status Ihres Jobs mit hyperpod list-pods -n kubeflow --job-name einsehen my-sft-run-wzdyn
hyperpod list-pods -n kubeflow --job-name my-sft-run-wzdyn { "pods": [ { "PodName": "my-sft-run-wzdyn-master-0", "Namespace": "kubeflow", "Status": "Pending", "CreationTime": "2025-08-26 16:21:06+00:00" }, { "PodName": "my-sft-run-wzdyn-worker-0", "Namespace": "kubeflow", "Status": "Pending", "CreationTime": "2025-08-26 16:21:06+00:00" } ] }
oder verwenden Sie direkt den Befehl kubectl, um sie zu finden.
Zum Beispiel
kubectl get pods -o wide -w -n kubeflow | (head -n1 ; grep my-sft-run) NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES my-sft-run-5suc8-master-0 0/1 Completed 0 3h23m 172.31.32.132 hyperpod-i-00b3d8a1bf25714e4 <none> <none> my-sft-run-5suc8-worker-0 0/1 Completed 0 3h23m 172.31.44.196 hyperpod-i-0aa7ccfc2bd26b2a0 <none> <none> my-sft-run-5suc8-worker-1 0/1 Completed 0 3h23m 172.31.46.84 hyperpod-i-026df6406a7b7e55c <none> <none> my-sft-run-5suc8-worker-2 0/1 Completed 0 3h23m 172.31.28.68 hyperpod-i-0802e850f903f28f1 <none> <none>
Profi-Tipp: Stellen Sie sicher, dass Sie immer das Flag -o wide verwenden, da der EKS-Knoten, auf dem der Job ausgeführt wird, Ihnen hilft, Ihre Logs in der Benutzeroberfläche noch schneller zu finden AWS
So überwachen Sie den Job
Sie können Ihre Logs auf drei Arten einsehen:
a) Verwenden CloudWatch
Ihre Protokolle sind in Ihrem Amazon Web Services Services-Konto verfügbar, das den Hyperpod-Cluster darunter CloudWatch enthält. Um sie in Ihrem Browser anzuzeigen, navigieren Sie in Ihrem Konto zur CloudWatch Startseite und suchen Sie nach Ihrem Clusternamen. Wenn Ihr Cluster beispielsweise aufgerufen würde, hätte my-hyperpod-rig die Protokollgruppe das Präfix:
-
Protokollgruppe:/aws/sagemaker/Clusters/my-hyperpod-rig/ {UUID}
-
Sobald Sie in der Protokollgruppe sind, können Sie Ihr spezifisches Protokoll anhand der Knoteninstanz-ID finden, z. B. - hyperpod-i-00b3d8a1bf25714e4.
i-00b3d8a1bf25714e4 steht hier für den hyperpod-freundlichen Computernamen, auf dem Ihr Trainingsjob ausgeführt wird. Erinnern Sie sich, wie wir in der Ausgabe des vorherigen Befehls kubectl get pods -o wide -w -n kubeflow | (head -n1; grep) eine Spalte namens NODE erfasst haben. my-cpt-run
Der „Master“ -Knotenlauf lief in diesem Fall auf hyperpod-i-00b3d8a1bf25714e4 und daher verwenden wir diese Zeichenfolge, um die anzuzeigende Protokollgruppe auszuwählen. Wählen SagemakerHyperPodTrainingJob Sie die Datei mit der Aufschrift /rig-group/ [NODE]
Ihre Logs sollten ungefähr so aussehen:
b) CloudWatch Insights verwenden
Wenn Sie Ihren Jobnamen griffbereit haben und nicht alle oben genannten Schritte durchführen möchten, können Sie einfach alle Logs unter/aws/sagemaker/Clusters/my-hyperpod-rig/ {UUID} abfragen, um das individuelle Protokoll zu finden.
CPT
fields @timestamp, @message, @logStream, @log | filter @message like /(?i)Starting CPT Job/ | sort @timestamp desc | limit 100
Um den Job abzuschließen, ersetzen Sie „SFT-Job starten“ durch „SFT-Job abgeschlossen“.
Dann können Sie sich durch die Ergebnisse klicken und das Ergebnis mit der Aufschrift „Epoche 0" auswählen, da dies Ihr Masternode sein wird.
C) Verwenden der AWS-CLI
Sie können sich dafür entscheiden, Ihre Protokolle mit dem zu verfolgen. Bevor Sie dies tun, überprüfen Sie bitte Ihre AWS-CLI-Version mit aws --version. Es wird auch empfohlen, dieses Utility-Skript zu verwenden, das bei der Live-Protokollverfolgung in Ihrem Terminal hilft
für V1:
aws logs get-log-events \ --log-group-name /aws/sagemaker/YourLogGroupName \ --log-stream-name YourLogStream \ --start-from-head | jq -r '.events[].message'
für V2:
aws logs tail /aws/sagemaker/YourLogGroupName \ --log-stream-name YourLogStream \ --since 10m \ --follow
D) ML Flow einrichten:
Sie können Metriken verfolgen über MLFlow.
Erstellen Sie eine MLflow App
Verwenden der Studio-Benutzeroberfläche: Wenn Sie einen Schulungsjob über die Studio-Benutzeroberfläche erstellen, wird automatisch eine MLflow Standard-App erstellt und standardmäßig unter Erweiterte Optionen ausgewählt.
CLI verwenden: Wenn Sie die CLI verwenden, müssen Sie eine MLflow App erstellen und sie als Eingabe an die API-Anfrage für den Trainingsjob übergeben.
mlflow_app_name="<enter your MLflow app name>" role_arn="<enter your role ARN>" bucket_name="<enter your bucket name>" region="<enter your region>" mlflow_app_arn=$(aws sagemaker create-mlflow-app \ --name $mlflow_app_name \ --artifact-store-uri "s3://$bucket_name" \ --role-arn $role_arn \ --region $region)
Greifen Sie auf die MLflow App zu
Verwenden von CLI: Erstellen Sie eine vorsignierte URL für den Zugriff auf die MLflow App-Benutzeroberfläche:
aws sagemaker create-presigned-mlflow-app-url \ --arn $mlflow_app_arn \ --region $region \ --output text
Sobald ML Flow eingerichtet ist, können Sie den URI in Ihrem Rezept übergeben oder Override verwenden, wenn Sie den Job starten. Ein Beispiel dafür, wie das geht, finden Sie in README.
Wie evaluieren Sie Ihr Modell nach SFT?
Voraussetzungen
Checkpoint S3-URI aus der Datei manifest.json Ihres Trainingsjobs (für trainierte Modelle)
Der Bewertungsdatensatz wurde im richtigen Format auf S3 hochgeladen
S3-Pfad für die Evaluierungsergebnisse ausgeben
Sofort einsatzbereite Benchmarks: Verwenden Sie sofort einsatzbereite Benchmarks, um die Leistung bei allgemeinen Aufgaben zu validieren. Weitere Einzelheiten finden Sie hier.
Bringen Sie Ihre eigenen Daten mit:
Sie können Ihre benutzerdefinierten Daten auch angeben, indem Sie sie im folgenden Format formatieren und dann die unten genannten Container verwenden, um bei Bedarf Inferenzergebnisse zusammen mit Protokollwahrscheinlichkeiten für Kalibrierungen zu erhalten.
Erstellen Sie jsonl pro Aufgabe mit der folgenden Struktur:
{ "metadata": "{key:4, category:'apple'}", "system": "arithmetic-patterns, please answer the following with no other words: ", "query": "What is the next number in this series? 1, 2, 4, 8, 16, ?", "response": "32" }
Die während der Inferenzphase der Evaluierung generierten Ergebnisse werden wie folgt strukturiert sein:
{ "prompt": "[{'role': 'system', 'content': 'arithmetic-patterns, please answer the following with no other words: '}, {'role': 'user', 'content': 'What is the next number in this series? 1, 2, 4, 8, 16, ?'}]", "inference": "['32']", "gold": "32", "metadata": "{key:4, category:'apple'}" }
Beschreibungen der Felder:
Eingabeaufforderung: Formatierte Eingabe wurde an das Modell gesendet
Inferenz: Die generierte Antwort des Modells
Gold: Richtige Antwort aus dem Eingabedatensatz erwartet, Antwortfeld aus der Eingabe
Metadaten: Optionale Metadaten, die von der Eingabe übergeben wurden
Evaluierungskonfiguration vorbereiten
Befehl zum Starten des Evaluierungsjobs. Verwenden Sie „--override-parameters“, um einen beliebigen Eintrag aus dem Rezept zu ändern.
hyperpod start-job -n kubeflow \ --recipe evaluation/nova/nova_micro_p5_48xl_bring_your_own_dataset_eval \ --override-parameters '{ "instance_type": "p5.48xlarge", "container": "708977205387.dkr.ecr.us-east-1.amazonaws.com/nova-evaluation-repo:SM-HP-Eval-latest", "recipes.run.name": "<your-eval-job-name>", "recipes.run.model_name_or_path": "<checkpoint-s3-uri>", "recipes.run.output_s3_path": "s3://<your-bucket>/eval-results/", "recipes.run.data_s3_path": "s3://<your-bucket>/eval-data.jsonl" }'
Starten Sie Ihren Bewertungsjob
Befehle zum Starten von Job für verschiedene Rezepte mit entsprechenden Bildern.
| Modell | Technik | Unterkategorie | Image-URI | Befehl |
|---|---|---|---|---|
| Nova 1.0 | Bewertung | Bewertung | 708977205387.dkr. ecr.us-east-1.amazonaws.com /:sm-hp-eval-latest nova-evaluation-repo | Hyperpod Startjob\ -n kubeflow\ --recipe -evaluation-repo:sm-hp-eval-latest“} 'evaluation/nova/nova_1_0/nova_lite/nova_lite_2_0_p5_48xl_gpu_ft_eval \ --override-parameters '{ "instance_type": "ml.p5.48xlarge", "container": "708977205387.dkr.ecr.us-east-1.amazonaws.com/nova |
| Nova 2.0 | Bewertung | Bewertung | 708977205387.dkr. ecr.us-east-1.amazonaws.com /:sm-hp-eval-latest nova-evaluation-repo | hyperpod start-job -n kubeflow\ --recipe -evaluation-repo:sm-hp-eval-latest“} 'evaluation/nova/nova_2_0/nova_lite/nova_lite_2_0_p5_48xl_gpu_ft_eval \ --override-parameters '{ "instance_type": "ml.p5.48xlarge", "container": "708977205387.dkr.ecr.us-east-1.amazonaws.com/nova |
Gelernte Erkenntnisse und Tipps
Die Qualität des SFT-Datensatzes ist entscheidend. Sie sollten alle Anstrengungen unternehmen, um Daten von geringer Qualität herauszufiltern. Wenn Sie über eine kleine Teilmenge von Daten verfügen, die sowohl in Bezug auf Komplexität als auch Genauigkeit von außergewöhnlich hoher Qualität sind, sollten Sie erwägen, diese gegen Ende des Trainings zu platzieren, damit das Modell besser konvergiert.
Wir nutzen sowohl Text- als auch multimodale (MM) Datensätze für die Datenmischung. Unsere Experimente mit Textdatensätzen zeigen, dass das Hinzufügen der firmeneigenen Kategorie „reasoning-instruction-following" von Nova die Leistung bei generischen Benchmarks erheblich verbessert. Wir empfehlen, diese Kategorie in Ihre Strategie zur Datenmischung aufzunehmen, wenn Sie generische Benchmarks bevorzugen, die nach der SFT-Analyse Ihrer Datensätze eine Regression aufweisen.
Bei MM-Datensätzen deuten unsere Experimente darauf hin, dass die Einbeziehung von über 20% der Videokategorien in den Mix für die Aufrechterhaltung der generischen Benchmark-Leistung von Vorteil ist.
Darüber hinaus reagiert SFT mit Datenmischung sehr empfindlich auf die Lernrate, weshalb unsere Ergebnisse eine Feinabstimmung mit der Standard-Lernrate, d. h. 1e-5 für LoRa und 5e-6 für FR, nahelegen.
Schließlich gibt es einen Kompromiss zwischen Latenz und Leistung, wenn Sie Nova-eigene Datensätze mischen. Unseren Ergebnissen zufolge sollten Sie also ein ausgewogenes Verhältnis von maximal 50% erzielen.