프로덕션 ML 시스템: 정적 추론과 동적 추론 비교

추론은 학습된 모델을 라벨이 없는 예에 적용하여 예측을 수행하는 프로세스입니다. 대략적으로 모델은 다음 두 가지 방법 중 하나로 예측을 추론할 수 있습니다.

  • 정적 추론 (오프라인 추론 또는 일괄 추론이라고도 함)은 모델이 일반적인 라벨이 없는 예를 대상으로 예측을 실행한 후 이러한 예측을 어딘가에 캐시한다는 것을 의미합니다.
  • 동적 추론 (온라인 추론 또는 실시간 추론이라고도 함)은 모델이 클라이언트가 예측을 요청할 때와 같이 요청 시만 예측을 실행한다는 것을 의미합니다.

극단적인 예를 들어 예측을 추론하는 데 1시간이 걸리는 매우 복잡한 모델을 생각해 보세요. 다음과 같은 경우 정적인 추론을 적용하는 것이 좋습니다.

그림 4. 정적 추론에서는 모델이 예측을 생성한 후 서버에 캐시합니다.
그림 4. 정적 추론에서는 모델이 예측을 생성한 후 서버에 캐시합니다.

 

이 동일한 복잡한 모델이 정적 추론 대신 동적 추론을 실수로 사용한다고 가정해 보겠습니다. 여러 클라이언트가 거의 동시에 예측을 요청하면 대부분의 클라이언트는 몇 시간 또는 며칠 동안 예측을 받지 못합니다.

이제 상대적으로 최소한의 계산 리소스를 사용하여 2밀리초 내에 빠르게 추론하는 모델을 생각해 보겠습니다. 이 경우 클라이언트는 그림 5와 같이 동적 추론을 통해 빠르고 효율적으로 예측을 받을 수 있습니다.

그림 5. 동적 추론에서 모델은 요청 시 예측을 추론합니다.
그림 5. 동적 추론에서는 모델이 요청 시 예측을 추론합니다.

 

정적 추론

정적 추론에는 특정 장단점이 있습니다.

장점

  • 추론 비용에 관해 크게 걱정할 필요는 없습니다.
  • 푸시하기 전에 예측의 사후 확인을 실행할 수 있습니다.

단점

  • 캐시된 예측만 제공할 수 있으므로 시스템에서 흔하지 않은 입력 예시의 예측을 제공하지 못할 수 있습니다.
  • 업데이트 지연 시간은 시간 또는 일 단위로 측정될 수 있습니다.

동적 추론

동적 추론에는 특정 장단점이 있습니다.

장점

  • 새로 들어오는 모든 항목에 대한 예측을 추론할 수 있으므로, 롱테일 (덜 일반적인) 예측에 적합합니다.

단점

  • 컴퓨팅 집약적이고 지연 시간에 민감합니다. 이 조합은 모델 복잡성을 제한할 수 있습니다. 즉, 복잡한 모델보다 더 빠르게 예측을 추론할 수 있는 더 간단한 모델을 빌드해야 할 수 있습니다.
  • 모니터링 요구사항이 더 많습니다.

연습문제: 이해도 확인

다음 네 가지 문장 중 정적 추론에 관해 참인 문장은 세 개입니다.
전 세계의 변화에 빠르게 대응할 수 있습니다.
특정 입력에 대해 모델은 동적 추론보다 빠르게 예측을 제공할 수 있습니다.
시스템은 추론된 예측을 게재하기 전에 확인할 수 있습니다.
모델은 가능한 모든 입력에 대해 예측을 생성해야 합니다.
다음 중 동적 추론에 관해 참인 문장은 무엇인가요?
예측을 사용하기 전에 예측의 사후 검증을 수행할 수 있습니다.
동적 추론을 실행할 때는 정적 추론을 실행할 때만큼 예측 지연 시간 (예측을 반환하는 데 걸리는 지연 시간)을 걱정할 필요가 없습니다.
가능한 모든 항목에 대해 예측을 제공할 수 있습니다.