194
살아 움직이는 머신러닝 파이프라인 설계
8.2.1
코드 분리 부족
[예제
8
-
1
]에서는 훈련된 모델이 현재 사용 중인 모델과 같은
API
코드 기반으로 배포된다고
가정했습니다. 즉,
API
코드와 머신러닝 모델 간의 분리가 없다는 의미이며, 데이터 과학자가
모델을 업데이트하려고 할 때 문제가 될 수 있습니다. 업데이트 시
API
팀과의 조정이 필요합
니다. 이런 조정을 할 때는
API
및 데이터 과학팀이 동시에 작업하여 모델 배포에 불필요한 지
연이 발생하지 않도록 해야 합니다.
API
와 데이터 과학 코드 기반이 서로 얽혀 있으므로
API
소유권에 대한 모호함도 발생합니다.
코드 분리가 부족하므로
API
코드와 같은 프로그래밍 언어로 모델을 로드해야 합니다. 이렇게
백엔드와 데이터 과학 코드가 혼합되면
API
팀이
API
백엔드를 업그레이드하지 못할 수도 있
습니다. 그러나 데이터 과학자는 모델 학습에 집중할 수 있고 데브옵스 동료는 훈련된 모델을
구현하는 데 집중할 수 있으므로 책임을 명확하게 분리할 수 있습니다.
8
.
3
절 ‘텐서플로 서빙’에서는 모델을
API
코드에서 효과적으로 분리하고 배포 워크플로를 단순
화하는 방법을 강조합니다.
8.2.2
모델 버전 제어 부족
[예제
8
-
1
]은 다른 모델 버전에 대한 프로비저닝을 제공하지 않습니다. 새 버전을 추가하려면
새 엔드포인트를 생성하거나 기존 엔드포인트에 분기 논리를 추가해야 합니다. 이렇게 하려면
구조적으로 모든 엔드포인트를 동일하게 유지하는 데 각별히 주의해야 하며, 반복하여 ...