Amazon MLS-C01: 자연어 처리 및 음성 — 학습 가이드
다음의 일부입니다: AWS Machine Learning Specialty MLS-C01 — 학습 가이드. 검증된 답안으로 연습하기: Amazon 시험 허브, 또는 다음에서 시간 제한 모의고사 풀기: ExamRoll.io.
텍스트 전처리, 토큰화 및 정제
견고한 텍스트 전처리는 신뢰할 수 있는 NLP 파이프라인의 기반입니다. 유니코드 정규화, HTML 태그 제거, 제어 문자 삭제부터 시작하세요. AWS Glue 또는 SageMaker Processing 작업(ml.m5.xlarge)을 사용하여 확장 가능한 Python 또는 PySpark 정리 단계를 실행합니다. 토큰화 방식 선택은 중요한 결정 지점입니다. 단어 토크나이저는 간단하지만 OOV(out-of-vocabulary, 어휘 외) 토큰 문제에 취약합니다. Byte-Pair Encoding이나 WordPiece(BERT에서 사용)와 같은 서브워드(subword) 토크나이저는 OOV 위험을 줄여주므로 다국어 또는 제품명이 많은 코퍼스에 더 적합합니다. 사용자 생성 콘텐츠는 PII(개인 식별 정보)를 제거하고, 날짜와 숫자를 정규화하며, 감정을 전달하는 이모지/해시태그를 정규화된 형태로 매핑하여 정제(sanitize)합니다. 흔한 함정에 주의해야 합니다. 과도한 불용어(stopword) 제거는 토픽 모델과 시퀀스 모델에 해를 끼칠 수 있으며, 소문자화는 개체명 인식(named-entity recognition)에 유용한 대소문자 신호를 제거합니다. 프로덕션 환경에서는 SageMaker Processing 또는 Lambda 계층에 결정론적(deterministic) 전처리 로직을 구현하고, 전처리 코드와 아티팩트 버전을 SageMaker Model Registry에 기록하여 Model Monitor가 동일한 파이프라인을 기준으로 데이터 드리프트(data-drift)를 계산할 수 있도록 하세요. 수백만 개의 짧은 댓글을 처리할 때는 토큰화된 출력을 S3에 parquet 형식으로 압축하고, 다운스트림 특징 추출을 위해 SageMaker Batch Transform을 사용하여 요청별 토큰화 지연 시간을 피하세요.
임베딩 및 의미 표현
임베딩은 작업의 복잡성과 컴퓨팅 예산에 따라 선택합니다. 빠르고 확장 가능한 임베딩을 위해서는 SageMaker의 BlazingText를 통해 Word2Vec을 훈련하거나 사전 훈련된 모델을 사용(ml.c5.4xlarge에서 supervised 또는 skip-gram 모드 사용)하여 단어에 대한 밀집 벡터(dense vector)를 얻습니다. 토픽 카운트를 위해 IDF 가중 평균으로 문장 벡터를 집계합니다. 의미 검색 및 문맥 기반 작업을 위해서는 SageMaker Training에서 GPU 인스턴스(규모에 따라 ml.p3.2xlarge 또는 ml.p4d.24xlarge)를 사용하여 Hugging Face 프레임워크로 BERT, DistilBERT, Sentence-BERT와 같은 트랜스포머 모델을 파인튜닝하고, 지연 시간에 민감한 엔드포인트에는 ml.g4dn 또는 ml.p3에서 최적화된 추론을 사용합니다. 임베딩을 생성하여 S3 또는 SageMaker Feature Store에 저장합니다. 근사 최근접 이웃(approximate nearest-neighbor) 검색을 위해서는 전용 추론 클러스터에서 Faiss를 사용하거나, 엔터프라이즈 검색을 위해 Amazon Kendra를 사용합니다. 함정에 주의하세요. 다의어에 정적 임베딩을 사용하면 문맥을 잃게 됩니다. 과도한 차원은 저장 공간을 늘리고 최근접 이웃 조회를 느리게 하므로 PCA/UMAP 또는 양자화(quantization)를 적용하세요. 다운스트림 모델이 임베딩 드리프트에 민감한 경우, Model Monitor를 구현하여 임베딩 분포 변화를 추적하고 일관된 토크나이저와 모델 체크포인트를 사용하여 주기적으로 다시 임베딩하세요.
시퀀스 모델, 의도/슬롯 처리 및 개체 추출
시퀀스 모델링은 고전적인 LSTM/GRU부터 seq2seq 작업을 위한 트랜스포머 인코더-디코더까지 다양합니다. 대화형 시스템의 의도 탐지 및 슬롯 채우기를 위해서는 Amazon Lex를 활용하여 의도, 슬롯 유형, 이행(fulfillment) 훅을 관리하고, 복잡한 슬롯 검증이나 컨텍스트 보강을 위해 Lambda를 통합합니다. 맞춤형 모델의 경우, BERT 위에 조건부 무작위장(conditional random fields)을 사용하여 토큰 수준 NER을 훈련하거나, SageMaker에서 Hugging Face 토큰 분류 파인튜닝(ml.p3.2xlarge로 GPU 훈련)을 사용합니다. 요약이나 번역과 같은 Sequence-to-sequence 사용 사례는 인코더-디코더 트랜스포머(T5, BART)를 선호하며, 훈련에 더 큰 GPU 인스턴스가 필요합니다. 긴 시퀀스를 처리하기 위해 혼합 정밀도(AMP)와 그래디언트 누적(gradient accumulation)을 사용하세요. 개체 추출에는 Amazon Comprehend를 사용하여 즉시 사용 가능한 개체명을 추출할 수 있지만, 도메인 특화 개체(제품 SKU, 화학 물질 이름 등)의 경우 Comprehend Custom Entities를 선택하거나 자체 NER 모델을 파인튜닝하세요. 흔한 함정은 의도 분류와 슬롯 검증을 혼동하는 것입니다. 높은 의도 정확도가 올바른 슬롯 값을 보장하지는 않으므로, 스키마 검증, 신뢰도 임계값, 폴백(fallback) 의도를 추가해야 합니다. 프로덕션 환경에서는 비용 효율성을 위해 다중 모델 엔드포인트(multi-model endpoints)를 갖춘 SageMaker 엔드포인트를 통해 모델을 노출하고, 처리량이 많은 오프라인 작업에는 비동기식 추론이나 Batch Transform을 사용하세요.
음성: 텍스트 변환, 합성 및 엔드투엔드 음성 솔루션
음성 파이프라인은 음향 모델과 언어 모델을 모두 고려해야 합니다. 음성을 텍스트로 변환하는 경우, Amazon Transcribe는 사용자 지정 어휘 및 어휘 필터링과 같은 기능으로 일반적인 사용 사례를 처리하여 브랜드나 제품 이름의 인식을 향상시킵니다. Transcribe 작업 설정에서 사용자 지정 어휘와 어휘 필터링을 활성화하고, 음성 메일이나 여러 화자의 로그가 있는 경우 채널 식별 또는 화자 분리를 사용하세요. 엄격한 지연 시간 제약이 있는 매우 짧은 오디오의 경우, 저지연 WebSocket 연결을 사용하는 실시간 Transcribe Streaming을 선호하고, 전문 용어를 위해서는 Transcribe의 사용자 지정 언어 모델을 고려하세요. 텍스트 음성 변환(TTS)의 경우, Amazon Polly는 뉴럴 음성 및 SSML을 지원합니다. 자연스러운 고객 경험을 위해 어휘집과 SSML 태그를 사용하여 발음, 운율, 멈춤을 제어하세요. Lex를 Transcribe 및 Polly와 통합하여 음성 봇을 구축하고, Amazon Connect에 연결하여 전화 통신 기능을 구현하세요. 자주 빠지는 함정은 도메인 특정 이름에 대해 기본 언어 모델에만 의존하는 것입니다. 항상 사용자 지정 어휘를 추가하거나 모델을 세부 조정하세요. 오프라인 또는 온프레미스 요구 사항의 경우, SageMaker Neo를 사용하여 경량 모델을 패키징하거나 더 작은 음향 모델을 엣지 디바이스에 배포하고, 무거운 언어 모델 업데이트는 클라우드에서 중앙 집중화하고 SageMaker Model Registry에서 버전을 관리하세요.
실제 문제: 사용 사례 시나리오
시나리오: AWS에서 실행되는 GlobalNews Analytics는 S3에 데이터 파이프라인을, SageMaker Processing에서 전처리를 수행합니다. 매일 수백만 개의 영어 사용자 댓글을 수집하고 주제 분석을 위해 SageMaker 엔드포인트를 유지 관리합니다.
과제: 노이즈가 많고 종종 짧은 댓글에서 속어, 이모지, 수천 개의 고유 명사(제품/장소 이름)를 처리하면서 가장 많이 논의된 주제를 식별합니다.
권장 접근 방식:
- SageMaker Processing 작업(ml.m5.4xlarge)을 사용하여 결정론적 정제를 실행합니다: HTML 스트리핑, 유니코드 정규화, 이모지를 토큰으로 매핑, 적절한 경우 소문자 변환을 수행하고, 정리된 텍스트를 S3에 parquet 형식으로 저장합니다.
- ml.p3.2xlarge를 사용하는 SageMaker Training에서 Hugging Face를 통해 Sentence-BERT 모델을 세부 조정하여 문맥적 문장 임베딩을 생성합니다. 임베딩을 S3에 저장하고 선택적으로 Feature Store에도 저장합니다.
- Faiss(CPU 클러스터 또는 GPU 지원 노드)로 임베딩을 클러스터링하여 주제 그룹을 발견하고, SageMaker Processing 작업을 실행하여 클러스터별 상위 n-gram과 대표 문장을 계산합니다. 선택적으로 차원 축소를 위해 UMAP으로 클러스터를 구체화합니다.
- 새로운 댓글 임베딩을 위해 경량 추론 엔드포인트(ml.g4dn.xlarge)를 노출하여 프로덕션 환경에 배포하고, 야간 재클러스터링을 위해 Batch Transform을 사용하며, SageMaker Model Monitor를 활성화하여 임베딩 드리프트를 감지하고 분포 변화가 임계값을 초과할 때 재학습을 트리거합니다.
근거: 이 접근 방식은 확장 가능한 전처리, 짧고 노이즈가 많은 텍스트를 위한 문맥적 임베딩, 효율적인 유사성 기반 주제 발견의 균형을 맞추는 동시에, SageMaker를 학습, 추론, 모니터링에 사용하여 재현성과 운영 준비성을 보장합니다.
← 딥러닝 및 컴퓨터 비전 · 모든 도메인 · 시계열 및 예측 →
이 문제 연습하기 → · ExamRoll.io에서 시간 제한 연습 →
Pass the whole exam — not just this question
You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.
시험 합격하기 →