Menyesuaikan model NMT

Cloud Translation - Advanced API memungkinkan Anda menyesuaikan model Terjemahan Mesin Neural (NMT) Google tanpa menulis kode. Artinya, Anda dapat menyesuaikan model kustom dengan konten khusus domain dan menghasilkan terjemahan yang lebih akurat daripada model NMT Google default.

Model NMT mencakup sejumlah besar pasangan bahasa dan berfungsi baik saat digunakan untuk teks tujuan umum. Model kustom unggul dalam menangani kosakata khusus yang spesifik. Dengan menyesuaikan model NMT, Anda bisa mendapatkan terjemahan yang tepat untuk terminologi khusus domain yang penting bagi Anda.

Jika Anda menjalankan layanan pelaporan khusus yang memiliki peluang untuk berekspansi ke negara-negara baru. Pasar tersebut mengharuskan konten Anda yang terikat waktu diterjemahkan dengan benar secara real time, termasuk terminologi khusus. Daripada harus mempekerjakan staf dwibahasa atau mengontrak penerjemah spesialis, yang keduanya memerlukan biaya tinggi, Anda dapat membuat dan menyempurnakan model kustom untuk melakukan pekerjaan secara real time dengan biaya yang jauh lebih rendah.

Persiapan Data

Untuk melatih model kustom, Anda harus menyediakan pasangan segmen yang cocok dalam bahasa sumber dan target. Pasangan kata atau frasa ini memiliki arti yang sama dalam bahasa sumber dan bahasa target terjemahan. Semakin dekat arti pasangan segmen, semakin baik model Anda dapat berfungsi.

Saat menyusun set data pasangan segmen yang cocok, mulailah dengan kasus penggunaan:

  • Hasil apa yang ingin Anda capai?

  • Jenis segmen apa yang penting untuk diterjemahkan dengan benar agar hasil tersebut dapat dicapai? Dapatkah model NMT mencapainya langsung?

  • Apakah mungkin bagi manusia untuk menerjemahkan segmen penting ini dengan cara yang memenuhi standar Anda? Jika tugas terjemahan cukup ambigu sehingga orang yang fasih dalam kedua bahasa tersebut akan kesulitan melakukan pekerjaan yang memuaskan, model NMT mungkin akan berperforma sama baiknya dengan model kustom.

  • Jenis contoh apa yang paling mencerminkan jenis dan rentang pasangan segmen yang perlu diterjemahkan oleh sistem Anda?

Mencocokkan data dengan domain permasalahan Anda

Anda melatih model terjemahan kustom karena memerlukan model yang sesuai dengan domain linguistik tertentu. Pastikan pasangan segmen Anda telah optimal dalam merangkum keunikan kosakata, penggunaan, dan tata bahasa di industri atau area fokus Anda. Temukan dokumen berisi penggunaan umum yang akan Anda temukan dalam tugas terjemahan yang ingin diselesaikan, dan pastikan frasa paralelnya memiliki makna yang sama sedekat mungkin. Tentu saja, terkadang bahasa tidak dapat dipetakan dengan sempurna dalam hal kosakata atau sintaksis, tetapi cobalah untuk menangkap sebanyak mungkin keragaman semantik yang Anda temui, jika memungkinkan. Anda menyempurnakan sebuah model yang memiliki kinerja cukup baik untuk menerjemahkan teks bertujuan umum - Anda adalah contoh langkah terakhir spesial yang akan membuat model kustom berfungsi khusus untuk kasus penggunaan Anda. Jadi, pastikan model tersebut relevan dan mewakili penggunaan yang Anda harapkan.

Menangkap keragaman ruang linguistik Anda

Memang mudah untuk berasumsi bahwa orang menulis tentang domain tertentu dengan cara yang cukup seragam, sehingga sampel teks dengan jumlah sedikit yang diterjemahkan oleh beberapa penerjemah saja sudah cukup untuk melatih model yang akan bekerja dengan baik bagi siapa pun yang menulis tentang domain tersebut. Tapi kita semua adalah individu, dan masing-masing dari kita menuangkan kepribadian kita ke dalam kata-kata yang kita tulis. Set data pelatihan dengan pasangan segmen dari banyak penulis dan penerjemah memiliki kemungkinan lebih besar untuk menghasilkan model yang berguna dalam menerjemahkan tulisan dari berbagai organisasi yang berbeda. Selain itu, pertimbangkan berbagai panjang dan struktur segmen; set data yang semua segmennya memiliki ukuran yang sama atau memiliki struktur tata bahasa yang serupa tidak akan menghasilkan model kustom yang baik yang mampu mencakup semua kemungkinan.

Mengumpulkan data Anda

Setelah menentukan data yang diperlukan, Anda harus berupaya untuk mengumpulkannya. Anda dapat memulai dengan memperhitungkan semua data yang dikumpulkan organisasi Anda. Anda mungkin mendapati bahwa Anda sudah mengumpulkan data yang diperlukan untuk melatih model terjemahan. Jika tidak memiliki data yang diperlukan, Anda dapat memperolehnya secara manual atau mengalihdayakannya kepada penyedia pihak ketiga.

Tetap memerlukan interaksi manusia

Jika memungkinkan, pastikan orang yang memahami kedua bahasa tersebut telah memvalidasi bahwa pasangan segmen sudah benar dan mewakili terjemahan yang dapat dipahami dan akurat. Kesalahan umum seperti tidak menyelaraskan barisan spreadsheet data pelatihan dapat menghasilkan terjemahan yang terdengar tidak masuk akal. Data berkualitas tinggi adalah hal terpenting yang dapat Anda berikan ke Cloud Translation - Advanced API guna mendapatkan model yang bermanfaat bagi bisnis Anda.

Perhatikan keadilan dalam mengembangkan pasangan segmen

Prinsip utama yang mendasari produk ML Google adalah machine learning yang berpusat pada manusia, yaitu pendekatan yang mendorong praktik AI yang bertanggung jawab, termasuk keadilan. Tujuan keadilan dalam ML adalah untuk memahami dan mencegah perlakuan yang tidak adil atau merugikan terhadap orang yang terkait dengan ras, pendapatan, orientasi seksual, agama, gender, dan karakteristik lain yang secara historis terkait dengan diskriminasi dan marginalisasi, ketika dan di mana hal tersebut muncul dalam sistem algoritma atau pengambilan keputusan dengan bantuan algoritma. Anda dapat membaca selengkapnya dalam panduan kami dan dalam catatan memastikan keadilan berikut:

  • Tinjau peraturan di wilayah Anda dan lokasi tempat aplikasi Anda akan ditayangkan, serta penelitian atau informasi produk yang ada dalam domain Anda untuk mempelajari pedoman hukum dan kemungkinan masalah budaya. Baca selengkapnya...

  • Pertimbangkan apakah kasus penggunaan atau produk Anda dapat berdampak negatif pada peluang ekonomi seseorang atau peluang penting lain dalam hidupnya, dan jika ya, baca selengkapnya...

  • Jika Anda memiliki data yang langka tentang subkelompok tertentu, pastikan data tersebut tersebar secara representatif antara set pelatihan dan set pengujian dengan melakukan pembagian pelatihan-pengujian sendiri.

  • Saat melakukan pengujian, pikirkan baik-baik domain masalah Anda dan potensi ketidakadilan dan biasnya. Pikirkan kasus yang akan berdampak buruk bagi pengguna Anda jika ditemukan dalam produksi, dan uji kasus tersebut terlebih dahulu. Baca selengkapnya...

  • Jika Anda memiliki kasus penggunaan yang memerlukan pertimbangan keadilan, baca selengkapnya tentang cara menggunakan model Anda dengan cara yang mengurangi bias atau hasil yang merugikan. Baca selengkapnya...

  • Lebih banyak pedoman data untuk keadilan.

Bersihkan data yang berantakan

Anda mungkin membuat kesalahan saat melakukan prapemrosesan data, dan beberapa kesalahan dapat benar-benar membingungkan model kustom. Intinya, temukan masalah data berikut yang dapat Anda perbaiki:

  • Hapus segmen sumber duplikat, terutama jika segmen tersebut memiliki target terjemahan yang berbeda. Cloud Translation - Advanced API hanya menggunakan contoh yang pertama kali dilihat dan menghapus semua pasangan lainnya pada waktu impor. Dengan menghapus duplikat, Anda memastikan bahwa Cloud Translation - Advanced API menggunakan terjemahan pilihan Anda.
  • Selaraskan segmen sumber ke segmen target yang tepat.
  • Cocokkan segmen dengan bahasa yang telah ditentukan; misalnya, hanya masukkan segmen bahasa Cina dalam set data bahasa Cina.
  • Untuk segmen target yang menyertakan bahasa campuran, pastikan kata yang tidak diterjemahkan memang sengaja tidak diterjemahkan, seperti nama produk atau organisasi. Segmen target yang secara keliru menyertakan kata yang tidak diterjemahkan akan menambahkan derau ke data pelatihan, sehingga dapat menghasilkan model berkualitas lebih rendah.
  • Perbaiki segmen yang memiliki kesalahan tipografi atau tata bahasa sehingga model Anda tidak meniru kesalahan ini.
  • Hapus konten yang tidak dapat diterjemahkan, seperti tag placeholder dan tag HTML. Konten yang tidak dapat diterjemahkan dapat menyebabkan kesalahan tanda baca.
  • Jangan menyertakan pasangan segmen yang menggantikan entitas umum dengan kata benda spesifik. Misalnya, hindari contoh yang menerjemahkan istilah umum seperti presiden menjadi nama presiden tertentu seperti JFK. Hal ini dapat mengajari model untuk mengubah semua instance presiden menjadi JFK. Sebagai gantinya, hapus pasangan segmen ini atau ubah kata benda spesifik tersebut menjadi kata benda umum.
  • Hapus segmen duplikat dalam set pelatihan dan pengujian (lihat Pembagian set data tentang cara membagi set data menjadi tiga subset).
  • Bagi beberapa segmen menjadi pasangan segmen yang berbeda. Melakukan pelatihan pada set data yang kebanyakan itemnya memiliki lebih dari 50 token (kata) akan menghasilkan model yang berkualitas lebih rendah. Bagi item-item tersebut menjadi kalimat individu, jika memungkinkan.
  • Gunakan kapitalisasi huruf secara konsisten. Penggunaan kapitalisasi memengaruhi cara model belajar, misalnya, untuk membedakan teks judul dengan isi.
  • Hapus tag TMX saat mengimpor data dari file TSV. Dalam beberapa kasus, Anda dapat mengekspor memori terjemahan yang sudah ada ke file TSV, yang mungkin menyertakan tag TMX. Namun, Cloud Translation - Advanced API menghapus tag unit terjemahan hanya saat Anda mengimpor dari file TMX (bukan file TSV).

Pemrosesan data

Cloud Translation - Advanced API berhenti mengurai file input data Anda saat:

  • Ada format yang tidak valid.
  • Ada pasangan segmen yang sangat panjang (10 MB).
  • File menggunakan encoding selain UTF-8.

Cloud Translation - Advanced API mengabaikan error untuk masalah yang tidak dapat dideteksinya, seperti:

  • Elemen <tu> dalam file TMX yang tidak menentukan bahasa sumber atau target.
  • Salah satu pasangan segmen inputnya kosong.

Untuk pembagian data otomatis, Cloud Translation - Advanced API melakukan pemrosesan tambahan (lihat Pembagian set data):

  • Setelah set data diupload, set data akan menghapus pasangan segmen dengan segmen sumber yang identik.

  • Sistem ini akan membagi data Anda secara acak menjadi tiga set dengan rasio 8:1:1 (train:validasi:pengujian) sebelum pelatihan.

Pembagian set data

Set data pasangan segmen Anda dibagi menjadi tiga subset, untuk pelatihan, validasi, dan pengujian:

  • Set Pelatihan
    Sebagian besar data Anda harus berada dalam set pelatihan. Data ini adalah data yang "dilihat" oleh model Anda selama pelatihan: data yang digunakan untuk mempelajari parameter model dan menghitung bobot koneksi antara node jaringan neural.

  • Set Validasi
    Set validasi, terkadang disebut set dev, juga digunakan selama proses pelatihan. Selama pembelajaran model, framework menggunakan set pelatihan untuk melatih serangkaian model kandidat, kemudian menggunakan performa model pada set validasi untuk memilih model terbaik yang dihasilkan. Set tersebut menggunakan performa model pada set validasi untuk menyesuaikan hyperparameter model, yang merupakan variabel yang menentukan struktur model. Jika Anda menggunakan set pelatihan untuk menyesuaikan hyperparameter, model tersebut akan terlalu fokus pada data pelatihan Anda. Menggunakan set data yang agak baru untuk menyempurnakan struktur model berarti model Anda akan melakukan generalisasi dengan lebih baik.

  • Set Pengujian
    Set pengujian sama sekali tidak terlibat dalam proses pelatihan. Setelah model menyelesaikan pelatihan sepenuhnya, set pengujian digunakan sebagai tantangan yang benar-benar baru untuk model Anda. Performa model Anda pada set pengujian dimaksudkan untuk memberi Anda gambaran yang cukup baik tentang performa model Anda pada data dunia nyata.

Jika Anda tidak menentukan secara manual cara membagi set data di antara fungsi-fungsi ini seperti yang dijelaskan dalam Menyiapkan data pelatihan Anda, dan jika set data Anda berisi kurang dari 100.000 pasangan segmen, maka Cloud Translation - Advanced API akan otomatis menggunakan 80% dokumen konten Anda untuk pelatihan, 10% untuk validasi, dan 10% untuk pengujian. Jika data Anda lebih besar dari itu, Anda harus secara eksplisit menentukan cara pembagiannya. Pemisahan manual memberi Anda lebih banyak kontrol atas proses, tidak hanya memungkinkan Anda menentukan persentase pemisahan, tetapi juga memungkinkan Anda menentukan set tertentu untuk menyertakan pasangan segmen tertentu.

Mengimpor data

Setelah memutuskan apakah pembagian data secara manual atau otomatis tepat untuk Anda, ada dua cara untuk menambahkan data:

  • Anda dapat mengimpor data sebagai file dengan nilai yang dipisahkan tab (TSV) yang berisi segmen sumber dan target, satu pasangan segmen per baris.

  • Anda dapat mengimpor data sebagai file TMX, format standar untuk menyediakan pasangan segmen ke alat model terjemahan otomatis (lihat Menyiapkan data pelatihan) untuk mengetahui informasi selengkapnya tentang format TMX). Jika file TMX berisi tag XML yang tidak valid, Cloud Translation - Advanced API akan mengabaikannya. Jika file TMX berisi error XML atau TMX, seperti jika tag akhir atau elemen <tmx> tidak ada, Cloud Translation - Advanced API akan mengakhiri pemrosesan dan menampilkan error jika melewati lebih dari 1024 elemen `' yang tidak valid.

Evaluasi awal model kustom Anda

Setelah model dilatih, Anda akan menerima ringkasan performa model tersebut. Klik tab Latih untuk melihat analisis terperinci. Skor BLEU model kustom Anda dan model NMT Google standar ditampilkan di tab Latih, beserta peningkatan performa skor BLEU dari penggunaan model kustom.

Semakin tinggi skor BLEU, semakin baik pula terjemahan yang dapat dihasilkan model Anda untuk segmen yang mirip dengan data pelatihan Anda. Skor dalam rentang 30-40 dianggap baik. Untuk penjelasan mendetail tentang skor BLEU, lihat Metrik kualitas terjemahan BLEU.

Ada metrik evaluasi lain yang sering kali lebih andal daripada skor BLEU. Untuk mengetahui informasi tentang opsi evaluasi tersebut, lihat Mengevaluasi model terjemahan.

Proses Debug

Proses debug model kustom lebih berfokus pada proses debug data daripada model itu sendiri. Jika model Anda tidak menerjemahkan seperti yang Anda inginkan, periksa data Anda untuk melihat area yang dapat ditingkatkan.

Pengujian

Meskipun skor BLEU Anda terlihat bagus, sebaiknya periksa sendiri model untuk memastikan bahwa performanya sesuai dengan harapan Anda. Jika data pelatihan dan pengujian Anda diambil dari kumpulan sampel yang salah dan sama, skornya mungkin akan sangat bagus meskipun terjemahannya tidak masuk akal. Tambahkan beberapa contoh sebagai input pada tab Predict dan bandingkan hasil dari model kustom dengan model dasar Google NMT. Anda mungkin mendapati bahwa model Anda menghasilkan prediksi yang sama dengan model dasar, terutama pada segmen pendek atau jika Anda memiliki set pelatihan yang lebih kecil, karena model dasar sudah cukup baik untuk berbagai kasus penggunaan. Dalam hal ini, coba segmen yang lebih panjang atau lebih kompleks. Namun, jika semua hasil segmen Anda sama dengan prediksi dari model dasar, hal ini mungkin mengindikasikan adanya masalah data.

Jika ada kesalahan yang membuat Anda sangat khawatir model Anda akan melakukannya (seperti kesalahan terjemahan yang dapat merugikan uang atau reputasi), pastikan set atau prosedur pengujian Anda mencakup kasus tersebut secara memadai sehingga Anda merasa aman menggunakan model Anda dalam tugas sehari-hari.

Langkah berikutnya