Articleaws.amazon.com·2026년 7월 6일·0

Streaming benchmark and recommendation results to MLflow with Amazon SageMaker AI

Quick Summary

Amazon SageMaker AI의 벤치마크 및 최적화 추천 작업 결과를 SageMaker MLflow App으로 실시간 스트리밍해 여러 실험을 한곳에서 추적·비교·재현하도록 하는 통합 기능을 설명한다.

Streaming benchmark and recommendation results to MLflow with Amazon SageMaker AI 관련 대표 이미지

🖼️ 인포그래픽

Streaming benchmark and recommendation results to MLflow with Amazon SageMaker AI 내용을 설명하는 본문 이미지

🖼️ 4컷 인포그래픽

Streaming benchmark and recommendation results to MLflow with Amazon SageMaker AI 내용을 설명하는 본문 이미지

💡 한 줄 요약

Amazon SageMaker AI의 벤치마크 및 최적화 추천 작업 결과를 SageMaker MLflow App으로 실시간 스트리밍해 여러 실험을 한곳에서 추적·비교·재현하도록 하는 통합 기능을 설명한다.

📌 핵심 요약

  • 글은 생성형 AI 모델 배포 전 여러 GPU 인스턴스 유형, 서빙 컨테이너, 병렬화 전략, speculative decoding 같은 최적화 기법을 비교하는 과정이 복잡하고 시간이 오래 걸린다는 문제의식에서 출발한다.
  • 새 MLflow 통합은 Amazon SageMaker AI의 optimized inference recommendation job과 benchmark job 결과를 지정한 SageMaker MLflow App으로 자동 스트리밍해 지표, 파라미터, 차트, 실행 정보를 한 실험 화면에서 관리하게 한다.
  • 사용 절차는 SageMaker Studio에서 MLflow App을 만들고, 실행 역할에 MLflow App ARN 대상 권한을 부여한 뒤, 벤치마크 또는 추천 작업 생성 시 OutputConfig 안에 MlflowConfig를 전달하는 방식이다.
  • 주요 이점은 수동 데이터 통합 제거, 긴 작업의 실시간 모니터링, 지표와 아티팩트가 포함된 감사 추적, 팀 간 협업과 거버넌스 강화이며, 같은 실험 이름 아래 여러 실행을 나란히 비교할 수 있다는 점이다.
  • 예시는 Qwen/Qwen2-0.5B-Instruct 모델과 OpenAI 호환 서빙 스택을 사용해 기존 SageMaker endpoint 벤치마크와 S3 모델 아티팩트 기반 추천 작업을 같은 MLflow 실험에 기록하는 흐름을 보여준다.

🧩 주요 포인트

  1. 글은 생성형 AI 모델 배포 전 여러 GPU 인스턴스 유형, 서빙 컨테이너, 병렬화 전략, speculative decoding 같은 최적화 기법을 비교하는 과정이 복잡하고 시간이 오래 걸린다는 문제의식에서 출발한다.
  2. 새 MLflow 통합은 Amazon SageMaker AI의 optimized inference recommendation job과 benchmark job 결과를 지정한 SageMaker MLflow App으로 자동 스트리밍해 지표, 파라미터, 차트, 실행 정보를 한 실험 화면에서 관리하게 한다.
  3. 사용 절차는 SageMaker Studio에서 MLflow App을 만들고, 실행 역할에 MLflow App ARN 대상 권한을 부여한 뒤, 벤치마크 또는 추천 작업 생성 시 OutputConfig 안에 MlflowConfig를 전달하는 방식이다.
  4. 주요 이점은 수동 데이터 통합 제거, 긴 작업의 실시간 모니터링, 지표와 아티팩트가 포함된 감사 추적, 팀 간 협업과 거버넌스 강화이며, 같은 실험 이름 아래 여러 실행을 나란히 비교할 수 있다는 점이다.
  5. 예시는 Qwen/Qwen2-0.5B-Instruct 모델과 OpenAI 호환 서빙 스택을 사용해 기존 SageMaker endpoint 벤치마크와 S3 모델 아티팩트 기반 추천 작업을 같은 MLflow 실험에 기록하는 흐름을 보여준다.

🧠 상세 정리

1. 생성형 AI 추론 최적화의 복잡성

글은 생성형 AI 모델을 실제 운영 환경에 배포하기 전 팀들이 수많은 선택지를 평가해야 한다는 점을 먼저 짚는다. 평가 대상에는 여러 GPU 인스턴스 유형, 서빙 컨테이너, 병렬화 전략, speculative decoding 같은 최적화 기법이 포함된다. 실무자는 어떤 조합을 시도했고 무엇이 효과적이었는지, 또 그 이유가 무엇인지 수작업으로 정리하느라 몇 주를 보낼 수 있다. 이 문제를 줄이기 위해 SageMaker AI의 최적화된 생성형 AI 추론 추천 기능이 도입되었고, 이번 글은 여기에 MLflow 통합이 추가되면서 실험 추적 방식이 어떻게 바뀌는지를 설명한다.

2. MLflow 통합의 핵심 목적

이번 통합의 핵심은 AI 벤치마크와 추천 작업 결과를 하나의 추적 인터페이스로 자동 스트리밍하는 것이다. Amazon SageMaker AI benchmark job과 optimized inference recommendation job에서 생성되는 지표, 파라미터, 차트가 서버리스 SageMaker MLflow App으로 실시간 전송된다. 그 결과 팀은 여러 작업의 결과를 별도로 모으거나 정리하지 않고도 같은 실험 안에서 실행들을 비교할 수 있다. 글은 이 방식이 데이터 사일로를 줄이고 반복 주기를 빠르게 하며, 추론 최적화 워크플로의 재현성을 높인다고 설명한다.

3. 기본 설정 흐름

설정 과정은 비교적 명확한 세 단계로 제시된다. 먼저 AWS 계정의 Amazon SageMaker Studio에서 MLflow로 이동해 MLflow App을 생성한다. 다음으로 해당 작업의 실행 역할에 MLflow App ARN을 대상으로 sagemaker-mlflow:* 권한을 추가한다. 마지막으로 벤치마크 작업이나 추천 작업을 만들 때 MlflowConfig를 전달하면, SageMaker AI가 지정된 MLflow App과 실험 이름으로 결과를 스트리밍한다. 같은 MLflow experiment에 여러 작업을 제출하면 MLflow 실험 화면에서 실행들을 선택해 나란히 비교할 수 있다.

4. 수동 통합 제거와 비교 가능성

첫 번째 이점은 여러 작업에서 나온 결과를 수동으로 모으는 과정을 없애는 것이다. 기존에는 지표, 로그, 설정값이 서로 다른 위치에 흩어져 있을 수 있어 실험 간 비교에 추가 정리 작업이 필요했다. MLflow 통합을 사용하면 같은 실험 이름 아래 벤치마크와 추천 결과가 자동으로 모이고, 인스턴스 유형, 모델 설정, 배치 크기, speculative decoding 여부 같은 차이가 성능에 어떤 영향을 주는지 비교할 수 있다. 글은 예시로 qwen2-0.5b를 ml.g4dn.12xlarge와 ml.p4d.24xlarge에서 비교하는 상황을 언급한다.

5. 장시간 작업의 실시간 관찰

벤치마크와 추천 작업은 몇 시간이 걸릴 수 있기 때문에, 완료될 때까지 아무 정보 없이 기다리는 방식은 비효율적이다. 이번 통합에서는 각 구성이 테스트되는 동안 지연 시간과 처리량 같은 지표가 MLflow UI에 실시간으로 업데이트된다. 글은 이러한 지표가 작업 종료 시점에 한 번만 게시되는 것이 아니라 metrics 섹션에 지속적으로 반영된다고 설명한다. 사용자는 추천 작업에서 처리량이 기대와 맞는지 중간에 확인할 수 있고, 결과가 기대와 크게 다르면 작업을 일찍 중단하는 판단도 가능하다.

6. 감사 추적, 재현성, 협업

통합 기능은 실험 실행의 전체 맥락을 남기는 감사 추적에도 초점을 둔다. 실행에는 작업 파라미터, 타임스탬프, 체크포인트별 지표, 생성된 아티팩트가 포함되며, 이 기록은 이후에도 조회 가능하고 재현 가능한 상태로 남는다. 이를 통해 어떤 설정 변경이 성능 개선을 만들었는지, 어느 지점에서 성능 향상이 정체되었는지 되짚을 수 있다. 또한 공유 MLflow experiment가 최적화 작업의 단일 기준점이 되므로, 팀원들은 이미 시도한 것과 성공 또는 실패한 접근을 함께 확인하고 중복 작업을 줄일 수 있다.

7. Qwen 모델 기반 예시 시나리오

기술 예시는 Qwen/Qwen2-0.5B-Instruct 모델을 Amazon SageMaker AI 실시간 endpoint에 배포한 고객 상황을 전제로 한다. 이 endpoint는 OpenAI 호환 서빙 스택을 사용하며 ml.g6.12xlarge 인스턴스에서 동작한다고 제시된다. 팀은 가벼운 챗봇 워크로드에서 기존 Qwen endpoint가 어떻게 동작하는지, 더 긴 프롬프트와 응답을 가진 큰 워크로드에는 어떤 구성을 써야 하는지 답하려 한다. 이를 위해 기존 endpoint는 benchmark job으로 평가하고, Amazon S3에 저장된 Qwen 모델 아티팩트는 recommendation job으로 평가해 순위화된 구성을 얻는다. 두 작업 모두 같은 SageMaker MLflow experiment에 지표와 파라미터, 차트를 기록하도록 구성된다.

8. 사전 조건과 주요 유의점

노트북을 실행하려면 Amazon SageMaker AI에서 개발 환경으로 SageMaker Studio를 설정하고, SageMaker Unified Studio에서 MLflow App을 만들어야 한다. benchmark job에는 이미 InService 상태인 OpenAI 호환 모델 endpoint가 필요하며, recommendation job에는 Amazon S3의 모델 아티팩트가 필요하다. 실행 역할에는 AmazonSageMakerFullAccess 또는 이에 상응하는 범위의 권한, sagemaker-mlflow:* 및 관련 MLflow App 호출 권한, endpoint invoke 권한, S3 출력 버킷 읽기·쓰기 권한이 요구된다. 글은 이 통합이 SageMaker MLflow Apps를 지원하며 self-hosted MLflow tracking server로 결과를 스트리밍하지 않는다고 명시한다. 또한 MLflow nested run 지원을 위해 tooling.version을 0.8.0 이상으로 설정하고, S3 출력 버킷은 작업과 같은 리전에 있어야 한다고 설명한다.

9. 벤치마크 작업 구성

벤치마크 예시는 환경 변수와 SageMaker 클라이언트를 설정하는 코드에서 시작한다. REGION, ACCOUNT_ID, MLFLOW_APP_ARN, ENDPOINT_NAME, S3_OUTPUT_BUCKET 같은 값을 환경에 맞게 지정하고, boto3로 SageMaker 클라이언트를 초기화한다. 이어 실행 역할을 조회하고, MLflow App 상태가 Created 또는 Updated인지 확인한 뒤 공유 실험 이름과 고유한 run 이름을 정의한다. benchmark workload는 NVIDIA AIPerf와 OpenAI 호환 API 스키마를 사용하며, 배포된 모델과 tokenizer가 일치해야 한다고 강조한다. 핵심 설정은 create_ai_benchmark_job의 OutputConfig 안에 MlflowConfig를 넣어 MLflow 리소스 ARN, 실험 이름, 실행 이름을 전달하는 부분이다.

10. 추천 작업 구성과 같은 실험 사용

추천 작업은 배포 구성을 평가하고 워크로드 및 성능 목표를 기준으로 적합한 옵션을 추천하는 작업으로 설명된다. benchmark job과 달리 recommendation job은 평가 과정에서 내부적으로 자체 endpoint를 프로비저닝한다. 글의 예시는 더 긴 입력 토큰과 출력 토큰을 가진 rec_workload를 정의하며, 동일하게 AIPerf와 OpenAI 호환 tooling 설정을 사용한다. 중요한 점은 benchmark job과 같은 MLflow experiment 이름을 사용해 두 실행이 SageMaker MLflow App에서 함께 보이도록 하는 것이다. 이렇게 하면 기존 endpoint 성능 평가와 대안 구성 탐색 결과를 하나의 실험 맥락에서 비교할 수 있다.

🧾 핵심 주장 / 시사점

  • 이 통합의 실질적 가치는 새 모델 자체가 아니라, 추론 최적화 실험의 기록·비교·감사를 관리형 MLflow 흐름으로 묶는 데 있다.
  • 긴 벤치마크와 추천 작업에서 실시간 지표를 볼 수 있으면 완료 후 사후 분석만 하는 방식보다 빠르게 중단·조정·반복할 수 있다.
  • 같은 MlflowExperimentName을 일관되게 쓰는 것이 팀 단위 최적화에서 중복 실험을 줄이고, 과거 결정의 근거를 유지하는 핵심 운영 습관으로 제시된다.

✅ 액션 아이템

  • SageMaker Studio에서 SageMaker MLflow App을 생성하고 실행 역할에 대상 MLflow App ARN 권한을 부여해 벤치마크·추천 결과의 실시간 스트리밍을 연동한다.
  • benchmark job과 optimized inference recommendation job 생성 시 OutputConfig에 MlflowConfig를 넣어 지표·파라미터·차트·실행 정보를 한 실험 화면에서 추적·비교한다.
  • Qwen/Qwen2-0.5B-Instruct 예시를 기준으로 기존 SageMaker endpoint 벤치마크와 S3 모델 아티팩트 추천을 동일 실험명 아래로 묶어 재현성 비교 프레임을 정의한다.

❓ 열린 질문

  • 어떤 실험군 구성으로 GPU 인스턴스 유형, 서빙 컨테이너, 병렬화 전략, speculative decoding 조합의 우선순위를 정할 것인가?
  • 긴 작업에서 실시간 모니터링으로 남길 지표·차트·아티팩트 범위는 무엇이며 팀 간 협업을 위해 어떤 항목을 필수로 남겨야 하는가?
  • SageMaker MLflow App 내 동일 실험명 병렬 실행에서 어떤 기준을 두어 실험 구분과 감사 추적의 재현성을 동시에 보장할 것인가?

관련 문서

공통 태그와 주제 흐름을 기준으로 같이 보면 좋은 문서를 이어서 제안합니다.