Lompati ke konten utama
Penerjemah
Halaman ini telah diterjemahkan secara otomatis oleh layanan penerjemahan mesin Microsoft Translator. Pelajari lebih lanjut

Microsoft Translator blog

Mesin Neural Translation mengaktifkan inovasi paritas manusia dalam awan

Pada bulan Maret 2018 kita Mengumumkan (Hassan et al. 2018) hasil terobosan di mana kami menunjukkan untuk pertama kalinya sistem terjemahan mesin yang dapat melakukan serta penerjemah manusia (dalam skenario tertentu-terjemahan Berita Cina-Inggris). Ini adalah terobosan yang menarik dalam penelitian mesin terjemahan, tetapi sistem kami dibangun untuk proyek ini adalah kompleks, sistem penelitian kelas berat, menggabungkan beberapa teknik Cutting-edge. Sementara kami merilis output dari sistem ini pada beberapa set tes, sistem itu sendiri tidak cocok untuk penyebaran dalam terjemahan mesin real-time Cloud API.

Hari ini kami sangat gembira untuk mengumumkan ketersediaan dalam produksi generasi terbaru kami dari model terjemahan mesin saraf. Model ini menggabungkan sebagian besar kebaikan sistem penelitian kami dan sekarang tersedia secara default ketika Anda menggunakan Microsoft Translator API. Model baru ini tersedia saat ini di Cina, Jerman, Perancis, Hindi, Italia, Spanyol, Jepang, Korea, dan Rusia, dari dan ke bahasa Inggris. Bahasa lainnya akan segera hadir.

Mendapatkan dari Research Paper to Cloud API

Selama tahun lalu, kami telah mencari cara untuk membawa banyak kualitas sistem paritas manusia kami ke Microsoft Penerjemah API, sambil terus menawarkan biaya rendah real-time terjemahan. Berikut adalah beberapa langkah dalam perjalanan itu.

Pelatihan guru-siswa

Langkah pertama kami adalah beralih ke kerangka kerja "guru-siswa", di mana kami melatih siswa waktu nyata yang ringan untuk meniru jaringan guru kelas berat (BA dan Caruana 2014). Hal ini dilakukan dengan melatih siswa bukan pada data paralel bahwa sistem MT biasanya dilatih, tetapi pada terjemahan yang dihasilkan oleh guru (Kim dan Rush 2016). Ini adalah tugas yang lebih sederhana daripada belajar dari data mentah, dan memungkinkan siswa yang lebih dangkal, lebih sederhana untuk mengikuti guru yang kompleks dengan sangat erat. Seperti yang mungkin diharapkan, upaya awal kita masih menderita kualitas tetes dari guru ke siswa (tidak ada makan siang gratis!), tapi kami tetap mengambil tempat pertama di WNMT 2018 berbagi tugas pada decoding efisien (Junczys-Dowmunt et al. 2018a). Beberapa hasil yang sangat menarik dari upaya ini adalah bahwa transformator (Vaswani et al. 2017) model dan modifikasi mereka bermain baik dengan pelatihan guru-siswa dan sangat efisien selama inferensi pada CPU.

Belajar dari hasil awal ini dan setelah banyak iterasi kami menemukan resep yang memungkinkan siswa sederhana kami memiliki kualitas yang hampir sama dengan guru yang kompleks (kadang ada makan siang gratis setelah semua?). Sekarang kita bebas untuk membangun besar, model guru kompleks untuk memaksimalkan kualitas, tanpa khawatir tentang real-time kendala (terlalu banyak).

Terjemahan real-time

Keputusan kami untuk beralih ke kerangka kerja siswa termotivasi oleh karya besar Kim dan Rush (2016) untuk sederhana berbasis RNN model. Pada saat itu tidak jelas apakah manfaat yang dilaporkan akan terwujud untuk model transformer juga (Lihat Vaswani et al. 2017 untuk rincian tentang model ini). Namun, kami dengan cepat menemukan bahwa ini memang terjadi.

Mahasiswa transformer bisa menggunakan algoritma decoding sangat disederhanakan (pencarian serakah) di mana kita hanya memilih kata diterjemahkan tunggal terbaik pada setiap langkah, daripada metode biasa (Beam-Search) yang melibatkan mencari melalui ruang besar mungkin Terjemahan. Perubahan ini memiliki dampak kualitas minimal tetapi menyebabkan perbaikan besar dalam kecepatan penerjemahan. Sebaliknya, model guru akan mengalami penurunan kualitas yang signifikan saat beralih dari pencarian balok ke serakah-pencarian.

Pada saat yang sama, kami menyadari bahwa daripada menggunakan arsitektur saraf terbaru (transformer dengan perhatian diri) dalam decoder, siswa dapat dimodifikasi untuk menggunakan arsitektur secara drastis disederhanakan dan lebih cepat berulang (RNN). Hal ini penting karena sementara transformer Encoder dapat dihitung atas seluruh sumber kalimat secara paralel, kalimat target dihasilkan satu kata pada suatu waktu, sehingga kecepatan decoder memiliki dampak besar pada kecepatan keseluruhan terjemahan. Dibandingkan dengan diri-perhatian, decoder berulang mengurangi kompleksitas algoritmik dari kuadrat ke linear dalam target panjang kalimat. Terutama dalam pengaturan guru-siswa, kami tidak melihat kehilangan kualitas karena modifikasi ini, baik untuk otomatis maupun untuk hasil evaluasi manusia. Beberapa tambahan perbaikan seperti parameter sharing menyebabkan pengurangan lebih lanjut dalam kompleksitas dan peningkatan kecepatan.

Keuntungan lain dari kerangka kerja siswa guru kami sangat bersemangat untuk melihat adalah bahwa kualitas perbaikan dari waktu yang pernah tumbuh dan mengubah guru dengan mudah dibawa ke arsitektur mahasiswa non-mengubah. Dalam kasus di mana kita melihat masalah dalam hal ini, sedikit peningkatan kapasitas model siswa akan menutup kesenjangan lagi.

Pembelajaran ganda

Kunci wawasan di balik dual Learning (Dia et al. 2016) adalah "terjemahan Round-trip" Periksa bahwa orang terkadang menggunakan untuk memeriksa kualitas terjemahan. Misalkan kita menggunakan penerjemah online untuk pergi dari bahasa Inggris ke bahasa Italia. Jika kita tidak membaca bahasa Italia, bagaimana kita tahu jika itu dilakukan pekerjaan yang baik? Sebelum mengklik Mengirim pada email, kita mungkin memilih untuk memeriksa kualitas dengan menerjemahkan Italia kembali ke bahasa Inggris (mungkin di situs web yang berbeda). Jika bahasa Inggris kita kembali telah tersesat terlalu jauh dari aslinya, kemungkinan adalah salah satu terjemahan pergi dari rel.

Pembelajaran ganda menggunakan pendekatan yang sama untuk melatih dua sistem (misalnya bahasa Inggris-> Italia dan Italia-> Inggris) secara paralel, menggunakan terjemahan Round-trip dari satu sistem untuk mencetak, memvalidasi dan melatih sistem lain.

Dual Learning adalah kontributor utama untuk hasil penelitian paritas manusia kami. Dalam pergi dari sistem penelitian untuk produksi kami resep, kami generalisasi pendekatan ini secara luas. Bukan saja kita Co-Train pasangan sistem pada output masing-masing, kita juga menggunakan kriteria yang sama untuk menyaring data paralel kita.

Membersihkan data yang tidak akurat

Sistem penerjemahan mesin dilatih pada "data paralel", yaitu pasangan dokumen yang saling diterjemahkan, idealnya dibuat oleh penerjemah manusia. Ternyata, data paralel ini sering penuh dengan terjemahan yang tidak akurat. Terkadang dokumen tidak sepenuhnya paralel tetapi hanya parafrasa longgar satu sama lain. Penerjemah manusia dapat memilih untuk meninggalkan beberapa bahan sumber atau memasukkan informasi tambahan. Data dapat berisi salah ketik, kesalahan ejaan, tata bahasa kesalahan. Terkadang algoritme penambangan data kami tertipu oleh data yang serupa namun tidak paralel, atau bahkan melalui kalimat dalam bahasa yang salah. Terburuk dari semua, banyak halaman web yang kita lihat adalah spam, atau mungkin sebenarnya menjadi mesin terjemahan daripada terjemahan manusia. Sistem saraf sangat sensitif terhadap ketidaktepatan semacam ini dalam data. Kami menemukan bahwa membangun model saraf untuk secara otomatis mengidentifikasi dan menyingkirkan ketidakakuratan ini memberikan perbaikan yang kuat dalam kualitas sistem kami. Pendekatan kami terhadap penyaringan data menghasilkan tempat pertama WMT18 paralel Corpus penyaringan patokan (Junczys-Dowmunt 2018a) dan membantu membangun salah satu sistem terjemahan Inggris-Jerman terkuat di WMT18 Berita penerjemahan tugas (Junczys-Dowmunt 2018b). Kami menggunakan versi peningkatan dari pendekatan ini dalam sistem produksi kami dirilis hari ini.

Factored kata representasi

Ketika memindahkan teknologi penelitian untuk produksi, beberapa tantangan dunia nyata muncul. Mendapatkan angka, tanggal, waktu, kapitalisasi, spasi, dll hal yang benar lebih banyak dalam produksi daripada di sistem penelitian.

Pertimbangkan tantangan kapitalisasi. Jika kita menerjemahkan kalimat "Tonton video kucing di sini". Kita tahu bagaimana menterjemahkan "kucing". Kami ingin menerjemahkan "CAT" dengan cara yang sama. Tapi sekarang Pertimbangkan "Watch US Soccer di sini". Kami tidak ingin membingungkan kata "Kami" dan akronim "US" dalam konteks ini.

Untuk menangani hal ini, kami menggunakan pendekatan yang dikenal sebagai terjemahan mesin diperhitungkan (Koehn dan Hoang 2007Sennrich dan Haddow 2016) yang bekerja sebagai berikut. Daripada representasi numerik tunggal ("embedding") untuk "cat" atau "CAT", kami menggunakan beberapa hal yang disematkan, yang dikenal sebagai "faktor". Dalam kasus ini, embedding utama akan sama untuk "CAT" dan "cat" tapi faktor terpisah akan mewakili kapitalisasi, menunjukkan bahwa itu semua-Caps dalam satu contoh tapi huruf kecil di yang lain. Faktor yang sama digunakan pada sumber dan sisi target.

Kami menggunakan faktor serupa untuk menangani fragmen kata dan jarak antara kata (masalah rumit dalam bahasa non-spasi atau semi-spasi seperti Cina, Korea, Jepang, atau Thailand).

Faktor juga secara dramatis meningkatkan terjemahan angka, yang sangat penting dalam banyak skenario. Terjemahan angka sebagian besar merupakan transformasi algoritmik. Sebagai contoh, 1.234.000 dapat ditulis sebagai 12, 34000 dalam bahasa Hindi, 1.234.000 dalam bahasa Jerman, dan 123,4 万 dalam bahasa Cina. Secara tradisional, angka diwakili seperti kata, sebagai kelompok karakter dari berbagai panjang. Hal ini membuat sulit bagi pembelajaran mesin untuk menemukan algoritma. Sebagai gantinya, kita memberi makan setiap digit angka secara terpisah, dengan faktor yang menandai awal dan akhir. Trik sederhana ini kokoh dan andal dihapus hampir semua kesalahan terjemahan nomor.

Pelatihan model lebih cepat

Ketika kami sedang melatih sistem tunggal menuju satu tujuan, seperti yang kami lakukan untuk proyek penelitian paritas manusia, kami berharap untuk membuang sejumlah besar hardware pada model yang mengambil minggu untuk melatih. Ketika melatih model produksi untuk lebih dari 20 pasangan bahasa, pendekatan ini menjadi tidak dapat dipertahankan. Kita tidak hanya perlu waktu turn-sekitar yang wajar, tetapi kita juga perlu moderat tuntutan hardware kita. Untuk proyek ini, kami membuat sejumlah peningkatan kinerja untuk Marian NMT (Junczys-Dowmunt et al. 2018b).

Marian NMT adalah open source Neural MT toolkit yang Microsoft Translator didasarkan pada. Marian adalah murni C++ mesin penerjemah terjemahan toolkit, dan, sebagai hasilnya, sangat efisien, tidak memerlukan GPU pada saat runtime, dan sangat efisien pada waktu pelatihan

Karena sifatnya yang mandiri, cukup mudah untuk mengoptimalkan Marian untuk tugas spesifik NMT, yang menghasilkan salah satu toolkit NMT yang paling efisien yang tersedia. Lihatlah Benchmark. Jika Anda tertarik pada Neural MT penelitian dan pengembangan, silahkan bergabung dan berkontribusi pada komunitas di GitHub.

Perbaikan kami mengenai pelatihan dan decoding presisi campuran, serta untuk pelatihan model besar akan segera dibuat tersedia di repositori GitHub publik.

Kami sangat gembira tentang masa depan terjemahan mesin saraf. Kami akan terus menggelar arsitektur model baru ke bahasa yang tersisa dan Penerjemah kustom sepanjang tahun ini. Pengguna kami akan secara otomatis mendapatkan terjemahan yang lebih berkualitas secara signifikan melalui Penerjemah APIKami Aplikasi penerjemah, Microsoft Office, dan browser Edge. Kami berharap perbaikan baru membantu kehidupan pribadi dan profesional Anda dan berharap untuk umpan balik Anda.

 

Referensi

  • Jimmy BA dan kaya Caruana. 2014. Apakah Deep Nets sungguh perlu Deep? Kemajuan dalam sistem pengolahan informasi saraf 27. Halaman 2654-2662. https://papers.nips.cc/paper/5484-do-deep-nets-really-need-to-be-deep
  • Hany Hassan, Anthony Aue, Chang Chen, Vishal Chowdhary, Jonathan Clark, Christian Federmann, Xuedong Huang, Marcin Junczys-Dowmunt, William Lewis, Mu Li, Shujie Liu, Tie-Yan Liu, Renqian Luo, Arul Menezes, Tao Qin, Frank Seide, Xu Tan, Fei Tian, Lijun Wu, Shuangzhi Wu, Yingce Xia, Dongdong Zhang, Zhang Zhirui, Ming Zhou. 2018. mencapai paritas manusia di Cina otomatis ke bahasa Inggris News Translation. http://arxiv.org/abs/1803.05567
  • Ia, di dan Xia, Yingce dan Qin, Tao dan Wang, Liwei dan Yu, Nenghai dan Liu, Tie-Yan dan MA, Wei-Ying. 2016. dual Learning untuk penerjemahan mesin. Kemajuan dalam sistem pengolahan informasi saraf 29. Halaman 820-828. https://papers.nips.cc/paper/6469-dual-learning-for-machine-translation
  • Marcin Junczys-Dowmunt. 2018a. ganda bersyarat Cross-Entropy penyaringan berisik paralel corpora. Prosiding konferensi ketiga pada mesin terjemahan: bersama tugas Papers. Belgia, halaman 888-895. https://aclweb.org/anthology/papers/W/W18/W18-6478/
  • Marcin Junczys-Dowmunt. 2018b. Microsoft Submission to the WMT2018 Berita penerjemahan tugas: Bagaimana saya belajar untuk berhenti mengkhawatirkan dan cinta data. Prosiding konferensi ketiga pada mesin terjemahan: bersama tugas Papers. Belgia, halaman 425-430. https://www.aclweb.org/anthology/W18-6415/
  • Marcin Junczys-Dowmunt, Kenneth Heafield, Hieu Hoang, Roman Grundkiewicz, Anthony Aue. 2018a. Marian: biaya-efektif berkualitas tinggi mesin Neural terjemahan dalam C++. Prosiding lokakarya 2 pada mesin Neural Translation dan generasi. Melbourne, Australia, halaman 129-135. https://aclweb.org/anthology/papers/W/W18/W18-2716/
  • Marcin Junczys-Dowmunt, Romawi Grundkiewicz, Tomasz Dwojak, Hieu Hoang, Kenneth Heafield, Tom Neckermann, Frank Seide, Ulrich Germann, Alham Fikri Aji, Nikolay Bogoychev, André F. T. Martins, Alexandra Birch. 2018b. Marian: cepat mesin Neural Translation di C++. Prosiding ACL 2018, sistem demonstrasi. Melbourne, Australia, halaman 116-121. https://www.aclweb.org/anthology/P18-4020/
  • Yoon Kim dan Alexander M. Rush. 2016. tingkat distilasi pengetahuan berurutan. Dalam Proceedings dari 2016 konferensi tentang metode empiris dalam pengolahan bahasa alami, EMNLP 2016, Austin, Texas, Amerika Serikat, November 1-4, 2016, halaman 1317-1327. https://aclweb.org/anthology/papers/D/D16/D16-1139/
  • Philipp Koehn, Hieu Hoang. 2007. model penerjemahan yang di-factored. Prosiding dari 2007 bersama konferensi tentang metode empiris dalam bahasa alami pengolahan dan komputasi belajar bahasa alami (EMNLP-CoNLL). Praha, Republik Ceko, halaman 868-876. https://www.aclweb.org/anthology/D07-1091/
  • Rico Sennrich, Barry Haddow. 2016. fitur input linguistik meningkatkan mesin Neural Translation. Prosiding konferensi pertama pada mesin terjemahan: volume 1, Research Papers. Berlin, Jerman, halaman 83-91. https://www.aclweb.org/anthology/W16-2209/
  • Vaswani, Ashish dan Shazeer, Noam dan Parmar, Niki dan Uszkoreit, Jakob dan Jones, Llion dan Gomez, Aidan N dan Kaiser, Lukasz dan Polosukhin, Illia. 2017. perhatian adalah semua yang Anda butuhkan. Kemajuan dalam sistem pengolahan informasi saraf 30. Halaman 5998-6008. https://papers.nips.cc/paper/7181-attention-is-all-you-need