序列對序列演算法 - Amazon SageMaker AI

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

序列對序列演算法

Amazon SageMaker AI 序列對序列是一種監督式學習演算法,其中輸入為權杖序列 (例如文字、音訊),而產生的輸出則為另一種權杖序列。範例應用程式包括:機器轉譯 (從一種語言輸入句子,並預測該句子在另一種語言的表達方式)、文字摘要 (輸入較長的字串並預測較短的摘要文字)、語音轉文字 (在符記中轉換為輸出句子的自動剪輯片段)。最近在此網域中的問題已成功使用深度神經網路來建立模型,展現較過去的方法更顯著的效能提升成果。Amazon SageMaker AI seq2seq 使用遞迴神經網絡 (RNN) 與卷積神經網絡 (CNN) 模型,且專注於編碼器-解碼器結構。

序列對序列演算法的輸入/輸出介面

訓練

SageMaker AI seq2seq 接受 RecordIO-Protobuf 格式的資料。但是,權杖則應為整數,不應為平常使用的浮點數。

將權杖化文字檔案中的資料轉換到 protobuf 格式的指令碼已隨附於 seq2seq 範例筆記本中。一般而言,它會將資料封裝為 32 位元的整數張量 (tensor) 並產生指標計算與推論所需的必要字彙檔案。

預先處理完成後,便可以調用演算法進行訓練。演算法預期會接受三個通道:

  • train:應包含訓練資料 (例如,由預先處理指令碼生成的 train.rec 檔案)。

  • validation:應包含驗證資料 (例如,由預先處理指令碼生成的 val.rec 檔案)。

  • vocab:應包含兩個詞彙檔案 (vocab.src.jsonvocab.trg.json)

如果演算法在三個管道中找不到任何資料,訓練會產生錯誤。

推論

針對託管端點,推論支援兩種資料格式。若要使用空格分隔的文字權杖來執行推論,請使用 application/json 格式。否則,請使用 recordio-protobuf 格式來執行整數編碼資料。兩種模式都支援批次輸入檔案。application/json 格式也可讓您視覺化焦點矩陣。

  • application/json:預期以 JSON 格式輸入並以 JSON 格式傳回輸出。內容與接受類型應為 application/json。每個序列預期為帶有以空格分隔的符記之字串。當批次中的來源序列編號為小編號時,建議使用此格式。它還支援以下額外的組態選項:

    configuration: {attention_matrix: true}:傳回特定輸入序列的焦點矩陣。

  • application/x-recordio-protobuf:預期輸入為 recordio-protobuf 格式並以 recordio-protobuf format 傳回輸出。內容與接受類型應為 applications/x-recordio-protobuf。對於此格式,來源序列必須轉換成後續 protobuf 編碼的整數清單。大量推論建議使用此格式。

針對批次轉換,推論支援 JSON Lines 格式。批次轉換預期接收 JSON Lines 格式的輸入,並會傳回 JSON Lines 格式的輸出。內容與接受類型應為 application/jsonlines。輸入的格式如下:

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

回應的格式如下:

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

如需如何序列化和還原序列化輸入及輸出至特定格式,以用於推論的額外詳細資訊,請參閱序列對序列範例筆記本

序列對序列演算法的 EC2 執行個體建議事項

Amazon SageMaker AI seq2seq 演算法只在 GPU 執行個體類型上進行支援,而且只能在單一機器上進行訓練。不過,您可以將執行個體與多個 GPU 搭配使用。seq2seq 演算法可支援 P2、P3、G4dn 和 G5 GPU 執行個體系列。

序列對序列範例筆記本

如需示範如何使用 SageMaker AI 序列對序列演算法來訓練英文/德文翻譯模型的範例筆記本,請參閱使用 SageMaker AI Seq2Seq 的英文/德文機器翻譯範例。如需如何建立並存取 Jupyter 筆記本執行個體以用來執行 SageMaker AI 中範例的指示,請參閱Amazon SageMaker 筆記本執行個體。在建立並開啟筆記本執行個體後,請選取 SageMaker AI 範例索引標籤以查看所有 SageMaker AI 範例的清單。使用 NTM 演算法模組化範例筆記本的主題位於 Amazon 演算法簡介一節。若要開啟筆記本,請按一下其使用標籤,然後選取建立複本