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 Amazon Nova-Modelle vorbereiten
Bei der Feinabstimmung eines Amazon Nova-Modells mit Verstärkungs-Feinabstimmung können Sie Ihre eigenen Eingabeaufforderungen verwenden oder vorhandene Amazon Bedrock API-Aufrufprotokolle als Trainingsdaten verwenden.
Anforderungen und Quellen für Trainingsdaten
Sie können Trainingsdaten über eine der folgenden Optionen bereitstellen:
Anmerkung
Wir unterstützen nur das OpenAI-Chat-Abschlussformat.
Sammeln Sie Ihre Prompts und speichern Sie sie im Dateiformat .jsonl. Sie können benutzerdefinierte Datensätze im JSONL-Format hochladen oder vorhandene Datensätze aus Amazon S3 auswählen. Jeder Datensatz in der JSONL muss das OpenAI-Chat-Abschlussformat in der folgenden Struktur verwenden:
-
messages: Geben Sie in dieses Feld die Benutzer-, System- oder Assistentenrolle ein, die die für das Modell bereitgestellte Eingabeaufforderung enthält. -
reference_answer: In diesem Feld sollte es die erwarteten Ergebnis- oder Bewertungskriterien enthalten, anhand derer Ihre Belohnungsfunktion die Antwort des Modells bewertet. Es ist nicht auf strukturierte Ergebnisse beschränkt — es kann jedes Format enthalten, das Ihrer Belohnungsfunktion bei der Bewertung der Qualität hilft. -
[Optional] Sie können Felder hinzufügen, die vom Grader Lambda für die Benotung verwendet werden.
Voraussetzungen:
JSONL-Format mit Eingabeaufforderungen im OpenAI-Chat-Abschlussformat (eine Aufforderung pro Zeile)
Mindestens 100 Datensätze im Trainingsdatensatz
Amazon Bedrock validiert automatisch das Format der Trainingsdatensätze
Wenn Sie einen Auftrag zur Feinabstimmung von Verstärkungen erstellen, können Sie Amazon Bedrock veranlassen, vorhandene Aufrufprotokolle aus Ihrem S3-Bucket als Trainingsdaten zu verwenden. Für Amazon Bedrock ist ein Aufrufprotokoll eine detaillierte Aufzeichnung von Modellaufrufen.
Sie können kundenseitig gespeicherte Invoke/Converse API-Aufrufprotokolle von Amazon S3 für Schulungen verwenden.
Voraussetzungen:
-
Die API-Protokollierung muss für Ihre Nutzung von Amazon Bedrock aktiviert sein
-
Protokolle müssen in einem unterstützten Format vorliegen (Amazon Bedrock Invoke/Converse API)
-
Mindestens 100 Beispiele für Eingabeaufforderungen
Um Aufrufprotokolle für die Feinabstimmung der Verstärkung zu verwenden, richten Sie die Modellaufruf-Protokollierung ein, verwenden Sie einen der Modellaufrufvorgänge und stellen Sie sicher, dass Sie einen Amazon S3 S3-Bucket als Ziel für die Protokolle eingerichtet haben. Weitere Informationen zum Einrichten der Aufrufprotokolle finden Sie unter Überwachen des Modellaufrufs mithilfe von CloudWatch Protokollen und Amazon S3.
Bevor Sie den Verstärkungs-Feintuning-Job mit Aufrufprotokollen aus einem S3-Bucket als Eingabe starten können, müssen Sie Amazon Bedrock-Berechtigungen für den Zugriff auf die Protokolle aus einem S3-Bucket bereitstellen. Weitere Informationen finden Sie unter Zugriff und Sicherheit bei der Modellanpassung.
Sie können optional mithilfe eines der Modellaufrufvorgänge Anforderungsmetadaten zu den Prompt-Antwort-Paaren im Aufrufprotokoll hinzufügen und diese dann später zum Filtern der Protokolle verwenden. Amazon Bedrock kann die gefilterten Protokolle zur Feinabstimmung des Modells verwenden.
Fügen Sie Anforderungsmetadaten zu Aufforderungen und Antworten in Ihren Aufrufprotokollen hinzu
Mithilfe von Aufrufprotokollen können Sie anhand von Anforderungsmetadaten, die den Aufrufprotokollen angehängt sind, die Aufforderungen des Trainingsdatensatzes identifizieren, die Amazon Bedrock für die Feinabstimmung der Verstärkung verwenden soll.
Im Folgenden finden Sie ein Beispiel für ein Aufrufprotokoll eines Anrufs mit: InvokeModel requestMetadata
{ "schemaType": "ModelInvocationLog", "schemaVersion": "1.0", "timestamp": "2024-09-11T17:16:18Z", "accountId": "XXXXX", "identity": { "arn": "arn:aws:sts::XXXXXXX:assumed-role/Admin/XXXXXX" }, "region": "us-east-1", "requestId": "7ee514f3-9eff-467c-af75-8fd564ce58e5", "operation": "InvokeModel", "modelId": "meta.llama3-1-405b-instruct-v1:0", "input": { "inputContentType": "application/json", "inputBodyJson": { "prompt": "story of two dogs", "max_tokens_to_sample": 300 }, "inputTokenCount": 13 }, "output": { "outputContentType": "application/json", "outputBodyJson": { "type": "completion", "completion": " Here is a story about two dogs:\n\nRex and Charlie were best friends who lived next door to each other. Every morning, their owners would let them out into the backyard to play. Rex was a golden retriever with long, shaggy fur. He loved to run and chase sticks. Charlie was a corgi with short legs and a big smile. He was happy just sniffing the grass and rolling around. \n\nThe two dogs spent every day playing together. Rex would grab a stick and bring it over to Charlie, wagging his tail excitedly. Charlie would take the other end of the stick in his mouth and they'd have a friendly game of tug-of-war. After tiring themselves out, they'd flop down in the warm sunshine for a nap. \n\nAt lunchtime, their owners would call them in for food. Rex would gobble up his kibble hungrily while Charlie ate his at a more leisurely pace. After lunch, it was right back outside for more playtime. The afternoon sunbeams would light up their fur as they chased each other around the yard. \n\nWhen it started getting late, their owners called them in for the night. Rex and Charlie would head inside, tired but happy after another fun day of play. After slurping up fresh water from their bowls, they'd curl up on their beds, Rex's fluffy golden tail tucked over his nose and little", "stop_reason": "max_tokens", "stop": null }, "outputTokenCount": 300 }, "requestMetadata": { "project": "CustomerService", "intent": "ComplaintResolution", "priority": "High" } }
Sie können das Aufrufprotokoll als Eingabedatenquelle angeben, wenn Sie einen Auftrag zur Feinabstimmung von Verstärkungen starten. Sie können einen Job zur Feinabstimmung von Verstärkungen über die Amazon Bedrock-Konsole starten, indem Sie die API oder das AWS CLI SDK verwenden.
Anforderungen für die Bereitstellung von Anforderungsmetadaten
Die Anforderungsmetadaten müssen die folgenden Anforderungen erfüllen:
-
Sie müssen im JSON-Format für
key:valuebereitgestellt werden. -
Das Schlüssel/Wert-Paar muss eine Zeichenfolge mit maximal 256 Zeichen sein.
-
Es dürfen maximal 16 Schlüssel/Wert-Paare bereitgestellt werden.
Verwenden von Filtern für Anforderungsmetadaten
Sobald Aufrufprotokolle mit Anforderungsmetadaten verfügbar sind, können Sie Filter auf der Grundlage der Anforderungsmetadaten anwenden, um selektiv auszuwählen, welche Eingabeaufforderungen zur Feinabstimmung des Modells aufgenommen werden sollen. Beispielsweise möchten Sie möglicherweise nur solche mit "project": "CustomerService" Metadaten und Anforderungsmetadaten einbeziehen. "priority": "High"
Um die Protokolle anhand mehrerer Anforderungsmetadaten zu filtern, verwenden Sie einen einzigen booleschen Operator AND oder. OR Sie können diese Operatoren nicht kombinieren. Verwenden Sie für die Filterung von Metadaten für einzelne Anfragen den Equals Not Equals Operator oder.
Merkmale effektiver Trainingsdaten
Effektive RFT-Trainingsdaten erfordern drei Hauptmerkmale:
-
Klarheit und Konsistenz — Verwenden Sie klare, eindeutige Eingabeaufforderungen mit einheitlicher Formatierung. Vermeiden Sie widersprüchliche Bezeichnungen, mehrdeutige Anweisungen oder widersprüchliche Referenzantworten, die das Training irreführen könnten.
-
Vielfalt — Geben Sie unterschiedliche Eingabeformate, Sonderfälle und Schwierigkeitsgrade an, die die Nutzungsmuster in der Produktion für verschiedene Benutzertypen und Szenarien widerspiegeln.
-
Effiziente Belohnungsfunktionen — Entwerfen Sie Funktionen, die schnell (Sekunden, nicht Minuten) ausgeführt werden, parallelisiert werden und konsistente Ergebnisse AWS Lambda liefern, um ein kostengünstiges Training zu ermöglichen.
Zusätzliche Eigenschaften
Das RFT-Datenformat unterstützt benutzerdefinierte Felder, die über die grundlegenden Schemaanforderungen (messagesund) hinausgehen. reference_answer Diese Flexibilität ermöglicht es Ihnen, zusätzliche Daten hinzuzufügen, die Ihre Prämienfunktion für eine korrekte Auswertung benötigt.
Anmerkung
Sie müssen dies nicht in Ihrem Rezept konfigurieren. Das Datenformat unterstützt von Natur aus zusätzliche Felder. Nehmen Sie sie einfach in Ihre JSON-Trainingsdaten auf und sie werden an Ihre Belohnungsfunktion im metadata Feld weitergegeben.
Allgemeine zusätzliche Eigenschaften
task_id— Eindeutige Kennung für die Nachverfolgungdifficulty_level— Indikator für die Komplexität des Problemsdomain— Fachgebiet oder Kategorieexpected_reasoning_steps— Anzahl der Lösungsschritte
Diese zusätzlichen Felder werden während der Bewertung an Ihre Prämienfunktion übergeben und ermöglichen so eine ausgeklügelte Bewertungslogik, die auf Ihren speziellen Anwendungsfall zugeschnitten ist.
Beispiele mit zusätzlichen Eigenschaften