Tutorial ini menunjukkan cara melatih model Representasi Encoder Dua Arah dari Transformer (BERT) di AI Platform Training.
BERT adalah metode prapelatihan representasi bahasa. Pra-pelatihan mengacu pada cara 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 menjawab pertanyaan dan analisis sentimen. Dengan BERT dan AI Platform Training, Anda dapat melatih berbagai model NLP dalam waktu sekitar 30 menit.
Untuk informasi selengkapnya tentang BERT, lihat referensi berikut:
- Open Sourcing BERT: Pra-pelatihan Canggih untuk Natural Language Processing
- BERT: Pra-pelatihan Deep Bidirectional Transformers untuk Pemahaman Bahasa
Tujuan
- Buat bucket Cloud Storage untuk menyimpan output model Anda.
- Jalankan tugas pelatihan.
- Verifikasi hasil output.
Sebelum memulai tutorial ini, pastikan project Google Cloud Anda telah disiapkan dengan benar.
Selesaikan langkah-langkah berikut untuk menyiapkan akun GCP, mengaktifkan API yang diperlukan, serta menginstal dan mengaktifkan Google Cloud CLI:
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the AI Platform Training & Prediction and Compute Engine APIs.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the AI Platform Training & Prediction and Compute Engine APIs.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
Menyiapkan data
Tutorial ini tidak memerlukan prapemrosesan atau mendownload data. Semua data dan titik pemeriksaan model yang diperlukan tersedia di bucket penyimpanan publik. Jika Anda tertarik dengan proses tersebut, lihat tutorial Cloud TPU, yang membahas pembuatan 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:
Argumen tugas pelatihan | |
---|---|
Argumen | Deskripsi |
job-id |
ID unik untuk tugas pelatihan Anda. Anda dapat menggunakannya untuk menemukan log 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 hanya satu mesin.
|
master-image-uri |
URI Container Registry yang digunakan untuk menentukan container Docker yang akan digunakan untuk tugas pelatihan. Gunakan penampung 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 region us-central1 .
|
Argumen khusus untuk pelatihan algoritma BERT bawaan dengan set data yang disediakan:
Argumen algoritme | ||
---|---|---|
Argumen | Nilai | Deskripsi |
mode |
train_and_eval | Menunjukkan apakah akan melakukan pelatihan penyesuaian 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 melakukan fine-tuning (biasanya model BERT terlatih). |
train_batch_size |
32 | Ukuran batch untuk pelatihan. |
eval_batch_size |
32 | Ukuran batch untuk evaluasi. |
learning_rate |
2e-5 | Kecepatan pembelajaran yang digunakan oleh pengoptimal Adam. |
num_train_epochs |
1 | Jumlah epoch pelatihan yang akan dijalankan (hanya tersedia
dalam mode train_and_eval .)
|
steps_per_loop |
1000 | 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 > Tugas:
Halaman AI Platform > Lowongan
Di bagian atas halaman, klik tombol "Tugas pelatihan baru", lalu pilih "Pelatihan algoritma bawaan"
Memilih BERT sebagai algoritma pelatihan
Gunakan tombol jelajahi untuk menandai set data pelatihan dan evaluasi di bucket Cloud Storage Anda, lalu pilih direktori output.
Di 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 lowongan
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 TensorFlow SavedModel)
- saved_model.pb
- assets/
- variables/
- summaries/ (logging from training and evaluation)
- eval/
- train/
- berbagai file checkpoint (dibuat dan digunakan selama pelatihan)
- pos pemeriksaan
- ctl_checkpoint-1.data-00000-of-00002
- ...
- ctl_checkpoint-1.index
Pastikan struktur direktori di JOB_DIR
Anda cocok dengan struktur
yang dijelaskan dalam daftar sebelumnya:
gcloud storage ls -a $JOB_DIR/*
Men-deploy model terlatih
AI Platform Prediction mengatur model terlatih Anda menggunakan resource model dan versi. Model AI Platform Prediction adalah penampung untuk versi model machine learning Anda.
Untuk men-deploy model, Anda membuat resource model di AI Platform Prediction, membuat versi model tersebut, lalu menggunakan model dan versi 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. Klik nama tugas pelatihan yang baru saja Anda kirimkan.
Di halaman Detail tugas, Anda dapat melihat progres umum tugas, atau mengklik Lihat log untuk melihat progresnya secara lebih mendetail.
Jika tugas berhasil, tombol Deploy model akan muncul di bagian atas. Klik Deploy model.
Pilih "Deploy as new model", lalu masukkan nama model. Selanjutnya, klik Konfirmasi.
Di halaman Create version, masukkan nama versi, seperti
v1
, dan biarkan semua kolom lainnya menggunakan setelan defaultnya. Klik Simpan.Di halaman Model details, nama versi Anda akan ditampilkan. Pembuatan versi ini 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 berikutnya 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 model. Model BERT saat ini tidak memproses input secara otomatis.
Konsol
Di halaman Detail versi untuk
v1
, versi yang baru saja Anda buat, Anda dapat mengirim contoh permintaan prediksi.Pilih tab Uji & Gunakan.
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 contoh. 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 memerlukan 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 mengetahui informasi selengkapnya, lihat TFRecord dan tf.Example
- Pelajari lebih lanjut cara menggunakan algoritma BERT bawaan.