Tutorial ini menunjukkan cara melatih model Bidirectional Encoder Representations from Transformers (BERT) pada Pelatihan AI Platform.
BERT adalah metode representasi bahasa pra-pelatihan. Pra-pelatihan mengacu pada bagaimana BERT pertama kali dilatih pada sumber teks yang besar, seperti Wikipedia. Kemudian, Anda dapat menerapkan hasil pelatihan ke tugas Natural Language Processing (NLP) lainnya, seperti penjawab pertanyaan dan analisis sentimen. Dengan Pelatihan BERT dan AI Platform, Anda dapat melatih berbagai model NLP dalam waktu sekitar 30 menit.
Untuk mengetahui informasi selengkapnya tentang BERT, lihat referensi berikut:
- Open Sourcing BERT: Pra-pelatihan Canggih untuk Natural Language Processing
- BERT: Pra-pelatihan Transformer Dua Arah Mendalam untuk Pemahaman Bahasa
Tujuan
- Membuat bucket Cloud Storage untuk menyimpan output model Anda.
- Jalankan tugas pelatihan.
- Verifikasi hasil output.
Sebelum memulai tutorial ini, pastikan project Google Cloud Anda sudah disiapkan dengan benar.
Selesaikan langkah-langkah berikut untuk menyiapkan akun GCP, mengaktifkan API yang diperlukan, serta menginstal dan mengaktifkan Google Cloud CLI:
- Login ke akun Google Cloud Anda. Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru juga mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
-
Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.
-
Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.
-
Aktifkan API AI Platform Training & Prediction and Compute Engine.
- Menginstal Google Cloud CLI.
-
Untuk initialize gcloud CLI, jalankan perintah berikut:
gcloud init
-
Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.
-
Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.
-
Aktifkan API AI Platform Training & Prediction and Compute Engine.
- Menginstal Google Cloud CLI.
-
Untuk initialize gcloud CLI, jalankan perintah berikut:
gcloud init
Menyiapkan data
Tutorial ini tidak memerlukan pemrosesan awal atau download data. Semua checkpoint data dan model yang diperlukan tersedia di bucket penyimpanan publik. Jika Anda tertarik dengan proses tersebut, silakan lihat tutorial Cloud TPU yang membahas cara membuat set data ini dari command line.
Mengirim tugas pelatihan
Untuk mengirimkan tugas, Anda harus menentukan beberapa argumen pelatihan dasar dan beberapa argumen dasar yang terkait dengan algoritma BERT.
Argumen umum untuk tugas pelatihan:
Melatih argumen tugas | |
---|---|
Argumen | Deskripsi |
job-id |
ID unik untuk tugas pelatihan Anda. Anda dapat menggunakannya untuk menemukan log tentang status tugas pelatihan setelah mengirimkannya. |
job-dir |
Jalur Cloud Storage tempat AI Platform Training menyimpan file pelatihan setelah menyelesaikan tugas pelatihan yang berhasil. |
scale-tier |
Menentukan jenis mesin untuk pelatihan. Gunakan BASIC untuk memilih
konfigurasi untuk satu mesin saja.
|
master-image-uri |
URI Container Registry digunakan untuk menentukan container Docker yang akan digunakan untuk tugas pelatihan. Gunakan container untuk algoritma BERT bawaan yang ditentukan sebelumnya sebagai IMAGE_URI .
|
region |
Tentukan region yang tersedia untuk menjalankan tugas pelatihan Anda. Untuk tutorial ini, Anda dapat menggunakan wilayah us-central1 .
|
Argumen khusus untuk pelatihan algoritma BERT bawaan dengan set data yang disediakan:
Argumen algoritme | ||
---|---|---|
Argumen | Nilai | Deskripsi |
mode |
train_and_eval | Tunjukkan apakah Anda ingin melakukan pelatihan fine-tuning atau mengekspor model. |
train_dataset_path |
gs://cloud-tpu-checkpoints/bert/classification/mnli_train.tf_record | Jalur Cloud Storage tempat data pelatihan disimpan. |
eval_dataset_path |
gs://cloud-tpu-checkpoints/bert/classification/mnli_eval.tf_record | Jalur Cloud Storage tempat data evaluasi disimpan. |
input_meta_data_path |
gs://cloud-tpu-checkpoints/bert/classification/mnli_meta_data | Jalur Cloud Storage tempat skema input disimpan. |
bert_config_file |
gs://cloud-tpu-checkpoints/bert/keras_bert/uncased_L-24_H-1024_A-16/bert_config.json | Jalur Cloud Storage tempat file konfigurasi BERT disimpan. |
init_checkpoint |
gs://cloud-tpu-checkpoints/bert/keras_bert/uncased_L-24_H-1024_A-16/bert_model.ckpt | Memulai checkpoint untuk fine-tuning (biasanya model BERT terlatih.) |
train_batch_size |
32 | Ukuran tumpukan untuk pelatihan. |
eval_batch_size |
32 | Ukuran tumpukan untuk evaluasi. |
learning_rate |
2e-5 | Kecepatan pembelajaran yang digunakan pengoptimal Adam. |
num_train_epochs |
1 | Jumlah epoch pelatihan yang akan dijalankan (hanya tersedia
dalam mode train_and_eval .)
|
steps_per_loop |
1.000 | Jumlah langkah per loop mode grafik. |
Untuk mengetahui daftar mendetail dari semua flag algoritma BERT lainnya, lihat referensi BERT bawaan.
Menjalankan tugas pelatihan
- Buka halaman AI Platform > Lowongan:
AI Platform > Halaman Lowongan
Di bagian atas halaman, klik tombol "Tugas pelatihan baru" dan pilih "Pelatihan algoritme bawaan"
Memilih BERT sebagai algoritma pelatihan Anda
Gunakan tombol cari untuk menandai set data pelatihan dan evaluasi di bucket Cloud Storage Anda, lalu pilih direktori output.
Pada halaman berikutnya, gunakan nilai argumen di atas untuk mengonfigurasi tugas pelatihan.
Beri nama tugas pelatihan Anda dan gunakan jenis mesin
BASIC_TPU
.Klik "Kirim" untuk memulai tugas Anda.
Memahami direktori pekerjaan Anda
Setelah tugas pelatihan berhasil diselesaikan, AI Platform Training akan membuat model terlatih di bucket Cloud Storage Anda, beserta beberapa artefak
lainnya. Anda dapat menemukan struktur direktori berikut dalam JOB_DIR
:
- model/ (direktori TersimpanModel TensorFlow)
- saved_model.pb
- aset/
- variabel/
- summary/ (logging dari pelatihan dan evaluasi)
- eval/
- kereta api/
- berbagai file checkpoint (dibuat dan digunakan selama pelatihan)
- pos pemeriksaan
- ctl_checkpoint-1.data-00000-of-00002
- ...
- ctl_checkpoint-1.index
Pastikan struktur direktori dalam JOB_DIR
Anda cocok dengan struktur
yang dijelaskan dalam daftar sebelumnya:
gsutil ls -a $JOB_DIR/*
Men-deploy model yang dilatih
AI Platform Prediction mengatur model terlatih Anda menggunakan resource model dan versi. Model Prediksi AI Platform adalah penampung untuk versi model machine learning Anda.
Untuk men-deploy model, buat resource model di AI Platform Prediction, buat versi model tersebut, lalu gunakan model dan versi tersebut untuk meminta prediksi online.
Pelajari lebih lanjut cara men-deploy model ke AI Platform Prediction.
Konsol
Di halaman Tugas, Anda dapat menemukan daftar semua tugas pelatihan Anda. Klik nama tugas pelatihan yang baru saja Anda kirim.
Di halaman Detail tugas, Anda dapat melihat progres umum dari tugas Anda, atau mengklik View logs untuk melihat progresnya secara lebih mendetail.
Setelah tugas berhasil, tombol Deploy model akan muncul di bagian atas. Klik Deploy model.
Pilih "Deploy sebagai model baru", lalu masukkan nama model. Selanjutnya, klik Konfirmasi.
Pada halaman Buat versi, masukkan nama versi, misalnya
v1
, dan biarkan semua kolom lain dalam setelan defaultnya. Klik Save.Di halaman Detail model, nama versi akan ditampilkan. Pembuatan versi memerlukan waktu beberapa menit. Jika versi sudah siap, ikon tanda centang akan muncul di samping nama versi.
Klik nama versi (
v1
) untuk membuka halaman Detail versi. Pada langkah selanjutnya dalam tutorial ini, Anda akan mengirim permintaan prediksi
Mendapatkan prediksi online
Saat meminta prediksi, Anda harus memformat data input sebagai JSON dengan cara yang diharapkan oleh model. Model BERT saat ini tidak melakukan prapemrosesan input secara otomatis.
Konsol
Di halaman Detail versi untuk
v1
, versi yang baru saja dibuat, Anda dapat mengirim permintaan prediksi contoh.Pilih tab Pengujian & Penggunaan.
Salin contoh berikut ke kolom input:
{ "instances": [ { "input_mask": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "input_type_ids":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "input_word_ids": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] } ] }
Klik Uji.
Tunggu beberapa saat, dan vektor prediksi akan ditampilkan.
Langkah selanjutnya
Dalam tutorial ini, Anda telah melatih model BERT menggunakan set data sampel. Dalam sebagian besar kasus, hasil pelatihan ini tidak dapat digunakan untuk inferensi. Untuk menggunakan model inferensi, Anda dapat melatih data pada set data yang tersedia untuk umum atau set data Anda sendiri. Model yang dilatih di Cloud TPU mengharuskan set data dalam format TFRecord.
Anda dapat menggunakan contoh alat konversi set data untuk mengonversi set data klasifikasi gambar ke dalam format TFRecord. Jika tidak menggunakan model klasifikasi gambar, Anda harus mengonversi set data ke format TFRecord sendiri. Untuk informasi selengkapnya, lihat TFRecord dan tf.Example
- Pelajari lebih lanjut cara menggunakan algoritma BERT bawaan.