Memulai algoritma BERT bawaan

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:

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:

  1. 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.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the AI Platform Training & Prediction and Compute Engine APIs.

    Enable the APIs

  5. Install the Google Cloud CLI.
  6. To initialize the gcloud CLI, run the following command:

    gcloud init
  7. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  8. Make sure that billing is enabled for your Google Cloud project.

  9. Enable the AI Platform Training & Prediction and Compute Engine APIs.

    Enable the APIs

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

  1. Buka halaman AI Platform > Tugas:

Halaman AI Platform > Lowongan

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

  2. Memilih BERT sebagai algoritma pelatihan

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

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

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

  2. Di halaman Detail tugas, Anda dapat melihat progres umum tugas, atau mengklik Lihat log untuk melihat progresnya secara lebih mendetail.

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

  4. Pilih "Deploy as new model", lalu masukkan nama model. Selanjutnya, klik Konfirmasi.

  5. Di halaman Create version, masukkan nama versi, seperti v1, dan biarkan semua kolom lainnya menggunakan setelan defaultnya. Klik Simpan.

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

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

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

    Pilih tab Uji & Gunakan.

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