View a markdown version of this page

Vorbereitung der Daten für die multimodale Feinabstimmung - 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.

Vorbereitung der Daten für die multimodale Feinabstimmung

Wichtig

Bevor Sie mit der Vorbereitung Ihres Datensatzes beginnen, stellen Sie sicher, dass die überwachte Feinabstimmung (SFT) der richtige Ansatz für Ihren Anwendungsfall ist. SFT bringt dem Modell neue Verhaltensweisen, Antwortformate und Denkmuster bei. Es vermittelt dem Modell kein neues Faktenwissen. Wenn Ihr primäres Ziel darin besteht, domänenspezifische Fakten, Terminologie oder Wissen einzuführen, das das Modell noch nicht erkannt hat, sollten Sie eine Retrieval-Augmented Generation (RAG) in Betracht ziehen, um diesen Kontext zum Zeitpunkt der Inferenz bereitzustellen. Hinweise zur Wahl zwischen SFT, Reinforcement Fine-Tuning (RFT) und RAG finden Sie unter. Amazon Nova-Anpassung bei SageMaker Schulungsjobs

Im Folgenden finden Sie Richtlinien und Anforderungen für die Vorbereitung von Daten für die Feinabstimmung von Verständnismodellen:

  1. Die Mindestdatengröße für die Feinabstimmung hängt von der Aufgabe ab (d. h. komplex oder einfach), jedoch empfehlen wir Ihnen, mindestens 100 Beispiele für jede Aufgabe zu verwenden, die das Modell lernen soll.

  2. Wir empfehlen, Ihren optimierten Prompt sowohl während des Trainings als auch während der Inferenz in einer Zero-Shot-Umgebung zu verwenden, um optimale Ergebnisse zu erzielen.

  3. Trainings- und Validierungsdatensätze müssen JSONL-Dateien sein, wobei jede Zeile ein JSON-Objekt darstellt, das einem Datensatz entspricht. Diese Dateinamen dürfen nur aus alphanumerischen Zeichen, Unterstrichen, Bindestrichen, Schrägstrichen und Punkten bestehen.

  4. Bild- und Video-Einschränkungen

    1. Der Datensatz darf keine unterschiedlichen Medienmodalitäten enthalten. Das heißt, der Datensatz kann entweder Text mit Bildern oder Text mit Videos sein.

    2. Ein Beispiel (einzelner Datensatz in Nachrichten) kann mehrere Bilder enthalten

    3. Ein Beispiel (einzelner Datensatz in Nachrichten) kann nur 1 Video enthalten

  5. schemaVersion kann ein beliebiger Zeichenfolgenwert sein

  6. Die (Optional) system-Runde kann ein vom Kunden bereitgestellter benutzerdefinierter System-Prompt sein.

  7. Unterstützte Rollen sind user und assistant.

  8. Die erste Runde in messages sollte immer mit "role": "user" beginnen. Die letzte Runde ist die Antwort des Bots, gekennzeichnet durch. "role": "assistant"

  9. image.source.s3Location.uri und video.source.s3Location.uri müssen für Amazon Bedrock zugänglich sein.

  10. Ihre Amazon-Bedrock-Servicerolle muss in der Lage sein, auf die Bilddateien in Amazon S3 zuzugreifen. Weitere Informationen über die Gewährung von Zugriffsrechten finden Sie unter Eine Servicerolle für die Modellanpassung erstellen

  11. Die Bilder oder Videos müssen sich im selben Amazon-S3-Bucket wie Ihr Datensatz befinden. Wenn sich Ihr Datensatz beispielsweise in s3://amzn-s3-demo-bucket/train/train.jsonl befindet, müssen Ihre Bilder oder Videos in s3://amzn-s3-demo-bucket gespeichert sein

  12. Die Begriffe User:, Bot:, Assistant:, System:, <image>, <video> und [EOS] sind reservierte Schlüsselwörter. Wenn eine Benutzer- oder Systemaufforderung mit einem dieser Schlüsselwörter beginnt oder diese Schlüsselwörter irgendwo in der Eingabeaufforderung vorkommen, schlägt Ihre Trainingsaufgabe aufgrund von Datenproblemen fehl. Wenn Sie diese Schlüsselwörter für Ihren Anwendungsfall verwenden müssen, müssen Sie sie durch andere Stichwörter mit ähnlicher Bedeutung ersetzen, damit Ihre Schulung fortgesetzt werden kann.

Anmerkung

Um Ihren Datensatz zu validieren, bevor Sie einen Job zur Feinabstimmung einreichen, können Sie das auf GitHub verfügbare Datensatzvalidierungsskript verwenden.

Entwerfen effektiver Schulungsbeispiele

Ihre Trainingsdaten sollten das Verhalten zeigen, das das Modell zeigen soll. SFT bringt dem Modell bei, wie es reagieren soll, und nicht, was es wissen soll. Wenn Sie Trainingsbeispiele in erster Linie erstellen, um Ihnen Faktenwissen zu vermitteln (zum Beispiel „Was bedeutet Fehlercode E-45 ?“ mit der Antwort „E-45 weist auf ein Sensor-Timeout hin“) sollten Sie sich überlegen, ob RAG oder Prompt Engineering ohne Feinabstimmung dasselbe Ergebnis erzielen könnten.

Beachten Sie bei der Konvertierung von Quelldaten in das Konversationsformat die folgenden Prinzipien:

  1. Beginnen Sie mit echten Benutzeranfragen. Write-User-Wendungen, die widerspiegeln, wie Endbenutzer das Modell in der Produktion tatsächlich aufrufen werden. Vermeiden Sie künstliche oder zu vereinfachte Fragen, die nicht den tatsächlichen Nutzungsmustern entsprechen.

  2. Schreiben Sie Antworten von Assistenten nach Goldstandard. Jede Runde des Assistenten sollte die ideale Antwort sein, die das Modell erzeugen soll — korrekt, gut formatiert und in Ton und Struktur in allen Beispielen einheitlich.

  3. Verwenden Sie die Systemaufforderung strategisch. Platzieren Sie persistente Anweisungen wie Ausgabeformat, Persona und Domänenkontext nacheinander im System. Verwenden Sie sowohl beim Training als auch bei der Inferenz dieselbe Systemaufforderung, um die besten Ergebnisse zu erzielen.

  4. Konzentrieren Sie sich bei den Beispielen auf eine Fähigkeit pro Stichprobe. Wenn Sie das Modell zum Klassifizieren, Beantworten von Fragen und Zusammenfassen benötigen, erstellen Sie separate Beispielsätze für jede Fähigkeit, anstatt mehrere Fähigkeiten in einer einzigen Stichprobe zu kombinieren.

  5. Priorisieren Sie Qualität vor Quantität. Ein paar hundert qualitativ hochwertige, konsistente Beispiele übertreffen in der Regel Tausende von lauten oder widersprüchlichen Beispielen. Deduplizieren und überprüfen Sie Ihre Daten vor dem Training.

Gängige Muster für die Datentransformation

Die folgenden Muster veranschaulichen, wie gängige Unternehmensdatenformate in effektive SFT-Schulungsbeispiele umgewandelt werden können.

Muster 1: Strukturierte Datensätze zur Klassifizierung oder Suche

Wenn es sich bei Ihren Quelldaten um eine Tabelle oder Datenbank mit Datensätzen mit Feldern wie issuecause, und handeltresolution, stellen Sie jeden Datensatz als Benutzerfrage mit den entsprechenden Eingabefeldern und der Antwort des Assistenten als Zielausgabefeldern ein.

// train.jsonl { "schemaVersion": "bedrock-conversation-2024", "system": [ { "text": "You are a technical support assistant. Given an issue description, identify the most likely root cause and recommended resolution." } ], "messages": [ { "role": "user", "content": [ { "text": "A user reports: 'Application crashes on startup after the latest update.' What is the likely cause and resolution?" } ] }, { "role": "assistant", "content": [ { "text": "Cause: Incompatible configuration file from the previous version.\nResolution: Delete the local configuration cache and restart the application to regenerate default settings." } ] } ] }
Muster 2: Von hierarchischen oder taxonomischen Daten bis hin zu strukturierten Fragen und Antworten

Wenn es sich bei Ihren Quelldaten um eine Codehierarchie oder Taxonomie wie Produktkategoriebäume oder Klassifikationssysteme handelt, generieren Sie Fragen, die das Modell bitten, sich in der Hierarchie zurechtzufinden. Beziehen Sie den Klassifizierungskontext in die Systemaufforderung oder in die Benutzerrunde ein.

// train.jsonl { "schemaVersion": "bedrock-conversation-2024", "system": [ { "text": "You are a product catalog assistant. Answer questions about product categories and classifications accurately." } ], "messages": [ { "role": "user", "content": [ { "text": "What top-level category does product code 'EL-4520' belong to, and what subcategories does it include?" } ] }, { "role": "assistant", "content": [ { "text": "Product code EL-4520 belongs to the Electronics category. It includes the subcategories: Audio Equipment, Portable Speakers, and Wireless Accessories." } ] } ] }
Muster 3: Von den prozeduralen Dokumenten zum Anleitungsdialog

Wenn Ihre Quelldaten aus Standardarbeitsanweisungen, Runbooks oder schrittweisen Anleitungen bestehen, konvertieren Sie Verfahren in aufgabenorientierte Fragen. Der Benutzer fragt, wie eine Aufgabe ausgeführt werden soll, und der Assistent stellt die Schritte in einem konsistenten Format bereit.

// train.jsonl { "schemaVersion": "bedrock-conversation-2024", "system": [ { "text": "You are an IT operations assistant. Provide step-by-step instructions based on approved runbooks and standard operating procedures." } ], "messages": [ { "role": "user", "content": [ { "text": "How do I reset a user's multi-factor authentication when they have lost access to their device?" } ] }, { "role": "assistant", "content": [ { "text": "Follow these steps to reset a user's multi-factor authentication:\n1. Verify the user's identity using the approved verification procedure.\n2. Disable the existing MFA configuration in the identity management console.\n3. Generate a new temporary access code and send it to the user's verified email.\n4. Instruct the user to log in with the temporary code and re-enroll their new device.\n5. Confirm the new MFA device is working by requesting a test authentication.\n6. Document the reset in the support ticket." } ] } ] }
Anmerkung

Wenn in den Mustern 1 und 2 der sachliche Inhalt (wie Codes, Kategorien oder Auflösungen) nicht bereits in den Daten des Modells vor dem Training enthalten ist, sollten Sie in Erwägung ziehen, RAG zu verwenden, um diese Informationen zum Zeitpunkt der Inferenz bereitzustellen, anstatt sich ausschließlich auf SFT zu verlassen, um sie auswendig zu lernen. SFT ist am effektivsten, wenn es darum geht, dem Modell das Antwortformat und das Argumentationsmuster beizubringen, während RAG die faktische Grundlage übernimmt.

Beispieldatensatzformate

Die folgenden Beispieldatensatzformate bieten Ihnen eine Orientierungshilfe.

Das folgende Beispiel dient ausschließlich der benutzerdefinierten Feinabstimmung von Text.

// train.jsonl { "schemaVersion": "bedrock-conversation-2024", "system": [ { "text": "You are a digital assistant with a friendly personality" } ], "messages": [ { "role": "user", "content": [ { "text": "What is the capital of Mars?" } ] }, { "role": "assistant", "content": [ { "text": "Mars does not have a capital. Perhaps it will one day." } ] } ] }

Das folgende Beispiel dient der benutzerdefinierten Feinabstimmung von Text und einem einzelnen Bild.

// train.jsonl{ "schemaVersion": "bedrock-conversation-2024", "system": [{ "text": "You are a smart assistant that answers questions respectfully" }], "messages": [{ "role": "user", "content": [{ "text": "What does the text in this image say?" }, { "image": { "format": "png", "source": { "s3Location": { "uri": "s3://your-bucket/your-path/your-image.png", "bucketOwner": "your-aws-account-id" } } } } ] }, { "role": "assistant", "content": [{ "text": "The text in the attached image says 'LOL'." }] } ] }

Das folgende Beispiel dient der benutzerdefinierten Feinabstimmung von Text und Video.

{ "schemaVersion": "bedrock-conversation-2024", "system": [{ "text": "You are a helpful assistant designed to answer questions crisply and to the point" }], "messages": [{ "role": "user", "content": [{ "text": "How many white items are visible in this video?" }, { "video": { "format": "mp4", "source": { "s3Location": { "uri": "s3://your-bucket/your-path/your-video.mp4", "bucketOwner": "your-aws-account-id" } } } } ] }, { "role": "assistant", "content": [{ "text": "There are at least eight visible items that are white" }] } ] }

Einschränkungen für Datensätze

Amazon Nova wendet die folgenden Einschränkungen auf Modellanpassungen für Verständnismodelle an.

Modell

Minimale Anzahl von Beispielen

Maximale Anzahl von Beispielen

Kontextlänge

Amazon Nova Micro

8

20 000

32 000

Amazon Nova Lite

8

20 000

32 000

Amazon Nova Pro

8

20 000

32 000

Bild- und Video-Einschränkungen

Maximale Anzahl an Bildern

10/sample

Maximale Größe von Bilddateien

10 MB

Maximale Anzahl von Videos

1/sample

Maximales Video length/duration

90 Sekunden

Maximale Größe von Videodateien

50 MB

Unterstützte Medienformate
  • Bild – png,jpeg,gif, webp

  • Video – mov, mkv, mp4, webm