함께 구매하면 좋은 상품이에요! - 장바구니 추천 개발기 2부
최재형, 김수지, 이상협, 구국원 컬리 · 컬리 기술 블로그
AI 핵심 요약
장바구니 추천 모델을 실제 사용자에게 안정적으로 제공하기 위해 AWS EKS 기반 실시간 서빙 아키텍처를 구축하고, 서비스 API·모델 API·MLOps·모니터링·배포 흐름을 구성했습니다. BentoML과 TorchServe를 Locust로 비교해 TorchServe를 선택했으며, 지연시간 개선에는 부가 옵션보다 CPU 클록 속도가 중요하다는 점을 확인했습니다. 배포 중 502 오류와 첫 요청 지연을 해결하기 위해 Kubernetes의 PreStop과 종료 유예 시간으로 ALB 연결 종료를 조정하고, StartupProbe를 활용한 warm-up을 적용했습니다. Kubeflow, MLflow, ArgoCD, Datadog 등을 연결해 학습부터 배포와 관측까지 자동화했으며, 향후에는 사용자·상품 정보를 반영한 개인화 추천과 더 높은 실시간 처리 안정성을 과제로 제시합니다.
- 서빙 프레임워크는 익숙함만으로 고르지 말고 Locust 부하 테스트로 실제 응답 시간을 비교하세요.
- TorchServe의 지연시간을 줄일 때는 설정 옵션을 무작정 조정하기보다 CPU 연산 성능을 먼저 검증하세요.
- ALB를 사용하는 Kubernetes 배포에서는 PreStop, 종료 유예 시간, ALB idle timeout의 관계를 고려해 종료 순서를 설계해야 합니다.
- StartupProbe로 모델 초기화와 첫 추론을 미리 수행하면 배포 직후 첫 요청의 지연을 줄일 수 있습니다.
- 모델 코드와 Kubernetes 매니페스트를 별도 레포지토리로 관리하면 학습·이미지 빌드·배포 흐름을 분리할 수 있습니다.
소개
보완재 추천 모델을 서빙하기 위한 아키텍처 소개
비슷한 학습 자료
컨퍼런스 우아콘 2023
[WOOWACON2023 세션 다시보기] 👉 세션 설명 수많은 우여곡절 끝에 완성된 머신러닝 모델! 우리 서비스에서 “어떻게” “잘” 제공할 수 있을까? 여러 추천/ML 모델을 실제 대고객 서비스화하면서 얻은 경험과 사례들을 바탕으로 서빙 시나리오별 장단점, “더 잘 서빙하기 위해” 유의해야할 요소들, 이것들을 고려한 시스템 설계에 대해 짚어봅니다.ㅤ ㅤ 👉 발표자 소개 추천시스템 정현 아동가족학과 출신 개발자. 오디오 엔지니어 경력을 시작으로, 임베디드, 데이터에 이르기까지 다양한 개발 영역을 접해왔습니다. 2016년부터 머신러닝을 검색, 추천 등지에서 대규모 트래픽 서비스, 플랫폼화하는 일을 본격적으로 해오고 있습니다. 대규모 트래픽을 안정적으로 빠르게 처리하는 것과 분산처리, 계산 최적화에 관심이 많습니다. 👍 추천 대상 - 추천/ML 등 모델을 만들었을 때, 고객용 서비스로 어떻게 잘 제공할 수 있을지 궁금한 분 🙋🏻♀️ 세션에 대해 궁금한 점이 있다면...
백엔드 딥러닝 · 머신러닝 로드맵 1개에 담김
문서 구국원, 박수형