Memisahkan langkah demi langkah menggunakan model pengajar besar untuk melatih model siswa yang lebih kecil untuk melakukan tugas tertentu dengan lebih baik dengan kemampuan penalaran yang ditingkatkan. Model yang dilatih dan diringkas dapat melakukan hal yang sama dengan yang Anda harapkan dalam model pengajar yang lebih besar dengan biaya lebih rendah dan latensi lebih rendah.
Saat menyaring model dasar, Anda menggunakan model pengajar dan model siswa:
Model pengajar adalah model besar yang dapat melakukan hal yang Anda inginkan. Namun, karena ukurannya, model pengajar mungkin lebih mahal untuk digunakan dan memiliki latensi yang lebih tinggi daripada model yang lebih kecil.
Model siswa lebih kecil dari model pengajar. Proses pelatihan dan distillation menggunakan contoh berlabel dan alasan yang dihasilkan oleh model pengajar untuk menyesuaikan model siswa. Kemampuan performa dan penalaran dari model yang distilasi lebih baik daripada model siswa asli.
Anda menentukan model pengajar dan model siswa saat membuat tugas distilasi.
Alur kerja untuk menyesuaikan dan menyaring model
Alur kerja penyulingan di Vertex AI mencakup langkah-langkah berikut:
- Siapkan set data penyesuaian model Anda.
- Tentukan model pengajar.
- Tentukan model siswa.
- Upload set data penyesuaian model ke bucket Cloud Storage.
- Buat tugas penyulingan model.
Setelah distilasi model selesai, model yang telah distilasi akan di-deploy ke endpoint Vertex AI. Nama endpoint sama dengan nama model yang distilasi. Model yang distilasi tersedia untuk dipilih di Vertex AI Studio saat Anda ingin membuat perintah baru.
Model yang didukung
Anda dapat menentukan hal berikut untuk model pengajar:
text-unicorn@001
Anda dapat menentukan hal berikut untuk model siswa:
text-bison@002
Format set data
Distilasi berfungsi pada set data berlabel atau tidak berlabel. Jika Anda memiliki set data berlabel berkualitas tinggi dengan ratusan contoh, sebaiknya gunakan set data tersebut. Jika tidak, Anda dapat menggunakan set data perintah yang tidak berlabel. Jika Anda menggunakan set data tanpa label, model pengajar akan menghasilkan label dan alasan untuk distilasi. Sebaiknya gunakan lebih dari 1.000 contoh jika Anda menggunakan set data tanpa label.
Set data distilasi berlabel atau tidak berlabel harus dalam format JSON Lines (JSONL), dengan setiap baris berisi satu contoh penyesuaian. Sebelum menyaring model, Anda upload set data ke bucket Cloud Storage.
Setiap contoh set data berisi kolom input_text
dengan perintah model dan kolom output_text
opsional yang berisi contoh respons yang diharapkan dihasilkan oleh model yang telah distilasi.
Panjang token maksimum untuk input_text
adalah 7.168 dan panjang token maksimum untuk output_text
adalah 1.024. Jika salah satu kolom melebihi panjang token maksimum, token berlebih akan terpotong.
Jumlah maksimum contoh yang dapat dimuat oleh set data untuk model pembuatan teks adalah 10.000.
Contoh set data
{"input_text": "question: How many people live in Beijing? context: With over 21 million residents, Beijing is the world's most populous national capital city and is China's second largest city after Shanghai. It is located in Northern China, and is governed as a municipality under the direct administration of the State Council with 16 urban, suburban, and rural districts.[14] Beijing is mostly surrounded by Hebei Province with the exception of neighboring Tianjin to the southeast; together, the three divisions form the Jingjinji megalopolis and the national capital region of China.", "output_text": "over 21 million people"}
{"input_text": "question: How many parishes are there in Louisiana? context: The U.S. state of Louisiana is divided into 64 parishes (French: paroisses) in the same manner that 48 other states of the United States are divided into counties, and Alaska is divided into boroughs.", "output_text": "64"}
Sertakan petunjuk dalam contoh
Untuk tugas seperti klasifikasi, Anda dapat membuat set data contoh yang tidak berisi instruksi. Namun, mengecualikan petunjuk dari contoh di set data akan menyebabkan performa yang lebih buruk setelah distilasi dibandingkan menyertakan petunjuk, terutama untuk set data yang lebih kecil.
Mengecualikan petunjuk:
{"input_text": "5 stocks to buy now", "output_text": "business"}
Dilengkapi petunjuk:
{"input_text": "Classify the following text into one of the following classes: [business, entertainment] Text: 5 stocks to buy now", "output_text": "business"}
Contoh set data
Anda dapat menggunakan set data sampel untuk mulai menyaring. Berikut adalah set data tugas klasifikasi yang berisi sampel transkripsi medis untuk berbagai spesialisasi medis. Data ini berasal dari mtsamples.com seperti yang tersedia di Kaggle.
Sampel URI set data distilasi:
gs://cloud-samples-data/vertex-ai/model-evaluation/peft_train_sample.jsonl
Sampel URI set data evaluasi:
gs://cloud-samples-data/vertex-ai/model-evaluation/peft_eval_sample.jsonl
Untuk menggunakan set data ini, tentukan URI dalam parameter yang berlaku saat membuat tugas distilasi model teks.
Contoh:
...
"dataset_uri": "gs://cloud-samples-data/vertex-ai/model-evaluation/peft_train_sample.jsonl",
...
"evaluation_data_uri": "gs://cloud-samples-data/vertex-ai/model-evaluation/peft_eval_sample.jsonl",
...
Menjaga konsistensi dengan data produksi
Contoh dalam set data harus sesuai dengan traffic produksi yang Anda harapkan. Jika set data Anda berisi pemformatan, kata kunci, petunjuk, atau informasi tertentu, data produksi harus diformat dengan cara yang sama dan berisi petunjuk yang sama.
Misalnya, jika contoh di set data Anda menyertakan "question:"
dan "context:"
, traffic produksi juga harus diformat untuk menyertakan "question:"
dan "context:"
dalam urutan yang sama seperti yang tampak
pada contoh set data. Jika Anda mengecualikan konteks, model tidak akan mengenali pola, meskipun pertanyaan yang sama ada dalam contoh dalam set data.
Mengupload set data penyulingan ke Cloud Storage
Untuk menjalankan tugas penyesuaian, Anda perlu mengupload satu atau beberapa set data ke bucket Cloud Storage. Anda dapat membuat bucket Cloud Storage baru atau menggunakan bucket yang sudah ada untuk menyimpan file set data. Region bucket tidak penting, tetapi sebaiknya Anda menggunakan bucket yang berada di project Google Cloud yang sama tempat Anda berencana untuk menyesuaikan model.
Setelah bucket siap, upload file set data Anda ke bucket.
Memisahkan setelan wilayah
Anda dapat menentukan tiga setelan region Google Cloud saat mengonfigurasi tugas distilasi. Satu region adalah tempat pipeline yang menyesuaikan model Anda berjalan. Region lainnya adalah tempat bagian penyesuaian model dari proses distilasi berjalan dan model yang distilasi diupload.
Region tugas pipeline
Region tugas pipeline adalah region tempat tugas pipeline dijalankan. Jika region upload model opsional tidak ditentukan, model akan diupload dan di-deploy ke region tugas pipeline. Data perantara, seperti set data yang ditransformasi, disimpan di region tugas pipeline. Untuk mempelajari region yang dapat Anda gunakan untuk region tugas pipeline, lihat Region upload model dan tugas pipeline yang didukung.
Anda harus menentukan region tugas pipeline menggunakan salah satu metode berikut.
Jika Anda membuat tugas distilasi dengan mengirim permintaan POST menggunakan metode
pipelineJobs.create
, Anda akan menggunakan URL untuk menentukan region tempat tugas pipeline berjalan. Di URL berikut, ganti kedua instancePIPELINE_JOB_REGION
dengan region tempat pipeline berjalan:https://PIPELINE_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/PIPELINE_JOB_REGION/pipelineJobs
Jika menggunakan konsol Google Cloud untuk membuat tugas distilasi, Anda harus menentukan region tugas pipeline di kontrol Region saat membuat tugas distilasi. Di konsol Google Cloud, kontrol Region menentukan region tugas pipeline dan region upload model. Saat Anda menggunakan konsol Google Cloud untuk membuat tugas distilasi, kedua region tersebut selalu sama.
Region upload model
Anda menggunakan parameter tuned_model_location
opsional untuk menentukan tempat
model yang distilasi diupload. Jika region upload model tidak ditentukan, model yang distilasi akan diupload ke region tugas pipeline.Anda dapat
menggunakan salah satu
Region upload model dan tugas pipeline yang didukung
untuk region upload model Anda. Anda dapat menentukan region upload model menggunakan salah satu
metode berikut:
Jika membuat tugas distilasi dengan mengirim permintaan POST menggunakan metode
pipelineJobs
, Anda dapat menggunakan parameterlocation
untuk menentukan region upload model.Jika menggunakan konsol Google Cloud untuk membuat tugas distilasi, Anda harus menentukan region upload model di kontrol Region saat membuat tugas distilasi. Di konsol Google Cloud, kontrol Region menentukan region upload model dan region tugas pipeline. Saat Anda menggunakan konsol Google Cloud untuk membuat tugas distilasi, kedua region tersebut selalu sama.
Memisahkan setelan wilayah
Region yang Anda pilih adalah tempat Vertex AI menyaring model, lalu mengupload model yang telah disaring.
Wilayah penyesuaian adalah tempat komputasi untuk bagian penyesuaian tugas distilasi terjadi. Region ini ditentukan oleh jenis akselerator yang Anda pilih.
us-central1
- Jika Anda memilih region ini, 8 GPU Nvidia A100 80 GB akan digunakan.europe-west4
- Jika Anda memilih region ini, 64 core pod TPU v3 akan digunakan.
Wilayah upload model dan tugas pipeline yang didukung
Anda dapat menggunakan salah satu region berikut untuk menentukan region upload model dan untuk menentukan region tugas pipeline:
us-central1
europe-west4
asia-southeast1
us-west1
europe-west3
europe-west2
asia-northeast1
us-east4
us-west4
northamerica-northeast1
europe-west9
europe-west1
asia-northeast3
Membuat tugas penyulingan model teks
Anda dapat membuat tugas penyulingan model teks menggunakan konsol Google Cloud atau API. Untuk panduan konfigurasi penyulingan model, lihat Konfigurasi yang direkomendasikan.
REST
Untuk membuat tugas distilasi model, kirim permintaan POST menggunakan metode pipelineJobs
.
Perhatikan bahwa beberapa parameter tidak didukung oleh semua model. Pastikan Anda hanya menyertakan parameter yang berlaku untuk model yang sedang distilasi.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- PIPELINEJOB_DISPLAYNAME: Nama tampilan untuk pipelineJob.
- OUTPUT_DIR: URI bucket tempat menampung output artefak pipeline.
- PROJECT_ID: Project ID Anda.
- MODEL_DISPLAYNAME: Nama tampilan untuk
model yang diringkas yang diupload oleh
pipelineJob
. - DATASET_URI: URI file set data Anda.
- PIPELINE_JOB_REGION:
Region tempat tugas penyesuaian pipeline berjalan. Ini juga merupakan region default tempat model yang telah disesuaikan
diupload. Jika Anda ingin mengupload model ke region yang berbeda, gunakan parameter
location
untuk menentukan region upload model yang dioptimalkan. Untuk mengetahui informasi selengkapnya, lihat Region upload model. - MODEL_UPLOAD_REGION: (opsional) Region tempat model yang disesuaikan diupload. Jika Anda tidak menentukan region upload model, model yang telah disesuaikan akan diupload ke region yang sama dengan tempat pipeline job berjalan. Untuk mengetahui informasi selengkapnya, lihat Region upload model.
- ACCELERATOR_TYPE:
(opsional,
GPU
default) Jenis akselerator yang akan digunakan untuk penyesuaian model. Opsi yang valid adalah:GPU
: Menggunakan delapan GPU A100 80 GB untuk penyesuaian. Pastikan Anda memiliki kuota yang cukup. Jika Anda memilihGPU
, VPC‑SC akan didukung. CMEK didukung jika lokasi penyesuaian dan lokasi upload model adalahus-centra1
. Untuk mengetahui informasi selengkapnya, lihat Setelan region penyesuaian yang diawasi. Jika Anda memilihGPU
, komputasi penyesuaian model akan terjadi di regionus-central1
.TPU
: Menggunakan 64 core pod TPU v3 untuk penyesuaian. Pastikan Anda memiliki kuota yang cukup. CMEK tidak didukung, tetapi VPC‑SC didukung. Jika Anda memilihTPU
, komputasi penyesuaian model akan terjadi di regioneurope-west4
.
- TEACHER_MODEL_REFERENCE: Nama
model pengajar yang akan digunakan untuk menyaring. Model yang didukung adalah
text-unicorn@001
. - STUDENT_MODEL_REFERENCE: Nama
model siswa yang akan digunakan untuk menyaring. Model yang didukung adalah
text-bison@002
. - STEPS:
Jumlah
langkah yang akan dijalankan untuk penyesuaian model. Nilai defaultnya adalah 300. Ukuran
kumpulan bervariasi berdasarkan lokasi penyesuaian dan ukuran model. Untuk model 8k, seperti
text-bison@002
,chat-bison@002
,code-bison@002
, dancodechat-bison@002
:us-central1
memiliki ukuran tumpukan 8.europe-west4
memiliki ukuran tumpukan 24.
text-bison-32k
,chat-bison-32k
,code-bison-32k
, dancodechat-bison-32k
:us-central1
memiliki ukuran tumpukan 8.europe-west4
memiliki ukuran tumpukan 8.
Misalnya, jika Anda melatih
text-bison@002
dieurope-west4
, ada 240 contoh dalam set data pelatihan, dan Anda menetapkansteps
ke 20, maka jumlah contoh pelatihan adalah hasil dari 20 langkah dan ukuran batch 24, atau 480 langkah pelatihan. Dalam hal ini, ada dua epoch dalam proses pelatihan karena proses ini melalui contoh dua kali. Dius-central1
, jika ada 240 contoh dalam set data pelatihan dan Anda menetapkansteps
ke 15, jumlah contoh pelatihan adalah hasil dari 15 langkah dan ukuran batch 8, atau 120 langkah pelatihan. Dalam hal ini, ada 0,5 epoch karena jumlah langkah pelatihan setengah dari jumlah contoh. - LEARNING_RATE_MULTIPLIER: Pengganda untuk diterapkan ke kecepatan pembelajaran yang direkomendasikan. Untuk menggunakan kecepatan pembelajaran yang direkomendasikan,
gunakan
1.0
. - EVAL_DATASET_URI:
(opsional) URI file JSONL yang berisi set data evaluasi untuk prediksi dan evaluasi batch. Evaluasi tidak didukung untuk
chat-bison
. Untuk mengetahui informasi selengkapnya, lihat Format set data untuk menyesuaikan model kode. Set data evaluasi membutuhkan antara sepuluh hingga 250 contoh. - EVAL_INTERVAL:
(opsional,
20
default) Jumlah langkah penyesuaian di antara setiap evaluasi. Interval evaluasi tidak didukung untuk model chat. Karena evaluasi berjalan pada seluruh set data evaluasi, interval evaluasi yang lebih kecil akan menghasilkan waktu penyesuaian yang lebih lama. Misalnya, jikasteps
adalah 200 danEVAL_INTERVAL
adalah 100, Anda hanya akan mendapatkan dua titik data untuk metrik evaluasi. Parameter ini mengharuskanevaluation_data_uri
ditetapkan. - ENABLE_EARLY_STOPPING:
(opsional,
true
default)boolean
yang, jika ditetapkan ketrue
, akan menghentikan penyesuaian sebelum menyelesaikan semua langkah penyesuaian jika performa model, yang diukur dengan akurasi token yang diprediksi, tidak cukup meningkat di antara evaluasi yang dijalankan. Jikafalse
, penyesuaian akan berlanjut hingga semua langkah penyesuaian selesai. Parameter ini mengharuskanevaluation_data_uri
ditetapkan. Mengaktifkan penghentian awal tidak didukung untuk model chat. - TENSORBOARD_RESOURCE_ID: (opsional) ID instance Vertex AI TensorBoard. Instance Vertex AI TensorBoard digunakan untuk membuat eksperimen setelah tugas penyesuaian selesai. Instance Vertex AI TensorBoard harus berada di region yang sama dengan pipeline penyesuaian.
- ENCRYPTION_KEY_NAME:
(opsional) Nama kunci enkripsi yang dikelola pelanggan (CMEK) yang sepenuhnya memenuhi syarat yang ingin Anda gunakan
untuk enkripsi data. CMEK hanya tersedia di
us-central1
. Jika Anda menggunakanus-central1
dan tidak menentukan CMEK, kunci yang dimiliki dan dikelola Google akan digunakan. Kunci yang dimiliki dan dikelola Google digunakan secara default di semua wilayah yang tersedia lainnya. Untuk informasi selengkapnya, lihat ringkasan CMEK. - TEMPLATE_URI: URI untuk template penyulingan,
https://us-kfp.pkg.dev/ml-pipeline/distillation/distillation/v1.0.0
. - SERVICE_ACCOUNT: (opsional) Akun
layanan yang digunakan Vertex AI untuk menjalankan tugas pipeline Anda. Secara default, akun layanan default Compute Engine project Anda (
PROJECT_NUMBER‑compute@developer.gserviceaccount.com
) akan digunakan. Pelajari lebih lanjut cara menambahkan akun layanan kustom.
Metode HTTP dan URL:
POST https://PIPELINE_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/PIPELINE_JOB_REGION/pipelineJobs
Isi JSON permintaan:
{ "displayName": "PIPELINEJOB_DISPLAYNAME", "runtimeConfig": { "gcsOutputDirectory": "gs://OUTPUT_DIR", "parameterValues": { "project": "PROJECT_ID", "model_display_name": "MODEL_DISPLAYNAME", "dataset_uri": "gs://DATASET_URI", "location": "MODEL_UPLOAD_REGION", "accelerator_type": "ACCELERATOR_TYPE", "teacher_model_reference":TEACHER_MODEL_REFERENCE , "student_model_reference":STUDENT_MODEL_REFERENCE , "train_steps": STEPS, "learning_rate_multiplier": LEARNING_RATE_MULTIPLIER, "evaluation_data_uri": "gs://EVAL_DATASET_URI", "evaluation_interval": EVAL_INTERVAL, "enable_early_stopping": ENABLE_EARLY_STOPPING, "enable_checkpoint_selection": "ENABLE_CHECKPOINT_SELECTION", "tensorboard_resource_id": "TENSORBOARD_ID", "encryption_spec_key_name": "ENCRYPTION_KEY_NAME" } }, "encryptionSpec": { "kmsKeyName": "ENCRYPTION_KEY_NAME" }, "serviceAccount": "SERVICE_ACCOUNT", "templateUri": "TEMPLATE_URI" }
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Simpan isi permintaan dalam file bernama request.json
,
dan jalankan perintah berikut:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://PIPELINE_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/PIPELINE_JOB_REGION/pipelineJobs"
PowerShell
Simpan isi permintaan dalam file bernama request.json
,
dan jalankan perintah berikut:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://PIPELINE_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/PIPELINE_JOB_REGION/pipelineJobs" | Select-Object -Expand Content
Anda akan menerima respons JSON yang mirip dengan yang berikut ini: Perhatikan bahwa pipelineSpec
telah dipotong untuk menghemat ruang penyimpanan.
Python
Untuk mempelajari cara menginstal atau mengupdate Vertex AI SDK untuk Python, lihat Menginstal Vertex AI SDK untuk Python. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi Python API.
Konsol
Untuk menyaring model teks menggunakan konsol Google Cloud, lakukan langkah-langkah berikut:
- Di bagian Vertex AI pada Konsol Google Cloud, buka halaman Vertex AI Studio.
- Klik tab Sesuaikan dan pertajam.
- Klik Buat model ringkas.
- Konfigurasikan detail model:
- Nama model: Masukkan nama untuk model yang distilasi.
- Model pengajar: Pilih model yang ingin Anda gunakan untuk model pengajar.
- Model siswa: Pilih model yang ingin Anda gunakan untuk model siswa.
- Region: Pilih region tempat tugas penyesuaian pipeline berjalan dan tempat model yang disesuaikan di-deploy.
- Working directory: Masukkan lokasi Cloud Storage tempat artefak disimpan saat model Anda disesuaikan.
- Luaskan Opsi Lanjutan untuk mengonfigurasi setelan lanjutan.
- Langkah pelatihan:
Masukkan jumlah langkah yang akan dijalankan untuk penyesuaian model. Nilai defaultnya adalah 300. Ukuran
kumpulan bervariasi berdasarkan lokasi penyesuaian dan ukuran model. Untuk model 8k, seperti
text-bison@002
,chat-bison@002
,code-bison@002
, dancodechat-bison@002
:us-central1
memiliki ukuran tumpukan 8.europe-west4
memiliki ukuran tumpukan 24.
text-bison-32k
,chat-bison-32k
,code-bison-32k
, dancodechat-bison-32k
:us-central1
memiliki ukuran tumpukan 8.europe-west4
memiliki ukuran tumpukan 8.
Misalnya, jika Anda melatih
text-bison@002
dieurope-west4
, ada 240 contoh dalam set data pelatihan, dan Anda menetapkansteps
ke 20, maka jumlah contoh pelatihan adalah hasil dari 20 langkah dan ukuran batch 24, atau 480 langkah pelatihan. Dalam hal ini, ada dua epoch dalam proses pelatihan karena proses ini melalui contoh dua kali. Dius-central1
, jika ada 240 contoh dalam set data pelatihan dan Anda menetapkansteps
ke 15, jumlah contoh pelatihan adalah hasil dari 15 langkah dan ukuran batch 8, atau 120 langkah pelatihan. Dalam hal ini, ada 0,5 epoch karena jumlah langkah pelatihan setengah dari jumlah contoh. - Pengganda kecepatan pembelajaran: Masukkan ukuran langkah di setiap iterasi. Nilai default adalah 1.
- Accelerator type:
(opsional) Masukkan
jenis akselerator yang akan digunakan untuk penyesuaian model. Opsi yang valid adalah:
GPU
: Menggunakan delapan GPU A100 80 GB untuk penyesuaian. Pastikan Anda memiliki kuota yang cukup. Jika Anda memilihGPU
, VPC‑SC akan didukung. CMEK didukung jika lokasi penyesuaian dan lokasi upload model adalahus-centra1
. Untuk mengetahui informasi selengkapnya, lihat Setelan region penyesuaian yang diawasi. Jika Anda memilihGPU
, komputasi penyesuaian model akan terjadi di regionus-central1
.TPU
: Menggunakan 64 core pod TPU v3 untuk penyesuaian. Pastikan Anda memiliki kuota yang cukup. CMEK tidak didukung, tetapi VPC‑SC didukung. Jika Anda memilihTPU
, komputasi penyesuaian model akan terjadi di regioneurope-west4
.
- Tambahkan instance TensorBoard: (opsional) ID instance Vertex AI TensorBoard. Instance Vertex AI TensorBoard digunakan untuk membuat eksperimen setelah tugas penyesuaian selesai. Instance Vertex AI TensorBoard harus berada di region yang sama dengan pipeline penyesuaian.
- Encryption
(opsional) Pilih untuk menggunakan kunci milik dan dikelola Google atau kunci enkripsi yang dikelola pelanggan
(CMEK). CMEK hanya tersedia untuk enkripsi di region
us-central1
. Di semua wilayah lain yang tersedia, kunci yang dimiliki dan dikelola Google akan digunakan. Untuk informasi selengkapnya, lihat ringkasan CMEK. - Service account (opsional) Pilih akun layanan yang dikelola pengguna. Akun layanan menentukan resource Google Cloud mana yang dapat diakses kode layanan Anda. Jika Anda tidak memilih akun layanan, agen layanan akan digunakan yang menyertakan izin yang sesuai untuk sebagian besar model.
- Langkah pelatihan:
Masukkan jumlah langkah yang akan dijalankan untuk penyesuaian model. Nilai defaultnya adalah 300. Ukuran
kumpulan bervariasi berdasarkan lokasi penyesuaian dan ukuran model. Untuk model 8k, seperti
- Klik Lanjutkan
- Jika ingin mengupload file set data distilasi, pilih
Mengupload file JSONL
- Di bagian Pilih file JSONL, klik Telusuri, lalu pilih file set data Anda.
- Di bagian Lokasi set data, klik Telusuri, lalu pilih bucket Cloud Storage tempat Anda ingin menyimpan file set data.
Menggunakan file JSONL yang ada
Di bagian Jalur file Cloud Storage, klik Telusuri, lalu pilih bucket Cloud Storage tempat file set data berada.
Upload file JSONL ke Cloud Storage. Jika file set data Anda sudah ada di bucket Cloud Storage, pilih File JSONL yang ada di Cloud Storage.
- (Opsional) Untuk mengevaluasi model yang distilasi, pilih Enable model
evaluation dan konfigurasikan evaluasi model Anda:
- Set data evaluasi:
(opsional) URI file JSONL yang berisi set data evaluasi untuk prediksi dan evaluasi batch. Evaluasi tidak didukung untuk
codechat-bison
. Untuk mengetahui informasi selengkapnya, lihat Format set data untuk menyesuaikan model kode. Set data evaluasi membutuhkan antara sepuluh hingga 250 contoh. - Interval evaluasi:
(opsional,
20
default) Jumlah langkah penyesuaian di antara setiap evaluasi. Interval evaluasi tidak didukung untuk model chat. Karena evaluasi berjalan pada seluruh set data evaluasi, interval evaluasi yang lebih kecil akan menghasilkan waktu penyesuaian yang lebih lama. Misalnya, jikasteps
adalah 200 danEVAL_INTERVAL
adalah 100, Anda hanya akan mendapatkan dua titik data untuk metrik evaluasi. Parameter ini mengharuskanevaluation_data_uri
ditetapkan. - Aktifkan penghentian awal:
(opsional,
true
default)boolean
yang, jika ditetapkan ketrue
, akan menghentikan penyesuaian sebelum menyelesaikan semua langkah penyesuaian jika performa model, seperti yang diukur dengan akurasi token yang diprediksi, tidak cukup meningkat di antara evaluasi yang dijalankan. Jikafalse
, penyesuaian akan berlanjut hingga semua langkah penyesuaian selesai. Parameter ini mengharuskanevaluation_data_uri
ditetapkan. Mengaktifkan penghentian awal tidak didukung untuk model chat. - Aktifkan pemilihan checkpoint: Jika diaktifkan, Vertex AI akan memilih dan menampilkan checkpoint dengan performa evaluasi model terbaik dari semua checkpoint yang dibuat selama tugas penyesuaian. Jika dinonaktifkan, checkpoint akhir yang dibuat selama tugas penyesuaian akan ditampilkan. Setiap titik pemeriksaan mengacu pada snapshot model selama tugas penyesuaian.
- Instance TensorBoard: (opsional) ID instance Vertex AI TensorBoard. Instance Vertex AI TensorBoard digunakan untuk membuat eksperimen setelah tugas penyesuaian selesai. Instance Vertex AI TensorBoard harus berada di region yang sama dengan pipeline penyesuaian.
- Set data evaluasi:
(opsional) URI file JSONL yang berisi set data evaluasi untuk prediksi dan evaluasi batch. Evaluasi tidak didukung untuk
- Klik Mulai distilasi.
Konfigurasi yang direkomendasikan
Tabel berikut menunjukkan konfigurasi yang direkomendasikan untuk menyaring model dasar berdasarkan tugas:
Tugas | Jumlah contoh dalam set data | Langkah-langkah pelatihan |
---|---|---|
Klasifikasi | 100+ | 200-1000 |
Perangkuman | 100-500+ | 1000-1500 |
UM (Uji Mutu) Ekstraktif | 100+ | 200-800 |
Untuk langkah-langkah pelatihan, Anda dapat mencoba lebih dari satu nilai untuk mendapatkan performa terbaik pada set data tertentu, misalnya, 100, 200, 500.
Melihat daftar model yang diringkas
Anda dapat melihat daftar model dalam project saat ini, termasuk model yang diringkas, menggunakan konsol Google Cloud atau Vertex AI SDK untuk Python.
Python
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Python di Panduan memulai Vertex AI menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi API Python Vertex AI.
Untuk melakukan autentikasi ke Vertex AI, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Konsol
Untuk melihat model yang diringkas di konsol Google Cloud, buka halaman Vertex AI Model Registry.
Memuat model teks yang diringkas
Kode contoh berikut menggunakan Vertex AI SDK untuk Python guna memuat model pembuatan teks yang diringkas:
import vertexai from vertexai.preview.language_models import TextGenerationModel model = TextGenerationModel.get_tuned_model(TUNED_MODEL_NAME)
Ganti TUNED_MODEL_NAME
dengan
nama resource yang memenuhi syarat dari model yang distilasi.
Nama ini akan menggunakan format
projects/PROJECT_ID/locations/LOCATION/models/MODEL_ID
.
Anda dapat menemukan ID model dari model yang telah diringkas di
Vertex AI Model Registry.
Metrik penyesuaian dan evaluasi
Anda dapat mengonfigurasi tugas penyesuaian model untuk mengumpulkan dan melaporkan metrik penyesuaian model dan evaluasi model, yang kemudian dapat divisualisasikan menggunakan Vertex AI TensorBoard.
Metrik penyesuaian model
Anda dapat mengonfigurasi tugas penyesuaian model untuk mengumpulkan metrik penyesuaian berikut untukchat-bison
, code-bison
, codechat-bison
, dan text-bison
:
/train_total_loss
: Kerugian untuk set data penyesuaian pada langkah pelatihan./train_fraction_of_correct_next_step_preds
: Akurasi token pada langkah pelatihan. Satu prediksi terdiri dari serangkaian token. Metrik ini mengukur akurasi token yang diprediksi jika dibandingkan dengan kebenaran dasar dalam set data penyesuaian./train_num_predictions:
Jumlah token yang diprediksi pada langkah pelatihan.
Metrik evaluasi model
Anda dapat mengonfigurasi tugas penyesuaian model untuk mengumpulkan metrik evaluasi berikut
untuk code-bison
dan text-bison
:
/eval_total_loss
: Kerugian untuk set data evaluasi pada langkah evaluasi./eval_fraction_of_correct_next_step_preds
: Akurasi token pada langkah evaluasi. Satu prediksi terdiri dari serangkaian token. Metrik ini mengukur akurasi token yang diprediksi jika dibandingkan dengan kebenaran dasar dalam set data evaluasi./eval_num_predictions
: Jumlah token yang diprediksi pada langkah evaluasi.
Visualisasi metrik tersedia setelah tugas penyesuaian model selesai. Jika Anda hanya menentukan ID instance Vertex AI TensorBoard dan bukan set data evaluasi saat membuat tugas penyesuaian, hanya visualisasi untuk metrik penyesuaian yang tersedia.