프로덕션을 위해 ML 파이프라인을 준비하려면 다음 단계를 따르세요.
- 파이프라인용 컴퓨팅 리소스 프로비저닝
- 로깅, 모니터링, 알림 구현
컴퓨팅 리소스 프로비저닝
ML 파이프라인을 실행하려면 RAM, CPU, GPU/TPU와 같은 컴퓨팅 리소스가 필요합니다. 충분한 컴퓨팅이 없으면 파이프라인을 실행할 수 없습니다. 따라서 프로덕션에서 파이프라인을 실행하는 데 필요한 리소스를 프로비저닝할 수 있는 충분한 할당량을 확보해야 합니다.
제공, 학습, 검증 파이프라인 이러한 파이프라인에는 TPU, GPU 또는 CPU가 필요합니다. 사용 사례에 따라 다른 하드웨어에서 학습하고 제공하거나 동일한 하드웨어를 사용할 수 있습니다. 예를 들어 학습은 CPU에서 이루어지지만 서빙은 TPU를 사용할 수 있습니다. 일반적으로 더 큰 하드웨어에서 학습한 다음 더 작은 하드웨어에서 제공하는 것이 일반적입니다.
하드웨어를 선택할 때는 다음 사항을 고려하세요.
- 비용이 저렴한 하드웨어로 학습할 수 있나요?
- 다른 하드웨어로 전환하면 성능이 향상되나요?
- 모델의 크기는 어느 정도이며 어떤 하드웨어가 성능을 최적화할 수 있나요?
- 모델의 아키텍처에 따라 어떤 하드웨어가 이상적인가요?
데이터 파이프라인 데이터 파이프라인에는 RAM 및 CPU 파이프라인에서 학습 및 테스트 데이터 세트를 생성하는 데 필요한 할당량을 추정해야 합니다.
각 파이프라인에 할당량을 할당하지 않을 수도 있습니다. 대신 파이프라인이 공유하는 할당량을 할당할 수 있습니다. 이러한 경우 모든 파이프라인을 실행할 수 있는 할당량이 충분한지 확인하고 단일 오류 파이프라인이 모든 할당량을 소비하지 않도록 모니터링 및 변경을 설정하세요.
할당량 추정
데이터 및 학습 파이프라인에 필요한 할당량을 추정하려면 추정의 기반이 되는 유사한 프로젝트를 찾으세요. 제공 할당량을 추정하려면 서비스의 초당 쿼리를 예측해 보세요. 이러한 메서드는 기준을 제공합니다. 실험 단계에서 솔루션 프로토타입을 제작하기 시작하면 더 정확한 할당량 추정치를 얻을 수 있습니다.
할당량을 추정할 때는 프로덕션 파이프라인뿐만 아니라 진행 중인 실험의 할당량도 고려해야 합니다.
이해도 확인
로깅, 모니터링, 알림
프로덕션 모델의 동작을 로깅하고 모니터링하는 것은 매우 중요합니다. 강력한 모니터링 인프라를 통해 모델이 안정적이고 고품질의 예측을 제공하는지 확인할 수 있습니다.
적절한 로깅 및 모니터링 관행은 ML 파이프라인의 문제를 사전 예방적으로 식별하고 잠재적인 비즈니스 영향을 완화하는 데 도움이 됩니다. 문제가 발생하면 알림을 통해 팀 구성원에게 알리고, 포괄적인 로그를 통해 문제의 근본 원인을 쉽게 진단할 수 있습니다.
로깅 및 모니터링을 구현하여 ML 파이프라인에서 다음 문제를 감지해야 합니다.
파이프라인 | 모니터링 |
---|---|
서빙 |
|
데이터 |
|
학습 |
|
유효성 검사 |
|
다음 항목에 대한 로깅, 모니터링, 알림도 필요합니다.
- 지연 시간. 예측을 제공하는 데 얼마나 걸리나요?
- 서비스 중단. 모델이 예측 제공을 중지했나요?
이해도 확인
모델 배포
모델 배포의 경우 다음을 문서화하는 것이 좋습니다.
- 배포를 시작하고 출시를 늘리는 데 필요한 승인
- 모델을 프로덕션에 배치하는 방법
- 모델이 배포되는 위치입니다(예: 스테이징 또는 카나리아 환경이 있는 경우).
- 배포가 실패한 경우 취해야 할 조치
- 이미 프로덕션에 있는 모델을 롤백하는 방법
모델 학습을 자동화한 후에는 검증 및 배포를 자동화해야 합니다. 배포를 자동화하면 책임이 분산되고 한 사람으로 인해 배포가 병목 현상이 발생할 가능성이 줄어듭니다. 또한 잠재적인 실수를 줄이고, 효율성과 안정성을 높이며, 당직 교대 및 SRE 지원을 지원합니다.
일반적으로 모델이 예상대로 작동하는지 확인하기 위해 일부 사용자에게 새 모델을 배포합니다. 그렇다면 배포를 계속 진행합니다. 문제가 해결되지 않으면 배포를 롤백하고 문제 진단 및 디버깅을 시작합니다.