View a markdown version of this page

Daten für RFT auf Amazon Nova 2 vorbereiten - 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.

Daten für RFT auf Amazon Nova 2 vorbereiten

RFT auf Amazon Nova 2 unterstützt derzeit textbasierte Trainingsdaten. Auf dieser Seite werden das Datenformat, die unterstützten Funktionen, Einschränkungen und bewährten Methoden für die Vorbereitung von RFT-Trainingsdaten für Amazon Nova 2 Understanding Modelle beschrieben.

Tipp

Informationen zur Validierung Ihres Datensatzformats, bevor Sie mit einem Trainingsjob beginnen, finden Sie unterTools zur Validierung.

Data format (Datenformat)

Die RFT-Trainingsdaten folgen dem OpenAI Reinforcement Fine-Tuning Format. Jede Zeile in Ihrer JSONL-Trainingsdatei ist ein JSON-Objekt mit den folgenden Feldern der obersten Ebene. Erweitern Sie einen Abschnitt, um mehr zu erfahren:

Erforderlich Eine Reihe von unterhaltsamen Runden mit system user und optional assistant Rollen.

  • Rolle — Erforderlich. Allgemeine Werte: system (Anweisungen für das Modell) und user (die Aufgabe oder Eingabe).

  • Inhalt — Erforderlich. Der Textinhalt der Nachricht. Bei Systemzugängen handelt es sich um Anweisungen; bei Benutzerzugängen handelt es sich um die Aufgabe oder Eingabe.

"messages": [ { "role": "system", "content": "instructions" }, { "role": "user", "content": "prompt" } ]

Erforderlich Die erwarteten Ausgabe- oder Bewertungskriterien, anhand derer Ihre Belohnungsfunktion die Antwortvariablen des Modells bewertet. Dieses Feld ist nicht auf strukturierte Ausgaben beschränkt — es kann jedes Format enthalten, das Ihrer Belohnungsfunktion bei der Bewertung der Qualität hilft.

"reference_answer": { "field": "value" }

Optional. Eine Reihe von Werkzeugspezifikationen, die dem Modell in diesem Beispiel zur Verfügung stehen. Jedes Element definiert die Oberfläche und die Metadaten eines Werkzeugs. Ein vollständiges Beispiel finden Sie unterAufrufen eines Werkzeugs.

"tools": [ { "type": "function", "function": { "name": "tool-name", "description": "tool-description", "parameters": { ... } } } ]

Das RFT-Datenformat unterstützt benutzerdefinierte Felder, die über messages und reference_answer hinausgehen. Fügen Sie alle zusätzlichen Daten hinzu, die Ihre Belohnungsfunktion für eine korrekte Bewertung benötigt. Sie müssen diese nicht in Ihrem Rezept konfigurieren — sie werden zur Laufzeit an Ihre Belohnungsfunktion im metadata Feld weitergegeben.

Allgemeine Beispiele sind:

Metadaten

  • id— Eindeutige Kennung für das Tracking

  • task_id— Task-level Identifier

  • difficulty_level— Indikator für die Komplexität des Problems

  • domain— Fachgebiet oder Kategorie

  • expected_reasoning_steps— Anzahl der Lösungsschritte

Bewertungskriterien

  • evaluation_criteria— Spezifische Bewertungsrubriken

  • custom_scoring_weights— Relative Bedeutung verschiedener Aspekte

  • context_data— Hintergrundinformationen zum Problem

  • external_references— Links zu relevanter Dokumentation oder Ressourcen

Validierung Ihrer Daten

Bevor Sie Ihren Trainingsjob einreichen, validieren Sie Ihren Datensatz, um Formatierungsprobleme frühzeitig zu erkennen. Verfügbare Validierungstools finden Sie unterTools zur Validierung.

Beispiele für Eingaben

Im Folgenden finden Sie vollständige JSON-Beispielobjekte, die zeigen, wie die Felder für verschiedene RFT-Anwendungsfälle kombiniert werden.

Chemistry problem
{ "id": "chem-01", "messages": [ { "role": "system", "content": "You are a helpful chemistry assistant" }, { "role": "user", "content": "Calculate the molecular weight of caffeine (C8H10N4O2)" } ], "reference_answer": { "molecular_weight": 194.19, "unit": "g/mol", "calculation": "8(12.01) + 10(1.008) + 4(14.01) + 2(16.00) = 194.19" } }
Math problem
{ "id": "math-001", "messages": [ { "role": "system", "content": "You are a math tutor" }, { "role": "user", "content": "Solve: 2x + 5 = 13" } ], "reference_answer": { "solution": "x = 4", "steps": ["2x = 13 - 5", "2x = 8", "x = 4"] } }
Code problem
{ "id": "code-002", "messages": [ { "role": "system", "content": "You are a helpful programming assistant" }, { "role": "user", "content": "Write a Python function that reverses a string without using built-in reverse methods" } ], "reference_answer": { "code": "def reverse_string(s):\n result = ''\n for i in range(len(s) - 1, -1, -1):\n result += s[i]\n return result", "test_cases": [ { "input": "hello", "expected_output": "olleh" }, { "input": "", "expected_output": "" }, { "input": "a", "expected_output": "a" }, { "input": "Python123", "expected_output": "321nohtyP" } ], "all_tests_pass": true } }
Tool usage
{ "id": "tool-001", "messages": [ { "role": "system", "content": "You are a helpful game master assistant" }, { "role": "user", "content": "Generate a strength stat for a warrior character. Apply a +2 racial bonus modifier." } ], "tools": [ { "type": "function", "function": { "name": "StatRollAPI", "description": "Generates character stats by rolling 4d6, dropping the lowest die result, and applying a modifier.", "parameters": { "type": "object", "properties": { "modifier": { "description": "An integer representing the modifier to apply to the total of the stat roll.", "type": "integer" } }, "required": ["modifier"] } } } ], "reference_answer": { "tool_called": "StatRollAPI", "tool_parameters": { "modifier": 2 }, "expected_behavior": "Call StatRollAPI with modifier=2 and return the calculated stat value" } }
With additional properties

Das folgende Beispiel enthält benutzerdefinierte Metadatenfelder, die während der Bewertung an Ihre Belohnungsfunktion übergeben werden. Dadurch wird eine ausgeklügelte Bewertungslogik ermöglicht, die auf Ihren speziellen Anwendungsfall zugeschnitten ist.

{ "messages": [ { "role": "system", "content": "You are a math tutor" }, { "role": "user", "content": "Solve: 2x + 5 = 13" } ], "reference_answer": { "solution": "x = 4", "steps": ["2x = 13 - 5", "2x = 8", "x = 4"] }, "task_id": "algebra_001", "difficulty_level": "easy", "domain": "algebra", "expected_reasoning_steps": 3 }

Unterstützte Features

Die folgende Tabelle fasst die Funktionsunterstützung für RFT auf Amazon Nova 2 zusammen.

Unterstützung von RFT-Funktionen
Feature RFT auf Amazon Nova 2
Textverständnis Wird auf Nova 2.0 Lite unterstützt. Siehe General/Text Verständnis.
Bildverständnis Nicht unterstützt
Video-Verständnis Nicht unterstützt
Verstehen von Dokumenten Nicht unterstützt
Aufrufen des Tools Wird auf Nova 2.0 Lite unterstützt. Siehe Aufrufen eines Werkzeugs.
Reasoning Wird auf Nova 2.0 Lite unterstützt. Siehe Reasoning.

General/Text Verständnis

In diesem Abschnitt werden die allgemeinen Einschränkungen und bewährten Methoden für die Vorbereitung von RFT auf Amazon Nova 2-Trainingsdaten zusammengefasst.

Beschränkungen

Allgemeine Einschränkungen bei Datensätzen
Einschränkung Details
Format des Datensatzes JSONL (ein JSON-Objekt pro Zeile).
Mindestanzahl an Trainingsbeispielen 100
Mindestanzahl an Beispielen für Evaluationen 100
Unterstützte Modalitäten Nur Text

Bewährte Methoden

  • Wir empfehlen, mit den Mindestdatensatzgrößen (100 Trainings- und 100 Bewertungsbeispiele) zu beginnen und diese zu erweitern, nachdem Sie Ihre Belohnungsfunktion validiert und bestätigt haben, dass RFT für Ihren Anwendungsfall geeignet ist.

  • Wir empfehlen einen Ansatz, bei dem die Evaluierung an erster Stelle steht. Bevor Sie in groß angelegte RFT-Schulungen investieren, sollten Sie die Ausgangsleistung Ihres Modells evaluieren:

    • Hohe Leistung (> 95% Belohnung) — RFT ist möglicherweise unnötig, da Ihr Modell bereits eine gute Leistung erbringt.

    • Sehr schlechte Leistung (0% Belohnung) — Wechseln Sie zuerst zu SFT, um grundlegende Funktionen zu entwickeln.

    • Mäßige Leistung — RFT ist wahrscheinlich angemessen.

  • Wenn Sie mit einem kleinen Datensatz beginnen, können Sie überprüfen, ob Ihre Belohnungsfunktion fehlerfrei ist, bestätigen, dass RFT der richtige Ansatz ist, Probleme frühzeitig erkennen und beheben und den Arbeitsablauf vor der Skalierung testen.

  • Priorisieren Sie hochwertige Eingabedaten und eine zuverlässige Belohnungsfunktion, die anhand der Modellantworten konsistent ausgeführt wird.

Stichprobeneingabe

{ "id": "math-001", "messages": [ { "role": "system", "content": "You are a math tutor" }, { "role": "user", "content": "Solve: 2x + 5 = 13" } ], "reference_answer": { "solution": "x = 4", "steps": ["2x = 13 - 5", "2x = 8", "x = 4"] } }

Aufrufen eines Werkzeugs

RFT unterstützt Trainingsmodelle anhand von Werkzeugaufrufmustern, sodass Ihr Modell lernen kann, wann und wie externe Tools oder Funktionen aufgerufen werden müssen.

Beschränkungen

Einschränkungen beim Aufrufen von Werkzeugen
Einschränkung Details
Speicherort der Werkzeugdefinition Werkzeuge werden im tools Array der obersten Ebene des Trainingsbeispiels deklariert.
Format der Werkzeugdefinition Jedes Tool musstype, function.namefunction.description, und ein gültiges JSON-Schema in enthaltenfunction.parameters.
Referenzantwort Geben Sie reference_answer damit den erwarteten Werkzeugaufruf an (z. B.,tool_parameters)tool_called, damit Ihre Belohnungsfunktion die Richtigkeit beurteilen kann.

Bewährte Methoden

  • Stellen Sie sicher, dass Ihre Werkzeugdefinitionen in allen Trainingsbeispielen konsistent sind.

  • Das Modell erlernt anhand der von Ihnen bereitgestellten Demonstrationen die Muster für den Werkzeugaufruf.

  • Fügen Sie verschiedene Beispiele hinzu, wann Sie die einzelnen Werkzeuge verwenden sollten und wann Sie sie nicht verwenden sollten.

Beispiel für eine Eingabe

{ "id": "tool-001", "messages": [ { "role": "system", "content": "You are a helpful game master assistant" }, { "role": "user", "content": "Generate a strength stat for a warrior character. Apply a +2 racial bonus modifier." } ], "tools": [ { "type": "function", "function": { "name": "StatRollAPI", "description": "Generates character stats by rolling 4d6, dropping the lowest die result, and applying a modifier.", "parameters": { "type": "object", "properties": { "modifier": { "description": "An integer representing the modifier to apply to the total of the stat roll.", "type": "integer" } }, "required": ["modifier"] } } } ], "reference_answer": { "tool_called": "StatRollAPI", "tool_parameters": { "modifier": 2 }, "expected_behavior": "Call StatRollAPI with modifier=2 and return the calculated stat value" } }

Reasoning

RFT auf Amazon Nova 2 unterstützt den Argumentationsmodus, bei dem das Modell explizite Denkmuster generiert, bevor es eine endgültige Antwort liefert. Sie steuern das Denkverhalten während des Trainings mit dem Feld reasoning_effort Trainingskonfiguration.

Beschränkungen

Einschränkungen beim Denken
Einschränkung Details
Verfügbare Modi none(das reasoning_effort Feld weglassen)low, undhigh. Es gibt keine medium Option für RFT.
Standardverhalten Wenn das reasoning_effort Feld in Ihrer Konfiguration fehlt, ist die Argumentation deaktiviert.
Token-Limit Wenn Argumentation aktiviert ist, setzen Sie den Wert max_new_tokens auf 32768, um erweiterte Argumentationsausgaben zu berücksichtigen.

Wann sollten die einzelnen Modi verwendet werden

Nutze high Gründe für:

  • Komplexe analytische Aufgaben

  • Mathematische Problemlösung

  • Multi-step logische Deduktion

  • Aufgaben, bei denen schrittweises Denken einen Mehrwert bietet

Verwende none (weglassenreasoning_effort) oder low begründe für:

  • Einfache sachliche Fragen

  • Direkte Klassifizierungen

  • Geschwindigkeits- und Kostenoptimierung

  • Unkomplizierte Beantwortung von Fragen

Kosten- und Leistungskompromisse

Höhere Denkweisen nehmen zu:

  • Zeit und Kosten der Schulung

  • Latenz und Kosten der Inferenz

  • Modellierbarkeit für komplexe Denkaufgaben

Eigenschaften effektiver Trainingsdaten

Klarheit und Konsistenz

Gute RFT-Beispiele erfordern klare, eindeutige Eingabedaten, die eine genaue Berechnung der Belohnung für verschiedene Modellausgaben ermöglichen. Vermeiden Sie Störungen in Ihren Daten, einschließlich:

  • Inkonsistente Formatierung

  • Widersprüchliche Bezeichnungen oder Anweisungen

  • Mehrdeutige Aufforderungen

  • Widersprüchliche Referenzantworten

Jede Unklarheit führt zu einer Irreführung des Trainingsprozesses und führt dazu, dass das Modell unbeabsichtigte Verhaltensweisen erlernt.

Diversität

Ihr Datensatz sollte die gesamte Vielfalt der Anwendungsfälle in der Produktion erfassen, um eine robuste Leistung in der Praxis zu gewährleisten. Schließen Sie ein:

  • Verschiedene Eingabeformate und Randfälle

  • Bilden Sie die tatsächlichen Nutzungsmuster der Produktion anhand von Protokollen und Benutzeranalysen ab

  • Stichprobe für Nutzertypen, geografische Regionen und saisonale Schwankungen

  • Schließen Sie Schwierigkeitsgrade von einfachen bis hin zu komplexen Problemen ein

Überlegungen zur Belohnungsfunktion

Gestalte deine Belohnungsfunktion für effizientes Training:

  • Innerhalb von Sekunden ausführen (nicht Minuten)

  • Effektive Parallelisierung mit Lambda

  • Geben Sie konsistente, zuverlässige Ergebnisse zurück

  • Behandeln Sie verschiedene Arten von Modellausgaben elegant

Schnelle, skalierbare Belohnungsfunktionen ermöglichen eine schnelle Iteration und kostengünstiges Experimentieren.

RFT-Training mit LLM als Richter

-Übersicht

Large Language Models (LLMs) werden zunehmend als Juroren in Arbeitsabläufen zur Verstärkung der Feinabstimmung (RFT) eingesetzt. Sie liefern automatische Belohnungssignale, die als Richtschnur für die Modelloptimierung dienen. Bei diesem Ansatz bewertet ein LLM die Modellergebnisse anhand bestimmter Kriterien — ob es nun um die Bewertung von Korrektheit, Qualität, Stiltreue oder semantischer Äquivalenz geht — und weist Belohnungen zu, die den Prozess des Verstärkungslernens vorantreiben.

Dies ist besonders nützlich für Aufgaben, bei denen traditionelle Belohnungsfunktionen programmatisch schwer zu definieren sind, z. B. bei der Bestimmung, ob verschiedene Repräsentationen (wie "1/3„, „0,333" und „ein Drittel“) semantisch gleichwertig sind, oder bei der Bewertung nuancierter Eigenschaften wie Kohärenz und Relevanz. Durch die Verwendung von LLM-based Richtern als Belohnungsfunktionen können Sie RFT auf komplexe Bereiche skalieren, ohne dass umfangreiche menschliche Anmerkungen erforderlich sind. Dies ermöglicht eine schnelle Iteration und kontinuierliche Verbesserung Ihrer Modelle in verschiedenen Anwendungsfällen, die über herkömmliche Alignment-Probleme hinausgehen.

Validierung Ihres LLM-Richters

Prüfen Sie vor dem Einsatz eines Jurymodells LLM-as-a-judge in der Produktion, ob die Bewertungen des Richtermodells dem menschlichen Urteilsvermögen entsprechen. Dies beinhaltet:

  • Messen Sie die Übereinstimmungsraten zwischen dem LLM-Juroren und den menschlichen Gutachtern anhand repräsentativer Stichproben Ihrer Aufgabe

  • Stellen Sie sicher, dass die Zustimmung des LLM mit Menschen den Übereinstimmungsraten zwischen den Menschen entspricht oder diese übertrifft

  • Identifizierung potenzieller Vorurteile im Judge-Modell

  • Aufbau der Gewissheit, dass das Belohnungssignal Ihr Modell in die gewünschte Richtung lenkt

Dieser Validierungsschritt trägt dazu bei, dass der automatisierte Bewertungsprozess Modelle hervorbringt, die Ihre Qualitätskriterien für die Produktion erfüllen.

Lambda-Konfiguration für LLM Judge

Die Verwendung eines LLM als Judge ist eine Erweiterung der Lambda-Funktionen für Reinforcement Learning with Verifiable Rewards (RLVR). In der Lambda-Funktion rufen Sie eines der in Amazon Bedrock gehosteten Modelle auf.

Wichtige Konfigurationsanforderungen:

Konfiguration Anforderung Details
Durchsatz von Amazon Bedrock Ausreichende Quote Stellen Sie sicher, dass Ihr Durchsatzkontingent für das verwendete Amazon Bedrock-Modell für Ihre Trainingsbelastung ausreicht
Lambda-Zeitüberschreitung Verlängertes Timeout Konfigurieren Sie Ihr Lambda-Funktions-Timeout bis zu einem Maximum von 15 Minuten. Die Standardeinstellung ist 3 Sekunden, was für Antworten des Amazon Bedrock-Modells nicht ausreicht
Lambda-Gleichzeitigkeit Erhöhte Parallelität Das Lambda wird während des Trainings parallel aufgerufen. Erhöhen Sie die Parallelität, um den verfügbaren Durchsatz zu maximieren
Konfiguration des Rezepts Passen Sie die Lambda-Einstellungen an Das Parallelitätslimit muss in Ihrem Rezept konfiguriert werden