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 dengan 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 baru. Pasar tersebut mengharuskan konten yang terikat waktu milik Anda diterjemahkan dengan benar secara real time, termasuk terminologi khusus. Alih-alih harus mempekerjakan staf dwibahasa atau mengontrak penerjemah spesialis, yang keduanya memerlukan biaya tinggi, Anda dapat membuat dan menyempurnakan model kustom untuk melakukan pekerjaan tersebut 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 bahasa target. Ini adalah pasangan kata atau frasa yang memiliki arti sama dalam bahasa sumber dan bahasa target. Semakin dekat arti pasangan segmen, semakin baik model Anda akan 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 dapat mencapai hasil tersebut? Dapatkah model NMT mencapai hal itu secara langsung?

  • Apakah mungkin bagi manusia untuk menerjemahkan segmen penting ini dengan cara yang memenuhi standar Anda? Jika tugas terjemahan tersebut bersifat ambigu, bahkan hingga orang yang fasih dalam kedua bahasa tersebut kesulitan melakukan pekerjaan yang memuaskan, mungkin kinerja model NMT dan model kustom Anda pun akan seperti itu.

  • Contoh seperti 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 dan 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 baris 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 mengedepankan praktik AI yang bertanggung jawab, termasuk keadilan. Tujuan keadilan dalam ML adalah untuk memahami dan mencegah perlakuan yang tidak adil atau merugikan terhadap orang-orang terkait ras, pendapatan, orientasi seksual, agama, gender, dan karakteristik lain yang secara historis terkait dengan diskriminasi dan marginalisasi, kapan dan di mana hal tersebut terwujud dalam sistem algoritme atau pengambilan keputusan dengan bantuan algoritme. Anda dapat membaca selengkapnya di panduan kami dan di catatan fair-aware ini:

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

  • Pertimbangkan apakah kasus penggunaan atau produk Anda dapat berdampak negatif pada peluang ekonomi individu atau peluang hidup penting lainnya, dan jika demikian, 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 pada pengguna jika kasus tersebut 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...

  • Panduan data lainnya 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 itu dapat membuat model mengubah semua instance presiden menjadi JFK. Sebagai gantinya, hapus pasangan segmen ini atau ubah kata benda spesifik menjadi kata benda umum.
  • Hapus segmen duplikat dalam set pelatihan dan pengujian (lihat Pembagian set data tentang memisahkan 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 hanya menghapus tag unit terjemahan saat Anda mengimpor dari file TMX (bukan untuk 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:validation:test) 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 pelatihannya sepenuhnya, set pengujian digunakan sebagai tantangan yang benar-benar baru untuk model Anda. Performa model Anda di 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 set data dibagi di antara fungsi-fungsi ini seperti yang dijelaskan dalam Menyiapkan data pelatihan, 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 menentukan secara eksplisit cara pembagiannya. Pemisahan manual memberi Anda kontrol lebih besar atas prosesnya, tidak hanya memungkinkan Anda menentukan persentase pemisahan, tetapi juga memungkinkan Anda menentukan set tertentu untuk menyertakan pasangan segmen tertentu.

Mengimpor data

Setelah memutuskan apakah pemisahan 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 melampaui 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 Google NMT standar ditampilkan di tab Train, beserta peningkatan performa skor BLEU dari penggunaan mode kustom.

Semakin tinggi skor BLEU, semakin baik pula terjemahan yang dapat dihasilkan model Anda untuk segmen-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 sesuai keinginan, periksa data Anda untuk melihat bagian yang dapat ditingkatkan.

Pengujian

Meskipun skor BLEU terlihat bagus, sebaiknya periksa sendiri model untuk memastikan 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 memperhatikan bahwa model Anda memiliki prediksi yang sama dengan model dasar, terutama pada segmen pendek atau jika Anda memiliki set pelatihan yang lebih kecil, karena model dasarnya sudah cukup bagus untuk berbagai kasus penggunaan. Jika demikian, cobalah 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 sangat Anda khawatirkan akan dilakukan oleh model Anda (seperti kesalahan terjemahan yang mungkin merugikan secara finansial atau reputasi), pastikan set atau prosedur pengujian Anda mencakup kasus tersebut secara memadai agar Anda merasa aman menggunakan model Anda dalam tugas sehari-hari.

Langkah berikutnya