Vertex AI bietet Messwerte für die Modellbewertung, damit Sie die Leistung Ihrer Modelle bewerten können, z. B. die Precision- und Recall-Messwerte. Vertex AI berechnet Bewertungsmesswerte mithilfe des Test-Datasets.
Verwendung von Modellbewertungsmesswerten
Modellbewertungsmesswerte liefern quantitative Messungen der Leistung Ihres Modells im Test-Dataset. Wie diese Messwerte interpretiert und verwendet werden sollten, hängt von Ihren geschäftlichen Anforderungen und dem Problem ab, für dessen Lösung das Modell trainiert wurde. Sie haben z. B. eine geringere Toleranz für falsch positive Ergebnisse als für falsch negative, oder andersherum. Diese Fragen haben Einfluss darauf, welche Messwerte für Sie besonders wichtig sind.
Weitere Informationen dazu, wie Sie Ihr Modell iterieren, um die Leistung zu verbessern, finden Sie unter Modell iterieren.
Von Vertex AI zurückgegebene Bewertungsmesswerte
Vertex AI gibt verschiedene Bewertungsmesswerte zurück, z. B. die Precision, der Recall und die Konfidenzgrenzwerte. Die von Vertex AI zurückgegebenen Messwerte hängen vom Ziel des Modells ab. Vertex AI beispielsweise unterschiedliche Bewertungsmesswerte für ein Bildklassifizierungsmodell im Vergleich zu einem Bildobjekterkennungsmodell.
Eine Schemadatei, die von einem Cloud Storage-Speicherort heruntergeladen werden kann, bestimmt, welche Bewertungsmesswerte Vertex AI für jedes Ziel bereitstellt. In der folgenden Schemadatei werden die Bewertungsmesswerte für das Videoobjekt-Tracking beschrieben.
Sie können Schemadateien unter dem folgenden Cloud Storage-Speicherort ansehen und herunterladen:
gs://google-cloud-aiplatform/schema/modelevaluation/
- AuPRC: Der Bereich unter der Precision-/Recall-Kurve (Area Under the Precision/Recall Curve, AuPRC), auch als durchschnittliche Precision bezeichnet. Dieser Wert reicht von null bis eins, wobei ein höherer Wert auf ein Modell von höherer Qualität verweist.
- IoU-Grenzwert: Ein Intersection over Union-Grenzwert, der bestimmt, welche Vorhersagen zurückgegeben werden. Ein Modell gibt Vorhersagen mit diesem Wert oder höher zurück. Je höher der Grenzwert ist, desto näher müssen die vorhergesagten Begrenzungsrahmenwerte an den tatsächlichen Begrenzungsrahmenwerten liegen.
- Mittlere durchschnittliche Precision: auch als durchschnittliche Precision bezeichnet. Dieser Wert reicht von null bis eins, wobei ein höherer Wert auf ein Modell von höherer Qualität verweist.
- Konfidenzgrenzwert: Ein Konfidenzwert, der bestimmt, welche Vorhersagen zurückgegeben werden. Ein Modell gibt Vorhersagen mit diesem Wert oder höher zurück. Ein höherer Konfidenzgrenzwert erhöht die Precision, verringert aber den Recall. Vertex AI gibt Konfidenzmesswerte mit unterschiedlichen Grenzwerten zurück, um festzustellen, wie sich der Grenzwert auf die Precision und den Recall auswirkt.
- Recall: Der Anteil an Vorhersagen mit dieser Klasse, die das Modell korrekt vorhergesagt hat. Wird als Rate richtig positiver Ergebnisse bezeichnet.
- Präzision: Der Anteil an Klassifizierungsvorhersagen des Modells, die richtig waren.
- F1-Wert: der harmonische Mittelwert von Precision und Recall. F1 ist ein nützlicher Messwert, wenn Sie ein Gleichgewicht zwischen Precision und Recall anstreben und die Klassenverteilung ungleichmäßig ist
-
Begrenzungsrahmen mit mittlerer durchschnittlicher Genauigkeit: Der einzelne Messwert für die Bewertung von Begrenzungsrahmen: Der Durchschnitt der
meanAveragePrecision
für alleboundingBoxMetrics
.
Bewertungsmesswerte abrufen
Sie können eine ganze Reihe von zusammengefassten Modellbewertungsmesswerten und, für einige Ziele, Bewertungsmesswerte für eine bestimmte Klasse oder ein bestimmtes Label abrufen. Bewertungsmesswerte für eine bestimmte Klasse oder ein bestimmtes Label werden auch als ein Bewertungssegment bezeichnet. Im Folgenden wird beschrieben, wie Sie mit der Google Cloud Console oder der API zusammengefasste Bewertungsmesswerte und Bewertungssegmente abrufen können.
Google Cloud Console
Rufen Sie in der Google Cloud Console im Abschnitt "Vertex AI" die Seite Modelle auf.
Wählen Sie im Drop-down-Menü Region die Region aus, in der sich Ihr Modell befindet.
Klicken Sie in der Liste der Modelle auf Ihr Modell, um den Tab Bewerten des Modells zu öffnen.
Auf dem Tab Bewerten werden die zusammengefassten Bewertungsmesswerte des Modells angezeigt, zum Beispiel die durchschnittliche Precision und den Recall.
Wenn das Modellziel Bewertungssegmente enthält, wird in der Console eine Liste mit Labels angezeigt. Sie können auf ein Label klicken, um Bewertungsmesswerte für dieses Label anzusehen, wie im folgenden Beispiel gezeigt:
API
API-Anfragen zum Abrufen von Bewertungsmesswerten sind für jeden Datentyp und jedes Ziel identisch, aber die Ausgaben unterscheiden sich. Die folgenden Beispiele zeigen dieselbe Anfrage, aber unterschiedliche Antworten.
Zusammengefasste Modellbewertungsmesswerte abrufen
Die Gesamtbewertungsmesswerte für das Modell liefern Informationen über das Modell als Ganzes. Wenn Sie Informationen zu einem bestimmten Segment abrufen möchten, listen Sie die Modellbewertungssegmente auf.
Verwenden Sie die Methode projects.locations.models.evaluations.get
, um zusammengefasste Modellbewertungsmesswerte anzusehen.
Für den Messwert des Begrenzungsrahmens gibt Vertex AI ein Array von Messwerten mit verschiedenen IoU-Grenzwerten (zwischen 0 und 1) und Konfidenzwerten (zwischen 0 und 1) zurück. Beispielsweise können Sie die Bewertungsmesswerte auf einen IoU-Grenzwert von 0,85 und einen Konfidenzwert von 0,8228 einschränken. Durch die Anzeige dieser verschiedenen Grenzwerte können Sie sehen, wie sich diese auf andere Messwerte wie Precision und Recall auswirken.
Wählen Sie einen Tab für Ihre Sprache oder Umgebung aus:
REST
Ersetzen Sie dabei folgende Werte für die Anfragedaten:
- LOCATION: Region, in der Ihr Modell gespeichert ist
- PROJECT: Ihre Projekt-ID.
- MODEL_ID: Die ID der Modellressource.
- PROJECT_NUMBER: Die automatisch generierte Projektnummer Ihres Projekts.
- EVALUATION_ID: ID für die Modellbewertung (wird in der Antwort angezeigt)
HTTP-Methode und URL:
GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations
Senden Sie die Anfrage mithilfe einer der folgenden Optionen:
curl
Führen Sie folgenden Befehl aus:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations"
PowerShell
Führen Sie folgenden Befehl aus:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations" | Select-Object -Expand Content
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
Java
Bevor Sie dieses Beispiel anwenden, folgen Sie den Java-Einrichtungsschritten in der Vertex AI-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Vertex AI Java API.
Richten Sie zur Authentifizierung bei Vertex AI Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Node.js
Bevor Sie dieses Beispiel anwenden, folgen Sie den Node.js-Einrichtungsschritten in der Vertex AI-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Vertex AI Node.js API.
Richten Sie zur Authentifizierung bei Vertex AI Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Python
Informationen zur Installation des Vertex AI SDK for Python finden Sie unter Vertex AI SDK for Python installieren. Weitere Informationen finden Sie in der Referenzdokumentation zur Python API.
Alle Bewertungssegmente auflisten
Die Methode projects.locations.models.evaluations.slices.list
listet alle Bewertungssegmente für Ihr Modell auf. Sie müssen die Bewertungs-ID des Modells haben, die Sie beim Aufrufen der zusammengefassten Bewertungsmesswerte erhalten.
Mit Modellbewertungssegmenten können Sie die Leistung des Modells bei einem bestimmten Label ermitteln. Das Feld value
gibt an, für welches Label die Messwerte gelten.
Für den Messwert des Begrenzungsrahmens gibt Vertex AI ein Array von Messwerten mit verschiedenen IoU-Grenzwerten (zwischen 0 und 1) und Konfidenzwerten (zwischen 0 und 1) zurück. Beispielsweise können Sie die Bewertungsmesswerte auf einen IoU-Grenzwert von 0,85 und einen Konfidenzwert von 0,8228 einschränken. Durch die Anzeige dieser verschiedenen Grenzwerte können Sie sehen, wie sich diese auf andere Messwerte wie Precision und Recall auswirken.
REST
Ersetzen Sie dabei folgende Werte für die Anfragedaten:
- LOCATION: Region, in der sich das Modell befindet. Beispiel:
us-central1
. - PROJECT: Ihre Projekt-ID.
- MODEL_ID: ID Ihres Modells.
- EVALUATION_ID: ID der Modellbewertung, die die Bewertungssegmente enthält, die aufgelistet werden sollen.
HTTP-Methode und URL:
GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations/EVALUATION_ID/slices
Senden Sie die Anfrage mithilfe einer der folgenden Optionen:
curl
Führen Sie folgenden Befehl aus:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations/EVALUATION_ID/slices"
PowerShell
Führen Sie folgenden Befehl aus:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations/EVALUATION_ID/slices" | Select-Object -Expand Content
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
Java
Bevor Sie dieses Beispiel anwenden, folgen Sie den Java-Einrichtungsschritten in der Vertex AI-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Vertex AI Java API.
Richten Sie zur Authentifizierung bei Vertex AI Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Node.js
Bevor Sie dieses Beispiel anwenden, folgen Sie den Node.js-Einrichtungsschritten in der Vertex AI-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Vertex AI Node.js API.
Richten Sie zur Authentifizierung bei Vertex AI Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Python
Informationen zur Installation des Vertex AI SDK for Python finden Sie unter Vertex AI SDK for Python installieren. Weitere Informationen finden Sie in der Referenzdokumentation zur Python API.
Messwerte für ein einzelnes Segment abrufen
Verwenden Sie die Methode projects.locations.models.evaluations.slices.get
, um Bewertungsmesswerte für ein einzelnes Segment aufzurufen. Sie benötigen die Segment-ID, die Sie erhalten, wenn Sie alle Segmente auflisten. Das folgende Beispiel gilt für alle Datentypen und Ziele.
REST
Ersetzen Sie dabei folgende Werte für die Anfragedaten:
- LOCATION: Region, in der sich das Modell befindet. Beispiel: us-central1.
- PROJECT: Ihre Projekt-ID.
- MODEL_ID: ID Ihres Modells.
- EVALUATION_ID: ID der Modellbewertung, die das abzurufende Bewertungssegment enthält.
- SLICE_ID: ID eines abzurufenden Bewertungssegments.
- PROJECT_NUMBER: Die automatisch generierte Projektnummer Ihres Projekts.
- EVALUATION_METRIC_SCHEMA_FILE_NAME: Der Name einer Schemadatei, die die Bewertungsmesswerte definiert, die zurückgegeben werden sollen, z. B.
classification_metrics_1.0.0
.
HTTP-Methode und URL:
GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations/EVALUATION_ID/slices/SLICE_ID
Senden Sie die Anfrage mithilfe einer der folgenden Optionen:
curl
Führen Sie folgenden Befehl aus:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations/EVALUATION_ID/slices/SLICE_ID"
PowerShell
Führen Sie folgenden Befehl aus:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations/EVALUATION_ID/slices/SLICE_ID" | Select-Object -Expand Content
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
Java
Bevor Sie dieses Beispiel anwenden, folgen Sie den Java-Einrichtungsschritten in der Vertex AI-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Vertex AI Java API.
Richten Sie zur Authentifizierung bei Vertex AI Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Node.js
Bevor Sie dieses Beispiel anwenden, folgen Sie den Node.js-Einrichtungsschritten in der Vertex AI-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Vertex AI Node.js API.
Richten Sie zur Authentifizierung bei Vertex AI Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Python
Informationen zur Installation des Vertex AI SDK for Python finden Sie unter Vertex AI SDK for Python installieren. Weitere Informationen finden Sie in der Referenzdokumentation zur Python API.
Modell durchlaufen
Modellbewertungsmesswerte bieten einen Ausgangspunkt für das Debugging Ihres Modells, sollte das Modell Ihre Erwartungen nicht erfüllen. Beispielsweise können niedrige Precision- und Recall-Werte darauf hinweisen, dass das Modell zusätzliche Trainingsdaten benötigt oder inkonsistente Labels enthält. Perfekte Precision- und Recall-Werte können darauf hindeuten, dass die Testdaten zu einfach vorherzusagen sind und sich unter Umständen nicht gut verallgemeinern lassen.
Sie können die Trainingsdaten iterieren und ein neues Modell erstellen. Nachdem Sie ein neues Modell erstellt haben, können Sie die Bewertungsmesswerte zwischen dem vorhandenen Modell und dem neuen Modell vergleichen.
Die folgenden Vorschläge können helfen, Modelle zu verbessern, die Elemente mit Labels versehen, z. B. Klassifizierungs- oder Erkennungsmodelle:
- Sie sollten weitere Beispiele oder eine größere Auswahl an Beispielen in die Trainingsdaten aufnehmen. Für ein Bildklassifizierungsmodell könnten Sie z. B. Bilder mit größerem Winkel, mit höherer oder niedrigerer Auflösung oder mit verschiedenen Blickwinkeln einbeziehen. Eine ausführliche Anleitung hierzu finden Sie unter Daten vorbereiten für Ihren spezifischen Datentyp und Ihr Ziel.
- Sie können Klassen oder Labels entfernen, die nicht viele Beispiele haben. Unzureichende Beispiele verhindern, dass das Modell konsistent und sicher Vorhersagen zu diesen Klassen oder Labels macht.
- Maschinen können den Namen Ihrer Klassen oder Labels nicht interpretieren und die Nuancen der Objekte nicht verstehen, z. B. „Tür“ und „Tür_mit_Klinke“. Sie müssen Daten bereitstellen, damit Maschinen solche Nuancen erkennen können.
- Erweitern Sie Ihre Daten mit weiteren Beispielen für echt positive und echt negative Ergebnisse, insbesondere Beispiele, die nahe an einer Entscheidungsgrenze liegen, um die Verwechslungsgefahr bei dem Modell zu verringern.
- Legen Sie Ihre eigene Datenaufteilung fest (Training, Validierung und Test). Vertex AI weist jeder Gruppe Elemente nach dem Zufallsprinzip zu. Daher können nahezu identische Duplikate in den Trainings- und Validierungs-Datasets zugewiesen werden. Dies kann zu einer Überanpassung und dann zu einer schlechten Leistung des Test-Datasets führen. Weitere Informationen zum Festlegen Ihrer eigenen Datenaufteilung finden Sie unter Datenaufteilungen für AutoML-Modelle.
- Wenn die Bewertungsmesswerte Ihres Modells eine Wahrheitsmatrix enthalten, können Sie sehen, ob das Modell zwei Labels verwechselt, wo das Modell ein bestimmtes Label deutlich häufiger als das echte Label vorhersagt. Überprüfen Sie Ihre Daten und achten Sie darauf, dass die Beispiele mit dem richtigen Label versehen sind.
- Wenn die Trainingszeit kurz war (niedrige maximale Anzahl an Knotenstunden), erhalten Sie möglicherweise ein Modell höherer Qualität, indem Sie es für einen längeren Zeitraum trainieren (höhere maximale Anzahl an Knotenstunden).