모델링 접근법 선택

MLA-C01 대비 SageMaker 내장 알고리즘, JumpStart 파운데이션 모델, Bedrock, Autopilot AutoML, 커스텀 컨테이너 중 문제 유형에 맞는 모델링 접근법 선택 기준을 정리합니다.

모델 선택: 알고리즘 지식이 아니라 판단력의 문제

 

ML 엔지니어가 신입에서 시니어로 성장하면서 겪는 가장 큰 인식 변화 중 하나는 "최신 알고리즘을 아는 것"보다 "언제 어떤 접근법을 쓸지 판단하는 것"이 훨씬 중요하다는 사실을 깨닫는 것입니다. PyTorch로 최신 트랜스포머를 구현할 수 있어도, 분류 문제에 XGBoost가 더 적합한 상황인지, 아니면 파운데이션 모델을 파인튜닝하는 것이 나은지를 판단하지 못한다면 프로젝트 비용과 시간이 불필요하게 낭비됩니다.

AWS MLA-C01 시험의 도메인 2(ML 모델 개발) 태스크 2.1이 바로 이 판단 능력을 테스트합니다. 문제 유형별로 적합한 서비스와 알고리즘을 선택하고, 상황 제약(레이블 여부, 데이터 규모, 지연 허용치, 비용 제약, 팀의 ML 성숙도)에 따라 최적의 접근법을 고르는 능력입니다.

 

문제 유형에서 시작하는 알고리즘 선택

 

모델 선택의 출발점은 항상 풀고자 하는 문제의 유형입니다. 비즈니스 요구사항을 ML 문제 유형으로 변환하는 것이 첫 번째 단계입니다.

| ML 문제 유형 | 구체적 사례 | SageMaker 접근법 | |------------|-----------|----------------| | 이진 분류 | 이탈 예측, 스팸 탐지, 사기 거래 감지 | XGBoost, Linear Learner | | 다중 클래스 분류 | 상품 카테고리 분류, 감정 분석 | XGBoost, BlazingText | | 회귀 | 가격 예측, 수요 예측 | XGBoost, Linear Learner, DeepAR | | 시계열 예측 | 매출 예측, 트래픽 예측 | DeepAR, Amazon Forecast | | 이상 탐지 | 네트워크 침입, 제조 불량 탐지 | Random Cut Forest | | 군집화 | 고객 세분화, 문서 그룹화 | K-Means | | 차원 축소 | 피처 압축, 시각화 전처리 | PCA | | 이미지 분류 | 상품 이미지 분류, 의료 영상 진단 | SageMaker Image Classification, Rekognition | | 객체 감지 | 자율주행, 재고 관리 | SageMaker Object Detection | | 텍스트 분류/임베딩 | 리뷰 감정 분석, 유사 문서 검색 | BlazingText | | 기계 번역/요약 | 다국어 지원, 문서 요약 | Seq2Seq, Amazon Translate | | 생성형 AI | 챗봇, 코드 생성, 이미지 생성 | Amazon Bedrock, SageMaker JumpStart | | 추천 시스템 | 상품 추천, 콘텐츠 큐레이션 | Amazon Personalize |

이 표의 핵심은 각 문제 유형에 기본적으로 고려할 접근법을 빠르게 연결하는 것입니다. 그러나 이 매핑이 절대적이지 않습니다. 데이터 특성과 운영 요구사항에 따라 더 세밀한 선택이 필요합니다.

 

SageMaker 내장 알고리즘 상세 가이드

 

SageMaker Built-in Algorithms는 AWS가 최적화하여 제공하는 알고리즘들입니다. 별도의 코드 작성 없이 알고리즘 이미지 URI를 지정하고 하이퍼파라미터를 설정하면 바로 훈련을 시작할 수 있습니다. 내장 알고리즘은 SageMaker 분산 훈련 아키텍처에 맞게 최적화되어 있어 커스텀 코드 대비 확장 성능이 뛰어납니다.

지도학습 알고리즘 중 가장 먼저 고려할 것은 XGBoost입니다. 표 형식 데이터에서 분류와 회귀 모두에 사용할 수 있고, 결측값 처리, 희소 데이터 지원, 피처 중요도 출력 기능이 있습니다. Kaggle 머신러닝 경진대회에서 가장 많이 우승한 알고리즘 중 하나로, 실무에서 첫 번째 선택지로 자주 쓰입니다. Linear Learner는 XGBoost보다 빠르고 설명 가능성이 높습니다. 대규모 데이터셋에서 선형 관계를 가정할 때 우선 적용해볼 만합니다.

컴퓨터 비전 알고리즘으로는 세 가지가 있습니다. Image Classification은 ResNet 기반의 이미지 분류기로, 커스텀 레이블 데이터로 파인튜닝도 지원합니다. Object Detection은 이미지 내 여러 객체의 위치(bounding box)와 클래스를 동시에 예측합니다. Semantic Segmentation은 픽셀 단위로 객체를 구분하는 가장 세밀한 수준의 컴퓨터 비전 작업입니다.

자연어 처리 알고리즘인 BlazingText는 두 가지 모드를 지원합니다. Word2Vec 모드로 단어 임베딩을 학습하거나, 텍스트 분류 모드로 문서를 카테고리에 분류합니다. Sequence to Sequence(Seq2Seq)는 인코더-디코더 구조로 번역, 요약, 질의응답 등 시퀀스 변환 작업에 쓰입니다. 현재는 Bedrock이나 JumpStart의 파운데이션 모델로 대체되는 경우가 많지만, 자체 훈련 데이터로 특정 도메인에 최적화할 때 여전히 유효합니다.

비지도학습 알고리즘 중 K-Means는 가장 널리 쓰이는 군집화 알고리즘입니다. 전처리로 PCA와 함께 쓰면 고차원 데이터에서도 효과적입니다. Random Cut Forest(RCF)는 SageMaker의 이상 탐지 전용 알고리즘으로, 라벨 없는 데이터에서 이상 점수(anomaly score)를 출력합니다. 시계열 이상 탐지에도 활용됩니다.

시계열 예측 알고리즘인 DeepAR은 여러 시계열을 동시에 학습하는 순환 신경망(RNN) 기반 알고리즘입니다. 단순 ARIMA보다 더 복잡한 계절성 패턴과 외부 요인을 반영할 수 있어 수요 예측, 에너지 소비 예측 등 실무 시계열 문제에 자주 쓰입니다.

 

내장 알고리즘 vs BYOC: 언제 커스텀 컨테이너를 써야 하나

 

SageMaker 내장 알고리즘이 강력하지만 모든 문제를 커버하지는 않습니다. 커스텀 훈련 컨테이너(BYOC, Bring Your Own Container)가 필요한 시나리오를 명확히 파악해두어야 합니다.

내장 알고리즘을 먼저 고려해야 하는 경우는 다음과 같습니다. 표 형식 분류/회귀 문제에 XGBoost나 Linear Learner가 적합할 때, 이미지/텍스트 문제에 SageMaker Built-in이 지원될 때, 빠른 프로토타이핑이 필요할 때, 분산 훈련 최적화를 AWS가 관리하기를 원할 때입니다.

커스텀 컨테이너(BYOC)가 필요한 경우는 팀이 PyTorch, TensorFlow, scikit-learn 등으로 이미 구현한 커스텀 모델이 있을 때, 특수 라이브러리나 프레임워크 버전이 필요할 때, 강화학습처럼 내장 알고리즘이 없는 문제 유형일 때, 그리고 학술 논문의 최신 모델 아키텍처를 바로 적용할 때입니다.

SageMaker Script Mode는 두 방식의 중간 지점입니다. AWS가 관리하는 PyTorch, TensorFlow, scikit-learn 컨테이너를 기반으로 커스텀 훈련 스크립트를 주입하는 방식으로, 대부분의 커스텀 훈련 요구사항을 완전한 BYOC 없이 처리할 수 있습니다.

!내장 알고리즘 vs BYOC

SageMaker JumpStart: 파운데이션 모델의 시작점

 

SageMaker JumpStart는 사전 훈련된 모델, 솔루션 템플릿, 예제 노트북을 제공하는 허브입니다. 2024년 이후에는 특히 파운데이션 모델 접근에서 핵심 역할을 합니다.

JumpStart에서 제공하는 모델 카테고리는 크게 세 가지입니다. 텍스트 생성 및 LLM(Llama 2/3, Mistral, Falcon 등), 텍스트-이미지 생성(Stable Diffusion), 임베딩 모델(다국어 텍스트 임베딩)입니다. 이 모델들은 원클릭 배포 또는 파인튜닝이 가능하며, 파인튜닝 시에는 도메인 특화 데이터를 S3에 업로드하고 JumpStart 파인튜닝 작업을 시작하면 됩니다.

JumpStart와 Bedrock의 차이를 이해하는 것이 중요합니다. JumpStart는 모델 가중치를 자신의 AWS 계정 인프라에서 실행합니다. 따라서 모델 커스터마이징(파인튜닝), 낮은 지연 추론, 데이터 프라이버시가 중요한 경우에 적합합니다. Bedrock은 모델 인프라를 AWS가 완전히 관리하는 서버리스 방식으로, API 호출만으로 다양한 파운데이션 모델(Anthropic Claude, Amazon Titan, Meta Llama 등)을 사용할 수 있습니다. 빠른 프로토타이핑, RAG 구축, 인프라 관리 없이 생성형 AI를 쓰고 싶을 때 선택합니다.

 

Amazon Bedrock과 생성형 AI 시나리오

 

Amazon Bedrock은 MLA-C01에서 비중이 점점 커지고 있는 영역입니다. 여러 파운데이션 모델 제공사의 모델을 단일 API로 사용하면서 데이터가 모델 훈련에 사용되지 않는다는 보안 보장이 핵심 가치입니다.

Bedrock의 주요 기능을 정리하면 다음과 같습니다. 텍스트 생성·요약·번역은 Claude, Titan Text, Llama로 처리합니다. 이미지 생성은 Stable Diffusion, Amazon Titan Image Generator로 합니다. 임베딩은 Amazon Titan Embeddings를 사용하며, 이는 RAG(Retrieval-Augmented Generation) 시스템의 핵심 구성 요소입니다. Knowledge Bases for Bedrock는 S3 문서를 자동으로 임베딩하고 OpenSearch Serverless나 Aurora에 저장하여 RAG 파이프라인을 완성합니다. Agents for Bedrock는 LLM이 외부 API와 연동하여 다단계 작업을 수행하는 에이전트 패턴을 지원합니다.

시험에서 Bedrock 관련 문제는 보통 "생성형 AI 기능을 빠르게 구현하면서 인프라 관리를 최소화하려면 무엇을 써야 하는가"라는 형태로 출제됩니다. 인프라 프로비저닝 없이 API만으로 파운데이션 모델을 사용한다는 점이 SageMaker 엔드포인트와의 차이입니다.

 

SageMaker Autopilot: AutoML의 실용적 이해

 

SageMaker Autopilot은 데이터를 주면 자동으로 데이터 전처리, 알고리즘 선택, 하이퍼파라미터 튜닝, 앙상블 구성까지 수행하는 AutoML 서비스입니다. 내부적으로 수십 개의 후보 파이프라인을 병렬로 실험하고 최적 모델을 선정합니다.

Autopilot의 핵심 장점은 과정의 투명성입니다. 단순한 블랙박스 AutoML이 아니라, 생성된 전처리 코드와 훈련 코드를 노트북 형태로 제공합니다. 즉, Autopilot이 찾은 최적 파이프라인을 그대로 사용하거나, 노트북 코드를 수정하여 추가 커스터마이징을 할 수 있습니다.

Autopilot이 적합한 시나리오는 빠른 베이스라인 모델 수립, ML 경험이 부족한 팀의 초기 실험, 데이터 전처리 접근법을 자동 탐색할 때입니다. 반면, 특수 알고리즘이나 복잡한 피처 엔지니어링이 필요하면 커스텀 훈련 코드가 필요합니다.

 

전이학습과 파인튜닝 패턴

 

사전 훈련된 모델을 도메인 특화 데이터로 파인튜닝하는 전이학습은 현대 ML의 가장 실용적인 패턴 중 하나입니다. 특히 레이블 데이터가 적을 때 강력한 효과를 발휘합니다.

SageMaker에서의 전이학습 경로는 크게 세 가지입니다. 첫째, JumpStart에서 사전 훈련된 모델을 선택하고 커스텀 데이터셋으로 파인튜닝합니다. 파인튜닝에 필요한 훈련 코드가 자동으로 제공되어 쉽게 시작할 수 있습니다. 둘째, SageMaker Script Mode에서 Hugging Face 허브의 모델을 로드하고 transformers 라이브러리로 파인튜닝합니다. SageMaker는 Hugging Face와 긴밀히 통합되어 있어 Estimator 클래스를 제공합니다. 셋째, Bedrock의 Fine-tuning 기능을 사용합니다. Titan, Claude 일부 버전에서 커스텀 데이터로 파인튜닝이 가능하며, 인프라 관리 없이 API 수준에서 처리됩니다.

파인튜닝에서 PEFT(Parameter-Efficient Fine-Tuning) 기법, 특히 LoRA(Low-Rank Adaptation)를 알아두는 것이 좋습니다. 전체 모델 파라미터가 아닌 소수의 어댑터 가중치만 훈련하므로 GPU 메모리 요구량이 크게 줄고 훈련 시간도 단축됩니다. JumpStart의 LLM 파인튜닝에서 기본으로 사용됩니다.

 

AI 관리형 서비스: ML이 필요 없는 ML

 

모든 ML 문제를 SageMaker로 직접 해결할 필요는 없습니다. AWS의 AI 관리형 서비스들은 모델 훈련 없이 API 호출만으로 ML 기능을 제공합니다.

| 서비스 | 기능 | 사용 사례 | |--------|------|---------| | Amazon Rekognition | 이미지·비디오 분석 (객체 감지, 얼굴 인식, 콘텐츠 검수) | 콘텐츠 모더레이션, 신원 확인 | | Amazon Comprehend | 자연어 처리 (감정 분석, 엔티티 인식, 주제 모델링) | 고객 리뷰 분석, 문서 분류 | | Amazon Translate | 신경망 기반 기계 번역 (75개 이상 언어) | 다국어 서비스, 콘텐츠 현지화 | | Amazon Transcribe | 자동 음성 인식 (STT) | 콜센터 분석, 미팅 요약 | | Amazon Polly | 텍스트-음성 변환 (TTS) | 오디오북, 음성 인터페이스 | | Amazon Textract | 문서 텍스트·양식·테이블 추출 | 청구서 처리, 서류 자동화 | | Amazon Forecast | 시계열 예측 서비스 | 수요 예측, 재고 최적화 | | Amazon Personalize | 실시간 추천 서비스 | 상품 추천, 뉴스피드 개인화 |

관리형 서비스를 선택해야 하는 신호는 다음과 같습니다. 팀에 ML 전문성이 부족할 때, 표준화된 기능(번역, 음성 인식 등)이 요구사항을 충족할 때, 빠른 출시가 필요할 때, 유지보수 부담을 최소화할 때입니다. 반대로, 도메인 특화 정확도가 범용 서비스보다 훨씬 중요하다면 SageMaker로 커스텀 모델을 훈련하는 것이 맞습니다.

 

해석 가능성 vs 정확도의 트레이드오프

 

모델을 선택할 때 정확도 외에 해석 가능성(interpretability)도 중요한 요소입니다. 모든 비즈니스 문제에 딥러닝이 정답이 아닌 이유가 여기 있습니다.

블로그 목록으로 돌아가기