Memulai dengan algoritma BERT bawaan

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:

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:

  1. 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.
  2. Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.

    Buka pemilih project

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

  4. Aktifkan API AI Platform Training & Prediction and Compute Engine.

    Mengaktifkan API

  5. Menginstal Google Cloud CLI.
  6. Untuk initialize gcloud CLI, jalankan perintah berikut:

    gcloud init
  7. Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.

    Buka pemilih project

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

  9. Aktifkan API AI Platform Training & Prediction and Compute Engine.

    Mengaktifkan API

  10. Menginstal Google Cloud CLI.
  11. 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

  1. Buka halaman AI Platform > Lowongan:

AI Platform > Halaman Lowongan

  1. Di bagian atas halaman, klik tombol "Tugas pelatihan baru" dan pilih "Pelatihan algoritme bawaan"

  2. Memilih BERT sebagai algoritma pelatihan Anda

  3. Gunakan tombol cari untuk menandai set data pelatihan dan evaluasi di bucket Cloud Storage Anda, lalu pilih direktori output.

  4. Pada halaman berikutnya, gunakan nilai argumen di atas untuk mengonfigurasi tugas pelatihan.

  5. Beri nama tugas pelatihan Anda dan gunakan jenis mesin BASIC_TPU.

  6. 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

  1. Di halaman Tugas, Anda dapat menemukan daftar semua tugas pelatihan Anda. Klik nama tugas pelatihan yang baru saja Anda kirim.

  2. Di halaman Detail tugas, Anda dapat melihat progres umum dari tugas Anda, atau mengklik View logs untuk melihat progresnya secara lebih mendetail.

  3. Setelah tugas berhasil, tombol Deploy model akan muncul di bagian atas. Klik Deploy model.

  4. Pilih "Deploy sebagai model baru", lalu masukkan nama model. Selanjutnya, klik Konfirmasi.

  5. Pada halaman Buat versi, masukkan nama versi, misalnya v1, dan biarkan semua kolom lain dalam setelan defaultnya. Klik Save.

  6. 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.

  7. 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

  1. Di halaman Detail versi untuk v1, versi yang baru saja dibuat, Anda dapat mengirim permintaan prediksi contoh.

    Pilih tab Pengujian & Penggunaan.

  2. 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]
            }
          ]
        }
    
  3. 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