LLM 성능 최적화: Prefill/Decode 이해
Prefill and Decode for Concurrent Requests - Optimizing LLM Performance
·2025.04.16 19:10
LLM 추론의 핵심 단계인 Prefill과 Decode의 메커니즘과 주요 성능 지표를 설명한다.
LLM의 토큰 생성은 이전 토큰에 의존하는 auto-regressive 특성을 가진다. 이 과정은 크게 두 단계로 구분된다.
Prefill 단계는 입력된 프롬프트의 모든 토큰을 병렬로 처리하여 첫 번째 출력 토큰을 생성하는 과정이다. 이 단계에서 KV Cache가 생성되며, 입력 토큰 전체를 한꺼번에 계산할 수 있어 병렬화가 가능하다.
Decode 단계는 첫 번째 토큰 이후의 토큰들을 생성하는 과정이다. 각 토큰은 이전 토큰들의 결과에 의존하므로 개별 요청 수준에서의 병렬 처리가 불가능하며, 순차적으로 진행된다.
LLM 성능을 측정하는 핵심 지표는 다음과 같다:
- Time to First Token (TTFT): Prefill 단계의 지연 시간으로, 사용자가 첫 응답을 보기까지의 대기 시간을 의미한다.
- Time per Output Token (TPOT): Decode 단계의 지연 시간으로, 토큰 하나가 생성되는 속도를 의미한다.
대화형 서비스의 경우, 원활한 사용자 경험을 위해 TTFT는 3초 이내, TPOT는 100~300ms(초당 3~10토큰) 수준을 유지하는 것이 권장된다.
이 요약은 원문 이해를 돕기 위한 큐레이션입니다. 저작권은 원저작자에게 있으며, 정확한 내용과 맥락은 원문을 확인하세요.
요약 오류, 출처 표기 문제, 삭제 요청은 문의 · 건의로 알려주세요.