TL;DR
이 글은 LLM 추론 성능을 연산 집약도(Arithmetic Intensity), 처리량, 레이턴시 관점에서 1차원 물리량과 모델·워크로드 변수로부터 수식화한 후 실무적 시사점을 도출한 글이다. 입력으로 모델 파라미터 P, 레이어·헤드·헤드 차원과 배치 B, 시퀀스 길이 S, 디코드 파라미터 λ·α를 넣으면 FLOPs와 메모리 바이트를 계산해 연산 집약도를 얻고, Roofline 관점에서 메모리 바운드와 컴퓨트 바운드를 구분할 수 있다. 그 결과 짧은 컨텍스트에서는 배치·추측 디코딩으로 이득을 보고 긴 컨텍스트에서는 KV 캐시가 지배하므로 GQA/MQA나 λ·α 조정 같은 접근이 효과적이며 과도한 배칭은 단일 세션 레이턴시를 크게 악화시킨다.
섹션별 상세
- H100 SXM의 peak BF16 tensor core throughput은 π=989 TFLOP/s이고 HBM3 대역폭은 β=3.35 TB/s이다. — 변수 글로서리에서 π와 β 값이 명시된 항목(하드웨어 파라미터)
- 해당 플랫폼의 ridge point는 약 590 FLOPs/byte로, 이 값 근처로 연산 집약도를 끌어올리는 것이 compute 유휴를 줄이는 목표가 된다. — 루프라인 모델 및 ridge point 논의 부분(Arithmetic Intensity와 Roofline Model 설명)
- S→∞인 긴 컨텍스트 극한에서 연산 집약도는 λ * H / H_kv로 수렴하므로 GQA/MQA처럼 KV 헤드 수를 줄이면 긴 문맥에서 연산 집약도가 개선된다. — 연산 집약도 한계식 유도 및 GQA/MQA 효과에 대한 언급
- LLama3-8B 예시에서 KV 캐시가 토큰 하나당 약 131,072바이트를 차지하며, 가중치 약 16GB를 KV 바이트로 나누면 약 122,070 토큰이 되어 그 이상이면 KV 로드가 지배적이다. — KV 바이트 산출 예시와 파라미터 대비 토큰 수 계산 섹션
- 긴 컨텍스트 장에서는 Throughput이 배치 B를 무한대로 늘려도 포화되고 Latency는 무한대로 증가하므로 과도한 배칭은 단일 세션 응답성을 악화시킨다. — Throughput과 Latency 유도 및 B→∞ 한계값(Throughput 한계와 Latency 발산) 관련 수식
용어 해설
- 루프라인 모델(Roofline model)
- — 연산 집약도와 메모리 대역폭의 관계를 성능 곡선으로 그려 병목을 가르는 분석 도구이다. 입력으로는 peak FLOP/s와 메모리 대역폭, 그리고 연산당 바이트 접근량이 필요하며 x축이 연산 집약도일 때 선형 상승과 평탄화되는 지점(ridge point)을 통해 메모리 바운드·컴퓨트 바운드를 구분한다. LLM 추론에서 어떤 최적화가 유의미한지 판단하는 지표로 사용된다.
- 연산 집약도(Arithmetic Intensity)
- — FLOPs 대비 메모리에서 로드한 바이트 수의 비율로 정의되는 지표이다. 단위가 FLOPs/byte이므로 메모리 대역폭(바이트/sec)과 곱하면 실제 달성 FLOP/s를 얻을 수 있고, H100 SXM 같은 플랫폼에서는 ridge point(~590 FLOPs/byte)가 효율 목표가 된다. LLM 추론에서 파라미터 로드·KV 캐시 크기·배치·λ값 변화가 이 값에 직접 영향을 준다.
- KV 캐시(KV Cache)
- — 디코드 시 이전 토큰들의 Key와 Value 투영을 저장한 메모리 구조로, 각 타임스텝의 Attention 계산에서 재생성 대신 로드해 사용한다. 크기는 레이어 수, 배치, 시퀀스 길이, KV 헤드 수와 헤드 차원에 선형 비례하며 BF16이면 요소당 2바이트가 소모된다. 긴 문맥에서는 이 KV 캐시 로드가 메모리 트래픽을 지배해 성능 병목을 만든다.
- 추측 디코딩(Speculative decoding)
- — 한 번의 포워드 패스로 여러 쿼리 위치(λ)를 생성하고 그 중 수용(alpha)된 토큰만 커밋하는 기법으로, 동일 시간에 수행하는 연산량을 늘려 연산 집약도를 개선할 수 있다. 입력으로 큰 λ를 주면 분자와 분모 둘 다 영향을 받아 처리량과 레이턴시에 상반된 효과를 낼 수 있으며 잘 설계하면 긴 컨텍스트와 짧은 컨텍스트 양쪽에서 이득을 얻는다. 수용률(alpha)과 λ의 곱이 실제 커밋된 토큰 수가 되어 지연·비용 효과를 결정한다.
- GQA·MQA(GQA / MQA)
- — KV 헤드 수를 줄여 Key/Value 투영을 희소화하는 설계로, GQA는 쿼리 헤드 수 대비 적은 KV 헤드를 쓰고 MQA는 하나의 KV 헤드만 쓰는 방식이다. 수렴하면 긴 문맥의 KV 바이트를 줄여 연산 집약도를 높이며 long-context에서 메모리 바운드를 완화할 수 있다. 본문에서는 LLama3-8B가 GQA를 사용해 H_kv=8로 동작한다고 명시되어 있다.
기술
- H100 SXM
- BF16
- LLama3-8B
- GQA
- MQA
- KV Cache
활용 사례
- 긴 시스템 프롬프트를 가진 에이전트형 워크로드에서의 디코드 성능 최적화
- 대규모 배치 처리(throughput-중심) 파이프라인 설계
- 실시간 대화형 챗봇에서 단일 세션 레이턴시 관리
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.
