기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Sequence-to-Sequence 알고리즘
Amazon SageMaker AI Sequence to Sequence는 입력이 토큰 시퀀스(예: 텍스트, 오디오)이고 생성된 출력이 또 다른 토큰 시퀀스인 지도 학습 알고리즘입니다. 애플리케이션의 예로는 기계 번역(한 언어의 문장을 입력하고 다른 언어에서 어떤 문장이 나올지 예측), 텍스트 요약(길이가 긴 단어 문자열을 입력하고 길이가 짧은 요약 단어 문자열을 예측), 음성-텍스트 변환(오디오 클립이 토큰으로 된 출력 문장으로 변환됨)이 있습니다. 최근 이 도메인의 문제는 심층 신경망을 사용하여 성공적으로 모델링되었으며, 이는 이전 방법론에 비해 성능이 크게 향상되었습니다. Amazon SageMaker AI seq2seq는 인코더-디코더 아키텍처로 주의하여 Recurrent Neural Networks(RNNs) 및 Convolutional Neural Network(CNN) 모델을 사용합니다.
주제
Sequence-to-Sequence 알고리즘에 대한 입력/출력 인터페이스
훈련
SageMaker AI seq2seq는 RecordIO-Protobuf 형식의 데이터를 예상합니다. 그러나 토큰은 일반적인 경우처럼 부동 소수점이 아니라 정수여야 합니다.
토큰화된 텍스트 파일에서 protobuf 형식으로 데이터를 변환하는 스크립트가 seq2seq 예제 노트북
사전 처리가 완료된 이후 훈련을 위해 이 알고리즘을 호출할 수 있으며, 이 알고리즘에는 다음 3가지 채널이 필요합니다.
-
train
: 훈련 데이터(예: 사전 처리 스크립트에 의해 생성된train.rec
파일)가 포함되어 있어야 합니다. -
validation
: 검증 데이터(예: 사전 처리 스크립트에 의해 생성된val.rec
파일)가 포함되어 있어야 합니다. -
vocab
: 2개의 어휘 파일(vocab.src.json
및vocab.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"}
추론을 위한 특정 형식으로 입력 및 출력을 직렬화 및 역직렬화하는 방법에 대한 자세한 정보는 Sequence-to-Sequence 샘플 노트북 섹션을 참조하세요.
Sequence-to-Sequence 알고리즘에 대한 EC2 인스턴스 권장 사항
Amazon SageMaker AI seq2seq 알고리즘은 GPU 인스턴스 유형에서만 지원되며 단일 시스템에서만 훈련할 수 있습니다. 하지만 여러 GPU가 있는 인스턴스를 사용할 수 있습니다. seq2seq 알고리즘은 P2, P3, G4dn 및 G5 GPU 인스턴스 패밀리를 지원합니다.
Sequence-to-Sequence 샘플 노트북
SageMaker AI Sequence to Sequence 알고리즘을 사용하여 영어-독일어 번역 모델을 훈련하는 방법을 보여주는 샘플 노트북은 SageMaker AI Seq2Seq를 사용한 기계 번역 영어-독일어 예제