일상 속 공감을 공유하다.

공부/구글 머신러닝 단기집중과정

구글 머신러닝 단기집중과정 - ML 엔지니어링 - 정적 학습과 동적 학습

ohhw 2021. 6. 22. 16:03
728x90
반응형
정적 학습과 동적 학습 비교

 

 

개략적으로 모델을 학습시키는 방법에는 다음 두 가지가 있습니다.

 

  • 정적 모델은 오프라인으로 학습됩니다. 즉, 모델을 한 번만 학습시키고 해당 모델을 일정 기간 사용합니다.
  • 동적 모델은 온라인으로 학습됩니다. 즉, 데이터가 시스템에 계속 유입되며 지속적인 업데이트를 통해 해당 데이터를 모델에 통합합니다.

 

ML 시스템 패러다임: 학습

정적 모델 -- 오프라인으로 학습

  • 손쉬운 빌드 및 테스트 -- batch 학습 및 테스트, 만족스러울 때까지 반복
  • 여전히 입력 모니터링 필요
  • 노후화되기 쉬움

동적 모델 -- 온라인으로 학습

  • 지속적으로 학습 데이터 공급, 정기적으로 업데이트된 버전 동기화
  • batch 학습 및 테스트가 아닌 점진적 검증 사용
  • 모니터링, 모델 롤백 및 데이터 격리 기능 필요
  • 변화에 적응 가능, 노후화 문제 방지

 

 

정적 학습과 동적 학습 중 무엇을 사용할지를 판단하는 기준은 대략적으로 다음과 같습니다.

 

  • 정적 모델은 빌드 및 테스트가 더 쉽습니다.
  • 동적 모델은 데이터의 변화에 적응합니다. 세상은 끊임없는 변화가 이어지는 곳입니다. 작년 데이터를 근거로 한 판매 예측은 내년 실적을 제대로 예측하지 못할 가능성이 높습니다.

 

데이터 세트가 시간에 따라 변화하지 않는다면, 동적 학습보다 개발 및 유지 비용이 낮은 정적 학습을 선택하시기 바랍니다. 그러나 해수면 특성과 같이 변화가 없을 것이라고 짐작되는 정보 출처도 실제로는 시간에 따라 변화하는 경우가 많습니다. 따라서 정적 학습을 사용하더라도 여전히 입력 데이터의 변화를 모니터링해야 합니다.

 

예를 들어 사용자가 꽃을 구입할 확률을 예측하도록 학습된 모델이 있다고 가정해 보겠습니다. 시간 부족으로 인해, 7월과 8월의 꽃 구매 행동 데이터 세트를 사용하여 모델을 한 번만 학습시켰습니다. 그런 다음 프로덕션 환경에서 예측을 수행하도록 모델을 제공한 후 한 번도 업데이트하지 않았습니다. 이 모델은 몇 개월 동안은 문제없이 작동하지만, 기념일에 사용자 행동이 급격한 변화를 보이기 때문에 발렌타인데이 부근에는 예측이 빗나가고 맙니다.

 

 

주요 용어

 

 

 

정적 학습과 동적 학습: 이해도 확인

 

온라인 학습

아래 옵션을 확인하세요.

 

다음 중 온라인(동적) 학습에 대해 올바른 설명은?

 

학습 작업을 모니터링할 필요가 거의 없습니다.

 

실제로는 학습 작업을 지속적으로 모니터링하여 의도한 대로 정상 작동하는지 확인해야 합니다. 또한 학습 중에 작업의 버그 또는 입력 데이터 손상과 같은 문제가 발생할 때 모델을 이전 스냅샷으로 롤백하는 등의 인프라 기능을 지원해야 합니다.

 

다시 시도해 보세요.

 

새 데이터가 입력됨에 따라 모델이 최신 상태로 유지됩니다.

 

이 점이 바로 온라인 학습의 가장 큰 장점입니다. 새로 입력되는 데이터를 모델이 계속 학습하므로 노후화와 관련된 여러 가지 문제를 피할 수 있습니다.

 

정답입니다.

 

추론 단계에서 입력 데이터를 모니터링할 필요가 거의 없습니다.

 

정적 오프라인 모델과 마찬가지로, 동적으로 업데이트되는 모델에 대한 입력을 모니터링하는 것이 중요합니다. 계절성에 따른 영향은 크지 않은 것이 보통이지만, 업스트림 데이터 소스가 다운되는 경우와 같이 입력에 크고 급격한 변화가 있을 경우 예측의 신뢰도가 떨어질 수 있습니다.

 

다시 시도해 보세요.

 

 

오프라인 학습

 

아래 옵션을 확인하세요.

 

다음 중 오프라인 학습에 대해 올바른 설명은?

 

오프라인 학습은 온라인 학습보다 학습 작업을 모니터링할 필요가 적습니다.

 

일반적으로 오프라인 학습은 모니터링 요구사항이 비교적 낮으므로 프로덕션과 관련된 여러 가지 고민이 불필요합니다. 그러나 모델을 자주 학습시킬수록 모니터링에도 충분한 투자가 필요합니다. 또한 정기적인 검증을 통해 코드 및 종속 항목의 변경사항이 모델의 품질에 악영향을 주지 않는지 확인해야 합니다.

 

정답 2개 중 1개를 맞췄습니다.

 

새 데이터가 입력됨에 따라 모델이 최신 상태로 유지됩니다.

 

실제로는 오프라인 학습을 사용할 경우 새로 입력되는 데이터를 모델에 통합할 방법이 없습니다. 학습하려는 분포가 시간에 따라 변화하는 경우 이로 인해 모델 노후화가 발생할 수 있습니다.

 

다시 시도해 보세요.

 

추론 단계에서 입력 데이터를 모니터링할 필요가 거의 없습니다.

 

의외로 생각되겠지만, 입력 데이터 제공 단계에서 모니터링해야 합니다. 입력 분포가 변화하면 모델의 예측 신뢰도가 떨어질 수 있습니다. 예를 들어 여름철 의류 구매 데이터만 학습한 모델을 겨울철 의류 구매 행동을 예측하는 데 바로 사용할 수는 없습니다.

 

다시 시도해 보세요.

 

모델을 프로덕션에 적용하기 전에 검증할 수 있습니다.

 

정답입니다. 오프라인 학습을 사용하면 모델을 프로덕션에 도입하기 전에 성능을 검증할 기회가 충분히 주어집니다.

 

정답 2개 중 2개를 맞췄습니다.

728x90