DS와 MLE가 함께 일하는 법
김경윤 · 토스 · 토스 기술 블로그
소개
노트북과 서빙 사이
AI 핵심 요약
노트북에서 완성한 모델을 서빙 코드로 옮길 때 의존성 누락과 구현 차이가 반복되자, 토스뱅크 ML Service Team은 DS와 MLE의 협업 경계를 세 차례 개선했습니다. 노트북 전체를 전달하던 방식에서 핵심 로직을 .py 파일로 분리한 뒤, 전처리·추론·후처리 인터페이스를 정의한 commons-ml-model 패키지를 만들고 DS가 구현한 모델을 MLE가 설치해 서빙하도록 바꿨습니다. 공통 추상화 클래스가 로깅·메트릭·추적을 처리하고, uv 워크스페이스 기반 모노레포로 모델과 공통 코드를 함께 관리해 리뷰와 변경을 단순화했습니다. AI가 작성한 코드의 스타일 차이는 pfmls-stylepack으로 보완했으며, 역할의 구조와 코드 작성 방식 모두를 약속으로 맞춰야 협업이 원활해진다는 점을 배웠습니다.
- 노트북에서 재현되는 모델이라도 서빙 환경에서 필요한 의존성과 설정을 함께 패키징하지 않으면 전달 과정에서 문제가 생길 수 있습니다.
- 모델 인터페이스는 전처리·추론·후처리처럼 DS가 책임질 부분과 로깅·메트릭·추적처럼 공통 처리할 부분을 구분하도록 설계하세요.
- 모노레포는 공통 코드와 모델을 한 번에 리뷰하고 변경하기 좋지만, 공통 패키지 수정이 여러 모델에 미치는 영향도 고려해야 합니다.
- AI 코딩 도구를 팀에 도입할 때는 인터페이스뿐 아니라 네이밍과 예외 처리 같은 코딩 컨벤션도 규칙으로 제공해야 합니다.
비슷한 학습 자료
[팀네이버 컨퍼런스 DAN25] Station M: LLM 그냥 쓰지마세요. 네이버 AI 검색의 모델 오케스트레이션
DAN 2025 · YouTube
토스ㅣSLASH 24 - ML 플랫폼으로 개발 속도와 안정성 높이기
SLASH · YouTube
토스ㅣSLASH 22 - 물 흐르듯 자연스러운 ML 서비스 만들기
SLASH · YouTube
토스의 AI 기술력, 세계 최고 권위 NeurIPS 2025에서 인정받다: FedLPA 연구
이진우 · 토스 기술 블로그
토스가 다양한 ML 모델을 만드는 법: Feature Store & Trainkit
우종호/송석현 · 토스 기술 블로그
200여개 서비스 모노레포의 파이프라인 최적화
정석호 · 토스 기술 블로그