요약
LLM 서빙의 에너지 문제는 생각보다 단순하다. GPU는 항상 최고 주파수로 달린다. TTFT와 TPOT SLO를 맞추려면 대부분의 시스템이 주파수를 낮출 여유가 없기 때문이다. 결과적으로 GPU는 실제 연산이 CPU 수준의 메모리 대역폭에 묶여 대기하는 동안에도 전력을 최대로 소비한다.
AFlex(arXiv:2608.01891)는 이 상황을 관찰에서 출발한다. Attention과 FFN은 주파수 민감도가 다르다. Attention은 메모리 대역폭에 묶인 연산이 많고, FFN은 연산 집약적이다. 두 연산을 하나의 GPU에서 같은 주파수로 실행하면 어느 쪽이든 낭비가 생긴다.
AFlex는 이 관찰을 시스템으로 만든다. Attention과 FFN을 별도 노드로 분리(A/F 분리)한 뒤, 각 연산 단계에 독립적인 GPU 주파수를 DVFS(Dynamic Voltage and Frequency Scaling)로 적용한다. TTFT·TPOT SLO를 지키면서 에너지를 최대 49% 절감한다.
- arXiv:2608.01891 · 2026년 8월 3일 공개
- SGLang 기반 구현 · NVIDIA A800 · Qwen3-32B · Mixtral-8×7B 평가
배경: LLM 서빙의 에너지 문제
왜 GPU가 최고 주파수로 달리는가
LLM 서빙은 두 단계가 교차한다.
| 단계 | 특성 | 병목 |
|---|---|---|
| Prefill | 입력 토큰 일괄 처리 | 연산 집약 (Compute-bound) |
| Decode | 토큰 하나씩 자기회귀 생성 | 메모리 대역폭 집약 (Memory-bound) |
각 단계에서도 Attention과 FFN은 서로 다른 병목을 가진다.
- Attention: Decode 단계에서 KV 캐시를 읽는 메모리 대역폭이 주 병목이다. GPU 클럭 주파수를 낮춰도 HBM 대역폭을 더 많이 쓸 수는 없다.
- FFN: 가중치 행렬과의 GEMM 연산이 주 병목이다. 연산 집약적이므로 주파수가 처리량에 직접 영향을 준다.
기존 시스템은 이를 구분하지 않는다. 하나의 GPU가 Attention과 FFN을 순차 실행하면서 동일 주파수를 유지한다. 따라서:
- Decode Attention에서 GPU 클럭이 너무 높으면 → 전력 낭비 (메모리 대역폭에 묶여 연산 유닛 대기)
- Prefill FFN에서 GPU 클럭이 너무 낮으면 → 처리량 저하 (TTFT SLO 위반 위험)
기존 접근법의 한계
지금까지의 에너지 관리 방법은 두 가지였다.
- 요청 단위 주파수 조정: 요청의 입력 길이를 보고 주파수를 설정한다. 그러나 Attention과 FFN이 같은 GPU에서 실행되므로 차별화가 불가능하다.
- 단계(Phase) 단위 주파수 조정: Prefill 단계와 Decode 단계에 다른 주파수를 적용한다. 단계 간 전환 시간이 수 ms 수준이므로 SLO에 영향을 준다. 그리고 같은 단계 내 Attention/FFN 간 차이는 여전히 무시된다.
AFlex는 더 작은 단위, 즉 연산자(operator) 수준까지 내려간다.
AFlex 아키텍처
AFlex의 핵심 전제는 A/F 분리(Disaggregated Attention-FFN)다. Attention 연산과 FFN 연산을 각각 다른 GPU 그룹에 배치하면, 두 연산 단위에 독립적인 주파수를 적용할 수 있다.
4개의 실행 풀
Global Scheduler
전역 스케줄러는 ILP(Integer Linear Program)를 풀어 다음을 결정한다.
- 4개 풀(PA · PF · DA · DF)에 배정할 GPU 수
- 각 풀의 텐서 병렬도(Tensor Parallelism degree)
- 각 풀의 기준 GPU 주파수
결정 기준은 리소스 제약(총 GPU 수), 처리량 요건, 지연 시간 SLO(TTFT/TPOT)를 동시에 만족하는 최소 에너지 구성이다.
스케줄러는 오프라인 프로파일링 데이터를 활용한다. 풀별로 (GPU 수, 주파수) 조합에 따른 처리량과 전력을 사전에 측정해 테이블로 유지하고, ILP가 이 테이블을 참조해 빠르게 해를 구한다.
Local DVFS Controller
로컬 DVFS 컨트롤러는 배치 단위로 주파수를 적응 조정한다.
- Prefill 단계: 매 Prefill 배치마다 PA/PF 쌍의 주파수 설정. 배치 크기와 입력 길이에 따라 최적 주파수가 달라지기 때문에 각 배치를 독립적으로 처리한다.
- Decode 단계: DA/DF 창(window)을 여러 배치에 걸쳐 공유해 주파수 전환 비용을 상각한다. TPOT SLO에 여유가 있으면 주파수를 낮추고, 여유가 줄면 높인다.
DVFS 전환 자체에도 비용이 있다. GPU의 주파수 변경 레이턴시는 수십 µs 수준이다. Local Controller는 이 비용이 에너지 절약보다 큰 상황에서는 주파수를 유지한다.
A/F 분리 데이터 평면
AFlex의 데이터 평면은 인터리브 A/F 파이프라인(Interleaved A/F Pipeline)을 사용한다.
레이어 N: [Attention 실행] ──→ 은닉 상태 전송 ─→ [FFN 실행]
레이어 N+1: ↳ Attention 선시작 ←─┘ (FFN과 중첩)FFN 실행이 완료되는 시점에 은닉 상태를 A 노드로 보내는 동시에, A 노드는 다음 레이어 Attention을 시작한다. 이 중첩(overlap)이 A-F 간 전송 지연을 숨긴다.
배치 크기와 마이크로배치 깊이도 동적으로 선택해 A 풀과 F 풀의 실행 시간 균형을 맞춘다. 한쪽이 다른 쪽을 기다리는 파이프라인 버블(bubble)을 최소화하기 위해서다.
왜 기존 P/D 분리(Prefill-Decode Disaggregation)만으로는 부족한가
최근 LLM 서빙의 주류 트렌드는 Prefill-Decode 분리다. Prefill 노드와 Decode 노드를 물리적으로 나눠 각각의 연산 특성에 최적화된 하드웨어를 쓴다.
그러나 AFlex의 관찰은 더 세밀하다.
| 분리 수준 | 구분 가능한 최소 단위 | 주파수 제어 범위 |
|---|---|---|
| P/D 분리 | Prefill 단계 vs Decode 단계 | 단계 단위 |
| A/F 분리 (AFlex) | Attention vs FFN × Prefill vs Decode = 4가지 | 연산자-단계 단위 |
Decode 단계를 예로 들면, DA는 KV 캐시 읽기가 메모리 대역폭에 묶이는 반면 DF는 FFN 가중치 로딩에 묶인다. 두 연산은 다른 GPU에서 실행되며 각각의 최적 주파수도 다르다. P/D 분리만으로는 이 차이를 반영할 수 없다.
에너지 최적화 경계와 한계
어떤 상황에서 효과가 크은가
- Decode 집약 워크로드: KV 캐시 접근이 많고, DA 풀이 메모리 대역폭에 묶인 상태에서 오래 실행되는 경우
- SLO에 여유가 있는 구간: TPOT 목표치보다 실제 지연이 짧을 때 DVFS 컨트롤러가 주파수를 낮출 수 있다
- 혼합 Conversation 트레이스: 입력 길이와 출력 길이가 다양해 각 풀의 부하가 시간에 따라 변하는 경우
한계와 주의사항
A/F 분리 자체의 오버헤드가 있다. 레이어 간 은닉 상태를 네트워크를 통해 전송해야 하므로 인터커넥트 대역폭이 병목이 될 수 있다. InfiniBand 또는 NVLink-scale의 연결 없이 A/F 분리를 운영하면 전송 지연이 파이프라인 중첩 효과를 상쇄한다.
ILP 계산 비용도 고려 사항이다. 스케줄러는 풀 구성을 주기적으로 재결정하는데, GPU 클러스터 규모가 커지면 ILP 풀이 시간이 SLO에 영향을 줄 수 있다.
작은 모델이나 짧은 시퀀스에서는 효과가 제한적이다. Attention이 전체 실행 시간에서 차지하는 비중이 낮으면 DA 풀의 주파수를 낮춰도 에너지 절감 폭이 작다.
운영 시사점
서빙 클러스터 설계에 주는 시사점
AFlex가 제시하는 핵심 메시지는 GPU 클러스터를 동질 풀(homogeneous pool)로 운영하지 않아도 된다는 것이다. 에너지 효율을 위해 DA 풀에는 클럭 주파수를 낮춘 GPU를, PA와 PF 풀에는 연산 집약 설정의 GPU를 배치하는 이종 구성이 유효할 수 있다.
DA 풀 — 메모리 대역폭 집약 → 낮은 클럭, 많은 HBM
PA/PF 풀 — 연산 집약 → 높은 클럭, 높은 TFLOPs
DF 풀 — 중간 특성 → 워크로드에 따라 조정기존 P/D 분리 서빙과의 조합
AFlex는 P/D 분리(Prefill-Decode disaggregation)와 상호 배타적이지 않다. P/D 분리를 먼저 적용해 Prefill 노드와 Decode 노드를 나눈 뒤, 각 노드 내에서 A/F 분리와 per-operator DVFS를 추가로 적용하면 두 최적화의 이점을 중첩할 수 있다.
에너지 측정과 SLO 모니터링
DVFS 효과를 제대로 관측하려면 토큰당 에너지(Joules/token) 지표를 SLO 지표(TTFT, TPOT)와 함께 수집해야 한다. 주파수 변경 후 에너지 절감이 발생하는지, SLO 위반이 생기지 않는지를 동시에 추적하지 않으면 DVFS 컨트롤러의 결정이 올바른지 판단할 수 없다.
요점 정리
AFlex는 LLM 서빙의 에너지 최적화를 연산자 수준까지 내려간 첫 번째 시스템이다.
핵심은 단순하다. Attention과 FFN은 주파수 민감도가 다르다. 두 연산을 같은 GPU에서 같은 주파수로 실행하면 어느 쪽이든 낭비다. 분리하고, 각각의 최적 주파수를 ILP로 결정하고, 런타임에 DVFS로 적용하면 SLO를 지키면서 에너지를 크게 줄일 수 있다.
A800에서 Qwen3-32B와 Mixtral-8×7B 평가 결과는 기존 분리 서빙 대비 49%, 주파수 스케일링 대비 48% 절감이다. 데이터센터 규모로 LLM 서빙을 운영한다면, 이 차이는 매월 청구서에 직접 반영된다.
References
- arXiv:2608.01891 — "Energy-Efficient LLM Serving via Disaggregated Attention–FFN and Flexible Frequency Scaling" (Cunchen Hu et al., 2026-08-03)
- arXiv:2605.28302 — "How Far Can Disaggregation Go? A Design-Space Exploration of Attention-FFN Disaggregation for Efficient MoE LLM Serving"
- arXiv:2602.18755 — "BiScale: Energy-Efficient Disaggregated LLM Serving via Phase-Aware Placement and DVFS"
- arXiv:2601.21351 — "Theoretically Optimal Attention/FFN Ratios in Disaggregated LLM Serving"
- SGLang 공식 문서: https://sgl-project.github.io
- vLLM 공식 문서: https://docs.vllm.ai