배치 추론
배치 추론(Batch inference)은 개별 데이터 포인트를 실시간으로 순차 처리하는 대신, 대규모의 정적인 입력 데이터 세트에 머신러닝 모델을 한 번에 실행하는 프로세스를 의미합니다. 시스템이 단일 사용자 요청에 즉시 응답하는 대신, 데이터의 집합인 '배치'를 처리한 후 나중에 결과를 한 번에 제공합니다.
많은 비즈니스 애플리케이션의 경우 즉각적인 실시간 응답이 필요하지 않습니다. 배치 추론은 대규모 데이터 세트에 대한 높은 처리량(throughput)이 주된 목표일 때 컴퓨팅 리소스를 최적화하고 운영 비용을 절감하는 데 매우 중요합니다. 이는 낮은 지연 시간(low-latency) 서비스 제공에서 높은 볼륨 처리로 초점을 전환시킵니다.
작업 흐름은 대상 데이터 세트를 집계하는 것으로 시작됩니다. 이 데이터는 배포된 ML 모델 인프라에 공급됩니다. 모델은 GPU 병렬 처리와 같은 하드웨어 효율성을 활용하여 모든 입력을 병렬로 또는 최적화된 청크(chunk) 단위로 처리합니다. 계산이 완료되면 결과 예측이 출력되며, 종종 데이터베이스에 저장되거나 예약된 작업을 통해 전달됩니다.
여러 기업 시나리오가 배치 추론으로부터 상당한 이점을 얻습니다. 여기에는 수백만 건의 거래에 대한 야간 사기 탐지 검사, 월별 고객 이탈 위험 점수 생성, 업로드된 미디어에 대한 대규모 이미지 태깅 및 콘텐츠 조정 등이 포함됩니다.
주요 이점은 비용 효율성과 처리량입니다. 요청을 그룹화함으로써 인프라 활용도가 극대화되어, 모든 단일 데이터 포인트에 대해 항상 켜져 있는 낮은 지연 시간 서비스 엔드포인트를 유지하는 것보다 예측당 비용이 낮아집니다.
주요 상충 관계는 지연 시간입니다. 데이터가 청크 단위로 처리되기 때문에 결과가 즉각적이지 않습니다. 게다가, 입력 배치가 올바르게 준비되고 출력이 안정적으로 저장되도록 보장하는 데이터 파이프라인 관리는 MLOps 수명 주기에 복잡성을 더합니다.
배치 추론은 즉각적인 사용자 상호 작용을 위해 예측이 밀리초 내에 반환되어야 하는 온라인 추론(또는 실시간 추론)과 뚜렷한 대조를 이룹니다. 데이터 보강(data enrichment)을 위해 사용될 때는 ETL(추출, 변환, 로드) 프로세스와 밀접하게 관련되어 있습니다.