AI Briefing

쿠팡의 머신러닝 플랫폼 소개

·2023.09.08 15:21

쿠팡 ML Platform은 노트북부터 배포까지 표준화해 ML 개발과 운영을 빠르게 만든다.

쿠팡의 ML Platform은 검색, 가격, 물류, 추천, 광고까지 전반에 쓰이는 ML 개발을 빠르게 만들기 위해 설계됐다. 목표는 탐색, 데이터 준비, 모델 개발, 프로덕션 배포까지 이어지는 전체 ML lifecycle을 표준화하고, 개발자가 반복 작업 대신 모델 자체에 집중하게 하는 것이다.

핵심 문제는 세 가지다. 첫째, 모델 작성과 학습에 필요한 보일러플레이트를 줄여 time to production을 단축해야 한다. 둘째, ML 개발에도 CI/CD를 넣어 기술 부채를 줄여야 한다. 셋째, GPU, 대용량 스토리지, 분산 학습용 네트워크 같은 자원을 온프레미스와 AWS를 섞은 hybrid setup으로 효율적으로 운영해야 한다.

플랫폼의 기본 제공 서비스는 managed notebooks, pipeline SDK, feature-store, model training, model inference다. 개발자는 표준 또는 커스텀 container로 Jupyter notebook을 띄워 실험하고, Python SDK로 데이터 조회와 feature-store 연동, 학습, 추론 파이프라인을 구성한다. 표준 Docker 이미지에는 TensorFlow, PyTorch, Sklearn, Hugging Face, Transformers 같은 라이브러리가 포함돼 의존성 복잡도를 줄인다.

Feature engineering은 Feast 기반의 feature-store로 처리한다. offline feature store는 학습용 feature 공유와 모델 학습에 쓰이고, online feature store는 추론 시 낮은 지연시간으로 feature를 가져오며 계산 비용이 큰 모델의 prediction response cache 역할도 한다.

모델 학습 스택은 프레임워크에 구애받지 않는다. 사용자가 작성한 파이프라인은 containerized 되어 Kubernetes 클러스터에서 실행되고, batch scheduler가 적절한 하드웨어에 배치한다. CPU와 GPU 타입을 선택할 수 있고, distributed data parallelfully sharded data parallel 같은 분산 학습 전략도 지원해 대형 모델의 학습 속도를 높인다.

운영 측면에서는 Seldon을 Kubernetes 위의 추론 플랫폼으로 사용한다. Seldon은 TFServing, Triton, 커스텀 Python wrapper와 연동되어 다양한 모델 프레임워크와 런타임, CPU/GPU serving을 커버한다. 각 모델은 독립 서비스로 배포되며 autoscaling, 검증 테스트, canary 배포, 모니터링을 통해 안정적으로 실시간 트래픽을 처리한다.

성과 사례로는 Ko-BERT를 학습해 검색 쿼리 이해를 개선한 사례와, 제품의 real-time price forecasting을 수행한 사례가 소개된다. 플랫폼 팀은 내부에서 자주 쓰이는 모델 아키텍처를 벤치마크하고, 학습기 튜닝과 best practice를 공유해 전체 팀의 재사용성과 효율을 끌어올린다.

이 요약은 원문 이해를 돕기 위한 큐레이션입니다. 저작권은 원저작자에게 있으며, 정확한 내용과 맥락은 원문을 확인하세요.

요약 오류, 출처 표기 문제, 삭제 요청은 문의 · 건의로 알려주세요.