Menggunakan tuning dan evaluasi untuk meningkatkan performa LLM

Dokumen ini menunjukkan cara membuat model jarak jauh BigQuery ML yang mereferensikan model dasar text-bison Vertex AI. Selanjutnya, Anda menggunakan supervised tuning untuk menyesuaikan model dengan data pelatihan baru, yang diikuti dengan mengevaluasi model menggunakan fungsi ML.EVALUATE.

Hal ini dapat membantu Anda mengatasi skenario yang mengharuskan Anda menyesuaikan model Vertex AI yang dihosting, seperti saat perilaku model yang diharapkan sulit untuk ditentukan secara ringkas dalam perintah, atau saat perintah tidak memberikan hasil yang diharapkan secara konsisten. Tuning yang diawasi juga memengaruhi model dengan cara berikut:

  • Memandu model untuk menampilkan gaya respons tertentu, misalnya lebih ringkas atau lebih panjang.
  • Mengajarkan model perilaku baru, misalnya merespons perintah sebagai persona tertentu.
  • Menyebabkan model memperbarui dirinya sendiri dengan informasi baru.

Izin yang diperlukan

  • Untuk membuat koneksi, Anda memerlukan peran Identity and Access Management (IAM) berikut:

    • roles/bigquery.connectionAdmin
  • Untuk memberikan izin ke akun layanan koneksi, Anda memerlukan izin berikut:

    • resourcemanager.projects.setIamPolicy
  • Untuk membuat model menggunakan BigQuery ML, Anda memerlukan izin IAM berikut:

    • bigquery.jobs.create
    • bigquery.models.create
    • bigquery.models.getData
    • bigquery.models.updateData
    • bigquery.models.updateMetadata
  • Untuk menjalankan inferensi, Anda memerlukan izin berikut:

    • bigquery.tables.getData pada tabel
    • bigquery.models.getData pada model
    • bigquery.jobs.create

Sebelum memulai

  1. Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.

    Buka pemilih project

  2. Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.

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

    Enable the APIs

Biaya

Dalam dokumen ini, Anda menggunakan komponen Google Cloud yang dapat ditagih berikut:

  • BigQuery: Anda akan dikenai biaya untuk kueri yang dijalankan di BigQuery.
  • BigQuery ML: Anda dikenai biaya untuk model yang Anda buat dan pemrosesan yang Anda lakukan di BigQuery ML.
  • Vertex AI: Anda dikenai biaya untuk panggilan ke dan penyesuaian yang diawasi pada model text-bison.

Untuk membuat perkiraan biaya berdasarkan proyeksi penggunaan Anda, gunakan kalkulator harga. Pengguna baru Google Cloud mungkin memenuhi syarat untuk mendapatkan uji coba gratis.

Untuk informasi selengkapnya, lihat resource berikut:

Membuat set data

Buat set data BigQuery untuk menyimpan model ML Anda:

  1. Di konsol Google Cloud, buka halaman BigQuery.

    Buka halaman BigQuery

  2. Di panel Explorer, klik nama project Anda.

  3. Klik View actions > Create dataset.

    Buat set data.

  4. Di halaman Create dataset, lakukan hal berikut:

    • Untuk Dataset ID, masukkan bqml_tutorial.

    • Untuk Location type, pilih Multi-region, lalu pilih US (multiple regions in United States).

      Set data publik disimpan di US multi-region. Untuk mempermudah, simpan set data Anda di lokasi yang sama.

    • Jangan ubah setelan default yang tersisa, lalu klik Create dataset.

      Halaman Create dataset.

Membuat koneksi

Buat koneksi resource Cloud dan dapatkan ID akun layanan koneksi tersebut. Buat koneksi di lokasi yang sama dengan set data yang Anda buat di langkah sebelumnya.

Pilih salah satu opsi berikut:

Konsol

  1. Buka halaman BigQuery.

    Buka BigQuery

  2. Untuk membuat koneksi, klik Add, lalu klik Connections to external data sources.

  3. Dalam daftar Connection type, pilih Vertex AI remote models, remote functions and BigLake (Cloud Resource).

  4. Di kolom Connection ID, masukkan nama untuk koneksi Anda.

  5. Klik Create connection.

  6. Klik Go to connection.

  7. Di panel Connection info, salin ID akun layanan untuk digunakan di langkah berikutnya.

bq

  1. Di lingkungan command line, buat koneksi:

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

    Parameter --project_id akan mengganti project default.

    Ganti kode berikut:

    • REGION: region koneksi Anda
    • PROJECT_ID: project ID Google Cloud Anda
    • CONNECTION_ID: ID untuk koneksi Anda

    Saat Anda membuat resource koneksi, BigQuery akan membuat akun layanan sistem unik dan mengaitkannya dengan koneksi.

    Pemecahan masalah: Jika Anda mendapatkan error koneksi berikut, update Google Cloud SDK:

    Flags parsing error: flag --connection_type=CLOUD_RESOURCE: value should be one of...
    
  2. Ambil dan salin ID akun layanan untuk digunakan di langkah berikutnya:

    bq show --connection PROJECT_ID.REGION.CONNECTION_ID
    

    Outputnya mirip dengan hal berikut ini:

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

Terraform

Tambahkan bagian berikut ke dalam file main.tf Anda.

 ## 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 {}
}        
Ganti kode berikut:

  • CONNECTION_ID: ID untuk koneksi Anda
  • PROJECT_ID: project ID Google Cloud Anda
  • REGION: region koneksi Anda

Memberikan akses pada akun layanan

Berikan peran Agen Layanan Vertex AI kepada akun layanan Anda agar akun layanan tersebut dapat mengakses Vertex AI. Kegagalan memberikan peran ini akan menyebabkan error. Pilih salah satu opsi berikut:

Konsol

  1. Buka halaman IAM & Admin.

    Buka IAM & Admin

  2. Klik Grant access.

    Dialog Add principals akan terbuka.

  3. Di kolom New principals, masukkan ID akun layanan yang Anda salin sebelumnya.

  4. Klik Select a role.

  5. Di Filter, ketik Vertex AI Service Agent, lalu pilih peran tersebut.

  6. Klik Save.

gcloud

Gunakan perintah gcloud projects add-iam-policy-binding:

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

Ganti kode berikut:

  • PROJECT_NUMBER: nomor project Anda
  • MEMBER: ID akun layanan yang Anda salin sebelumnya

Akun layanan yang terkait dengan koneksi Anda adalah instance BigQuery Connection Delegation Service Agent, sehingga Anda dapat menetapkan peran agen layanan ke akun tersebut.

Memberikan akses akun layanan default Compute Engine

Saat Anda mengaktifkan Compute Engine API, akun layanan default Compute Engine otomatis diberi peran Editor pada project, kecuali jika Anda telah menonaktifkan perilaku ini untuk project Anda. Jika demikian, Anda harus memberikan kembali peran Editor ke akses akun layanan default Compute Engine agar memiliki izin yang memadai untuk membuat dan menyesuaikan model jarak jauh.

Konsol

  1. Buka halaman IAM & Admin.

    Buka IAM & Admin

  2. Klik Berikan Akses.

  3. Untuk Akun utama baru, masukkan ID akun layanan, yaitu PROJECT_NUMBER-compute@developer.gserviceaccount.com.

  4. Klik Select a role.

  5. Pada bagian Pilih peran, pilih Dasar, lalu pilih Editor.

  6. Klik Save.

gcloud

Gunakan perintah gcloud projects add-iam-policy-binding:

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

Ganti kode berikut:

  • PROJECT_NUMBER: nomor project Anda.
  • MEMBER: ID akun layanan, yaitu PROJECT_NUMBER-compute@developer.gserviceaccount.com.

Membuat tabel pengujian

Buat tabel data pelatihan dan evaluasi berdasarkan set data MTSamples publik dari laporan medis yang ditranskripsikan. Set data ini memiliki kolom input_text yang berisi transkrip medis dan kolom output_text yang berisi label yang paling menggambarkan kategori transkrip, misalnya Allergy/Immunology, Dentistry, atau Cardiovascular/Pulmonary. Buat tabel yang berisi data {i>prompt <i} untuk klasifikasi transkrip medis.

Anda mengimpor data transkripsi medis dari bucket Cloud Storage publik.

  1. Di konsol Google Cloud, buka halaman BigQuery.

    Buka BigQuery

  2. Di editor kueri, jalankan pernyataan berikut untuk membuat tabel data evaluasi:

    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. Di editor kueri, jalankan pernyataan berikut untuk membuat tabel data pelatihan:

    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. Di editor kueri, jalankan pernyataan berikut untuk membuat tabel perintah:

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

Membuat model dasar pengukuran

Buat model jarak jauh melalui model text-bison Vertex AI yang dapat Anda gunakan untuk mengklasifikasi transkrip medis.

  1. Di konsol Google Cloud, buka halaman BigQuery.

    Buka BigQuery

  2. Di editor kueri, jalankan pernyataan berikut untuk membuat model jarak jauh:

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

    Ganti kode berikut:

    • LOCATION: lokasi koneksi.
    • CONNECTION_ID: ID koneksi BigQuery Anda.

      Saat Anda melihat detail koneksi di Konsol Google Cloud, CONNECTION_ID adalah nilai di bagian terakhir ID koneksi yang sepenuhnya memenuhi syarat, yang ditampilkan di Connection ID, misalnya projects/myproject/locations/connection_location/connections/myconnection.

    Kueri memerlukan waktu beberapa detik untuk diselesaikan, setelah itu model text_bison_001 akan muncul di set data bqml_tutorial di panel Explorer. Karena kueri tersebut menggunakan pernyataan CREATE MODEL untuk membuat model, tidak ada hasil kueri.

Memeriksa performa model dasar

Jalankan fungsi ML.GENERATE_TEXT dengan model jarak jauh untuk melihat performanya pada data evaluasi tanpa perlu melakukan penyesuaian.

  1. Di konsol Google Cloud, buka halaman BigQuery.

    Buka BigQuery

  2. Di editor kueri, jalankan pernyataan berikut:

    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;
    

    Jika Anda memeriksa data output dan membandingkan nilai ml_generate_text_llm_result dan label, Anda akan melihat bahwa meskipun model dasar pengukuran memprediksi banyak klasifikasi transkrip dengan benar, model ini salah mengklasifikasikan beberapa transkrip. Berikut adalah contoh representatif dari output yang salah. Dalam contoh ini, klasifikasi yang benar adalah Cardiovascular / Pulmonary, bukan 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...        |                            |
    +-----------------------------+---------------------------------+-------------------------------------------------------------------------+----------------------------+
    

Mengevaluasi model dasar

Untuk melakukan evaluasi performa model yang lebih mendetail, gunakan fungsi ML.EVALUATE. Fungsi ini menghitung metrik model, seperti presisi, perolehan, dan skor F1, untuk melihat perbandingan respons model dengan respons yang ideal.

  1. Di konsol Google Cloud, buka halaman BigQuery.

    Buka BigQuery

  2. Di editor kueri, jalankan pernyataan berikut:

    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;
    

Outputnya terlihat mirip dengan yang berikut ini:

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

Jika melihat hasil di kolom f1_score, Anda dapat melihat bahwa performa model bervariasi antar-class transkrip. Nilai skor F1 yang lebih tinggi menunjukkan performa yang lebih baik. Model dasar pengukuran berperforma baik untuk sebagian besar class, tetapi memiliki performa buruk di class lainnya, misalnya class Cardiovascular / Pulmonary dan Chiropractic. Berdasarkan hal ini, Anda dapat melihat bahwa perlu melakukan penyesuaian yang diawasi untuk mengetahui apakah performa model dapat ditingkatkan untuk kasus penggunaan ini.

Membuat model yang di-tuning

Buat model jarak jauh yang sangat mirip dengan yang Anda buat di Membuat model, tetapi kali ini tentukan klausa AS SELECT untuk memberikan data pelatihan guna menyesuaikan model. Kueri ini mungkin memakan waktu beberapa jam untuk diselesaikan.

  1. Di konsol Google Cloud, buka halaman BigQuery.

    Buka BigQuery

  2. Di editor kueri, jalankan pernyataan berikut untuk membuat model jarak jauh:

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

    Ganti kode berikut:

    • LOCATION: lokasi koneksi.
    • CONNECTION_ID: ID koneksi BigQuery Anda.

      Saat Anda melihat detail koneksi di Konsol Google Cloud, CONNECTION_ID adalah nilai di bagian terakhir ID koneksi yang sepenuhnya memenuhi syarat, yang ditampilkan di Connection ID, misalnya projects/myproject/locations/connection_location/connections/myconnection.

    Kueri mungkin memerlukan waktu beberapa jam untuk diselesaikan, setelah itu model text_bison_001_medical_transcript_tuned akan muncul di set data bqml_tutorial di panel Explorer. Karena kueri tersebut menggunakan pernyataan CREATE MODEL untuk membuat model, tidak ada hasil kueri.

Memeriksa performa model yang telah disesuaikan

Jalankan fungsi ML.GENERATE_TEXT untuk melihat performa model yang telah disesuaikan pada data evaluasi.

  1. Di konsol Google Cloud, buka halaman BigQuery.

    Buka BigQuery

  2. Di editor kueri, jalankan pernyataan berikut:

    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;
    

    Jika memeriksa data output, Anda akan melihat bahwa model yang disesuaikan mengklasifikasikan lebih banyak transkripsi dengan benar. Contoh yang Anda lihat sebelumnya kini diklasifikasikan dengan benar sebagai 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...        |                            |
    +-----------------------------+---------------------------------+-------------------------------------------------------------------------+----------------------------+
    

Mengevaluasi model yang di-tuning

Gunakan fungsi ML.EVALUATE untuk melihat perbandingan respons model yang telah disesuaikan dengan respons yang ideal.

  1. Di konsol Google Cloud, buka halaman BigQuery.

    Buka BigQuery

  2. Di editor kueri, jalankan pernyataan berikut:

    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;
    

Outputnya terlihat mirip dengan yang berikut ini:

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

Anda dapat melihat bahwa meskipun set data pelatihan hanya menggunakan 519 contoh, terdapat peningkatan performa yang signifikan. Skor F1 untuk label-label dengan model dasar pengukuran yang tidak berperforma baik juga meningkat, dengan rata-rata skor F1 di semua label meningkat dari 0,54 menjadi 0,63.

Pembersihan

  1. Di konsol Google Cloud, buka halaman Manage resource.

    Buka Manage resource

  2. Pada daftar project, pilih project yang ingin Anda hapus, lalu klik Delete.
  3. Pada dialog, ketik project ID, lalu klik Shut down untuk menghapus project.