본문으로 건너뛰기

SageMaker Unified Studio와 S3를 활용한 비정형 데이터 기반 LLM 파인튜닝 가속화

Amazon SageMaker Unified Studio와 S3의 통합 기능을 통해 비정형 데이터를 효율적으로 관리하고 Llama 3.2 11B 모델을 파인튜닝하여 시각적 질의응답 성능을 4.9% 개선하는 워크플로우를 제시한다.

섹션별 상세

SageMaker Unified Studio와 S3 통합은 비정형 데이터의 검색 및 카탈로그화 과정을 단순화한다. 데이터 생산자가 S3 버킷을 프로젝트에 추가하고 메타데이터와 함께 SageMaker Catalog에 게시하면, 다른 팀원들이 이를 구독하여 즉시 모델 개발에 활용할 수 있다. 이 구조는 데이터 사일로를 제거하고 조직 내 데이터 자산의 가시성을 높이는 역할을 한다. S3 Access Grants를 활용해 복잡한 IAM 정책 없이도 안전한 데이터 공유가 가능하다.
bash
AWS_ACCOUNT_ID = "123456789"
S3_BUCKET_NAME = "s3://MY_BUCKET_NAME/"

# Get credentials
result = !aws s3control get-data-access --account-id {AWS_ACCOUNT_ID} --target {S3_BUCKET_NAME} --permission READ
json_response = json.loads(result.s)
creds = json_response['Credentials']

# Configure profile with cell magic
!aws configure set aws_access_key_id {creds['AccessKeyId']} --profile access-grants-consumer-access-profile

S3 Access Grants를 통해 임시 자격 증명을 획득하고 AWS CLI 프로필을 설정하는 과정

SageMaker Unified Studio 내 데이터 생산자와 소비자 프로젝트 간의 데이터 공유 및 모델 개발 아키텍처
DiagramS3 Access Grants와 SageMaker Catalog를 통해 프로젝트 간에 데이터가 어떻게 안전하게 유통되는지 보여주는 기술 아키텍처이다. IAM 역할 기반의 접근 제어와 MLflow 통합 지점을 명시한다.
Llama 3.2 11B Vision Instruct 모델을 활용한 시각적 질의응답(VQA) 성능 최적화 실험을 수행한다. DocVQA 데이터셋을 1,000개에서 10,000개까지 다양한 규모로 구성하여 파인튜닝을 진행하고 데이터 양에 따른 성능 변화를 분석한다. ANLS 지표를 기준으로 평가했을 때 데이터셋 규모가 커질수록 모델의 텍스트 추출 및 이해 정확도가 선형적으로 향상됨이 확인됐다. 이는 특정 도메인 데이터가 모델의 정밀도 향상에 미치는 영향을 입증한다.
python
import os
from datasets import load_dataset

# Create data directory
os.makedirs("data", exist_ok=True)

# Load and save train split (first 10,000 rows)
train_data = load_dataset("HuggingFaceM4/DocumentVQA", split="train[:10000]", cache_dir="./data")
train_data.save_to_disk("data/train")

Hugging Face에서 DocVQA 데이터셋을 로드하여 로컬 디렉토리에 저장하는 코드

영수증 이미지와 거래 날짜를 묻는 질문에 대해 LLM이 답변을 생성하는 과정을 보여주는 다이어그램
Diagram본문에서 다루는 시각적 질의응답(VQA) 작업의 기본 개념을 설명한다. 이미지 데이터와 텍스트 질문이 LLM의 입력으로 들어가 정답을 도출하는 흐름을 직관적으로 보여준다.
서버리스 MLflow와 SageMaker JumpStart를 연동하여 실험 관리 및 모델 평가의 투명성을 확보한다. JumpStartEstimator를 통해 p4de.24xlarge 인스턴스에서 학습을 진행하며, MLflow는 하이퍼파라미터와 ANLS 점수 등 핵심 지표를 자동으로 기록한다. 최종 실험 결과 10,000개 이미지를 학습한 모델이 90.2%의 ANLS 점수를 기록하며 기본 모델 대비 4.9% 포인트의 성능 향상을 달성했다. 관리형 MLflow를 통해 여러 모델 버전의 성능을 시각적으로 비교하고 최적의 모델을 선택할 수 있다.
python
def training_pipeline(training_size):
    experiment_name = f"docvqa-{training_size}"
    mlflow.set_experiment(experiment_name)
    
    with mlflow.start_run(run_name="pipeline-run"):
        with mlflow.start_run(run_name="TrainDeploy", nested=True) as run:
            model_name = train(f"docvqa-{training_size}", "ml.p4d.24xlarge", training_data_path, experiment_name, run)

MLflow를 사용하여 데이터 전처리, 학습, 배포 과정을 추적하는 파이프라인 정의

S3 버킷에서 데이터셋을 추출하여 세 가지 크기의 학습 데이터셋을 만들고 모델을 학습 및 평가하는 전체 프로세스 플로우
DiagramDocVQA 데이터셋을 1k, 5k, 10k 단위로 분할하여 SageMaker JumpStart로 학습시키고 MLflow로 평가하는 실험 설계를 요약한다. 전체 튜토리얼의 논리적 단계를 한눈에 파악할 수 있게 돕는다.
JupyterLab 스페이스 생성 시 유휴 시간(Idle time)을 설정하는 화면
Screenshot대규모 모델 학습 시 세션이 끊기지 않도록 유휴 시간을 6시간으로 설정할 것을 권장하는 본문의 내용을 보완한다. 실무적인 환경 설정 팁을 시각적으로 전달한다.

용어 해설

시각적 질의응답(VQA)
이미지와 그에 대한 자연어 질문을 입력받아 적절한 텍스트 답변을 생성하는 AI 작업이다. 모델이 이미지 내의 텍스트, 객체, 관계를 동시에 이해해야 하므로 멀티모달 이해 능력을 평가하는 핵심 지표로 활용된다.
평균 정규화 레벤슈타인 유사도(ANLS)
VQA 작업에서 모델의 예측값과 정답 사이의 문자열 유사도를 측정하는 지표이다. 오타나 사소한 표기 차이에 대해 0과 1 사이의 점수를 부여하여 단순 정확도보다 모델의 실제 성능을 더 정밀하게 반영한다.
S3 액세스 권한 부여(S3 Access Grants)
S3 데이터에 대한 접근 권한을 IAM 정책 대신 임시 자격 증명을 통해 세밀하게 제어하는 기능이다. 데이터 생산자가 소비자에게 복잡한 권한 설정 없이 안전하게 대규모 데이터셋을 공유할 수 있게 돕는다.
세이지메이커 유니파이드 스튜디오(SageMaker Unified Studio)
데이터 분석, 머신러닝, 생성형 AI 개발 도구를 하나의 인터페이스로 통합한 AWS의 개발 환경이다. 프로젝트 기반의 협업과 데이터 카탈로그 기능을 통해 데이터 준비부터 모델 배포까지의 전 과정을 가속화한다.

기술

  • Llama 3.2 11B Vision Instruct
  • Amazon SageMaker Unified Studio
  • Amazon S3
  • MLflow
  • SageMaker JumpStart
  • Python
  • Hugging Face Datasets

활용 사례

  • 문서 기반 질의응답 시스템 구축
  • 영수증 및 금융 서류 자동 분석
  • 비정형 데이터 카탈로그 관리
  • 멀티모달 LLM 성능 최적화
AI 분석 전체 내용 보기

AI 요약 · 북마크 · 개인 피드 설정 — 무료

출처 · 인용 안내

원문 발행 2026. 03. 27.수집 2026. 03. 27.출처 타입 RSS

인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.