vLLM, 긴 프롬프트 병목 현상 개선
How Long Prompts Block Other Requests - Optimizing LLM Performance
·2025.06.12 17:00
핵심 내용
vLLM의 chunked-prefill 전략에서 발생하는 긴 프롬프트의 큐 차단 문제를 분석하고 최적화 방안을 제시한다.
1 / 2
자세히 보기
LLM 추론은 첫 토큰을 생성하는 prefill(프리필) 단계와 이후 토큰을 생성하는 decode(디코딩) 단계로 나뉜다. prefill은 전체 프롬프트를 병렬로 처리하여 GPU를 집중적으로 사용하며, decode는 개별 토큰을 순차적으로 처리한다.
vLLM의 기본 chunked-prefill 전략에서는 한 번에 하나의 요청에 대한 프리필만 처리하도록 스케줄링된다. 이로 인해 매우 긴 프롬프트를 가진 요청이 들어오면, 해당 프리필이 완료될 때까지 후속 요청들이 대기해야 하는 병목 현상이 발생한다. 이는 짧은 프롬프트를 가진 요청들의 **Time-to-First-Token(TTFT)**을 크게 저하시킨다.
최근 vLLM 업데이트에서는 이를 해결하기 위해 병렬 프리필(Parallel Prefills) 전략을 도입했다. 이 방식은 동시에 처리되는 긴 프롬프트 요청의 수를 제한함으로써, 짧은 프롬프트 요청들이 긴 요청의 처리를 기다리지 않고 빠르게 통과할 수 있는 'Fast Lane' 역할을 수행하도록 하여 전체적인 응답성을 개선했다.
이 한국어 요약은 AI가 자동으로 만들었습니다. 원문의 주장과 맥락은 원문에서 확인해 주세요. 저작권은 원저작자에게 있습니다.