AI 인사이트 목록
Optimization2026년 7월 7일

프리필을 쪼개 처리량과 지연을 함께 잡는 Sarathi-Serve

Sarathi-Serve는 프리필을 청크로 쪼개 디코드 배치의 빈 연산 슬롯에 끼워 넣는 무정지 스케줄링으로 처리량과 지연의 트레이드오프를 해소했고 vLLM 대비 Mistral-7B에서 2.6배, Falcon-180B에서 최대 5.6배의 서빙 용량을 달성했습니다. 같은 GPU로 SLA를 지키며 더 많은 동시 사용자를 받는다는 뜻이므로 온프레미스 서빙의 장비 산정 기준을 바꾸는 결과입니다.

원문 논문 보기Continuous Batching · Chunked Prefill · 서빙 스케줄링 · 처리량

LLM 서빙 요청은 입력 전체를 한 번에 처리하는 프리필과 토큰을 하나씩 생성하는 디코드라는 성격이 전혀 다른 두 단계로 이뤄집니다. OSDI 2024에 발표된 Sarathi-Serve는 이 이질성이 만드는 처리량과 지연의 트레이드오프를 스케줄링으로 푼 연구입니다.

문제 배경

프리필은 지연이 크지만 GPU 연산을 포화시키고, 디코드는 지연이 작지만 요청당 토큰 하나만 처리해 연산 활용률이 낮습니다. 연속 배칭에서 새 요청의 프리필을 우선하면 처리량은 오르지만 진행 중인 디코드가 멈춰 응답 지연이 튀고, 디코드를 우선하면 지연은 안정되지만 배치가 작아져 처리량이 떨어집니다. 실제 서비스의 입력 프롬프트는 평균 수천 토큰에 달하므로 프리필 한 번이 진행 중인 디코드 전체를 길게 멈춰 세웁니다.

방법

Sarathi-Serve는 두 가지 아이디어를 결합합니다. 첫째, 청크드 프리필(chunked-prefills)로 긴 프리필을 거의 균등한 조각으로 나눕니다. 둘째, 무정지(stall-free) 스케줄링으로 디코드 배치의 남는 연산 여유에 프리필 청크를 끼워 넣어 진행 중인 어떤 디코드도 멈추지 않게 합니다. 디코드는 메모리 바운드라 연산 슬롯이 남는다는 점을 활용한 설계입니다. 논문 실험에서 프리필 전체를 디코드와 그냥 섞는 단순한 하이브리드 배치는 토큰 간 지연을 최대 28.3배까지 키웠지만, 청크로 나누면 지연 상한이 훨씬 좁게 유지됩니다. 한 반복에 넣을 토큰 총량은 지연 목표에서 역산한 토큰 예산으로 통제하며, 배치 구성이 균일해지면서 파이프라인 병렬 실행의 버블도 최소화됩니다.

불균일한 배치가 만드는 파이프라인 버블을 보인 그림

결과

꼬리 지연 제약 아래에서 vLLM 대비 서빙 용량을 다음과 같이 개선했습니다.

모델구성vLLM 대비 서빙 용량
Mistral-7BA100 1장2.6배
Yi-34BA100 2장최대 3.7배
Falcon-180B파이프라인 병렬최대 5.6배

한계와 주의점

청크 크기가 조율 변수입니다. 청크를 작게 하면 디코드 지연은 안정되지만 프리필이 앞선 청크의 KV 캐시를 반복해서 읽는 오버헤드가 커져 프리필 완료가 늦어집니다. 즉 첫 토큰 시간과 토큰 간 시간 사이의 배분을 워크로드의 SLA에 맞게 정해야 하며, 이 수치들은 꼬리 지연 제약이 있는 시나리오에서 측정된 결과라는 점도 유의해야 합니다.

기업 적용 관점

기업 서비스는 평균 처리량보다 지연 SLA 준수가 계약 조건인 경우가 많습니다. 청크드 프리필은 현재 vLLM 등 주요 런타임에 옵션으로 들어와 있으므로, 지연 목표를 지키면서 동시 사용자 수를 배 단위로 늘리는 설정 최적화는 장비 추가 없이 수행할 수 있는 컨설팅 항목이 됩니다. GPU 도입 수량 산정의 직접적인 절감 근거이기도 합니다.

코텍시스 AI사업부는 sLLM 최적화, Advanced RAG, AI Agent 개발을 수행합니다. 이런 기법의 도입을 검토 중이라면 문의를 남겨주세요.

AI 개발 문의
프리필을 쪼개 처리량과 지연을 함께 잡는 Sarathi-Serve | 코텍시스 AI 인사이트