Utilizzare l'ottimizzazione e la valutazione per migliorare le prestazioni del modello

Questo documento mostra come creare un modello BigQuery ML modello remoto che fa riferimento a un Modello gemini-1.0-pro-002 Vertex AI. Quindi utilizzi ottimizzazione supervisionata per ottimizzare il modello con nuovi dati di addestramento, per poi valutare il modello con Funzione ML.EVALUATE.

In questo modo puoi risolvere gli scenari in cui devi personalizzare modello Vertex AI, ad esempio quando il comportamento previsto del modello è difficile da definire in modo conciso in un prompt, o quando i prompt non producono risultati i risultati in modo coerente. L'ottimizzazione supervisionata influisce anche sul modello nei seguenti modi:

  • Indica al modello di restituire stili di risposta specifici, ad esempio più concisi o più descrittivi.
  • Insegna al modello nuovi comportamenti, ad esempio rispondendo ai prompt come un utente tipo specifico.
  • Fai in modo che il modello si aggiorni con nuove informazioni.

Autorizzazioni obbligatorie

  • Per creare una connessione, è necessario quanto segue Identity and Access Management (IAM) ruolo:

    • roles/bigquery.connectionAdmin
  • Per concedere le autorizzazioni all'account di servizio della connessione, è necessario il seguente autorizzazione:

    • resourcemanager.projects.setIamPolicy
  • Per creare il modello utilizzando BigQuery ML, è necessario quanto segue Autorizzazioni IAM:

    • bigquery.jobs.create
    • bigquery.models.create
    • bigquery.models.getData
    • bigquery.models.updateData
    • bigquery.models.updateMetadata
  • Per eseguire l'inferenza, devi disporre delle seguenti autorizzazioni:

    • bigquery.tables.getData sul tavolo
    • bigquery.models.getData sul modello
    • bigquery.jobs.create

Prima di iniziare

  1. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  2. Make sure that billing is enabled for your Google Cloud project.

  3. Enable the BigQuery, BigQuery Connection, Vertex AI, and Compute Engine APIs.

    Enable the APIs

Costi

In questo documento utilizzi i seguenti componenti fatturabili di 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.

Per generare una stima dei costi basata sull'utilizzo previsto, utilizza il Calcolatore prezzi. I nuovi utenti di Google Cloud potrebbero essere idonei per una prova gratuita.

Per maggiori informazioni, consulta le seguenti risorse:

Crea un set di dati

Crea un set di dati BigQuery per archiviare il tuo modello ML:

  1. Nella console Google Cloud, vai alla pagina BigQuery.

    Vai alla pagina BigQuery

  2. Nel riquadro Explorer, fai clic sul nome del tuo progetto.

  3. Fai clic su Visualizza azioni > Crea set di dati.

    Crea il set di dati.

  4. Nella pagina Crea set di dati:

    • In ID set di dati, inserisci bqml_tutorial.

    • Per Tipo di località, seleziona Più regioni e poi Stati Uniti (più regioni negli Stati Uniti).

      I set di dati pubblici sono archiviati nella US multiregione. Per semplicità, per archiviare il set di dati nella stessa posizione.

    • Lascia invariate le restanti impostazioni predefinite e fai clic su Crea set di dati.

      Pagina Crea set di dati.

Crea una connessione

Crea una connessione risorsa Cloud e recupera l'ID account di servizio della connessione. Crea la connessione nella stessa posizione del set di dati creato nel passaggio precedente.

Seleziona una delle seguenti opzioni:

Console

  1. Vai alla pagina BigQuery.

    Vai a BigQuery

  2. Per creare una connessione, fai clic su Aggiungi e poi su Connessioni a origini dati esterne.

  3. Nell'elenco Tipo di connessione, seleziona Modelli remoti Vertex AI, funzioni remote e BigLake (risorsa Cloud).

  4. Nel campo ID connessione, inserisci un nome per la connessione.

  5. Fai clic su Crea connessione.

  6. Fai clic su Vai alla connessione.

  7. Nel riquadro Informazioni sulla connessione, copia l'ID account di servizio da utilizzare in una passaggio successivo.

bq

  1. In un ambiente a riga di comando, crea una connessione:

    bq mk --connection --location=REGION --project_id=PROJECT_ID \
        --connection_type=CLOUD_RESOURCE CONNECTION_ID

    Il parametro --project_id sostituisce il progetto predefinito.

    Sostituisci quanto segue:

    • REGION: la regione di connessione
    • PROJECT_ID: l'ID del tuo progetto Google Cloud
    • CONNECTION_ID: un ID per la connessione

    Quando crei una risorsa di connessione, BigQuery crea un account di servizio di sistema unico e lo associa alla connessione.

    Risoluzione dei problemi: se ricevi il seguente errore di connessione, aggiorna Google Cloud SDK:

    Flags parsing error: flag --connection_type=CLOUD_RESOURCE: value should be one of...
    
  2. Recupera e copia l'ID account di servizio per utilizzarlo in un secondo momento passaggio:

    bq show --connection PROJECT_ID.REGION.CONNECTION_ID

    L'output è simile al seguente:

    name                          properties
    1234.REGION.CONNECTION_ID     {"serviceAccountId": "connection-1234-9u56h9@gcp-sa-bigquery-condel.iam.gserviceaccount.com"}
    

Terraform

Aggiungi la seguente sezione al file main.tf.

 ## 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 {}
}        
Sostituisci quanto segue:

  • CONNECTION_ID: un ID per connessione
  • PROJECT_ID: il tuo ID progetto Google Cloud
  • REGION: il tuo regione di connessione

Concedi l'accesso all'account di servizio della connessione

Concedi al tuo account di servizio il ruolo Agente di servizio Vertex AI in modo che possa accedere a Vertex AI. Errore per concedere questo ruolo genera un errore. Seleziona una delle seguenti opzioni:

Console

  1. Vai alla pagina IAM e amministrazione.

    Vai a IAM e amministrazione

  2. Fai clic su Concedi accesso.

    Viene visualizzata la finestra di dialogo Aggiungi entità.

  3. Nel campo Nuove entità, inserisci l'ID account di servizio che hai copiato in precedenza.

  4. Fai clic su Seleziona un ruolo.

  5. In Filtro, digita Vertex AI Service Agent e seleziona il ruolo.

  6. Fai clic su Salva.

gcloud

Utilizza la Comando gcloud projects add-iam-policy-binding:

gcloud projects add-iam-policy-binding 'PROJECT_NUMBER' --member='serviceAccount:MEMBER' --role='roles/aiplatform.serviceAgent' --condition=None

Sostituisci quanto segue:

  • PROJECT_NUMBER: il numero del tuo progetto
  • MEMBER: l'ID dell'account di servizio che copiato in precedenza

L'account di servizio associato alla connessione è un'istanza dell'agente di servizio di delega della connessione BigQuery, pertanto è accettabile assegnargli un ruolo di agente di servizio.

Concedi all'account di servizio predefinito di Compute Engine l'accesso

Quando attivi l'API Compute Engine, al service account predefinito di Compute Engine viene concesso automaticamente il ruolo Editor sul progetto, a meno che non lo abbia disattivato per il progetto. In questo caso, devi concedere nuovamente il ruolo Editor a l'accesso all'account di servizio predefinito di Compute Engine, in modo che abbia autorizzazioni necessarie per creare e ottimizzare un modello remoto.

Console

  1. Vai alla sezione IAM e Console di amministrazione.

    Vai a IAM e amministrazione

  2. Fai clic su Concedi l'accesso.

  3. In Nuove entità, inserisci l'ID account di servizio, ovvero PROJECT_NUMBER-compute@developer.gserviceaccount.com.

  4. Fai clic su Seleziona un ruolo.

  5. In Seleziona un ruolo, scegli Di base e poi seleziona Editor.

  6. Fai clic su Salva.

gcloud

Utilizza il comando gcloud projects add-iam-policy-binding:

gcloud projects add-iam-policy-binding 'PROJECT_NUMBER' --member='serviceAccount:MEMBER' --role='roles/editor' --condition=None

Sostituisci quanto segue:

  • PROJECT_NUMBER: il numero del progetto.
  • MEMBER: l'ID account di servizio, ovvero PROJECT_NUMBER-compute@developer.gserviceaccount.com.

Crea un agente di servizio di ottimizzazione

Crea un'istanza del metodo Agente di servizio di ottimizzazione sicura di Vertex AI:

  1. Utilizza il comando gcloud beta services identity create per creare l'agente di servizio di ottimizzazione:

    gcloud beta services identity create --service=aiplatform.googleapis.com --project=PROJECT_NUMBER
    

    Sostituisci PROJECT_NUMBER con il numero del tuo progetto.

  2. Utilizza la Comando gcloud projects add-iam-policy-binding per concedere all'agente di servizio di ottimizzazione Ruolo Agente di servizio ottimizzazione Vertex AI (roles/aiplatform.tuningServiceAgent):

    gcloud projects add-iam-policy-binding 'PROJECT_NUMBER' --member='serviceAccount:service-PROJECT_NUMBER@gcp-sa-vertex-tune.iam.gserviceaccount.com' --role='roles/aiplatform.tuningServiceAgent'
    

    Sostituisci PROJECT_NUMBER con il numero del tuo progetto.

Creare tabelle di test

Crea tabelle di dati di addestramento e valutazione in base al set di dati pubblico MTSamples di referti medici trascritti. Questo set di dati ha una colonna input_text che contiene la trascrizione medica e una colonna output_text che contiene l'etichetta che meglio descrive categoria della trascrizione, ad esempio Allergy/Immunology, Dentistry, o Cardiovascular/Pulmonary. Inoltre, crea una tabella che contiene il prompt dati per la classificazione del certificato medico.

Importa i dati della trascrizione medica da un bucket Cloud Storage pubblico.

  1. Nella console Google Cloud, vai alla pagina BigQuery.

    Vai a BigQuery

  2. Nell'editor di query, esegui la seguente istruzione per creare una tabella di dati di valutazione:

    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']);
  3. Nell'editor di query, esegui la seguente istruzione per creare una tabella di dati di addestramento:

    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']);
  4. Nell'editor di query, esegui la seguente istruzione per creare una tabella di prompt:

    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);

crea un modello di riferimento

Crea un modello remoto sul modello Vertex AI gemini-1.0-pro-002 che puoi utilizzare per classificare trascrizioni mediche.

  1. Nella console Google Cloud, vai alla pagina BigQuery.

    Vai a BigQuery

  2. Nell'editor di query, esegui la seguente istruzione per creare un modello remoto:

    CREATE OR REPLACE MODEL `bqml_tutorial.gemini-baseline`
    REMOTE WITH CONNECTION `LOCATION.CONNECTION_ID`
    OPTIONS (ENDPOINT ='gemini-1.0-pro-002');

    Sostituisci quanto segue:

    • LOCATION: posizione della connessione.
    • CONNECTION_ID: l'ID della connessione BigQuery.

      Quando visualizzi i dettagli della connessione nella console Google Cloud, CONNECTION_ID è il valore nell'ultima sezione l'ID connessione completo mostrato Connection ID (ID connessione), ad esempio projects/myproject/locations/connection_location/connections/myconnection,

    Il completamento della query richiede diversi secondi, dopodiché Il modello gemini-baseline compare nel set di dati bqml_tutorial nella sezione Riquadro Explorer. Poiché la query utilizza un'istruzione CREATE MODEL per creare un modello, non ci sono risultati della query.

Controllare le prestazioni del modello di riferimento

Esegui l' Funzione ML.GENERATE_TEXT con il modello remoto per vedere le prestazioni sui dati di valutazione senza dell'ottimizzazione.

  1. Nella console Google Cloud, vai alla pagina BigQuery.

    Vai a BigQuery

  2. Nell'editor di query, esegui la seguente istruzione:

    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;

    Se esamini i dati di output e confronti i valori ml_generate_text_llm_result e label, noterai che, sebbene il modello di riferimento preveda correttamente molte classificazioni delle trascrizioni, classifica alcune trascrizioni in modo errato. Quello che segue è un esempio rappresentativo un output errato. In questo esempio, la classificazione corretta è Autopsy, non Pulmonary 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...                       |              |
    +------------------------------------+---------------------------------+-------------------------------------------------------------------------+--------------+
    

Valutare il modello di riferimento

Per eseguire una valutazione più dettagliata delle prestazioni del modello, utilizza la funzione ML.EVALUATE. Questa funzione calcola le metriche del modello, come precisione, richiamo e punteggio F1, per confrontare le risposte del modello con quelle ideali.

  1. Nella console Google Cloud, vai alla pagina BigQuery.

    Vai a BigQuery

  2. Nell'editor di query, esegui la seguente istruzione:

    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;

L'output è simile al seguente:

   +------------------------------+----------------------------------+-------------------------------------------------------------------------+
   | 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                     |
   |                     |                     |                     |                            | }                                          |
   +---------------------+---------------------+---------------------+----------------------------+--------------------------------------------+
   

Puoi vedere che il modello di riferimento non ha un buon rendimento per questi dati, in base ai punteggi f1 bassi. Ciò indica che vale la pena eseguire l'ottimizzazione supervisionata per capire se puoi migliorare le prestazioni del modello per questo caso d'uso.

Crea un modello ottimizzato

Crea un modello remoto molto simile a quello creato in Creare un modello, ma questa volta specificando la clausola AS SELECT per fornire i dati di addestramento al fine di ottimizzare il modello. Il completamento di questa query potrebbe richiedere un paio d'ore.

  1. Nella console Google Cloud, vai alla pagina BigQuery.

    Vai a BigQuery

  2. Nell'editor query, esegui questa istruzione per creare modello remoto:

    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`;

    Sostituisci quanto segue:

    • LOCATION: posizione della connessione.
    • CONNECTION_ID: l'ID della connessione BigQuery.

      Quando visualizzi i dettagli della connessione nella console Google Cloud, CONNECTION_ID è il valore nell'ultima sezione l'ID connessione completo mostrato Connection ID (ID connessione), ad esempio projects/myproject/locations/connection_location/connections/myconnection,

    Il completamento della query potrebbe richiedere diverse ore, dopodiché il gemini-tuned modello verrà visualizzato nel bqml_tutorial set di dati nel riquadro Esplorazione. Poiché la query utilizza un'istruzione CREATE MODEL per creare un modello, non ci sono risultati della query.

Controlla le prestazioni del modello ottimizzato

Esegui la funzione ML.GENERATE_TEXT per vedere le prestazioni del modello ottimizzato sul di valutazione.

  1. Nella console Google Cloud, vai alla pagina BigQuery.

    Vai a BigQuery

  2. Esegui la seguente istruzione nell'editor query:

    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;

    Se esamini i dati di output, noterai che il modello ottimizzato classifica più trascrizioni correttamente. L'esempio che hai esaminato in precedenza ora è classificato correttamente come Cardiovascular/ Pulmonary.

    +-----------------------------+---------------------------------+-------------------------------------------------------------------------+----------------------------+
    | 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...                       |                            |
    +-----------------------------+---------------------------------+-------------------------------------------------------------------------+----------------------------+
    

valuta il modello ottimizzato

Utilizza la funzione ML.EVALUATE per confrontare le risposte del modello ottimizzato con quelle ideali.

  1. Nella console Google Cloud, vai alla pagina BigQuery.

    Vai a BigQuery

  2. Nell'editor di query, esegui la seguente istruzione:

    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;

L'output è simile al seguente:

   +------------------------------+----------------------------------+-------------------------------------------------------------------------+
   | 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                     |
   |                     |                     |                     |                            | }                                          |
   +---------------------+---------------------+---------------------+----------------------------+--------------------------------------------+
   

Puoi notare che, anche se il set di dati di addestramento ha utilizzato solo 519 esempi, si è verificato un netto miglioramento del rendimento, come indicato dai punteggi f1 più elevati.

Esegui la pulizia

  1. In the Google Cloud console, go to the Manage resources page.

    Go to Manage resources

  2. In the project list, select the project that you want to delete, and then click Delete.
  3. In the dialog, type the project ID, and then click Shut down to delete the project.