대략적으로 모델을 학습하는 방법에는 두 가지가 있습니다.
- 정적 학습 (오프라인 학습이라고도 함)은 모델을 한 번만 학습한다는 의미입니다. 그런 다음 학습된 동일한 모델을 일정 기간 제공합니다.
- 동적 학습 (온라인 학습이라고도 함)은 모델을 지속적으로 또는 적어도 자주 학습하는 것을 의미합니다. 일반적으로 가장 최근에 학습된 모델을 제공합니다.
표 1. 주요 장단점
정적 학습 | 동적 학습 | |
---|---|---|
장점 | 더 간단합니다. 모델은 한 번만 개발하고 테스트하면 됩니다. | 더욱 적응력이 뛰어납니다. 모델은 특성과 라벨 간의 관계가 변경될 때마다 이를 반영합니다. |
단점 | 때로는 더 오래된 데이터도 있습니다. 특성과 라벨 간의 관계가 시간이 지남에 따라 변경되면 모델의 예측이 저하됩니다. | 더 많은 작업 항상 새 제품을 빌드, 테스트, 출시해야 합니다. |
데이터 세트가 시간이 지남에 따라 실제로 변경되지 않는 경우 동적 학습보다 만들고 유지하는 데 드는 비용이 적으므로 정적 학습을 선택하세요. 하지만 해수면처럼 일정하다고 생각되는 지형지물도 포함된 데이터 세트는 시간이 지남에 따라 변경되는 경향이 있습니다. 요약: 정적 학습이라도 입력 데이터의 변경사항을 모니터링해야 합니다.
예를 들어 사용자가 꽃을 구매할 가능성을 예측하도록 학습된 모델을 생각해 보겠습니다. 시간 제약으로 인해 7월과 8월의 꽃 구매 행동 데이터 세트를 사용하여 모델을 한 번만 학습합니다. 이 모델은 몇 개월 동안은 잘 작동하지만 발렌타인 데이 전후에는 꽃 관련 연말연시 기간 동안 사용자 행동이 극적으로 변하기 때문에 예측이 매우 부정확해집니다.
정적 학습과 동적 학습에 대해 자세히 알아보려면 ML 프로젝트 관리 과정을 참고하세요.
연습문제: 이해도 확인
다음 중 정적 (오프라인) 학습에 관해 참인 문장은 두 가지입니다.
새 데이터가 입력됨에 따라 모델이 최신 상태로 유지됩니다.
실제로 오프라인으로 학습하는 경우 새 데이터가 도착할 때 모델이 이를 통합할 방법이 없습니다. 학습하려는 분포가 시간이 지남에 따라 변경되는 경우 모델이 비활성 상태가 될 수 있습니다.
모델을 프로덕션에 적용하기 전에 확인할 수 있습니다.
예. 오프라인 학습을 통해 프로덕션에 모델을 도입하기 전에 모델 성능을 충분히 검증할 수 있습니다.
오프라인 학습은 온라인 학습보다 학습 작업을 덜 모니터링해야 합니다.
일반적으로 오프라인 학습의 경우 학습 시간의 모니터링 요구사항이 더 적으므로 많은 프로덕션 고려사항으로부터 자유로울 수 있습니다. 하지만 모델을 더 자주 학습할수록 모니터링에 더 많은 투자가 필요합니다. 또한 코드(및 종속 항목) 변경사항이 모델 품질에 부정적인 영향을 미치지 않도록 정기적으로 유효성을 검사해야 합니다.
추론 시 입력 데이터를 거의 모니터링할 필요가 없습니다.
직관에 반박되게도 게재 시 입력 데이터를 모니터링해야 합니다. 입력 분포가 변경되면 모델의 예측이 신뢰할 수 없게 될 수 있습니다. 예를 들어 여름 의류 데이터로만 학습된 모델이 갑자기 겨울철 의류 구매 행동을 예측하는 데 사용된다고 가정해 보겠습니다.
다음 중 동적 (온라인) 학습에 관해 참인 문장은 무엇인가요?
새 데이터가 입력됨에 따라 모델이 최신 상태로 유지됩니다.
이는 온라인 학습의 주요 이점입니다. 모델이 들어오는 새 데이터로 학습하도록 허용하면 많은 비활성 문제점을 방지할 수 있습니다.
학습 작업을 거의 모니터링할 필요가 없습니다.
실제로 학습 작업이 정상적으로 작동하는지 확인하려면 학습 작업을 지속적으로 모니터링해야 합니다. 또한 버그가 있는 작업이나 입력 데이터 손상과 같이 학습 중에 문제가 발생할 경우 모델을 이전 스냅샷으로 롤백하는 기능과 같은 지원 인프라도 필요합니다.
추론 시 입력 데이터를 거의 모니터링할 필요가 없습니다.
정적 오프라인 모델과 마찬가지로 동적으로 업데이트되는 모델의 입력도 모니터링하는 것이 중요합니다. 계절성에 따른 영향은
크지 않은 것이 보통이지만, 업스트림 데이터 소스가 다운되는
경우와 같이 입력에 크고 급격한 변화가 생기면 예측의 신뢰도가 떨어질 수 있습니다.