

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

# Sequence-to-Sequence Algoritma
<a name="seq-2-seq"></a>

Amazon SageMaker AI 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 AI seq2seq menggunakan model Recurrent Neural Networks (RNNs) dan Convolutional Neural Network (CNN) dengan perhatian sebagai arsitektur encoder-decoder. 

**Topics**
+ [Antarmuka Input/Output untuk Algoritma Sequence-to-Sequence](#s2s-inputoutput)
+ [Rekomendasi Instans EC2 untuk Algoritma Sequence-to-Sequence](#s2s-instances)
+ [Sequence-to-Sequence Contoh Notebook](#seq-2-seq-sample-notebooks)
+ [Cara Kerja Sequence-to-Sequence](seq-2-seq-howitworks.md)
+ [Sequence-to-Sequence Hiperparameter](seq-2-seq-hyperparameters.md)
+ [Menyetel Sequence-to-Sequence Model](seq-2-seq-tuning.md)

## Antarmuka Input/Output untuk Algoritma Sequence-to-Sequence
<a name="s2s-inputoutput"></a>

**Pelatihan**

SageMaker AI 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.](https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_amazon_algorithms/seq2seq_translation_en-de/SageMaker-Seq2Seq-Translation-English-German.html) 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.json`dan) `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/json`format juga memungkinkan Anda untuk memvisualisasikan matriks perhatian.
+ `application/json`: Mengharapkan input dalam format JSON dan mengembalikan output dalam format JSON. Baik jenis konten dan penerimaan harus`application/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`: \$1`attention_matrix`:`true`\$1: Mengembalikan matriks perhatian untuk urutan input tertentu.
+ `application/x-recordio-protobuf`: Mengharapkan input dalam `recordio-protobuf` format dan mengembalikan output dalam`recordio-protobuf format`. Baik jenis konten dan penerimaan harus`applications/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. Baik jenis konten dan penerimaan harus`application/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. [Sequence-to-Sequence Contoh Notebook](#seq-2-seq-sample-notebooks)

## Rekomendasi Instans EC2 untuk Algoritma Sequence-to-Sequence
<a name="s2s-instances"></a>

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

## Sequence-to-Sequence Contoh Notebook
<a name="seq-2-seq-sample-notebooks"></a>

Untuk contoh buku catatan yang menunjukkan cara menggunakan algoritme SageMaker AI Sequence to Sequence untuk melatih model terjemahan Inggris-Jerman, lihat Contoh Bahasa Inggris-Jerman [Terjemahan Mesin Menggunakan AI Seq2Seq](https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_amazon_algorithms/seq2seq_translation_en-de/SageMaker-Seq2Seq-Translation-English-German.html). SageMaker Untuk petunjuk cara membuat dan mengakses instance notebook Jupyter yang dapat Anda gunakan untuk menjalankan contoh di SageMaker AI, lihat. [Instans SageMaker notebook Amazon](nbi.md) Setelah Anda membuat instance notebook dan membukanya, pilih tab **Contoh SageMaker AI** untuk melihat daftar semua sampel SageMaker AI. 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**.