Feinabstimmung und Bewertung verwenden, um die Modelleistung zu verbessern
In dieser Anleitung wird gezeigt, wie Sie ein BigQuery ML-Remote-Modell erstellen, das auf ein Vertex AI-gemini-1.0-pro-002
-Modell verweist.
Anschließend verwenden Sie
Überwachte Abstimmung um das Modell mit neuen Trainingsdaten zu optimieren, gefolgt von der Bewertung des Modells mit der ML.EVALUATE
Funktion “
Dies kann Ihnen bei der Behebung von Szenarien helfen, in denen Sie das gehostete Vertex AI-Modell anpassen müssen, z. B. wenn das erwartete Verhalten des Modells schwierig zu definieren ist in einem Prompt oder wenn Prompts nicht die erwarteten Ergebnisse generieren, d. h. Ergebnisse die konsistent genug sind. Die überwachte Abstimmung wirkt sich auch so auf das Modell aus:
- Leitet das Modell so, dass bestimmte Antwortstile zurückgegeben werden, z. B. mit prägnanteren oder ausführlicheren Antworten.
- Bringt dem Modell neue Verhaltensweisen bei, z. B. das Beantworten von Prompts als eine bestimmte Persona.
- Bewirkt, dass sich das Modell mit neuen Informationen aktualisiert.
Erforderliche Berechtigungen
Zum Erstellen einer Verbindung benötigen Sie die folgende Rolle der Identitäts- und Zugriffsverwaltung (Identity and Access Management, IAM):
roles/bigquery.connectionAdmin
Zum Erteilen von Berechtigungen für das Dienstkonto der Verbindung benötigen Sie die folgende Berechtigung:
resourcemanager.projects.setIamPolicy
Zum Erstellen des Modells mit BigQuery ML benötigen Sie die folgenden IAM-Berechtigungen:
bigquery.jobs.create
bigquery.models.create
bigquery.models.getData
bigquery.models.updateData
bigquery.models.updateMetadata
Zum Ausführen von Inferenzen benötigen Sie die folgenden Berechtigungen:
bigquery.tables.getData
für die Tabellebigquery.models.getData
für das Modellbigquery.jobs.create
Hinweise
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the BigQuery, BigQuery Connection, Vertex AI, and Compute Engine APIs.
Kosten
In diesem Dokument verwenden Sie die folgenden kostenpflichtigen Komponenten von Google Cloud:
- BigQuery: You incur costs for the queries that you run in BigQuery.
- BigQuery ML: You incur costs for the model that you create and the processing that you perform in BigQuery ML.
- Vertex AI: You incur costs for calls to and
supervised tuning of the
gemini-1.0-pro-002
model.
Mit dem Preisrechner können Sie eine Kostenschätzung für Ihre voraussichtliche Nutzung vornehmen.
Weitere Informationen finden Sie in den folgenden Ressourcen:
Dataset erstellen
Erstellen Sie ein BigQuery-Dataset, um Ihr ML-Modell zu speichern:
Rufen Sie in der Google Cloud Console die Seite „BigQuery“ auf.
Klicken Sie im Bereich Explorer auf den Namen Ihres Projekts.
Klicken Sie auf
Aktionen ansehen > Dataset erstellen.Führen Sie auf der Seite Dataset erstellen die folgenden Schritte aus:
Geben Sie unter Dataset-ID
bqml_tutorial
ein.Wählen Sie als Standorttyp die Option Mehrere Regionen und dann USA (mehrere Regionen in den USA) aus.
Die öffentlichen Datasets sind am multiregionalen Standort
US
gespeichert. Der Einfachheit halber sollten Sie Ihr Dataset am selben Standort speichern.Übernehmen Sie die verbleibenden Standardeinstellungen unverändert und klicken Sie auf Dataset erstellen.
Verbindung herstellen
Erstellen Sie eine Cloud-Ressourcenverbindung und rufen Sie die Dienstkonto-ID der Verbindung ab. Erstellen Sie die Verbindung in demselben Standort wie dem des von Ihnen im vorherigen Schritt erstellten Datasets.
Wählen Sie eine der folgenden Optionen aus:
Console
Rufen Sie die Seite BigQuery auf.
Klicken Sie auf
Hinzufügen und dann auf Verbindungen zu externen Datenquellen, um eine Verbindung zu erstellen.Wählen Sie in der Liste Verbindungstyp die Option Vertex AI-Remote-Modelle, Remote-Funktionen und BigLake (Cloud Resource) aus.
Geben Sie im Feld Verbindungs-ID einen Namen für die Verbindung ein.
Klicken Sie auf Verbindung erstellen.
Klicken Sie auf Zur Verbindung.
Kopieren Sie im Bereich Verbindungsinformationen die Dienstkonto-ID zur Verwendung in einem späteren Schritt.
bq
Erstellen Sie in einer Befehlszeilenumgebung eine Verbindung:
bq mk --connection --location=REGION --project_id=PROJECT_ID \ --connection_type=CLOUD_RESOURCE CONNECTION_ID
Der Parameter
--project_id
überschreibt das Standardprojekt.Ersetzen Sie dabei Folgendes:
REGION
: Ihre VerbindungsregionPROJECT_ID
: Ihre Google Cloud-Projekt-IDCONNECTION_ID
: eine ID für Ihre Verbindung
Wenn Sie eine Verbindungsressource herstellen, erstellt BigQuery ein eindeutiges Systemdienstkonto und ordnet es der Verbindung zu.
Fehlerbehebung:Wird der folgende Verbindungsfehler angezeigt, aktualisieren Sie das Google Cloud SDK:
Flags parsing error: flag --connection_type=CLOUD_RESOURCE: value should be one of...
Rufen Sie die Dienstkonto-ID ab und kopieren Sie sie zur Verwendung in einem späteren Schritt:
bq show --connection PROJECT_ID.REGION.CONNECTION_ID
Die Ausgabe sieht in etwa so aus:
name properties 1234.REGION.CONNECTION_ID {"serviceAccountId": "connection-1234-9u56h9@gcp-sa-bigquery-condel.iam.gserviceaccount.com"}
Terraform
Hängen Sie folgenden Abschnitt an Ihre main.tf
-Datei an.
## This creates a cloud resource connection. ## Note: The cloud resource nested object has only one output only field - serviceAccountId. resource "google_bigquery_connection" "connection" { connection_id = "CONNECTION_ID" project = "PROJECT_ID" location = "REGION" cloud_resource {} }
CONNECTION_ID
: eine ID für Ihre VerbindungPROJECT_ID
: Ihre Google Cloud-Projekt-IDREGION
: Ihre Verbindungsregion
Dem Dienstkonto der Verbindung Zugriff gewähren
Gewähren Sie Ihrem Dienstkonto die Rolle „Vertex AI Service Agent“, damit das Dienstkonto auf Vertex AI zugreifen kann. Fehlschlag beim Gewähren dieser Rolle führt zu einem Fehler. Wählen Sie eine der folgenden Optionen aus:
Console
Zur Seite IAM & Verwaltung.
Klicken Sie auf
Zugriff erlauben.Das Dialogfeld Principals hinzufügen wird geöffnet.
Geben Sie im Feld Neue Hauptkonten die Dienstkonto-ID ein, die Sie zuvor kopiert haben.
Klicken Sie auf Rolle auswählen.
Geben Sie unter Filter
Vertex AI Service Agent
ein und wählen Sie dann die Rolle aus.Klicken Sie auf Speichern.
gcloud
Führen Sie den Befehl gcloud projects add-iam-policy-binding
aus:
gcloud projects add-iam-policy-binding 'PROJECT_NUMBER' --member='serviceAccount:MEMBER' --role='roles/aiplatform.serviceAgent' --condition=None
Ersetzen Sie Folgendes:
PROJECT_NUMBER
: Ihre ProjektnummerMEMBER
: Die Dienstkonto-ID, die Sie zuvor kopiert haben
Das mit Ihrer Verbindung verknüpfte Dienstkonto ist eine Instanz des Dienst-Agent für BigQuery Connection Delegation, daher ist es akzeptabel, ihm eine Dienst-Agent-Rolle zuzuweisen.
Dem Compute Engine-Standarddienstkonto Zugriff gewähren
Wenn Sie die Compute Engine API aktivieren, wird dem Compute Engine-Standarddienstkonto automatisch die Bearbeiterrolle für das Projekt zugewiesen, es sei denn, Sie haben dieses Verhalten für Ihr Projekt deaktiviert. In diesem Fall müssen Sie die Rolle „Bearbeiter“ noch einmal dem Compute Engine-Standarddienstkonto zuweisen, damit es die Berechtigungen zum Erstellen und Optimieren eines Remote-Modells hat.
Console
Zur Seite IAM & Verwaltung.
Klicken Sie auf
Zugriff gewähren.Geben Sie unter Neue Hauptkonten die Dienstkonto-ID ein, diese lautet
PROJECT_NUMBER-compute@developer.gserviceaccount.com
.Klicken Sie auf Rolle auswählen.
Wählen Sie unter Rolle auswählen die Option Einfach und dann Bearbeiter aus.
Klicken Sie auf Speichern.
gcloud
Führen Sie den Befehl gcloud projects add-iam-policy-binding
aus:
gcloud projects add-iam-policy-binding 'PROJECT_NUMBER' --member='serviceAccount:MEMBER' --role='roles/editor' --condition=None
Dabei gilt:
PROJECT_NUMBER
: Ihre Projektnummer.MEMBER
: die Dienstkonto-ID (PROJECT_NUMBER-compute@developer.gserviceaccount.com
).
Abstimmungsdienst-Agent erstellen
Erstellen Sie eine Instanz des Vertex AI Secure Fine Tuning Service Agent:
Verwenden Sie den
gcloud beta services identity create
-Befehl, um den Abstimmungsdienst-Agent zu erstellen:gcloud beta services identity create --service=aiplatform.googleapis.com --project=PROJECT_NUMBER
Ersetzen Sie
PROJECT_NUMBER
durch die Projekt-ID.Verwenden Sie den
gcloud projects add-iam-policy-binding
-Befehl, um dem Abstimmungsdienst-Agent die Rolle Vertex AI Tuning Service Agent (roles/aiplatform.tuningServiceAgent
) zu gewähren:gcloud projects add-iam-policy-binding 'PROJECT_NUMBER' --member='serviceAccount:service-PROJECT_NUMBER@gcp-sa-vertex-tune.iam.gserviceaccount.com' --role='roles/aiplatform.tuningServiceAgent'
Ersetzen Sie
PROJECT_NUMBER
durch die Projekt-ID.
Testtabellen erstellen
Erstellen Sie Tabellen mit Trainings- und Bewertungsdaten basierend auf dem öffentlichen
MTSamples-Dataset mit transkribierten medizinischen Berichten.
Dieses Dataset hat eine input_text
-Spalte, die das medizinische Transkript enthält und eine output_text
-Spalte mit dem Label, das die Kategorie des Transkripts am besten beschreibt, z. B. Allergy/Immunology
, Dentistry
oder Cardiovascular/Pulmonary
. Erstellen Sie außerdem eine Tabelle, die die Prompt-Daten zur Klassifizierung medizinischer Transkripte enthält.
Sie importieren die medizinischen Transkriptdaten aus einem öffentlichen Cloud Storage-Bucket.
Öffnen Sie in der Google Cloud Console die Seite BigQuery.
Führen Sie im Query Editor die folgende Anweisung aus, um eine Tabelle mit Bewertungsdaten zu erstellen:
LOAD DATA INTO `bqml_tutorial.medical_transcript_eval` FROM FILES(format='NEWLINE_DELIMITED_JSON', uris = ['gs://cloud-samples-data/vertex-ai/model-evaluation/peft_eval_sample.jsonl']);
Führen Sie im Query Editor die folgende Anweisung aus, um eine Tabelle mit Trainingsdaten zu erstellen:
LOAD DATA INTO `bqml_tutorial.medical_transcript_train` FROM FILES(format='NEWLINE_DELIMITED_JSON', uris = ['gs://cloud-samples-data/vertex-ai/model-evaluation/peft_train_sample.jsonl']);
Führen Sie im Abfrageeditor die folgende Anweisung aus, um eine Prompt-Tabelle zu erstellen:
CREATE OR REPLACE TABLE `bqml_tutorial.transcript_classification` AS (SELECT 'Please assign a label for the given medical transcript from among these labels [Allergy / Immunology, Autopsy, Bariatrics, Cardiovascular / Pulmonary, Chiropractic, Consult - History and Phy., Cosmetic / Plastic Surgery, Dentistry, Dermatology, Diets and Nutritions, Discharge Summary, ENT - Otolaryngology, Emergency Room Reports, Endocrinology, Gastroenterology, General Medicine, Hematology - Oncology, Hospice - Palliative Care, IME-QME-Work Comp etc., Lab Medicine - Pathology, Letters, Nephrology, Neurology, Neurosurgery, Obstetrics / Gynecology, Office Notes, Ophthalmology, Orthopedic, Pain Management, Pediatrics - Neonatal, Physical Medicine - Rehab, Podiatry, Psychiatry / Psychology, Radiology, Rheumatology, SOAP / Chart / Progress Notes, Sleep Medicine, Speech - Language, Surgery, Urology].' AS prompt);
Basismodell erstellen
Erstellen Sie ein
Remote-Modell
über dem gemini-1.0-pro-002
-Modell von Vertex AI, das Sie zum Klassifizieren
medizinischer Transkripte verwenden können.
Öffnen Sie in der Google Cloud Console die Seite BigQuery.
Führen Sie im Abfrageeditor die folgende Anweisung aus, um ein Remote-Modell zu erstellen:
CREATE OR REPLACE MODEL `bqml_tutorial.gemini-baseline` REMOTE WITH CONNECTION `LOCATION.CONNECTION_ID` OPTIONS (ENDPOINT ='gemini-1.0-pro-002');
Ersetzen Sie Folgendes:
LOCATION
: Standort der VerbindungCONNECTION_ID
ist die ID Ihrer BigQuery-Verbindung.Wenn Sie sich Verbindungsdetails in der Google Cloud Console ansehen, ist die Verbindungs-ID der Wert
CONNECTION_ID
im letzten Abschnitt der voll qualifizierten Verbindungs-ID, der unter Verbindungs-ID angezeigt wird, z. B.projects/myproject/locations/connection_location/connections/myconnection
Die Abfrage dauert mehrere Sekunden. Anschließend wird das Modell
gemini-baseline
imbqml_tutorial
-Dataset des Bereichs Explorer angezeigt. Da die Abfrage eineCREATE MODEL
-Anweisung zum Erstellen eines Modells verwendet, gibt es keine Abfrageergebnisse.
Leistung des Basismodells prüfen
Führen Sie die ML.GENERATE_TEXT
-Funktion
mit dem Remote-Modell aus, um zu sehen, wie es mit den Bewertungsdaten ohne
Feinabstimmung funktioniert.
Öffnen Sie in der Google Cloud Console die Seite BigQuery.
Führen Sie im Abfrageeditor folgende Abfrage aus:
SELECT * FROM ML.GENERATE_TEXT( MODEL `bqml_tutorial.gemini-baseline`, ( SELECT CONCAT( (SELECT prompt from `bqml_tutorial.transcript_classification`), ' ', input_text) AS prompt, output_text AS label FROM `bqml_tutorial.medical_transcript_eval` ), STRUCT(TRUE AS flatten_json_output)) ORDER BY ml_generate_text_llm_result;
Wenn Sie die Ausgabedaten untersuchen und
ml_generate_text_llm_result
undlabel
vergleichen, sehen Sie, dass das Basismodell zwar viele Klassifizierungen von Transkripten korrekt vorhersagt, einige Transkripte aber falsch klassifiziert. Hier ein repräsentatives Beispiel für inkorrekte Ausgabe. In diesem Beispiel lautet die korrekte Klassifizierung:Autopsy
, nichtPulmonary Embolism
.+------------------------------------+---------------------------------+-------------------------------------------------------------------------+--------------+ | ml_generate_text_llm_result | ml_generate_text_rai_result | ml_generate_text_status | prompt | label | +------------------------------------+---------------------------------+-------------------------------------------------------------------------+--------------+ | ## Label:Pulmonary Embolism | [{"category":1,"probability":1 | | Please assign a label for the given medical | Autopsy | | | ,"probability_score":0.19433 | | transcript from among these labels [Allergy / | | | | "594,"severity":2,... | | Immunology, Autopsy, Bariatrics, | | | | | | Cardiovascular / Pulmonary, Chiropractic, | | | | | | Consult - History and Phy., Cosmetic / | | | | | | Plastic Surgery, Dentistry, Dermatology, | | | | | | Diets and Nutritions, Discharge Summary, ENT | | | | | | - Otolaryngology, Emergency Room Reports, | | | | | | Endocrinology, Gastroenterology, General | | | | | | Medicine, Hematology - Oncology, Hospice - | | | | | | Palliative Care, IME-QME-Work Comp etc., | | | | | | Lab Medicine - Pathology, Letters, | | | | | | Nephrology, Neurology, Neurosurgery, | | | | | | Obstetrics / Gynecology, Office Notes, | | | | | | Ophthalmology, Orthopedic, Pain Management, | | | | | | Pediatrics - Neonatal, Physical Medicine - | | | | | | Rehab, Podiatry, Psychiatry / Psychology, | | | | | | Radiology, Rheumatology, SOAP / Chart / | | | | | | Progress Notes, Sleep Medicine, Speech - | | | | | | Language, Surgery, Urology]. | | | | | | TRANSCRIPT: | | | | | | SUMMARY OF CLINICAL HISTORY:, | | | | | | OF The patient was a 35-year-old | | | | | | African-American male with no | | | | | | significant past medical history | | | | | | a who called EMS with shortness of breath | | | | | | had and chest pain. Upon EMS | | | | | | arrival, patient was... | | +------------------------------------+---------------------------------+-------------------------------------------------------------------------+--------------+
Basismodell bewerten
Für eine detailliertere Bewertung der Modellleistung verwenden Sie die
ML.EVALUATE
-Funktion.
Diese Funktion berechnet Modellmesswerte wie
Precision,
Recall und
F1-Wert, um die Modellantworten mit idealen Antworten zu vergleichen.
Öffnen Sie in der Google Cloud Console die Seite BigQuery.
Führen Sie im Abfrageeditor folgende Abfrage aus:
SELECT * FROM ML.EVALUATE( MODEL `bqml_tutorial.gemini-baseline`, ( SELECT CONCAT( (SELECT prompt FROM `bqml_tutorial.transcript_classification`), ' ', input_text) AS input_text, output_text FROM `bqml_tutorial.medical_transcript_eval` ), STRUCT('classification' AS task_type)) ORDER BY label;
Die Ausgabe sieht dann ungefähr so aus:
+------------------------------+----------------------------------+-------------------------------------------------------------------------+ | precision | recall | f1_score | label | evaluation_status | +---------------------+---------------------+---------------------+----------------------------+--------------------------------------------+ | 0.0 | 0.0 | 0.0 | Allergy / Immunology | { | | | | | | "num_successful_rows": 474, | | | | | | "num_total_rows": 492 | | | | | | } | +---------------------+---------------------+ --------------------+----------------------------+--------------------------------------------+ | 0.0 | 0.0 | 0.0 | Autopsy | { | | | | | | "num_successful_rows": 474, | | | | | | "num_total_rows": 492 | | | | | | } | +---------------------+---------------------+--------------- -----+----------------------------+--------------------------------------------+ | 0.0 | 0.0 | 0.0 | Bariatrics | { | | | | | | "num_successful_rows": 474, | | | | | | "num_total_rows": 492 | | | | | | } | +---------------------+---------------------+---------------------+----------------------------+--------------------------------------------+
Wie Sie sehen, ist die Leistung des Basismodells für diese Daten aufgrund der niedrigen f1
-Werte nicht zufriedenstellend. Das bedeutet, dass es sich lohnt, eine überwachte Abstimmung vorzunehmen, um zu sehen, ob sich die Modellleistung für diesen Anwendungsfall verbessern lässt.
Abgestimmtes Modell erstellen
Erstellen Sie ein Remote-Modell, das dem ähnelt, das Sie unter Modell erstellen erstellt haben, aber geben Sie dieses Mal die AS SELECT
-Klausel an, um die Trainingsdaten bereitzustellen, damit das Modell optimiert wird.
Diese Abfrage kann einige Stunden dauern.
Öffnen Sie in der Google Cloud Console die Seite BigQuery.
Führen Sie im Query Editor die folgende Anweisung aus, um eine Remote-Modell zu erstellen:
CREATE OR REPLACE MODEL `bqml_tutorial.gemini-tuned` REMOTE WITH CONNECTION `LOCATION.CONNECTION_ID` OPTIONS ( endpoint = 'gemini-1.0-pro-002', max_iterations = 300, data_split_method = 'no_split') AS SELECT CONCAT( (SELECT prompt FROM `bqml_tutorial.transcript_classification`), ' ', input_text) AS prompt, output_text AS label FROM `bqml_tutorial.medical_transcript_train`;
Ersetzen Sie Folgendes:
LOCATION
: Standort der VerbindungCONNECTION_ID
ist die ID Ihrer BigQuery-Verbindung.Wenn Sie sich Verbindungsdetails in der Google Cloud Console ansehen, ist die Verbindungs-ID der Wert
CONNECTION_ID
im letzten Abschnitt der voll qualifizierten Verbindungs-ID, der unter Verbindungs-ID angezeigt wird, z. B.projects/myproject/locations/connection_location/connections/myconnection
Es kann mehrere Stunden dauern, bis die Abfrage abgeschlossen ist. Das
gemini-tuned
Modell erscheint danach imbqml_tutorial
Dataset im Bereich Explorer. Da die Abfrage eineCREATE MODEL
-Anweisung zum Erstellen eines Modells verwendet, gibt es keine Abfrageergebnisse.
Leistung des abgestimmten Modells prüfen
Führen Sie die Funktion ML.GENERATE_TEXT
aus, um die Leistung des abgestimmten Modells für die
Bewertungsdaten zu sehen.
Öffnen Sie in der Google Cloud Console die Seite BigQuery.
Führen Sie im Abfrageeditor folgende Abfrage aus:
SELECT * FROM ML.GENERATE_TEXT( MODEL `bqml_tutorial.gemini-tuned`, ( SELECT CONCAT( (SELECT prompt from `bqml_tutorial.transcript_classification`), ' ', input_text) AS prompt, output_text AS label FROM `bqml_tutorial.medical_transcript_eval` ), STRUCT(TRUE AS flatten_json_output)) ORDER BY ml_generate_text_llm_result;
Bei der Überprüfung der Ausgabedaten stellen Sie fest, dass das abgestimmte Modell mehr Transkripte korrekt klassifiziert. Das Beispiel, das Sie sich zuvor angeschaut haben, ist jetzt korrekt als
Cardiovascular/ Pulmonary
klassifiziert.+-----------------------------+---------------------------------+-------------------------------------------------------------------------+----------------------------+ | ml_generate_text_llm_result | ml_generate_text_rai_result | ml_generate_text_status | prompt | label | +-----------------------------+---------------------------------+-------------------------------------------------------------------------+----------------------------+ | Autopsy | [{"category":1,"probability":1 | | Please assign a label for the given medical | Autopsy | | | ,"probability_score":0.19335938 | | transcript from among these labels [Allergy / | | | | ,"severity":2,"severity_scor... | | Immunology, Autopsy, Bariatrics, | | | | | | Cardiovascular / Pulmonary, Chiropractic, | | | | | | Consult - History and Phy., Cosmetic / | | | | | | Plastic Surgery, Dentistry, Dermatology, | | | | | | Diets and Nutritions, Discharge Summary, ENT | | | | | | - Otolaryngology, Emergency Room Reports, | | | | | | Endocrinology, Gastroenterology, General | | | | | | Medicine, Hematology - Oncology, Hospice - | | | | | | Palliative Care, IME-QME-Work Comp etc., | | | | | | Lab Medicine - Pathology, Letters, | | | | | | Nephrology, Neurology, Neurosurgery, | | | | | | Obstetrics / Gynecology, Office Notes, | | | | | | Ophthalmology, Orthopedic, Pain Management, | | | | | | Pediatrics - Neonatal, Physical Medicine - | | | | | | Rehab, Podiatry, Psychiatry / Psychology, | | | | | | Radiology, Rheumatology, SOAP / Chart / | | | | | | Progress Notes, Sleep Medicine, Speech - | | | | | | Language, Surgery, Urology]. | | | | | | TRANSCRIPT: | | | | | | SUMMARY OF CLINICAL HISTORY:, | | | | | | The patient was a 35-year-old | | | | | | African-American male with no | | | | | | significant past medical history | | | | | | a who called EMS with shortness of breath | | | | | | had and chest pain. Upon EMS | | | | | | arrival, patient was... | | +-----------------------------+---------------------------------+-------------------------------------------------------------------------+----------------------------+
Abgestimmtes Modell bewerten
Mit der Funktion ML.EVALUATE
können Sie die Antworten des abgestimmten Modells mit den idealen Antworten vergleichen.
Öffnen Sie in der Google Cloud Console die Seite BigQuery.
Führen Sie im Abfrageeditor folgende Abfrage aus:
SELECT * FROM ML.EVALUATE( MODEL `bqml_tutorial.gemini-tuned`, ( SELECT CONCAT( (SELECT prompt from `bqml_tutorial.transcript_classification`), ' ', input_text) AS prompt, output_text AS label FROM `bqml_tutorial.medical_transcript_eval` ), STRUCT('classification' AS task_type)) ORDER BY label;
Die Ausgabe sieht dann ungefähr so aus:
+------------------------------+----------------------------------+-------------------------------------------------------------------------+ | precision | recall | f1_score | label | evaluation_status | +---------------------+---------------------+---------------------+----------------------------+--------------------------------------------+ | 0.5 | 0.66666666666666663 | 0.5714285714285714 | Allergy/Immunology | { | | | | | | "num_successful_rows": 439, | | | | | | "num_total_rows": 492 | | | | | | } | +---------------------+---------------------+ --------------------+----------------------------+--------------------------------------------+ | 1.0 | 1.0 | 1.0 | Autopsy | { | | | | | | "num_successful_rows": 439, | | | | | | "num_total_rows": 492 | | | | | | } | +---------------------+---------------------+--------------- -----+----------------------------+--------------------------------------------+ | 0.5 | 1.0 | 0.66666666666666663 | Bariatrics | { | | | | | | "num_successful_rows": 439, | | | | | | "num_total_rows": 492 | | | | | | } | +---------------------+---------------------+---------------------+----------------------------+--------------------------------------------+
Obwohl im Trainings-Dataset nur 519 Beispiele verwendet wurden, hat sich die Leistung deutlich verbessert, wie die höheren f1
-Werte zeigen.
Bereinigen
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.