Für den Gen AI Evaluation Service besteht das Bewertungs-Dataset in der Regel aus der Modellantwort, die Sie auswerten möchten, den Eingabedaten, die zum Generieren der Antwort verwendet werden, und möglicherweise der Ground-Truth-Antwort.
Schema für Bewertungs-Dataset
Für typische Anwendungsfälle für modellgestützte Messwerte müssen in Ihrem Dataset die folgenden Informationen enthalten sein:
Eingabetyp | Inhalt des Eingabefelds |
---|---|
prompt | Nutzereingabe für das Gen AI-Modell oder die Gen AI-Anwendung. In einigen Fällen ist sie optional. |
Antwort | Ihre zu bewertende LLM-Inferenzantwort. |
baseline_model_response (für paarweise Messwerte erforderlich) | Die Baseline-LLM-Inferenzantwort, die zum Vergleichen der LLM-Antwort mit der paarweisen Bewertung verwendet wird. |
Wenn Sie das Gen AI Evaluation-Modul des Vertex AI SDK for Python verwenden, kann der Gen AI Evaluation Service die response
und baseline_model_response
automatisch mit dem von Ihnen angegebenen Modell generieren.
Für andere Anwendungsfälle zur Bewertung müssen Sie möglicherweise weitere Informationen angeben:
Unterhaltungen mit mehreren Antworten oder Chats
Eingabetyp | Inhalt des Eingabefelds |
---|---|
Geschichte | Der Verlauf der Unterhaltung zwischen Nutzer und Modell vor dem aktuellen Zug. |
prompt | Nutzereingabe für das Gen AI-Modell oder die Gen AI-Anwendung in der aktuellen Runde. |
Antwort | Die zu bewertende LLM-Inferenzantwort, die auf dem bisherigen Verlauf und dem Prompt der aktuellen Runde basiert. |
baseline_model_response (für paarweise Messwerte erforderlich) | Die Baseline-LLM-Inferenzantwort, die zum Vergleichen der LLM-Antwort mit der paarweisen Bewertung verwendet wird. Diese basiert auf dem bisherigen Verlauf und dem Prompt der aktuellen Runde. |
Berechnungsbasierte Messwerte
Ihr Dataset muss sowohl eine Antwort des Large Language Models als auch eine Referenz zum Vergleichen enthalten.
Eingabetyp | Inhalt des Eingabefelds |
---|---|
Antwort | Ihre zu bewertende LLM-Inferenzantwort. |
Referenz | Die Grundwahrheit, mit der Ihre LLM-Antwort verglichen werden soll. |
Übersetzungsmesswerte
Ihr Dataset muss eine Antwort des Modells enthalten. Je nach Anwendungsfall müssen Sie auch eine Referenz zum Vergleichen, eine Eingabe in der Quellsprache oder eine Kombination aus beidem angeben.
Eingabetyp | Inhalt des Eingabefelds |
---|---|
source | Der Quelltext in der Originalsprache, aus der die Vorhersage übersetzt wurde. |
Antwort | Ihre zu bewertende LLM-Inferenzantwort. |
Referenz | Die Grundwahrheit, mit der Ihre LLM-Antwort verglichen werden soll. Die Sprache ist dieselbe wie die der Antwort. |
Je nach Anwendungsfall können Sie den Eingabe-Nutzerprompt auch in granulare Teile wie instruction
und context
aufteilen und sie für die Inferenz mithilfe einer Promptvorlage zusammenfügen. Bei Bedarf können Sie auch die Referenz- oder Ground Truth-Informationen angeben:
Eingabetyp | Inhalt des Eingabefelds |
---|---|
Anweisung | Teil des Eingabeaufforderung des Nutzers. Sie bezieht sich auf die Inferenzanweisung, die an Ihr LLM gesendet wird. Beispiel: „Fasse den folgenden Text zusammen“ ist eine Anweisung. |
context | Nutzereingabe für das Gen AI-Modell oder die Gen AI-Anwendung in der aktuellen Runde. |
Referenz | Die Grundwahrheit, mit der Ihre LLM-Antwort verglichen werden soll. |
Die erforderlichen Eingaben für das Bewertungs-Dataset sollten mit Ihren Messwerten übereinstimmen. Weitere Informationen zum Anpassen von Messwerten finden Sie unter Bewertungsmesswerte definieren und Bewertung ausführen. Weitere Informationen dazu, wie Sie Referenzdaten in Ihre modellbasierten Messwerte einbeziehen, finden Sie unter Vorlage für Messwertvorschläge an Eingabedaten anpassen.
Bewertungs-Dataset importieren
Sie können Ihr Dataset in den folgenden Formaten importieren:
In Cloud Storage gespeicherte JSONL- oder CSV-Datei
BigQuery-Tabelle
Pandas-DataFrame
Beispiele für Bewertungs-Datasets
In diesem Abschnitt finden Sie Beispiele für Datasets im Pandas DataFrame-Format. Hinweis: Hier werden nur einige Datasets als Beispiel angezeigt. Bewertungsdatasets enthalten in der Regel mindestens 100 Datenpunkte. Best Practices für die Vorbereitung eines Datasets finden Sie im Abschnitt Best Practices.
Punktbasierte, modellbasierte Messwerte
Im Folgenden finden Sie ein Beispiel für ein beispielhaftes Dataset für punktbasierte, modellgestützte Messwerte:
prompts = [
# Example 1
(
"Summarize the text in one sentence: As part of a comprehensive"
" initiative to tackle urban congestion and foster sustainable urban"
" living, a major city has revealed ambitious plans for an extensive"
" overhaul of its public transportation system. The project aims not"
" only to improve the efficiency and reliability of public transit but"
" also to reduce the city's carbon footprint and promote eco-friendly"
" commuting options. City officials anticipate that this strategic"
" investment will enhance accessibility for residents and visitors"
" alike, ushering in a new era of efficient, environmentally conscious"
" urban transportation."
),
# Example 2
(
"Summarize the text such that a five-year-old can understand: A team of"
" archaeologists has unearthed ancient artifacts shedding light on a"
" previously unknown civilization. The findings challenge existing"
" historical narratives and provide valuable insights into human"
" history."
),
]
responses = [
# Example 1
(
"A major city is revamping its public transportation system to fight"
" congestion, reduce emissions, and make getting around greener and"
" easier."
),
# Example 2
(
"Some people who dig for old things found some very special tools and"
" objects that tell us about people who lived a long, long time ago!"
" What they found is like a new puzzle piece that helps us understand"
" how people used to live."
),
]
eval_dataset = pd.DataFrame({
"prompt": prompts,
"response": responses,
})
Paarweise modellbasierte Messwerte
Das folgende Beispiel zeigt einen Open-Book-Frage-Antwort-Fall, um ein Beispieldataset für paarweise modelbasierte Messwerte zu veranschaulichen.
prompts = [
# Example 1
(
"Based on the context provided, what is the hardest material? Context:"
" Some might think that steel is the hardest material, or even"
" titanium. However, diamond is actually the hardest material."
),
# Example 2
(
"Based on the context provided, who directed The Godfather? Context:"
" Mario Puzo and Francis Ford Coppola co-wrote the screenplay for The"
" Godfather, and the latter directed it as well."
),
]
responses = [
# Example 1
"Diamond is the hardest material. It is harder than steel or titanium.",
# Example 2
"Francis Ford Coppola directed The Godfather.",
]
baseline_model_responses = [
# Example 1
"Steel is the hardest material.",
# Example 2
"John Smith.",
]
eval_dataset = pd.DataFrame(
{
"prompt": prompts,
"response": responses,
"baseline_model_response": baseline_model_responses,
}
)
Berechnungsbasierte Messwerte
Für berechnungsbasierte Messwerte ist häufig reference
erforderlich.
eval_dataset = pd.DataFrame({
"response": ["The Roman Senate was filled with exuberance due to Pompey's defeat in Asia."],
"reference": ["The Roman Senate was filled with exuberance due to successes against Catiline."],
})
Messwerte zur Toolnutzung (Funktionsaufrufe)
Im folgenden Beispiel sehen Sie Eingabedaten für berechnungsbasierte Messwerte zur Tool-Nutzung:
json_responses = ["""{
"content": "",
"tool_calls":[{
"name":"get_movie_info",
"arguments": {"movie":"Mission Impossible", "time": "today 7:30PM"}
}]
}"""]
json_references = ["""{
"content": "",
"tool_calls":[{
"name":"book_tickets",
"arguments":{"movie":"Mission Impossible", "time": "today 7:30PM"}
}]
}"""]
eval_dataset = pd.DataFrame({
"response": json_responses,
"reference": json_references,
})
Anwendungsfälle für Übersetzungen
Das folgende Beispiel zeigt Eingabedaten für Übersetzungsstatistiken:
source = [
"Dem Feuer konnte Einhalt geboten werden",
"Schulen und Kindergärten wurden eröffnet.",
]
response = [
"The fire could be stopped",
"Schools and kindergartens were open",
]
reference = [
"They were able to control the fire.",
"Schools and kindergartens opened",
]
eval_dataset = pd.DataFrame({
"source": source,
"response": response,
"reference": reference,
})
Best Practices
Beachten Sie beim Definieren des Bewertungsdatasets die folgenden Best Practices:
- Geben Sie Beispiele für die Arten von Eingaben an, die Ihre Modelle in der Produktion verarbeiten.
- Ihr Dataset muss mindestens ein Bewertungsbeispiel enthalten. Wir empfehlen etwa 100 Beispiele, um qualitativ hochwertige aggregierte Messwerte und statistisch signifikante Ergebnisse zu gewährleisten. Diese Größe trägt zu einem höheren Konfidenzniveau bei den aggregierten Evaluierungsergebnissen bei, minimiert den Einfluss von Ausreißern und sorgt dafür, dass die Leistungsmesswerte die tatsächlichen Fähigkeiten des Modells in verschiedenen Szenarien widerspiegeln. Wenn mehr als 400 Beispiele zur Verfügung gestellt werden, sinkt die Verbesserungsrate bei den aggregierten Messwerten tendenziell.
Nächste Schritte
Probieren Sie ein Bewertungs-Beispielnotebook aus.