Amazon SageMaker Python SDK로 AI 추론 워크플로우 간편하게 구축하고 배포하기
AI 애플리케이션이 점점 복잡해지면서, 여러 개의 모델을 조합해 하나의 추론 흐름을 구성하는 워크플로우 방식이 주요 선택지가 되고 있습니다. 특히 생성형 AI 도입이 가속화되며, 다양한 모델들이 논리적으로 연결되어 하나의 작업을 수행하는 사례가 늘고 있습니다. AWS는 이러한 필요를 해결하기 위해 SageMaker Python SDK에 새로운 기능을 추가하여, 실시간 추론 워크플로우를 쉽게 구축하고 배포할 수 있도록 지원합니다.
이 글에서는 SageMaker Python SDK의 신규 기능을 활용하여 모델 그룹을 단일한 서비스로 통합하고, 이를 손쉽게 코드 기반으로 조작할 수 있는 방법과 함께 주요 활용 사례를 소개합니다.
워크플로우 모드: 복잡한 추론 흐름 구성도 문제없다
기존 SageMaker에서 여러 모델을 활용하려면 각각 별도로 패키징하고 엔드포인트를 만들어야 하는 복잡한 과정이 있었으나, 이번 SDK 업데이트로 단일 엔드포인트에 여러 모델을 올리고 하나의 추론 흐름으로 조작할 수 있게 되었습니다. 새롭게 추가된 "워크플로우 모드"는 다음과 같은 중요 이점을 제공합니다:
- 여러 모델을 묶어 하나의 워크플로우로 패키징하여 통합 관리
- Python 코드 기반으로 모델 간 데이터 흐름 및 순서 정의
- 모델 간 재사용 및 독립적 인스턴스 스케일링 가능
- SDK 메서드를 통해 워크플로우 전체나 특정 모델만 호출 가능
ModelBuilder 및 CustomOrchestrator: 추론 자동화의 핵심 구성요소
새 SDK의 핵심 클래스는 ModelBuilder와 CustomOrchestrator입니다. 각각 모델 패키징 및 복합 추론 로직 정의를 책임지며, 다음의 방식으로 작동합니다:
- ModelBuilder는 모델을 패키징하고 추론 구성 요소로 변환합니다.
- CustomOrchestrator는 추론 흐름을 Python 코드로 정의할 수 있게 해주는 추상 클래스입니다.
- deploy() 메서드를 통해 모든 모델과 오케스트레이터를 한 번에 배포할 수 있습니다.
- predict() 또는 predict_stream()으로 동기 또는 스트리밍 추론이 가능합니다.
예제: Llama 3.1 과 Mistral 7B를 활용한 IT 고객지원 워크플로우
SageMaker SDK의 기능을 설명하기 위해, 하나는 초기 요청을 분석하고 다른 하나는 해결 방안을 제시하는 두 개의 모델(Llama 3.1 8B, Mistral 7B)을 사용하는 추론 워크플로우를 구성했습니다.
CustomOrchestrator를 상속받아 모델 간 데이터를 순차적으로 넘기는 과정이 Python 코드로 정의되며, 각 모델은 InferenceComponent로 단일 엔드포인트에 배치됩니다.
대표적인 추론 흐름 구성 과정은 다음과 같습니다:
- Llama 모델이 초기 요청을 받아 텍스트 생성
- 생성된 결과를 Mistral 모델에 전달하여 개선된 응답 생성
- 최종 응답을 반환
워크플로우 구축 후, build()와 deploy()로 빠르게 배포할 수 있습니다. 각 모델 또는 전체 워크플로우에 대해 predict()로 실시간 요청을 처리하거나, 미세 조정을 위한 streaming 방식도 제공합니다.
고객 사례: Amazon 검색 랭킹 시스템
Amazon Search 팀은 검색 결과의 정확성을 높이기 위해 수많은 딥러닝 모델을 순차적으로 조작하는 랭킹 워크플로우를 사용합니다. 이들은 다양한 상품군 별로 분기된 워크플로우를 구성하면서, 공통 모델을 재사용하고 상황에 맞게 확장성이 높은 아키텍처가 필요했습니다.
개선된 SageMaker Python SDK는 다음과 같은 이점으로 Amazon Search 팀의 요구를 충족합니다:
- 랭킹 로직에 맞는 사용자 정의 추론 흐름 정의 가능
- 모델 공유 및 재사용을 통한 자원 최적화
- 제품 카테고리별 맞춤형 추론 구성이 가능
- 각 모델의 독립적 리소스 스케일링 지원
Amazon Search의 수석 응용과학 매니저 Vaclav Petricek는 다음과 같이 언급했습니다:
“이 기능은 복잡한 추론 워크플로우를 쉽고 일관되게 운영할 수 있도록 해줍니다. Python을 기반으로 유연하게 개발하면서, 공통 모델을 다수의 랭킹 흐름에서 재사용하고 각 모델을 독립적으로 확장하는 기능은 게임 체인저입니다.”
활용 가이드 및 자동화 전략을 위한 모범 사례
이러한 추론 워크플로우는 다음과 같은 경우에 특히 유용합니다:
- 생성형 AI 서비스에서 고도화된 사용자 대화 흐름 구현
- 데이터 분석 파이프라인에서 다양한 모델 연동 처리
- 리얼타임 인퍼런스 기반 대화형 에이전트 구성
- 멀티모달 학습 모델 간 협업 처리 자동화
SageMaker 인프라 기반의 Python SDK를 활용하면, 비교적 적은 코드 변경으로도 빠르게 테스트하고 배포할 수 있어 반복적 개발과 배포 자동화(Deployment Automation)에 매우 유리합니다. 특히 개발 → 테스트 → 운영 환경 간 이동이 중요할 경우, SDK 기반 배포 전략을 고려해보는 것이 좋습니다.
결론
Amazon SageMaker Python SDK에 도입된 새로운 워크플로우 기능은 AI 모델 배포와 복합 추론 로직 실행 방식을 혁신적으로 단순화합니다. 이전보다 더 적은 구성 코드와 명확한 추론 흐름 정의를 통해, 복잡한 멀티모델 시스템도 신속하게 서비스화할 수 있게 되었습니다.
이제 AI, ML, 생성형 AI 기반 응용 프로그램을 보다 유연하게 만들고자 한다면, 해당 SDK의 워크플로우 기능을 도입해 보세요. 단일 또는 다중 추론 모델을 구성하는 '어떻게'에 대한 가이드를 제공하며, 자동화와 확장성 측면에서도 탁월한 선택이 될 것입니다.
AI, Cloud 관련한 문의는 아래 연락처로 연락주세요!
(주)에이클라우드
이메일 : acloud@a-cloud.co.kr
회사 번호 : 02-538-3988
회사 홈페이지 : https://www.a-cloud.co.kr/
문의하기