이 강의에서는 프로덕션 시스템의 데이터와 모델에 관해 물어봐야 할 질문에 중점을 둡니다.
각 기능이 유용하게 사용되고 있나요?
모델의 예측 능력에 거의 기여하지 않거나 기여하지 않는 기능을 삭제하기 위해 모델을 지속적으로 모니터링해야 합니다. 이 기능의 입력 데이터가 갑자기 변경되면 모델의 동작도 바람직하지 않은 방식으로 갑자기 변경될 수 있습니다.
다음과 같은 관련 질문도 참고하세요.
- 기능의 유용성이 포함하는 데 드는 비용을 정당화하나요?
모델에 더 많은 기능을 추가하고 싶은 유혹이 항상 있습니다. 예를 들어 추가하면 모델의 예측이 약간 개선되는 새로운 기능을 찾았다고 가정해 보겠습니다. 약간 더 나은 예측은 약간 더 나쁜 예측보다 확실히 나아 보이지만, 추가 기능으로 인해 유지보수 부담이 가중됩니다.
데이터 소스가 신뢰할 수 있나요?
입력 데이터의 신뢰성에 관해 물어야 할 몇 가지 질문은 다음과 같습니다.
- 신호를 항상 사용할 수 있나요? 또는 신호가 안정적이지 않은 출처에서 제공되나요? 예를 들면 다음과 같습니다.
- 과부하 상태에서 비정상 종료되는 서버에서 신호가 발생하나요?
- 매년 8월에 휴가를 떠나는 사용자의 신호인가요?
- 모델의 입력 데이터를 계산하는 시스템이 변경되나요? 이 경우 다음 단계를 따르세요.
- 얼마나 자주
- 시스템이 변경되면 어떻게 알 수 있나요?
업스트림 프로세스에서 수신하는 데이터의 자체 사본을 만드는 것이 좋습니다. 그런 다음 안전하다고 확신할 때만 업스트림 데이터의 다음 버전으로 진행합니다.
모델이 피드백 루프의 일부인가요?
모델이 자체 학습 데이터에 영향을 줄 수 있습니다. 예를 들어 일부 모델의 결과는 (직접 또는 간접적으로) 동일한 모델의 입력 기능이 됩니다.
모델이 다른 모델에 영향을 줄 수도 있습니다. 예를 들어 주가를 예측하는 두 가지 모델을 생각해 보겠습니다.
- 나쁜 예측 모델인 모델 A
- 모델 B
모델 A는 버그가 있으므로 실수로 주식 X를 구매하기로 결정합니다. 이러한 구매로 인해 주식 X의 가격이 상승합니다. 모델 B는 주식 X의 가격을 입력 특성으로 사용하므로 주식 X의 가치에 관한 잘못된 결론을 내릴 수 있습니다. 따라서 모델 B는 모델 A의 버그가 있는 동작을 기반으로 주식 X의 주식을 매수하거나 매도할 수 있습니다. 모델 B의 동작은 모델 A에 영향을 미쳐 튤립 과열이나 회사 X의 주가 하락을 일으킬 수 있습니다.