챕터별 상세
추론 워크로드의 이해와 중요성
추론의 핵심 병목: 메모리 대역폭 제한
연산 강도(Arithmetic Intensity)가 하드웨어의 임계값보다 낮으면 메모리 속도가 전체 성능을 좌우한다.
KV 캐시의 구조와 메모리 점유 분석
KV 캐시는 추론 시 중복 계산을 피하기 위한 필수 요소이지만 메모리 부족의 주범이다.
KV 캐시 절감을 위한 아키텍처: GQA와 MLA
def compute_transformer_performance_stats(config):
num_params = 2*V*D + D*F*3*L + (2*D*N*H + 2*D*K*H)*L
parameter_size = 2 * num_params
kv_cache_size_per_seq = S * (K*H) * L * 2 * 2
memory = B * kv_cache_size_per_seq + parameter_size
latency = memory / memory_bandwidth
throughput = B / latencyTransformer 모델의 파라미터 수, 메모리 점유량, 지연 시간 및 처리량을 계산하는 로직 예시
추측 디코딩(Speculative Decoding)을 통한 가속
검증 과정은 병렬 처리가 가능하여 Memory-bound 문제를 우회할 수 있다.
연속 배칭(Continuous Batching)과 PagedAttention
vLLM은 현재 가장 널리 쓰이는 오픈소스 추론 엔진 중 하나이다.
용어 해설
- 연산 강도(Arithmetic Intensity)
- — 메모리에서 읽어온 데이터 바이트당 수행되는 부동 소수점 연산(FLOPs)의 비율이다. 이 수치가 낮으면 하드웨어의 연산 능력보다 메모리 대역폭에 의해 성능이 제한되는 Memory-bound 상태가 된다. LLM 추론의 효율성을 결정하는 핵심 지표이다.
- KV 캐시(KV Cache)
- — Transformer 모델의 자기회귀 생성 과정에서 이전 토큰들의 Key와 Value 행렬을 저장해두는 기술이다. 매번 처음부터 다시 계산하는 낭비를 방지하여 추론 속도를 높이지만, 문맥이 길어질수록 막대한 GPU 메모리를 점유하는 병목 원인이 된다.
- 추측 디코딩(Speculative Decoding)
- — 작고 빠른 Draft 모델이 여러 토큰을 미리 생성하고, 큰 Target 모델이 이를 한 번에 검증하는 병렬 추론 기법이다. 검증 과정은 병렬 처리가 가능하므로 순차적 생성보다 전체적인 추론 속도를 크게 향상시킬 수 있다.
- 그룹화 쿼리 어텐션(Grouped-Query Attention)
- — 여러 개의 Query 헤드가 하나의 Key-Value 헤드 쌍을 공유하도록 설계된 아키텍처이다. Multi-Head Attention의 성능과 Multi-Query Attention의 메모리 효율성 사이에서 균형을 맞추어 KV 캐시 크기를 획기적으로 줄여준다.
- 연속 배칭(Continuous Batching)
- — 서로 다른 시점에 들어오고 끝나는 요청들을 유연하게 하나의 배치로 묶어 처리하는 기술이다. 요청이 끝날 때까지 기다리지 않고 토큰 단위로 배치를 갱신하여 GPU 활용률을 극대화하고 처리량을 높인다.
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.
