Vorbereiten von Daten für die Feinabstimmung von Text-zu-Text-Modellen - Amazon Bedrock

Vorbereiten von Daten für die Feinabstimmung von Text-zu-Text-Modellen

Anmerkung

Informationen zur Feinabstimmung der Modelle von Amazon Nova finden Sie unter Feinabstimmung von Amazon Nova-Modellen.

Für die Feinabstimmung von Text-zu-Text-Modellen ist jedes JSON-Objekt ein Beispiel mit strukturierten Feldern, die das Modell dazu anleiten sollen, die gewünschte Textausgabe auf der Grundlage eines bereitgestellten Text-Prompts zu generieren. Das Datenformat variiert je nach Anwendungsfall und wird grob in konversationsbezogene und nicht konversationsbezogene Anwendungsfälle unterteilt. Bei nicht konversationsbezogenen Aufgaben handelt es sich um eigenständige Prompts und Ausgaben. Dahingegen können konversationsbezogene Aufgaben weiter unterteilt werden, und zwar in Single-Turn-Konversationen, bei denen das Modell auf eine einzelne Benutzereingabe reagiert, und Multi-Turn-Dialoge, bei denen das Modell den Kontext über mehrere Interaktionen hinweg beibehält.

Nicht konversationsbezogene Aufgaben

Nicht konversationsbezogene Aufgaben umfassen die Generierung einer einzigen Ausgabe für eine bestimmte Eingabe. Jedes Datensatzbeispiel enthält ein prompt-Feld mit dem Eingabetext und ein completion-Feld mit der erwarteten Ausgabe. Dieses Format unterstützt eine Reihe von Aufgaben wie die Beantwortung von Fragen, die Zusammenfassung, Übersetzung, Textvervollständigung und Informationsextraktion.

Beispielformat

{"prompt": "What is the capital of France?", "completion": "The capital of France is Paris."} {"prompt": "Summarize the article about climate change.", "completion": "Climate change refers to the long-term alteration of temperature and typical weather patterns in a place."}

Verwenden Sie ungefähr 6 Zeichen pro Token, um die Anzahl der Token für die Planung der Datensatzgröße zu schätzen.

Converse-API-Format (Single Turn und Multi Turn)

Wenn Sie die Converse-API verwenden möchten, rufen Sie die Operationen Converse oder ConverseStream auf, um Nachrichten an ein Modell zu senden. Für den Aufruf von Converse ist die Berechtigung für die Operation bedrock:InvokeModel erforderlich. Für den Aufruf von ConverseStream ist die Berechtigung für die Operation bedrock:InvokeModelWithResponseStream erforderlich. Weitere Informationen finden Sie unter Verwenden der Converse-API. Weitere Informationen über Converse-API-Operationen finden Sie im Abschnitt Führen einer Konversation mit den Converse-API-Operationen.

Beispielformat

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

Nur für Anthropic Claude 3 Haiku: Single-Turn-Konversationen

Single-Turn-Konversationsaufgaben umfassen isolierte Austausche, bei denen das Modell eine Antwort generiert, die ausschließlich auf den aktuellen Benutzereingaben basiert, ohne den vorherigen Kontext zu berücksichtigen. Jedes Datensatzbeispiel verwendet ein Nachrichten-Array mit abwechselnden Rollen von user und assistant.

Format

{"system": "<system message>","messages":[{"role": "user", "content": "<user query>"},{"role": "assistant", "content": "<expected generated text>"}]}

Beispiel

{"system": "You are an helpful assistant.","messages":[{"role": "user", "content": "what is AWS"},{"role": "assistant", "content": "it's Amazon Web Services."}]}

Nur für Anthropic Claude 3 Haiku: Multi-Turn-Konversationen

Multi-Turn-Konversationsaufgaben beinhalten ausgedehnte Dialoge, bei denen das Modell Antworten generieren und gleichzeitig den Kontext früherer Austausche beibehalten muss. Dieses Format erfasst die Dynamik interaktiver Aufgaben wie Kundensupport oder komplexe Diskussionen.

Format

{"system": "<system message>","messages":[{"role": "user", "content": "<user query 1>"},{"role": "assistant", "content": "<expected generated text 1>"}, {"role": "user", "content": "<user query 2>"},{"role": "assistant", "content": "<expected generated text 2>"}]}

Beispiel

{"system": "system message","messages":[{"role": "user", "content": "Hello there."},{"role": "assistant", "content": "Hi, how can I help you?"},{"role": "user", "content": "what are LLMs?"},{"role": "assistant", "content": "LLM means large language model."},]}