Continuous Batching
연속 배칭은 전체 배치가 채워질 때까지 기다리는 대신 각 단계에서 실행 중인 배치에 요청을 추가하거나 제거하여 GPU 활용률을 높이고 지연 시간을 줄입니다.
연속 배칭은 하드웨어 활용률과 처리량을 극대화하기 위해 머신러닝(ML)에서 사용하는 고급 스케줄링 및 추론 최적화 기법입니다. 기존 정적 배칭에서는 추론 엔진이 미리 정해진 수의 요청이 쌓일 때까지 기다렸다가 이를 동시에 처리합니다. 이 방식에서는 배치에서 가장 오래 실행되는 요청이 끝나야 리소스를 해제할 수 있으므로 비효율이 발생하는 경우가 많습니다. 인플라이트 배칭 또는 반복 수준 배칭이라고도 하는 연속 배칭은 활성 요청이 완료되는 즉시 새로운 요청을 연산 배치에 투입해 GPU의 유휴 시간을 크게 줄이고 전반적인 효율성을 높입니다.
관련 개념 구분하기#
모델 배포 중 데이터 처리 방식을 더 잘 이해하려면 연속 배칭과 용어집의 다른 관련 용어를 구분하는 것이 유용합니다.
- 배치 크기: 학습 또는 추론 중에 동시에 처리되는 고정된 샘플 수를 의미합니다. 기존의 배치 처리 워크플로는 고정된 크기를 사용하지만, 연속 배칭에서는 유입 트래픽에 따라 실효 배치 크기가 동적으로 변동할 수 있습니다.
- 실시간 추론: 즉각적인 예측을 위해 추론 지연 시간을 최소화하고, 입력이 도착하는 대로 개별 입력을 처리하는 개념입니다. 연속 배칭은 처리량이 높은 정적 배칭과 지연 시간이 낮은 실시간 추론 사이의 간극을 좁혀, 빠른 요청이 느린 요청을 기다리게 하지 않으면서 높은 처리량을 유지합니다.
실제 적용 사례#
연속 배칭은 예측하기 어려운 대량의 요청을 처리하는 프로덕션 시스템에 매우 중요합니다. 다음은 두 가지 구체적인 적용 사례입니다.
-
고처리량 텍스트 생성: 대규모 언어 모델(LLMs)을 제공할 때 서로 다른 사용자에 대한 응답 생성 시간은 출력 길이에 따라 달라집니다. Ray Serve의 vLLM과 같이 연속 배칭을 활용하는 프레임워크는 새로 생성된 토큰을 연속적으로 스트리밍하고 완료된 대화를 새로운 프롬프트로 즉시 교체할 수 있습니다. 반복 수준 스케줄링에 관한 연구에서 처음 주목받은 이 방식은 텍스트 생성 처리량을 크게 높입니다.
-
비동기 비디오 분석: 도시의 교통 카메라 네트워크에서 차량을 추적하는 등의 비디오 이해 작업에서는 프레임이 서로 다른 간격으로 도착합니다. 연속 배칭을 사용하면 객체 추적 모델이 리소스가 해제되는 즉시 유입되는 비디오 프레임을 동적으로 처리하여 스마트 시티 대시보드의 하드웨어 가속 파이프라인을 최적화할 수 있습니다.
비전 작업의 연속 처리#
트래픽이 많은 모델 배포 방식을 관리할 때 추론을 반복적으로 스트리밍하면 메모리를 막아 두는 대신 점진적으로 해제하여 동적 배칭의 이점을 구현할 수 있습니다. 다음 Python 예제는 모델 예측 API와 제너레이터 패턴을 사용해 연속적인 이미지 스트림을 효율적으로 처리하는 방법을 보여 줍니다.
from ultralytics import YOLO
# Load the latest Ultralytics YOLO26 model
model = YOLO("yolo26n.pt")
# Using stream=True acts as a generator, iteratively processing inputs
# to keep memory usage low and throughput high
results = model.predict(source=["img1.jpg", "img2.jpg", "img3.jpg"], stream=True)
# Process each result as soon as it completes
for result in results:
print(f"Detected {len(result.boxes)} objects in this frame.")시스템 수준의 리소스 스케줄링을 관리하려면 순수 처리 속도와 운영 비용 간의 균형이 필요합니다. 대규모 컴퓨터 비전(CV) 및 언어 모델을 배포하는 팀은 이러한 동적 배치를 관리하기 위해 점점 더 고급 서빙 프레임워크에 의존하고 있습니다. 인프라를 간소화하려는 엔터프라이즈 팀을 위해 Ultralytics Platform은 프로덕션 환경에 최적화된 모델의 학습, 모니터링, 내보내기를 위한 강력한 도구를 제공합니다.










