

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
<a name="fine-tune-prepare-data-understanding"></a>

**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](nova-model-training-job.md)

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.

1. 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.

1. 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.

1. 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.

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

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

1. `schemaVersion` kann ein beliebiger Zeichenfolgenwert sein

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

1. Unterstützte Rollen sind `user` und `assistant`.

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

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

1.  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](https://docs.aws.amazon.com/bedrock/latest/userguide/model-customization-iam-role.html) 

1. 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

1. 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](https://github.com/aws-samples/amazon-nova-samples/tree/main/customization/bedrock-finetuning/understanding/dataset_validation) verwenden.

## Entwerfen effektiver Schulungsbeispiele
<a name="designing-effective-training-examples"></a>

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.

1. **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.

1. **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.

1. **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.

1. **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
<a name="common-data-transformation-patterns"></a>

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 `issue``cause`, und handelt`resolution`, 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.

**Topics**
+ [Entwerfen effektiver Schulungsbeispiele](#designing-effective-training-examples)
+ [Beispieldatensatzformate](#customize-fine-tune-examples)
+ [Einschränkungen für Datensätze](#custom-fine-tune-constraints)

## Beispieldatensatzformate
<a name="customize-fine-tune-examples"></a>

Die folgenden Beispieldatensatzformate bieten Ihnen eine Orientierungshilfe.

### Text-only benutzerdefiniertes Format für die Feinabstimmung
<a name="example4"></a>

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."
        }
      ]
    }
  ]
}
```

### Benutzerdefiniertes Feinabstimmungsformat für einzelne Bilder
<a name="example1"></a>

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'."
            }]
        }
    ]
}
```

### Benutzerdefiniertes Feinabstimmungsformat für Videos
<a name="example3"></a>

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
<a name="custom-fine-tune-constraints"></a>

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`