연속 배칭
Continuous Batching · 고급
LLM 추론 서빙에서 요청이 끝날 때까지 기다리지 않고 매 디코딩 스텝마다 완료된 요청은 배치에서 제거하고 대기 중인 새 요청을 즉시 채워 넣어 GPU 활용률을 극대화하는 배칭 기법을 말한다.
LLM은 요청마다 생성하는 토큰 수가 제각각이라, 배치를 통째로 묶어 처리하는 정적 배칭 방식에서는 먼저 끝난 요청이 가장 긴 요청이 끝날 때까지 자리를 비운 채 GPU를 놀리게 되어 처리량이 떨어진다. 연속 배칭은 요청 전체가 아니라 토큰(또는 반복) 단위로 스케줄링을 수행해, 완료된 시퀀스는 그 즉시 배치에서 빼내고 대기열에 있던 새 요청을 곧바로 그 자리에 투입함으로써 배치 크기를 항상 최대치 근처로 유지한다. 여러 사용자가 동시에 API를 호출하는 프로덕션 서빙 환경에서 처리량과 지연시간을 함께 개선해야 할 때 흔히 마주치는 개념으로, 서빙 엔진의 스케줄러 구현을 살펴보거나 서빙 프레임워크를 선택할 때 성능을 좌우하는 핵심 요소로 다뤄진다. 흔히 KV 캐시 메모리 관리 기법과 함께 묶여 소개되다 보니 같은 것으로 오해하기 쉬운데, 연속 배칭은 요청을 언제 배치에 넣고 빼는지를 결정하는 스케줄링 방식이고 메모리를 어떻게 할당하는지는 별개의 최적화라는 점을 구분해야 한다.
함께 보기
최적화 분야의 다른 용어
모델별 가격·컨텍스트 길이 같은 수치는 이 글에 쓰지 않습니다. 모델 카탈로그에서 출처와 확인일이 붙은 값만 보여줍니다.