Datensatz-Dateitypen und Eingabedatenformat
Bei der Feinabstimmung mithilfe von Anweisungen werden mit Labels versehene Datensätze verwendet, um die Leistung von vortrainierten LLMs für bestimmte Aufgaben der natürlichen Sprachverarbeitung (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.
Weitere Informationen zum Eingabedatenformat finden Sie unter Eingabedatenformat für die anweisungsbasierte Feinabstimmung.
Unterstützte Datensatz-Dateitypen
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.
Eingabedatenformat für die anweisungsbasierte Feinabstimmung
Jede Datei des Datensatzes muss das folgende Format haben:
-
Der Datensatz muss genau zwei durch Kommas getrennte und benannte Spalten enthalten:
inputundoutput. Autopilot lässt keine zusätzlichen Spalten zu. -
Die
input-Spalten enthalten die Eingabeaufforderungen und die entsprechendeoutput-Spalte enthält die erwartete Antwort. Sowohl dieinputals auch dieoutputsind 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 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 |