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

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

序列對序列演算法

Amazon SageMaker AI Sequence to Sequence 是監督式學習演算法,其中輸入是一系列字符 (例如文字、音訊),而產生的輸出是另一個序列字符。範例應用程式包括:機器轉譯 (從一種語言輸入句子,並預測該句子在另一種語言的表達方式)、文字摘要 (輸入較長的字串並預測較短的摘要文字)、語音轉文字 (在符記中轉換為輸出句子的自動剪輯片段)。最近在此網域中的問題已成功使用深度神經網路來建立模型,展現較過去的方法更顯著的效能提升成果。Amazon SageMaker AI seq2seq 使用遞歸神經網路 (RNNs) 和卷積神經網路 (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 Sequence to Sequence 演算法訓練英文與德文翻譯模型的範例筆記本,請參閱使用 SageMaker AI Seq2Seq 的機器翻譯英文與德文範例。如需如何建立和存取可用於在 SageMaker AI 中執行範例的 Jupyter 筆記本執行個體的說明,請參閱 Amazon SageMaker 筆記本執行個體。建立並開啟筆記本執行個體後,請選取 SageMaker AI 範例索引標籤以查看所有 SageMaker AI 範例的清單。使用 NTM 演算法模組化範例筆記本的主題位於 Amazon 演算法簡介一節。若要開啟筆記本,請按一下其使用標籤,然後選取建立複本