Algoritma Urutan-ke-Urutan - Amazon SageMaker

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Algoritma Urutan-ke-Urutan

Amazon SageMaker Sequence to Sequence adalah algoritma pembelajaran yang diawasi di mana input adalah urutan token (misalnya, teks, audio) dan output yang dihasilkan adalah urutan token lainnya. Contoh aplikasi meliputi: terjemahan mesin (masukan kalimat dari satu bahasa dan prediksi apa kalimat itu dalam bahasa lain), ringkasan teks (masukkan string kata yang lebih panjang dan prediksi string kata yang lebih pendek yang merupakan ringkasan), speech-to-text (klip audio diubah menjadi kalimat keluaran dalam token). Baru-baru ini, masalah dalam domain ini telah berhasil dimodelkan dengan jaringan saraf dalam yang menunjukkan peningkatan kinerja yang signifikan dibandingkan metodologi sebelumnya. Amazon SageMaker seq2seq menggunakan model Recurrent Neural Networks (RNN) dan Convolutional Neural Network (CNN) dengan perhatian sebagai arsitektur encoder-decoder.

Antarmuka Input/Output untuk Algoritma Urutan-ke-Urutan

Pelatihan

SageMaker seq2seq mengharapkan data dalam format Recordio-Protobuf. Namun, token diharapkan sebagai bilangan bulat, bukan sebagai floating point, seperti biasanya.

Skrip untuk mengonversi data dari file teks tokenized ke format protobuf disertakan dalam notebook contoh seq2seq. Secara umum, ini mengemas data ke dalam tensor bilangan bulat 32-bit dan menghasilkan file kosakata yang diperlukan, yang diperlukan untuk perhitungan metrik dan inferensi.

Setelah preprocessing selesai, algoritma dapat dipanggil untuk pelatihan. Algoritma mengharapkan tiga saluran:

  • train: Ini harus berisi data pelatihan (misalnya, train.rec file yang dihasilkan oleh skrip preprocessing).

  • validation: Ini harus berisi data validasi (misalnya, val.rec file yang dihasilkan oleh skrip preprocessing).

  • vocab: Ini harus berisi dua file kosakata (vocab.src.jsondan) vocab.trg.json

Jika algoritme tidak menemukan data di salah satu dari ketiga saluran ini, pelatihan menghasilkan kesalahan.

Inferensi

Untuk titik akhir yang dihosting, inferensi mendukung dua format data. Untuk melakukan inferensi menggunakan token teks yang dipisahkan spasi, gunakan application/json formatnya. Jika tidak, gunakan recordio-protobuf format untuk bekerja dengan data yang dikodekan integer. Kedua mode mendukung batch data input. application/jsonformat juga memungkinkan Anda untuk memvisualisasikan matriks perhatian.

  • application/json: Mengharapkan input dalam format JSON dan mengembalikan output dalam format JSON. Jenis konten dan penerimaan harusapplication/json. Setiap urutan diharapkan menjadi string dengan token terpisah spasi. Format ini direkomendasikan ketika jumlah urutan sumber dalam batch kecil. Ini juga mendukung opsi konfigurasi tambahan berikut:

    configuration: {attention_matrix:true}: Mengembalikan matriks perhatian untuk urutan input tertentu.

  • application/x-recordio-protobuf: Mengharapkan input dalam recordio-protobuf format dan mengembalikan output dalamrecordio-protobuf format. Jenis konten dan penerimaan harusapplications/x-recordio-protobuf. Untuk format ini, urutan sumber harus diubah menjadi daftar bilangan bulat untuk pengkodean protobuf berikutnya. Format ini direkomendasikan untuk inferensi massal.

Untuk transformasi batch, inferensi mendukung format JSON Lines. Transformasi Batch mengharapkan input dalam format JSON Lines dan mengembalikan output dalam format JSON Lines. Jenis konten dan penerimaan harusapplication/jsonlines. Format untuk input adalah sebagai berikut:

content-type: application/jsonlines {"source": "source_sequence_0"} {"source": "source_sequence_1"}

Format tanggapan adalah sebagai berikut:

accept: application/jsonlines {"target": "predicted_sequence_0"} {"target": "predicted_sequence_1"}

Untuk detail tambahan tentang cara membuat serial dan deserialisasi input dan output ke format tertentu untuk inferensi, lihat. Notebook Sampel Urutan-ke-Urutan

Rekomendasi Instans EC2 untuk Algoritma Urutan-ke-Urutan

Algoritma Amazon SageMaker seq2seq hanya mendukung pada jenis instans GPU dan hanya dapat berlatih pada satu mesin. Namun, Anda dapat menggunakan instance dengan beberapa GPU. Algoritma seq2seq mendukung keluarga instance GPU P2, P3, G4dn, dan G5.

Notebook Sampel Urutan-ke-Urutan

Untuk contoh buku catatan yang menunjukkan cara menggunakan algoritma Sequence to SageMaker Sequence untuk melatih model terjemahan Inggris-Jerman, lihat Contoh Bahasa Inggris-Jerman Terjemahan Mesin Menggunakan Seq2Seq. SageMaker Untuk petunjuk cara membuat dan mengakses instance notebook Jupyter yang dapat Anda gunakan untuk menjalankan contoh, lihat. SageMaker Instans SageMaker Notebook Amazon Setelah Anda membuat instance notebook dan membukanya, pilih tab SageMakerContoh untuk melihat daftar semua SageMaker sampel. Contoh buku catatan pemodelan topik menggunakan algoritme NTM terletak di bagian Pengantar Algoritma Amazon. Untuk membuka buku catatan, klik tab Use dan pilih Create copy.