

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.

# AutoML-Job zur Optimierung von Textgenerierungsmodellen mithilfe der API erstellen
<a name="autopilot-create-experiment-finetune-llms"></a>

Große Sprachmodelle (LLMs) zeichnen sich durch vielfältige generative Aufgaben aus, darunter Textgenerierung, Zusammenfassung, Vervollständigung, Beantwortung von Fragen und mehr. Ihre Leistungsfähigkeit lässt sich auf ihre beträchtliche Größe und ihr umfangreiches Training mit unterschiedlichen Datensätzen und verschiedenen Aufgaben zurückführen. In bestimmten Bereichen, wie dem Gesundheitswesen und den Finanzdienstleistungen, ist jedoch möglicherweise eine individuelle Feinabstimmung erforderlich, um sie an spezifische Daten und Anwendungsfälle anzupassen. Durch die Anpassung ihrer Schulungen an ihr spezielles Fachgebiet LLMs können sie ihre Leistung verbessern und genauere Ergebnisse für gezielte Anwendungen liefern.

Autopilot bietet die Möglichkeit, eine Auswahl von vortrainierten generativen Textmodellen zu verfeinern. Insbesondere unterstützt der Autopilot die **anweisungsgestützte Feinabstimmung** einer Auswahl von Allzweck-Modellen in großen Sprachen (), die von unterstützt werden. LLMs JumpStart

**Anmerkung**  
Die Textgenerierungsmodelle, die die Feinabstimmung in Autopilot unterstützen, sind derzeit ausschließlich in Regionen verfügbar, die von Canvas unterstützt werden. SageMaker [Eine vollständige Liste der unterstützten Regionen finden Sie in der Dokumentation von SageMaker ](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas.html) Canvas.

Für die Feinabstimmung eines vortrainierten Modells ist ein bestimmter Datensatz mit klaren Anweisungen erforderlich, anhand derer sich das Modell bei der Generierung von Ergebnissen oder beim Verhalten für diese Aufgabe orientieren kann. Das Modell lernt aus dem Datensatz und passt seine Parameter an, sodass sie den bereitgestellten Anweisungen entsprechen. Bei der Feinabstimmung mithilfe von Anweisungen werden beschriftete Beispiele verwendet, die als Prompt-Antwort-Paare formatiert und als Anweisungen formuliert sind. Weitere Informationen zur Feinabstimmung finden Sie unter [Feinabstimmung eines Basismodells](https://docs.aws.amazon.com/sagemaker/latest/dg/jumpstart-foundation-models-fine-tuning.html).

[Die folgenden Richtlinien beschreiben den Prozess der Erstellung eines Amazon SageMaker Autopilot-Jobs als Pilotversuch zur Feinabstimmung der Textgenerierung LLMs mithilfe der SageMaker API-Referenz.](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-reference.html)

**Anmerkung**  
Aufgaben wie Text- und Bildklassifizierung, Zeitreihenprognosen und Feinabstimmung umfangreicher Sprachmodelle stehen nur über Version 2 der [AutoML-REST-API](autopilot-reference.md) zur Verfügung. Wenn Ihre bevorzugte Sprache Python ist, können Sie direkt auf [AWS SDK für Python (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker/client/create_auto_ml_job_v2.html)das [MLV2 Auto-Objekt](https://sagemaker.readthedocs.io/en/stable/api/training/automlv2.html#sagemaker.automl.automlv2.AutoMLV2) des Amazon SageMaker Python SDK verweisen.  
Benutzer, die den Komfort einer Benutzeroberfläche bevorzugen, können [Amazon SageMaker Canvas](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-getting-started.html) verwenden, um auf vortrainierte Modelle und generative KI-Grundmodelle zuzugreifen oder benutzerdefinierte Modelle zu erstellen, die auf bestimmte Text-, Bildklassifizierungs-, Prognoseanforderungen oder generative KI zugeschnitten sind.

Um ein Autopilot-Experiment zur Feinabstimmung eines LLM programmgesteuert zu erstellen, können Sie die [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html)API in jeder Sprache aufrufen, die von Amazon Autopilot oder dem unterstützt wird. SageMaker AWS CLI

Informationen darüber, wie diese API-Aktion in eine Funktion in der Sprache Ihrer Wahl übersetzt wird, finden Sie im Abschnitt [Siehe auch](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#API_CreateAutoMLJobV2_SeeAlso) von `CreateAutoMLJobV2` und wählen Sie ein SDK aus. Als Beispiel für Python-Benutzer finden Sie die vollständige Anforderungssyntax von `[create\$1auto\$1ml\$1job\$1v2](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_auto_ml_job_v2)` in AWS SDK für Python (Boto3).

**Anmerkung**  
Der Autopilot optimiert umfangreiche Sprachmodelle, ohne dass mehrere Kandidaten trainiert und bewertet werden müssen. Stattdessen optimiert Autopilot anhand Ihres Datensatzes direkt Ihr Zielmodell, um eine standardmäßige Zielmetrik, den Cross-Entropie-Verlust, zu verbessern. Für die Feinabstimmung von Sprachmodellen in Autopilot ist keine Einstellung des Feldes `AutoMLJobObjective` erforderlich.

Sobald Ihr LLM fein abgestimmt ist, können Sie seine Leistung bewerten, indem Sie bei einem `[DescribeAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html)`-API-Aufruf auf verschiedene ROUGE-Scores über die `[BestCandidate](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateProperties.html#sagemaker-Type-CandidateProperties-CandidateMetrics)` zugreifen. Das Modell liefert auch Informationen über den Trainings- und Validierungsverlust sowie die Komplexität. Eine umfassende Liste von Kennzahlen zur Bewertung der Qualität des mit den fein abgestimmten Modellen generierten Textes finden Sie unter [Metriken für die Feinabstimmung großer Sprachmodelle in Autopilot](autopilot-llms-finetuning-metrics.md).

## Voraussetzungen
<a name="autopilot-llms-finetuning-api-prerequisites"></a>

Bevor Sie Autopilot verwenden, um ein Feinabstimmungsexperiment in KI zu erstellen, stellen Sie sicher, dass Sie die folgenden Schritte ausführen: SageMaker 
+ (optional) das vortrainierte Modell auswählen, das Sie verfeinern möchten.

  Eine Liste der vortrainierten Modelle, die für die Feinabstimmung in Amazon SageMaker Autopilot verfügbar sind, finden Sie unter. [Unterstützt große Sprachmodelle für die Feinabstimmung](autopilot-llms-finetuning-models.md) *Die Auswahl eines Modells ist nicht zwingend erforderlich. Wenn kein Modell angegeben ist, verwendet Autopilot automatisch standardmäßig das Modell Falcon7. BInstruct*
+ Erstellen eines Datensatzes mit Anweisungen. Weitere Informationen zu den Formatanforderungen für Ihren anweisungsbasierten Datensatz finden Sie unter [Datensatz-Dateitypen und Eingabedatenformat](autopilot-llms-finetuning-data-format.md).
+ Platzieren Sie Ihre Datensätze in einem Amazon-S3-Bucket.
+ Gewähren Sie vollen Zugriff auf den Amazon S3 S3-Bucket, der Ihre Eingabedaten für die SageMaker KI-Ausführungsrolle enthält, die für die Ausführung Ihres Experiments verwendet wurde.
  + Informationen zum Abrufen Ihrer SageMaker KI-Ausführungsrolle finden Sie unter[Abrufen Ihrer Ausführungsrolle](sagemaker-roles.md#sagemaker-roles-get-execution-role).
  + Informationen dazu, wie Sie Ihrer SageMaker KI-Ausführungsrolle Berechtigungen für den Zugriff auf einen oder mehrere bestimmte Buckets in Amazon S3 gewähren, finden *Sie unter Zusätzliche Amazon S3 S3-Berechtigungen zu einer SageMaker KI-Ausführungsrolle hinzufügen* in[Erstellen einer Ausführungsrolle](sagemaker-roles.md#sagemaker-roles-create-execution-role).
+ Darüber hinaus sollten Sie Ihrer Ausführungsrolle die erforderlichen Berechtigungen für den Zugriff auf den Standardspeicher gewähren, von dem Amazon S3 S3-Bucket verwendet wird JumpStart. Dieser Zugriff ist erforderlich, um vortrainierte Modellartefakte in zu speichern und abzurufen. JumpStart Um Zugriff auf diesen Amazon-S3-Bucket zu gewähren, müssen Sie eine neue benutzerdefinierte Inline-Richtlinie für Ihre Ausführungsrolle erstellen.

  Hier ist eine Beispielrichtlinie, die Sie in Ihrem JSON-Editor verwenden können, wenn Sie AutoML-Feintuning-Jobs in `us-west-2` konfigurieren:

  *JumpStartDie Bucket-Namen folgen einem vordefinierten Muster, das von der abhängt. AWS-Regionen Sie müssen den Namen des Buckets entsprechend anpassen.* 

  ```
  {
      "Sid": "Statement1",
      "Effect": "Allow",
      "Action": [
          "s3:GetObject",
          "s3:PutObject",
          "s3:ListBucket"
      ],
      "Resource": [
          "arn:aws:s3:::jumpstart-cache-prod-us-west-2",
          "arn:aws:s3:::jumpstart-cache-prod-us-west-2/*"
      ]
  }
  ```

Sobald dies erledigt ist, können Sie den ARN dieser Ausführungsrolle in Autopilot-API-Anfragen verwenden.

## Erforderliche Parameter
<a name="autopilot-llms-finetuning-api-required-params"></a>

Wenn Sie `[CreateAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html)` aufrufen, um ein Autopilot-Experiment zur Optimierung von LLMs zu erstellen, müssen Sie die folgenden Werte angeben:
+ Einen `[AutoMLJobName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#API_CreateAutoMLJobV2_RequestSyntax)`, um den Namen Ihres Auftrags anzugeben. Der Name sollte vom Typ `string` sein und mindestens 1 Zeichen und höchstens 32 Zeichen lang sein.
+ Mindestens einen `[AutoMLJobChannel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobChannel.html)` vom Typ `training` innerhalb von `[AutoMLJobInputDataConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLJobInputDataConfig)`. Dieser Kanal gibt den Namen des Amazon-S3-Buckets an, in dem sich Ihr Fine-Tuning-Datensatz befindet. Sie haben die Möglichkeit, einen `validation`skanal zu definieren. Wenn kein Validierungskanal bereitgestellt wird und eine `ValidationFraction` in der [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLDataSplitConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLDataSplitConfig.html) konfiguriert ist, wird dieser Anteil verwendet, um den Trainingsdatensatz nach dem Zufallsprinzip in Trainings- und Validierungssätze aufzuteilen. Darüber hinaus können Sie den Inhaltstyp (CSV- oder Parquet-Dateien) für den Datensatz angeben.
+ Ein `[AutoMLProblemTypeConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLProblemTypeConfig)` vom Typ `[TextGenerationJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TextGenerationJobConfig.html)`, mit dem Sie die Einstellungen Ihres Trainingsjobs zur Optimierung konfigurieren können.

  Insbesondere können Sie den Namen des Basismodells für die Feinabstimmung in dem Feld `BaseModelName` angeben. Eine Liste der vortrainierten Modelle, die für die Feinabstimmung in Amazon SageMaker Autopilot verfügbar sind, finden Sie unter. [Unterstützt große Sprachmodelle für die Feinabstimmung](autopilot-llms-finetuning-models.md)
+ Ein `[OutputDataConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLOutputDataConfig.html)` um den Amazon S3-Ausgabepfad zum Speichern der Artefakte Ihres AutoML-Auftrags anzugeben.
+ Ein `[RoleArn](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html#sagemaker-CreateAutoMLJob-request-RoleArn)`, zur Angabe der ARN der Rolle, die für den Zugriff auf Ihre Daten verwendet wird.

Im Folgenden finden Sie ein Beispiel für das vollständige Anforderungsformat, das bei einem API-Aufruf `CreateAutoMLJobV2` zur Feinabstimmung eines (`Falcon7BInstruct`-)Modells verwendet wird.

```
{
   "AutoMLJobName": "<job_name>",
   "AutoMLJobInputDataConfig": [ 
      { 
         "ChannelType": "training",
         "CompressionType": "None",
         "ContentType": "text/csv", 
         "DataSource": { 
            "S3DataSource": { 
               "S3DataType": "S3Prefix",
               "S3Uri": "s3://<bucket_name>/<input_data>.csv"
            }
         }
      }
   ],
  "OutputDataConfig": {
      "S3OutputPath": "s3://<bucket_name>/output",
      "KmsKeyId": "arn:aws:kms:<region>:<account_id>:key/<key_value>"
   },
   "RoleArn":"arn:aws:iam::<account_id>:role/<sagemaker_execution_role_name>",
   "AutoMLProblemTypeConfig": {
        "TextGenerationJobConfig": {
            "BaseModelName": "Falcon7BInstruct"
       }
   }
}
```

Alle anderen Parameter sind optional.

## Optionale Parameter
<a name="autopilot-llms-finetuning-api-optional-params"></a>

Die folgenden Abschnitte enthalten Einzelheiten zu einigen optionalen Parametern, die Sie an Ihren AutoML-Job zur Feinabstimmung übergeben können.

### So spezifizieren Sie die Trainings- und Validierungsdatensätze eines AutoML-Auftrags
<a name="autopilot-llms-finetuning-data-training-or-validation"></a>

Sie können Ihren eigenen Validierungsdatensatz und ein benutzerdefiniertes Datenteilungsverhältnis angeben oder den Datensatz automatisch von Autopilot teilen lassen.

Jedes [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobChannel.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobChannel.html)Objekt (siehe der erforderliche Parameter [Auto MLJob InputDataConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLJobInputDataConfig)) hat einen`ChannelType`, der entweder auf `training` oder `validation` Werte gesetzt werden kann, die angeben, wie die Daten bei der Erstellung eines Modells für maschinelles Lernen verwendet werden sollen.

Es muss mindestens eine Datenquelle bereitgestellt werden, und es sind maximal zwei Datenquellen zulässig: eine für Trainingsdaten und eine für Validierungsdaten. Wie Sie die Daten in Trainings- und Validierungsdatensätze aufteilen, hängt davon ab, ob Sie über eine oder zwei Datenquellen verfügen. 
+ Wenn Sie nur über **eine Datenquelle** verfügen, wird die `ChannelType` standardmäßig auf `training` eingestellt und muss diesen Wert haben.
  + Wenn der Wert `ValidationFraction` in [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLDataSplitConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLDataSplitConfig.html) nicht festgelegt ist, werden standardmäßig 0,2 (20%) der Daten aus dieser Quelle für die Validierung verwendet. 
  + Wenn für `ValidationFraction` ein Wert zwischen 0 und 1 festgelegt wird, wird der Datensatz anhand des angegebenen Wertes aufgeteilt. Dabei gibt der Wert den Anteil des Datensatzes an, der für die Validierung verwendet wird.
+ Wenn Sie über **zwei Datenquellen** verfügen, muss der `ChannelType` für eines der `AutoMLJobChannel` Objekte auf `training` gesetzt werden, den Standardwert. Der `ChannelType` der anderen Datenquelle muss auf `validation` gesetzt werden. Die beiden Datenquellen müssen dasselbe Format haben, entweder CSV oder Parquet, und dasselbe Schema. In diesem Fall dürfen Sie den Wert für `ValidationFraction` nicht festlegen, da alle Daten aus jeder Quelle entweder für das Training oder für die Validierung verwendet werden. Wenn dieser Wert festgelegt wird, verursacht dies einen Fehler.

### So aktivieren Sie die automatische Bereitstellung
<a name="autopilot-llms-finetuning-auto-model-deployment"></a>

Mit Autopilot können Sie Ihr optimiertes Modell automatisch auf einem Endpunkt bereitstellen. Um die automatische Bereitstellung für Ihr optimiertes Modell zu ermöglichen, fügen Sie der AutoML-Jobanfrage eine `[ModelDeployConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-ModelDeployConfig)` hinzu. Dies ermöglicht die Bereitstellung Ihres fein abgestimmten Modells auf einem SageMaker KI-Endpunkt. Im Folgenden finden Sie die verfügbaren Konfigurationen für die Anpassung.
+ Damit Autopilot den Endpunktnamen generieren kann, stellen Sie `[AutoGenerateEndpointName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ModelDeployConfig.html#API_ModelDeployConfig_Contents)` auf `True` ein.
+ Um Ihren eigenen Namen für den Endpunkt anzugeben, legen Sie `[AutoGenerateEndpointName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ModelDeployConfig.html#API_ModelDeployConfig_Contents) to False and provide a name of your choice in [EndpointName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ModelDeployConfig.html#API_ModelDeployConfig_Contents)` fest.

### So legen Sie die EULA-Akzeptanz bei der Optimierung eines Modells mithilfe der AutoML-API fest
<a name="autopilot-llms-finetuning-set-eula"></a>

Bei Modellen, für die vor der Optimierung die Annahme einer Endbenutzer-Lizenzvereinbarung erforderlich ist, können Sie die EULA akzeptieren, indem Sie bei der Konfiguration von `[AutoMLProblemTypeConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLProblemTypeConfig)` das Attribut `AcceptEula` der `[ModelAccessConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ModelAccessConfig.html)` in `[TextGenerationJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TextGenerationJobConfig.html)` auf `True` setzen.

### Hyperparameter festlegen, um den Lernprozess eines Modells zu optimieren
<a name="autopilot-llms-finetuning-set-hyperparameters"></a>

Sie können den Lernprozess Ihres Textgenerierungsmodells optimieren, indem Sie bei der Konfiguration von `[AutoMLProblemTypeConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLProblemTypeConfig)` die Hyperparameterwerte im Attribut `TextGenerationHyperParameters` von `[TextGenerationJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TextGenerationJobConfig.html)` festlegen.

Der Autopilot ermöglicht die Einstellung von vier gemeinsamen Hyperparametern für alle Modelle.
+ `epochCount`: Dieser Wert sollte eine Zeichenfolge sein, die einen ganzzahligen Wert im Bereich von `1` bis `10` enthält.
+ `batchSize`: Dieser Wert sollte eine Zeichenfolge sein, die einen ganzzahligen Wert im Bereich von `1` bis `64` enthält.
+ `learningRate`: Dieser Wert sollte eine Zeichenfolge sein, die einen Gleitkommawert im Bereich von `0` bis `1` enthält.
+ `learningRateWarmupSteps`: Dieser Wert sollte eine Zeichenfolge sein, die einen ganzzahligen Wert im Bereich von `0` bis `250` enthält.

Weitere Informationen zu den einzelnen Hyperparametern finden Sie unter [Hyperparameter zur Optimierung des Lernprozesses Ihrer Textgenerierungsmodelle](autopilot-llms-finetuning-hyperparameters.md).

Das folgende JSON-Beispiel zeigt ein `TextGenerationHyperParameters` Feld, das an das übergeben wird, TextGenerationJobConfig in dem alle vier Hyperparameter konfiguriert sind.

```
"AutoMLProblemTypeConfig": {
  "TextGenerationJobConfig": {
    "BaseModelName": "Falcon7B",
    "TextGenerationHyperParameters": {"epochCount":"5", "learningRate":"0.000001", "batchSize": "32", "learningRateWarmupSteps": "10"}
  }
}
```

# Unterstützt große Sprachmodelle für die Feinabstimmung
<a name="autopilot-llms-finetuning-models"></a>

Mithilfe der Autopilot-API können Benutzer große Sprachmodelle (LLMs), die von Amazon unterstützt werden, optimieren. SageMaker JumpStart

**Anmerkung**  
Bei optimierten Modellen, die die Annahme einer Endbenutzer-Lizenzvereinbarung erfordern, müssen Sie beim Erstellen des AutoML-Jobs ausdrücklich die Annahme der EULA erklären. Beachten Sie, dass nach der Optimierung eines vortrainierten Modells die Gewichte des Originalmodells geändert werden, sodass Sie später bei der Bereitstellung des fein abgestimmten Modells keine EULA akzeptieren müssen.  
Informationen darüber, wie Sie die EULA akzeptieren können, wenn Sie einen Auftrag zur Optimierung mithilfe der AutoML-API erstellen, finden Sie unter [So legen Sie die EULA-Akzeptanz bei der Optimierung eines Modells mithilfe der AutoML-API fest](autopilot-create-experiment-finetune-llms.md#autopilot-llms-finetuning-set-eula).

**Sie können die vollständigen Details zu jedem Modell finden, indem Sie in der folgenden **JumpStart [Modelltabelle nach Ihrer Modell-ID](https://sagemaker.readthedocs.io/en/stable/doc_utils/pretrainedmodels.html#built-in-algorithms-with-pre-trained-model-table)** suchen und dann dem Link in der Spalte Quelle folgen.** Zu diesen Details können die vom Modell unterstützten Sprachen, mögliche Verzerrungen, die für die Optimierung verwendeten Datensätze und vieles mehr gehören.

In der folgenden Tabelle sind die unterstützten JumpStart Modelle aufgeführt, die Sie mit einem AutoML-Job optimieren können.


| JumpStart Modell-ID | `BaseModelName` in der API-Anfrage. | Description | 
| --- | --- | --- | 
| huggingface-textgeneration-dolly-v2-3b-bf16 | Dolly3B |  Dolly 3B ist ein großes Sprachmodell mit 2,8 Milliarden Parametern, das Anweisungen befolgt und auf [pythia-2.8b](https://huggingface.co/EleutherAI/pythia-2.8b#pythia-28b) basiert. Es wurde mit dem instruction/response [Feinabstimmungsdatensatz databricks-dolly-15k](https://huggingface.co/datasets/databricks/databricks-dolly-15k) trainiert und kann Aufgaben wie Brainstorming, Klassifizierung, Fragen und Antworten, Textgenerierung, Informationsextraktion und Zusammenfassung ausführen.  | 
| huggingface-textgeneration-dolly-v2-7b-bf16 | Dolly7B |  Dolly 7B ist ein großes Sprachmodell mit 6,9 Milliarden Parametern, das Anweisungen befolgt und auf [pythia-6.9b](https://huggingface.co/EleutherAI/pythia-6.9b) basiert. Es wurde mit dem instruction/response [Feinabstimmungsdatensatz Databricks-Dolly-15k](https://huggingface.co/datasets/databricks/databricks-dolly-15k) trainiert und kann Aufgaben wie Brainstorming, Klassifizierung, Fragen und Antworten, Textgenerierung, Informationsextraktion und Zusammenfassung ausführen.  | 
| huggingface-textgeneration-dolly-v2-12b-bf16 | Dolly12B |  Dolly 12B ist ein großes Sprachmodell mit 12 Milliarden Parametern, das Anweisungen befolgt und auf [pythia-12b](https://huggingface.co/EleutherAI/pythia-12b) basiert. Es wurde mit dem instruction/response [Feinabstimmungsdatensatz Databricks-Dolly-15k](https://huggingface.co/datasets/databricks/databricks-dolly-15k) trainiert und kann Aufgaben wie Brainstorming, Klassifizierung, Fragen und Antworten, Textgenerierung, Informationsextraktion und Zusammenfassung ausführen.  | 
| huggingface-llm-falcon-7b-bf16 | Falcon7B |  Falcon 7B ist ein kausales großes Sprachmodell mit 7 Milliarden Parametern, das auf 1.500 Milliarden Tokens trainiert wurde und mit kuratierten Korpora erweitert wurde. Falcon 7B wurde ausschließlich mit englischen und französischen Daten trainiert und lässt sich nicht angemessen auf andere Sprachen verallgemeinern. Da das Modell anhand großer Mengen von Webdaten trainiert wurde, ist es mit den Stereotypen und Vorurteile behaftet, die häufig im Internet zu finden sind.  | 
| huggingface-llm-falcon-7b-instruct-bf16 | Falcon7BInstruct |  Falcon 7B Instruct ist ein kausales Sprachmodell mit 7 Milliarden Parametern, das auf Falcon 7B basiert und auf einer Mischung von Datensätzen mit 250 Millionen Tokens fein abgestimmt wurde. chat/instruct Falcon 7B Instruct wird hauptsächlich auf englischen Daten trainiert und lässt sich nicht angemessen auf andere Sprachen verallgemeinern. Da es an großen Korpora, die für das Internet repräsentativ sind, trainiert wurde, enthält es zudem die Stereotypen und Vorurteile, denen man im Internet häufig begegnet.  | 
| huggingface-llm-falcon-40b-bf16 | Falcon40B |  Falcon 40B ist ein kausales großes Sprachmodell mit 40 Milliarden Parametern, das auf 1.000 Milliarden Tokens trainiert wurde und mit kuratierten Korpora erweitert wurde. Es wurde hauptsächlich in Englisch, Deutsch, Spanisch und Französisch trainiert, mit begrenzten Fähigkeiten in Italienisch, Portugiesisch, Polnisch, Niederländisch, Rumänisch, Tschechisch und Schwedisch. Es lässt sich nicht angemessen auf andere Sprachen verallgemeinern. Da es an großen Korpora, die für das Internet repräsentativ sind, trainiert wurde, enthält es zudem die Stereotypen und Vorurteile, denen man im Internet häufig begegnet.  | 
| huggingface-llm-falcon-40b-instruct-bf16 | Falcon40BInstruct |  Falcon 40B Instruct ist ein kausales großes Sprachmodell mit 40 Milliarden Parametern, das auf Falcon40B aufbaut und auf einer Mischung aus Baize fein abgestimmt wurde. Es wurde hauptsächlich mit englischen und französischen Daten trainiert und lässt sich nicht angemessen auf andere Sprachen verallgemeinern. Da es an großen Korpora, die für das Internet repräsentativ sind, trainiert wurde, enthält es zudem die Stereotypen und Vorurteile, denen man im Internet häufig begegnet.   | 
| huggingface-text2text-flan-t5-large | FlanT5L |  Die [https://huggingface.co/docs/transformers/model_doc/t5](https://huggingface.co/docs/transformers/model_doc/t5)-Modellfamilie besteht aus einer Reihe großer Sprachmodelle, die auf mehrere Aufgaben abgestimmt sind und weiter trainiert werden können. Diese Modelle eignen sich hervorragend für Aufgaben wie Sprachübersetzung, Textgenerierung, Satzvervollständigung, Deutung des Wortsinns, Zusammenfassung oder Beantwortung von Fragen. Flan T5 L ist ein großes Sprachmodell mit 780 Millionen Parametern, das auf zahlreichen Sprachen trainiert wurde. [Die Liste der von Flan T5 L unterstützten Sprachen finden Sie in den Details des Modells, das Sie bei Ihrer Suche nach Modell-ID in der Modelltabelle abgerufen haben. JumpStart](https://sagemaker.readthedocs.io/en/stable/doc_utils/pretrainedmodels.html#built-in-algorithms-with-pre-trained-model-table)  | 
| huggingface-text2text-flan-t5-xl | FlanT5XL |  Die [https://huggingface.co/docs/transformers/model_doc/t5](https://huggingface.co/docs/transformers/model_doc/t5)-Modellfamilie besteht aus einer Reihe großer Sprachmodelle, die auf mehrere Aufgaben abgestimmt sind und weiter trainiert werden können. Diese Modelle eignen sich hervorragend für Aufgaben wie Sprachübersetzung, Textgenerierung, Satzvervollständigung, Deutung des Wortsinns, Zusammenfassung oder Beantwortung von Fragen. Flan T5 XL ist ein großes Sprachmodell mit 3 Milliarden Parametern, das auf zahlreichen Sprachen trainiert wurde. [Die Liste der von Flan T5 XL unterstützten Sprachen finden Sie in den Details des Modells, das Sie bei Ihrer Suche nach Modell-ID abgerufen haben, in JumpStart der Modelltabelle.](https://sagemaker.readthedocs.io/en/stable/doc_utils/pretrainedmodels.html#built-in-algorithms-with-pre-trained-model-table)  | 
| huggingface-text2text-flan-t5-xxll | FlanT5XXL |  Die [https://huggingface.co/docs/transformers/model_doc/t5](https://huggingface.co/docs/transformers/model_doc/t5)-Modellfamilie besteht aus einer Reihe großer Sprachmodelle, die auf mehrere Aufgaben abgestimmt sind und weiter trainiert werden können. Diese Modelle eignen sich hervorragend für Aufgaben wie Sprachübersetzung, Textgenerierung, Satzvervollständigung, Deutung des Wortsinns, Zusammenfassung oder Beantwortung von Fragen. Flan T5 XXL ist ein Modell mit 11 Milliarden Parametern. [Die Liste der von Flan T5 XXL unterstützten Sprachen finden Sie in den Details des Modells, das Sie bei Ihrer Suche nach Modell-ID abgerufen haben, in JumpStart der Modelltabelle.](https://sagemaker.readthedocs.io/en/stable/doc_utils/pretrainedmodels.html#built-in-algorithms-with-pre-trained-model-table)  | 
| meta-textgeneration-llama-2-7b | Llama2-7B |  Llama 2 ist eine Sammlung von vortrainierten und optimierten generativen Textmodellen mit einer Skala von 7 Milliarden bis 70 Milliarden Parametern. Llama2-7B ist das Modell mit 7 Milliarden Parametern, das für den englischen Gebrauch bestimmt ist und für eine Vielzahl von Aufgaben zur Generierung natürlicher Sprache angepasst werden kann.  | 
| meta-textgeneration-llama-2-7b-f | Llama2-7BChat |  Llama 2 ist eine Sammlung von vortrainierten und optimierten generativen Textmodellen mit einer Skala von 7 Milliarden bis 70 Milliarden Parametern. Llama2-7B ist das Chat-Modell mit 7 Milliarden Parametern, das für Dialog-Anwendungsfälle optimiert ist.  | 
| meta-textgeneration-llama-2-13b | Llama2-13B |  Llama 2 ist eine Sammlung von vortrainierten und optimierten generativen Textmodellen mit einer Skala von 7 Milliarden bis 70 Milliarden Parametern. Llama2-13B ist das Modell mit 13 Milliarden Parametern, das für den englischen Gebrauch bestimmt ist und für eine Vielzahl von Aufgaben zur Generierung natürlicher Sprache angepasst werden kann.  | 
| meta-textgeneration-llama-2-13b-f | Llama2-13BChat |  Llama 2 ist eine Sammlung von vortrainierten und optimierten generativen Textmodellen mit einer Skala von 7 Milliarden bis 70 Milliarden Parametern. Llama2-13B ist das Chat-Modell mit 13 Milliarden Parametern, das für Dialog-Anwendungsfälle optimiert ist.  | 
| huggingface-llm-mistral-7b | Mistral7B |  Mistral 7B ist ein sieben Milliarden Parameter umfassender Code und ein universelles Modell zur Generierung englischer Texte. Es kann in einer Vielzahl von Anwendungsfällen verwendet werden, einschließlich Textzusammenfassung, Klassifizierung, Textvervollständigung oder Codevervollständigung.  | 
| huggingface-llm-mistral-7b-instruct | Mistral7BInstruct |  Mistral 7B Instruct ist die optimierte Version von Mistral 7B für Anwendungsfälle im Konversationsbereich. Es wurde auf die Verwendung einer Vielzahl von öffentlich zugänglichen Konversationsdatensätzen in englischer Sprache spezialisiert.  | 
| huggingface-textgeneration1-mpt-7b-bf16 | MPT7B |  MPT 7B ist ein großes Transformer-Sprachmodell im Decoder-Stil mit 6,7 Milliarden Parametern, das anhand von 1 Billion Token englischer Texte und Codes von Grund auf trainiert wurde. Es ist dazu fähig, lange Kontextlängen zu verarbeiten.  | 
| huggingface-textgeneration1-mpt-7b-instruct-bf16 | MPT7BInstruct |  MPT 7B Instruct ist ein Modell für kurze Anweisungen zur Nachverfolgung von Aufgaben. Es basiert auf der Optimierung von MPT 7B auf einem Datensatz, der aus den Datensätzen [databricks-dolly-15k](https://huggingface.co/datasets/databricks/databricks-dolly-15k) und [Anthropic Helpful and Harmless (HH-RLHF)](https://huggingface.co/datasets/Anthropic/hh-rlhf) abgeleitet wurde.  | 

# Datensatz-Dateitypen und Eingabedatenformat
<a name="autopilot-llms-finetuning-data-format"></a>

Bei der anweisungsbasierten Feinabstimmung werden beschriftete Datensätze verwendet, um die Leistung von vortrainierten Aufgaben zur Verarbeitung natürlicher Sprache ( LLMs NLP) zu verbessern. Die gekennzeichneten Beispiele sind als Prompt-Antwort-Paare formatiert und als Anweisungen formuliert.



Weitere Informationen zu den unterstützten Datensatz-Dateitypen finden Sie unter [Unterstützte Datensatz-Dateitypen](#autopilot-llms-finetuning-dataset-format).

Weitere Informationen zum Eingabedatenformat finden Sie unter [Eingabedatenformat für die anweisungsbasierte Feinabstimmung](#autopilot-llms-finetuning-input-format).

## Unterstützte Datensatz-Dateitypen
<a name="autopilot-llms-finetuning-dataset-format"></a>

Autopilot unterstützt Datensätze zur Feinabstimmung mithilfe von Anweisungen, die als CSV-Dateien (Standard) oder als Parquet-Dateien formatiert sind.
+ **CSV** (durch Kommata getrennte Werte) ist ein Dateiformat auf Zeilenbasis, das Daten in für Menschen lesbarem Fließtext speichert. Dies ist eine beliebte Wahl für den Datenaustausch, da solche Dateien von einer Vielzahl von Anwendungen unterstützt werden.
+ **Parquet** ist ein binäres Dateiformat auf Spaltenbasis, bei dem die Daten effizienter gespeichert und verarbeitet werden als bei einem menschenlesbaren Dateiformat wie CSV. Dies macht sie zu einer besseren Option für Big-Data-Aufgaben.

**Anmerkung**  
Der Datensatz kann aus mehreren Dateien bestehen, von denen jede einer bestimmten Vorlage entsprechen muss. Informationen zum Formatieren Ihrer Eingabedaten finden Sie unter [Eingabedatenformat für die anweisungsbasierte Feinabstimmung](#autopilot-llms-finetuning-input-format).

## Eingabedatenformat für die anweisungsbasierte Feinabstimmung
<a name="autopilot-llms-finetuning-input-format"></a>

Jede Datei des Datensatzes muss das folgende Format haben:
+ Der Datensatz muss genau zwei durch Kommas getrennte und benannte Spalten enthalten: `input` und `output`. Autopilot lässt keine zusätzlichen Spalten zu. 
+ Die `input`-Spalten enthalten die Eingabeaufforderungen und die entsprechende `output`-Spalte enthält die erwartete Antwort. Sowohl die `input` als auch die `output` sind im Zeichenfolgenformat.

Das folgende Beispiel verdeutlicht das Eingabedatenformat für die anweisungsbasierte Feinabstimmung in Autopilot.

```
input,output
"<prompt text>","<expected generated text>"
```

**Anmerkung**  
Wir empfehlen die Verwendung von Datensätzen mit mindestens 1000 Zeilen, um ein optimales Lernen und eine optimale Leistung des Modells zu gewährleisten.

Darüber hinaus legt Autopilot je nach Art des verwendeten Modells eine Obergrenze für die Anzahl der Zeilen im Datensatz und die Kontextlänge fest.
+ Die Grenzen für die Anzahl der Zeilen in einem Datensatz gelten für die kumulative Anzahl von Zeilen in allen Dateien innerhalb des Datensatzes, einschließlich mehrerer Dateien. Wenn zwei [Kanaltypen](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLChannel.html) definiert sind (einer für das Training und einer für die Validierung), gilt die Grenze für die Gesamtzahl der Zeilen in allen Datensätzen innerhalb beider Kanäle. Wenn die Anzahl der Zeilen den Schwellenwert überschreitet, schlägt der Job mit einem Validierungsfehler fehl.
+ Wenn die Länge der Eingabe oder Ausgabe einer Zeile im Datensatz die im Kontext des Sprachmodells festgelegte Grenze überschreitet, wird sie automatisch gekürzt. Wenn mehr als 60 % der Zeilen im Datensatz gekürzt werden, unabhängig davon, ob es sich um die Eingabe oder Ausgabe handelt, bricht Autopilot den Job mit einem Validierungsfehler ab.

In der folgenden Tabelle sind diese Grenzen für jedes Modell aufgeführt.


| JumpStart Modell-ID | `BaseModelName` in der API-Anfrage. | Zeilenlimit | Limit für die Kontextlänge | 
| --- | --- | --- | --- | 
| huggingface-textgeneration-dolly-v2-3b-bf16 | Dolly3B | 10.000 Zeilen | 1024 Tokens | 
| huggingface-textgeneration-dolly-v2-7b-bf16 | Dolly7B | 10.000 Zeilen | 1024 Tokens | 
| huggingface-textgeneration-dolly-v2-12b-bf16 | Dolly12B | 10.000 Zeilen | 1024 Tokens | 
| huggingface-llm-falcon-7b-bf16 | Falcon7B | 1 000 Zeilen | 1024 Tokens | 
| huggingface-llm-falcon-7b-instruct-bf16 | Falcon7BInstruct | 1 000 Zeilen | 1024 Tokens | 
| huggingface-llm-falcon-40b-bf16 | Falcon40B | 10.000 Zeilen | 1024 Tokens | 
| huggingface-llm-falcon-40b-instruct-bf16 | Falcon40BInstruct | 10.000 Zeilen | 1024 Tokens | 
| huggingface-text2text-flan-t5-large | FlanT5L | 10.000 Zeilen | 1024 Tokens | 
| huggingface-text2text-flan-t5-xl | FlanT5XL | 10.000 Zeilen | 1024 Tokens | 
| huggingface-text2text-flan-t5-xxll | FlanT5XXL | 10.000 Zeilen | 1024 Tokens | 
| meta-textgeneration-llama-2-7b | Llama2-7B | 10.000 Zeilen | 2048 Tokens | 
| meta-textgeneration-llama-2-7b-f | Llama2-7BChat | 10.000 Zeilen | 2048 Tokens | 
| meta-textgeneration-llama-2-13b | Llama2-13B | 7 000 Zeilen | 2048 Tokens | 
| meta-textgeneration-llama-2-13b-f | Llama2-13BChat | 7 000 Zeilen | 2048 Tokens | 
| huggingface-llm-mistral-7b | Mistral7B | 10.000 Zeilen | 2048 Tokens | 
| huggingface-llm-mistral-7b-instruct | Mistral7BInstruct | 10.000 Zeilen | 2048 Tokens | 
| huggingface-textgeneration1-mpt-7b-bf16 | MPT7B | 10.000 Zeilen | 1024 Tokens | 
| huggingface-textgeneration1-mpt-7b-instruct-bf16 | MPT7BInstruct | 10.000 Zeilen | 1024 Tokens | 

# Hyperparameter zur Optimierung des Lernprozesses Ihrer Textgenerierungsmodelle
<a name="autopilot-llms-finetuning-hyperparameters"></a>

Sie können den Lernprozess Ihres Basismodells optimieren, indem Sie eine beliebige Kombination der folgenden Hyperparameter anpassen. Diese Parameter sind jetzt für alle Modelle verfügbar.
+ **Epochen-Anzahl**: Der `epochCount`-Hyperparameter bestimmt, wie oft das Modell den gesamten Trainingsdatensatz durchläuft. Er beeinflusst die Trainingsdauer und kann bei entsprechender Einstellung eine Überanpassung verhindern. Eine große Anzahl von Epochen kann die Gesamtlaufzeit von Optimierungsaufgaben verlängern. Wir empfehlen, innerhalb der `CompletionCriteria` von `[TextGenerationJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TextGenerationJobConfig.html)` einen großen Wert für `MaxAutoMLJobRuntimeInSeconds` festzulegen, um zu verhindern, dass Optimierungsaufträge vorzeitig beendet werden.
+ **Batchgröße**: Der `batchSize`-Hyperparameter definiert die Anzahl der Datenproben, die in jeder Trainingsiteration verwendet werden. Dies kann sich auf die Konvergenzgeschwindigkeit und die Speichernutzung auswirken. Bei einer großen Batchgröße steigt das Risiko von OOM-Fehlern (Out of Memory), die im Autopilot als interner Serverfehler auftreten können. Um nach solchen Fehlern zu suchen, überprüfen Sie die `/aws/sagemaker/TrainingJobs`-Protokollgruppe für die Trainingsjobs, die von Ihrem Autopilot-Job gestartet wurden. Sie können von der AWS Managementkonsole CloudWatch aus auf diese Logs zugreifen. Wählen Sie **Protokolle** und anschließend die `/aws/sagemaker/TrainingJobs`-**Protokollgruppen** aus. Reduzieren Sie die Batchgröße, um OOM-Fehler zu beheben.

  Wir empfehlen, mit einer Batchgröße von 1 zu beginnen und diese dann schrittweise zu erhöhen, bis ein Fehler aufgrund unzureichender Speicherkapazität auftritt. Als Referenz: Die Fertigstellung von 10 Epochen dauert in der Regel bis zu 72 Stunden.
+ **Lernrate**: Der `learningRate`-Hyperparameter steuert die Schrittweite, mit der die Parameter eines Modells während des Trainings aktualisiert werden. Sie bestimmt, wie schnell oder langsam die Modellparameter während des Trainings aktualisiert werden. Eine hohe Lernrate bedeutet, dass die Parameter in großen Schritten aktualisiert werden, was zu einer schnelleren Konvergenz führen kann, aber auch dazu, dass der Optimierungsprozess über die optimale Lösung hinausgeht und instabil wird. Eine niedrige Lernrate bedeutet, dass die Parameter in kleinen Schritten aktualisiert werden, was zu einer stabileren Konvergenz führen kann, allerdings auf Kosten eines langsameren Lernprozesses.
+ **Aufwärmschritte für die Lernrate**: Der `learningRateWarmupSteps`-Hyperparameter gibt die Anzahl der Trainingsschritte an, während derer die Lernrate schrittweise ansteigt, bevor sie ihren Ziel- oder Maximalwert erreicht. Dies hilft dem Modell, effektiver zu konvergieren und Probleme wie Divergenz oder langsame Konvergenz zu vermeiden, die bei einer anfänglich hohen Lernrate auftreten können.

Informationen darüber, wie Sie Hyperparameter für Ihr Optimierungsexperiment im Autopilot anpassen und ihre möglichen Werte ermitteln können, finden Sie unter [Hyperparameter festlegen, um den Lernprozess eines Modells zu optimieren](autopilot-create-experiment-finetune-llms.md#autopilot-llms-finetuning-set-hyperparameters).

# Metriken für die Feinabstimmung großer Sprachmodelle in Autopilot
<a name="autopilot-llms-finetuning-metrics"></a>

Im folgenden Abschnitt werden die Metriken beschrieben, die Sie verwenden können, um Ihre fein abgestimmten großen Sprachmodelle zu verstehen (LLMs). Mit Ihrem Datensatz optimiert Autopilot direkt ein Ziel-LLM, um eine standardmäßige Zielmetrik, den Cross-Entropie-Verlust, zu verbessern.

Der Cross-Entropie-Verlust ist eine weit verbreitete Metrik, um die Unähnlichkeit zwischen der vorhergesagten Wahrscheinlichkeitsverteilung und der tatsächlichen Wortverteilung in den Trainingsdaten zu beurteilen. Durch die Minimierung des Cross-Entropie-Verlusts lernt das Modell, genauere und kontextuell relevantere Vorhersagen zu treffen, insbesondere bei Aufgaben im Zusammenhang mit der Textgenerierung.

Nach der Optimierung eines LLM können Sie die Qualität des generierten Textes anhand einer Reihe von ROUGE-Scores bewerten. Darüber hinaus können Sie im Rahmen des Bewertungsprozesses die Perplexitäts- und die Cross-Entropie-Trainings- und Validierungsverluste analysieren.
+ Der Verlust an Perplexität gibt an, wie gut das Modell das nächste Wort in einer Textsequenz vorhersagen kann. Niedrigere Werte bedeuten ein besseres Verständnis der Sprache und des Kontextes. 
+ Bei der Recall-Oriented Understudy for Gisting Evaluation (ROUGE) handelt es sich um eine Reihe von Metriken, die im Bereich der natürlichen Sprachverarbeitung (NLP) und des Machine Learning verwendet werden, um die Qualität von maschinell generiertem Text wie Textzusammenfassung oder Textgenerierung zu bewerten. Dabei werden in erster Linie die Ähnlichkeiten zwischen dem generierten Text und dem (von Menschen geschriebenen) Ground-Truth-Referenztext eines Validierungsdatensatzes bewertet. ROUGE-Maßnahmen dienen der Bewertung verschiedener Aspekte der Textähnlichkeit, einschließlich der Präzision und des Erinnerungsvermögens von N-Grammen (zusammenhängende Wortfolgen) in den vom System generierten Texten und Referenztexten. Ziel ist es zu beurteilen, wie gut ein Modell die im Referenztext enthaltenen Informationen erfasst.

  Abhängig von der Art der verwendeten N-Gramme und den spezifischen Aspekten der zu bewertenden Textqualität gibt es verschiedene Varianten der ROUGE-Metriken.

  Die folgende Liste enthält den Namen und die Beschreibung der ROUGE-Metriken, die nach der Feinabstimmung großer Sprachmodelle in Autopilot verfügbar sind.  
**`ROUGE-1`, `ROUGE-2`**  
ROUGE-N, die primäre ROUGE-Metrik, misst die Überlappung von N-Grammen zwischen den vom System generierten Texten und den Referenztexten. ROUGE-N kann an verschiedene Werte von `n` (hier `1` oder`2`) angepasst werden, um zu bewerten, wie gut der vom System generierte Text die N-Gramme aus dem Referenztext erfasst.  
**`ROUGE-L`**  
ROUGE-L (ROUGE-Longest Common Subsequence) berechnet die längste gemeinsame Teilsequenz zwischen dem vom System generierten Text und dem Referenztext. Diese Variante berücksichtigt zusätzlich zur inhaltlichen Überschneidung auch die Wortreihenfolge.  
**`ROUGE-L-Sum`**  
ROUGE-L-SUM (Longest Common Subsequence for Summarization) ist für die Evaluierung von Textzusammenfassungssystemen konzipiert. Es konzentriert sich auf die Messung der längsten gemeinsamen Teilsequenz zwischen der maschinell generierten Zusammenfassung und der Referenzzusammenfassung. ROUGE-L-SUM berücksichtigt die Reihenfolge der Wörter im Text, was bei der Textzusammenfassung wichtig ist.

# Einsatz und Vorhersagen des Autopilot-Modells
<a name="autopilot-llms-finetuning-deploy-models"></a>

Nach der Optimierung eines großen Sprachmodells (LLM) können Sie das Modell für die Textgenerierung in Echtzeit einsetzen, indem Sie einen Endpunkt einrichten, um interaktive Vorhersagen zu erhalten.

**Anmerkung**  
Wir empfehlen, Inferenzaufträge in Echtzeit in `ml.g5.12xlarge` auszuführen, um eine bessere Leistung zu erzielen. Alternativ eignen sich `ml.g5.8xlarge`-Instances für Textgenerierungsaufgaben mit Falcon-7B-Instruct und MPT-7B-Instruct.  
Die Einzelheiten dieser Instances finden Sie in der Kategorie [Beschleunigte Datenverarbeitung](https://aws.amazon.com/ec2/instance-types/) in der Auswahl der Instance-Typen, die von Amazon EC2 bereitgestellt werden.

## Textgenerierung in Echtzeit
<a name="autopilot-llms-finetuning-realtime"></a>

Sie können Ihr fein abgestimmtes Modell manuell SageMaker APIs auf einem SageMaker [KI-Hosting-Echtzeit-Inferenzendpunkt bereitstellen und dann mit der Erstellung von Prognosen beginnen, indem Sie den Endpunkt](https://docs.aws.amazon.com/sagemaker/latest/dg/realtime-endpoints.html) wie folgt aufrufen.

**Anmerkung**  
Alternativ können Sie bei der Erstellung Ihres Experiments zur Feinabstimmung in Autopilot die Option zur automatischen Bereitstellung wählen. Informationen zur Einrichtung der automatischen Bereitstellung von Modellen finden Sie unter [So aktivieren Sie die automatische Bereitstellung](autopilot-create-experiment-finetune-llms.md#autopilot-llms-finetuning-auto-model-deployment).   
Sie können das SageMaker Python-SDK und die `JumpStartModel` Klasse auch verwenden, um Schlussfolgerungen mit Modellen durchzuführen, die von Autopilot optimiert wurden. Dies kann erreicht werden, indem ein benutzerdefinierter Speicherort für das Artefakt des Modells in Amazon S3 angegeben wird. Informationen zur Definition Ihres Modells als Modell und zur Bereitstellung Ihres JumpStart Modells zu Inferenzzwecken finden Sie unter [Low-Code-Bereitstellung](https://sagemaker.readthedocs.io/en/stable/overview.html#deploy-a-pre-trained-model-directly-to-a-sagemaker-endpoint) mit der Klasse. JumpStartModel 

1. **Rufen Sie die Definitionen der Inference-Container-Kandidaten ab.**

   Sie finden das `InferenceContainerDefinitions` innerhalb des `BestCandidate` Objekts, das aus der Antwort auf den [DescribeAutoMLJobV2-API-Aufruf](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html#API_DescribeAutoMLJobV2_ResponseSyntax) abgerufen wurde. Eine Container-Definition für Inference bezieht sich auf die containerisierte Umgebung, die für die Bereitstellung und Ausführung des von Ihnen trainierten Modells konzipiert ist, um Vorhersagen zu treffen.

   Das folgende AWS CLI Befehlsbeispiel verwendet die [DescribeAutoMLJobV2-API](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html), um empfohlene Containerdefinitionen für Ihren Jobnamen abzurufen.

   ```
   aws sagemaker describe-auto-ml-job-v2 --auto-ml-job-name job-name --region region
   ```

1. **Erstellen Sie ein SageMaker KI-Modell**

   Verwenden Sie die Containerdefinitionen aus dem vorherigen Schritt, um mithilfe der [CreateModel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html)API ein SageMaker KI-Modell zu erstellen. Sehen Sie sich den folgenden AWS CLI Befehl als Beispiel an. Verwenden Sie den `CandidateName` für Ihren Modellnamen.

   ```
   aws sagemaker create-model --model-name '<your-candidate-name>' \
                       --primary-container '<container-definition' \
                       --execution-role-arn '<execution-role-arn>' --region '<region>
   ```

1. **Endpunktkonfiguration erstellen**

   Das folgende AWS CLI Befehlsbeispiel verwendet die [CreateEndpointConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpointConfig.html)API, um eine Endpunktkonfiguration zu erstellen.
**Anmerkung**  
Um zu verhindern, dass bei der Endpunkterstellung aufgrund eines langwierigen Modell-Downloads ein Timeout auftritt, empfehlen wir die Einstellung `ModelDataDownloadTimeoutInSeconds = 3600` und `ContainerStartupHealthCheckTimeoutInSeconds = 3600`.

   ```
   aws sagemaker create-endpoint-config --endpoint-config-name '<your-endpoint-config-name>' \
                       --production-variants '<list-of-production-variants>' ModelDataDownloadTimeoutInSeconds=3600 ContainerStartupHealthCheckTimeoutInSeconds=3600 \
                       --region '<region>'
   ```

1. **Erstellen des Endpunkts** 

   Das folgende AWS CLI Beispiel verwendet die [CreateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpoint.html)API, um den Endpunkt zu erstellen.

   ```
   aws sagemaker create-endpoint --endpoint-name '<your-endpoint-name>' \
                       --endpoint-config-name '<endpoint-config-name-you-just-created>' \
                       --region '<region>'
   ```

   Überprüfen Sie den Fortschritt Ihrer Endpunktbereitstellung mithilfe der [DescribeEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeEndpoint.html)API. Sehen Sie sich den folgenden AWS CLI Befehl als Beispiel an.

   ```
   aws sagemaker describe-endpoint —endpoint-name '<endpoint-name>' —region <region>
   ```

   Nach den `EndpointStatus` Änderungen an `InService` ist der Endpunkt für Echtzeit-Inferences einsatzbereit.

1. **Endpunkt aufrufen** 

   Der folgende Befehl ruft den Endpunkt für Echtzeit-Inferences auf. Ihre Eingabeaufforderung muss in Byte codiert sein.
**Anmerkung**  
Das Format Ihrer Eingabeaufforderung hängt vom Sprachmodell ab. Weitere Informationen zum Format von Textgenerierungsaufforderungen finden Sie unter [Anfrageformat für Textgenerierungsmodelle für Echtzeit-Inferenz](#autopilot-llms-finetuning-realtime-prompt-examples). 

   ```
   aws sagemaker invoke-endpoint --endpoint-name '<endpoint-name>' \ 
                     --region '<region>' --body '<your-promt-in-bytes>' [--content-type] 'application/json' <outfile>
   ```

## Anfrageformat für Textgenerierungsmodelle für Echtzeit-Inferenz
<a name="autopilot-llms-finetuning-realtime-prompt-examples"></a>

Verschiedene große Sprachmodelle (LLMs) können spezifische Softwareabhängigkeiten, Laufzeitumgebungen und Hardwareanforderungen haben, die den von Autopilot empfohlenen Container zum Hosten des Modells für die Inferenz beeinflussen. Darüber hinaus bestimmt jedes Modell das erforderliche Eingabedatenformat und das erwartete Format für Vorhersagen und Ausgaben.

Hier finden Sie Beispieleingaben für einige Modelle und empfohlene Container.
+ Für Falcon-Modelle mit dem empfohlenen Container `huggingface-pytorch-tgi-inference:2.0.1-tgi1.0.3-gpu-py39-cu118-ubuntu20.04`:

  ```
  payload = {
      "inputs": "Large language model fine-tuning is defined as",
      "parameters": {
          "do_sample": false,
          "top_p": 0.9,
          "temperature": 0.1,
          "max_new_tokens": 128,
          "stop": ["<|endoftext|>", "</s>"]
      }
  }
  ```
+ Für alle anderen Modelle mit dem empfohlenen Container `djl-inference:0.22.1-fastertransformer5.3.0-cu118`:

  ```
  payload= {
      "text_inputs": "Large language model fine-tuning is defined as"
  }
  ```