Usa l'ottimizzazione e la valutazione per migliorare le prestazioni dei modelli LLM

Questo documento mostra come creare un modello remoto BigQuery ML che faccia riferimento a un modello di base text-bison di Vertex AI. Successivamente, utilizzerai l'ottimizzazione supervisionata per ottimizzare il modello con nuovi dati di addestramento, seguita dalla valutazione del modello con la funzione ML.EVALUATE.

Questo può aiutarti a gestire gli scenari in cui devi personalizzare il modello Vertex AI ospitato, ad esempio quando il comportamento previsto del modello è difficile da definire in modo conciso in un prompt o quando i prompt non producono risultati attesi in modo abbastanza coerente. L'ottimizzazione supervisionata influenza il modello anche nei seguenti modi:

  • Indica al modello di restituire stili di risposta specifici, ad esempio più concisi o dettagliati.
  • Insegna al modello nuovi comportamenti, ad esempio rispondendo ai prompt come utente tipo specifico.
  • Causa l'aggiornamento del modello con nuove informazioni.

Autorizzazioni obbligatorie

  • Per creare una connessione, devi avere il seguente ruolo di Identity and Access Management (IAM):

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

    • resourcemanager.projects.setIamPolicy
  • Per creare il modello utilizzando BigQuery ML, devi disporre delle seguenti 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. Nella pagina del selettore di progetti della console Google Cloud, seleziona o crea un progetto Google Cloud.

    Vai al selettore progetti

  2. Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.

  3. Abilita le API BigQuery, BigQuery Connection, Vertex AI, and Compute Engine.

    Abilita le API

Costi

In questo documento vengono utilizzati i seguenti componenti fatturabili di Google Cloud:

  • BigQuery: ti vengono addebitati dei costi per le query eseguite in BigQuery.
  • BigQuery ML: ti vengono addebitati dei costi per il modello che hai creato e per l'elaborazione che esegui in BigQuery ML.
  • Vertex AI: ti sono addebitati costi per le chiamate e l'ottimizzazione supervisionata del modello text-bison.

Per generare una stima dei costi in base all'utilizzo previsto, utilizza il Calcolatore prezzi. I nuovi utenti di Google Cloud possono essere idonei a una prova senza costi aggiuntivi.

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 di BigQuery

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

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

    Crea set di dati.

  4. Nella pagina Crea set di dati, segui questi passaggi:

    • 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 vengono archiviati in US più regioni. Per semplicità, memorizza 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.

Creazione di una connessione

Crea una connessione alle risorse cloud e recupera l'ID dell'account di servizio della connessione. Crea la connessione nella stessa località 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 un 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 tua regione di connessione
    • PROJECT_ID: l'ID del tuo progetto Google Cloud
    • CONNECTION_ID: un ID per la tua connessione

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

    Risoluzione dei problemi: se visualizzi 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 passaggio successivo:

    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 sezione seguente 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 la tua connessione
  • PROJECT_ID: l'ID del tuo progetto Google Cloud
  • REGION: la tua regione di connessione

Concedere l'accesso all'account di servizio

Concedi al tuo account di servizio il ruolo Agente di servizio Vertex AI in modo che possa accedere a Vertex AI. La mancata concessione di 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 l'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 il 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 account di servizio che hai copiato in precedenza

L'account di servizio associato alla connessione è un'istanza dell'agente di servizio per la delega di connessioni BigQuery, quindi è accettabile assegnare un ruolo di agente di servizio.

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

Quando abiliti l'API Compute Engine, all'account di servizio predefinito di Compute Engine viene automaticamente concesso il ruolo Editor sul progetto, a meno che tu non abbia disabilitato questo comportamento per il progetto. In questo caso, devi concedere nuovamente il ruolo Editor all'accesso all'account di servizio predefinito di Compute Engine in modo che abbia autorizzazioni sufficienti per creare e ottimizzare un modello remoto.

Console

  1. Vai alla pagina IAM e amministrazione.

    Vai a IAM e amministrazione

  2. Fai clic su Concedi l'accesso.

  3. In Nuove entità, inserisci l'ID account di servizio, che è 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 tuo progetto.
  • MEMBER: l'ID account di servizio, che è PROJECT_NUMBER-compute@developer.gserviceaccount.com.

Creazione di tabelle di test

Crea tabelle di dati di addestramento e valutazione basati sul set di dati pubblico MTSamples di referti medici trascritti. Questo set di dati ha una colonna input_text contenente la trascrizione medica e una colonna output_text che contiene l'etichetta che meglio descrive la categoria della trascrizione, ad esempio Allergy/Immunology, Dentistry, o Cardiovascular/Pulmonary. Crea anche una tabella che contiene i dati dei prompt per la classificazione dei certificati medici.

Importerai 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 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 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 query, esegui la seguente istruzione per creare una tabella dei 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 text-bison di Vertex AI che puoi usare per classificare le trascrizioni mediche.

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

    Vai a BigQuery

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

    CREATE OR REPLACE MODEL `bqml_tutorial.text_bison_001`
    REMOTE WITH CONNECTION `LOCATION.CONNECTION_ID`
    OPTIONS (ENDPOINT ='text-bison@001');
    

    Sostituisci quanto segue:

    • LOCATION: la località della connessione.
    • CONNECTION_ID: l'ID della tua connessione BigQuery.

      Quando visualizza i dettagli della connessione nella console Google Cloud, CONNECTION_ID è il valore nell'ultima sezione dell'ID connessione completo mostrato in ID connessione, ad esempio projects/myproject/locations/connection_location/connections/myconnection.

    Il completamento della query richiede alcuni secondi, dopodiché il modello text_bison_001 viene visualizzato nel set di dati bqml_tutorial nel riquadro Explorer. Poiché la query utilizza un'istruzione CREATE MODEL per creare un modello, non ci sono risultati della query.

Controlla le prestazioni del modello di riferimento

Esegui la funzione ML.GENERATE_TEXT con il modello remoto per vedere le sue prestazioni sui dati di valutazione senza alcuna ottimizzazione.

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

    Vai a BigQuery

  2. Nell'Editor query, esegui la seguente istruzione:

    SELECT *
    FROM
    ML.GENERATE_TEXT(
      MODEL `bqml_tutorial.text_bison_001`,
      (
        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, noti che, anche se il modello di riferimento prevede correttamente molte classificazioni di trascrizioni, alcune trascrizioni vengono classificate in modo errato. Di seguito è riportato un esempio rappresentativo di output non corretto. In questo esempio, la classificazione corretta è Cardiovascular / Pulmonary, non Radiology.

    +-----------------------------+---------------------------------+-------------------------------------------------------------------------+----------------------------+
    | ml_generate_text_llm_result | ml_generate_text_rai_result     | ml_generate_text_status | prompt                                        | label                      |
    +-----------------------------+---------------------------------+-------------------------------------------------------------------------+----------------------------+
    |   Radiology                 | {"blocked":false,"categories":  |                         | Please assign a label for the given medical   | Cardiovascular / Pulmonary |
    |                             | ["Derogatory","Health",         |                         | transcript from among these labels [Allergy / |                            |
    |                             | "Insult","Public Safety",...    |                         | 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:                                   |                            |
    |                             |                                 |                         | INDICATIONS FOR PROCEDURE:, The patient has   |                            |
    |                             |                                 |                         | presented with atypical type right arm        |                            |
    |                             |                                 |                         | discomfort and neck discomfort. She had       |                            |
    |                             |                                 |                         | noninvasive vascular imaging demonstrating    |                            |
    |                             |                                 |                         | suspected right subclavian stenosis. Of note, |                            |
    |                             |                                 |                         | there was bidirectional flow in the right     |                            |
    |                             |                                 |                         | vertebral artery, as well as 250 cm...        |                            |
    +-----------------------------+---------------------------------+-------------------------------------------------------------------------+----------------------------+
    

Valuta 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 query, esegui la seguente istruzione:

    SELECT
     *
    FROM
     ML.EVALUATE(
       MODEL `bqml_tutorial.text_bison_001`,
       (
         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                          |
   +---------------------+---------------------+---------------------+----------------------------+--------------------------------------------+
   | 1.0                 | 0.66666666666666663 | 0.8                 | Allergy / Immunology       | {                                          |
   |                     |                     |                     |                            |  "num_successful_rows": 164,               |
   |                     |                     |                     |                            |  "num_total_rows": 164                     |
   |                     |                     |                     |                            | }                                          |
   +---------------------+---------------------+ --------------------+----------------------------+--------------------------------------------+
   | 1.0                 | 1.0                 | 1.0                 | Autopsy                    | {                                          |
   |                     |                     |                     |                            |  "num_successful_rows": 164,               |
   |                     |                     |                     |                            |  "num_total_rows": 164                     |
   |                     |                     |                     |                            | }                                          |
   +---------------------+---------------------+--------------- -----+----------------------------+--------------------------------------------+
   | 1.0                 | 0.66666666666666663 | 0.8                 | Bariatrics                 | {                                          |
   |                     |                     |                     |                            |  "num_successful_rows": 164,               |
   |                     |                     |                     |                            |  "num_total_rows": 164                     |
   |                     |                     |                     |                            | }                                          |
   +---------------------+---------------------+---------------------+----------------------------+--------------------------------------------+
   

Se esamini i risultati nella colonna f1_score, puoi vedere che le prestazioni del modello variano tra le classi di trascrizione. Valori di punteggio F1 più alti indicano prestazioni migliori. Il modello di riferimento funziona bene per la maggior parte delle classi, ma ha un rendimento scarso per altre, ad esempio per le classi Cardiovascular / Pulmonary e Chiropractic. Sulla base di questi dati, puoi vedere che vale la pena eseguire l'ottimizzazione supervisionata per vedere 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 nella sezione Crea un modello, ma questa volta specifica la clausola AS SELECT per fornire i dati di addestramento e 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 la seguente istruzione per creare un modello remoto:

    CREATE OR REPLACE MODEL `bqml_tutorial.text_bison_001_medical_transcript_tuned`
      REMOTE
        WITH CONNECTION `LOCATION.CONNECTION_ID`
      OPTIONS (
        endpoint = 'text-bison@001',
        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: la località della connessione.
    • CONNECTION_ID: l'ID della tua connessione BigQuery.

      Quando visualizza i dettagli della connessione nella console Google Cloud, CONNECTION_ID è il valore nell'ultima sezione dell'ID connessione completo mostrato in ID connessione, ad esempio projects/myproject/locations/connection_location/connections/myconnection.

    Il completamento della query potrebbe richiedere diverse ore, dopodiché il modello text_bison_001_medical_transcript_tuned viene visualizzato nel set di dati bqml_tutorial nel riquadro Explorer. 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 sui dati di valutazione.

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

    Vai a BigQuery

  2. Nell'Editor query, esegui la seguente istruzione:

    SELECT *
    FROM
      ML.GENERATE_TEXT(
        MODEL `bqml_tutorial.text_bison_001_medical_transcript_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, noti che il modello ottimizzato classifica correttamente più trascrizioni. 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                      |
    +-----------------------------+---------------------------------+-------------------------------------------------------------------------+----------------------------+
    |  Cardiovascular/Pulmonary   | {"blocked":false,"categories":  |                         | Please assign a label for the given medical   | Cardiovascular / Pulmonary |
    |                             | ["Derogatory","Health",         |                         | transcript from among these labels [Allergy / |                            |
    |                             | "Insult","Public Safety",...    |                         | 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:                                   |                            |
    |                             |                                 |                         | INDICATIONS FOR PROCEDURE:, The patient has   |                            |
    |                             |                                 |                         | presented with atypical type right arm        |                            |
    |                             |                                 |                         | discomfort and neck discomfort. She had       |                            |
    |                             |                                 |                         | noninvasive vascular imaging demonstrating    |                            |
    |                             |                                 |                         | suspected right subclavian stenosis. Of note, |                            |
    |                             |                                 |                         | there was bidirectional flow in the right     |                            |
    |                             |                                 |                         | vertebral artery, as well as 250 cm...        |                            |
    +-----------------------------+---------------------------------+-------------------------------------------------------------------------+----------------------------+
    

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 query, esegui la seguente istruzione:

    SELECT
     *
    FROM
     ML.EVALUATE(
       MODEL `bqml_tutorial.text_bison_001_medical_transcript_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.8571428571428571  | 0.66666666666666663 | 0.75                | Dermatology                | {                                          |
   |                     |                     |                     |                            |  "num_successful_rows": 164,               |
   |                     |                     |                     |                            |  "num_total_rows": 164                     |
   |                     |                     |                     |                            | }                                          |
   +---------------------+---------------------+ --------------------+----------------------------+--------------------------------------------+
   | 0.54545454545454541 | 0.4                 | 0.46153846153846156 | Discharge Summary          | {                                          |
   |                     |                     |                     |                            |  "num_successful_rows": 164,               |
   |                     |                     |                     |                            |  "num_total_rows": 164                     |
   |                     |                     |                     |                            | }                                          |
   +---------------------+---------------------+--------------- -----+----------------------------+--------------------------------------------+
   | 1.0                 | 1.0                 | 1.0                 | Diets and Nutritions       | {                                          |
   |                     |                     |                     |                            |  "num_successful_rows": 164,               |
   |                     |                     |                     |                            |  "num_total_rows": 164                     |
   |                     |                     |                     |                            | }                                          |
   +---------------------+---------------------+---------------------+----------------------------+--------------------------------------------+
   

Puoi notare che anche se il set di dati di addestramento ha utilizzato solo 519 esempi, il rendimento è migliorato in modo netto. I punteggi F1 nelle etichette in cui il modello di riferimento non ha funzionato altrettanto bene sono migliorati, con la media dei punteggi F1 in tutte le etichette che è aumentata da 0,54 a 0,63.

Esegui la pulizia

  1. Nella console Google Cloud, vai alla pagina Gestisci risorse.

    Vai a Gestisci risorse

  2. Nell'elenco dei progetti, seleziona il progetto che vuoi eliminare, quindi fai clic su Elimina.
  3. Nella finestra di dialogo, digita l'ID del progetto e fai clic su Chiudi per eliminare il progetto.