Cloudflare 엣지 LLM 추론의 프리필·디코딩 분리 설계
Cloudflare가 프리필과 디코딩을 분리해 GPU 활용률을 높이고 글로벌 엣지에서 LLM 추론을 처리하는 구조를 분석한다.
2026-08-14 · 최초 발행 2026-05-19
CDN으로 출발한 Cloudflare는 전 세계 330개 이상 데이터센터를 AI 추론 인프라로 바꾸고 있다. 그 중심에는 입력을 처리하는 프리필(Prefill)과 출력을 생성하는 디코딩(Decoding)을 물리적으로 나누는 커스텀 추론 엔진이 있다. 연산 특성이 다른 작업을 별도 GPU 풀에 맡겨 클러스터 전체의 자원 활용률을 높이는 설계다.
GPU에서 충돌하던 작업을 분리하다
LLM 추론의 프리필 단계는 입력 프롬프트 전체를 병렬로 계산해 KV 캐시를 만든다. 행렬 곱이 집중되는 Compute-bound 작업으로, GPU 연산 코어를 적극적으로 사용한다. 처리 시간은 프롬프트 길이에 비례하며 여러 요청을 배치로 묶을수록 효율이 올라간다.
디코딩은 자기회귀 방식으로 토큰을 하나씩 생성한다. 토큰을 만들 때마다 전체 KV 캐시를 메모리에서 읽어야 하므로 Memory-bound 성격이 강하다. 배치 크기가 작으면 GPU 연산 코어의 활용률도 낮아진다.
두 단계를 같은 GPU에서 순서대로 실행하면 프리필이 요구하는 연산 최적화와 디코딩에 필요한 메모리 대역폭 최적화가 충돌한다. Cloudflare는 이를 별도 GPU 풀로 분리한다.
이 설계에서 프리필 GPU는 H100 80GB 기준 연산 활용률 85% 이상을 유지한다. 디코딩 GPU는 높은 배치 크기로 메모리 대역폭을 포화시킨다. 공개된 수치에 따르면 전체 클러스터 GPU 활용률은 기존 통합 방식보다 약 40% 향상됐다.
분리된 GPU 풀 사이에서 KV 캐시를 옮기는 방법
프리필과 디코딩을 나누면 프리필 노드가 만든 KV 캐시를 디코딩 노드로 신속하게 전달해야 한다. Cloudflare는 InfiniBand 수준의 내부 네트워크 없이 이 문제를 처리하기 위해 전송과 캐시 공유 방식을 함께 조정했다.
청크 전송은 KV 캐시를 레이어 단위로 쪼갠 뒤 처리가 끝난 레이어부터 순서대로 보낸다. 전체 KV 캐시가 완성될 때까지 기다리지 않아도 되므로 첫 토큰 지연(TTFT)을 줄일 수 있다. KV 캐시는 fp8로 양자화해 크기를 절반으로 낮추고 전송 대역폭 요구를 완화한다. 동일한 시스템 프롬프트를 사용하는 요청에는 결정론적 캐시 키를 부여해 캐시를 공유한다.
요청 크기에 따라 엣지와 코어를 나누다
Cloudflare의 글로벌 엣지는 모든 요청을 같은 위치로 보내지 않는다. 요청 특성을 분류한 뒤 엣지 소형 모델, 지역 코어 클러스터, 중앙 대형 GPU 클러스터 가운데 처리 위치를 고른다.
이 계층형 라우팅은 요청마다 GPU 비용과 지연시간의 균형점을 다르게 잡는다. 전체 요청 가운데 약 60%는 엣지에서 처리해 중앙 클러스터의 부하를 낮춘다.
엣지 GPU의 차이를 반영하는 모델 배치
Cloudflare의 엣지 PoP(Point of Presence)는 대부분 소형 GPU를 보유한다. 70B 이상 모델을 단일 엣지 노드에서 실행하려면 텐서 병렬(Tensor Parallel)이나 파이프라인 병렬(Pipeline Parallel)을 사용해 모델을 분산해야 한다.
커스텀 추론 엔진은 엣지 환경에 맞춘 비균일 파이프라인 병렬(Non-uniform Pipeline Parallel)을 구현한다. 각 PoP가 가진 GPU 메모리와 연산 능력에 따라 레이어 분배를 동적으로 바꾸고, 노드 간 통신 비용을 줄이도록 레이어 그룹화를 조정한다.
빈 시퀀스 슬롯을 즉시 다시 채우는 배치 처리
스트리밍 LLM 서비스에서는 첫 토큰까지 걸리는 TTFT와 토큰 사이의 지연인 ITL이 사용자 경험을 좌우한다. Cloudflare는 두 지표를 줄이기 위해 지속적 배치 처리(Continuous Batching)를 적용한다.
정적 배치는 묶여 있는 요청이 모두 끝나야 다음 배치를 시작한다. 응답이 긴 요청 하나가 남으면 나머지 작업도 새 배치를 기다려야 한다. 지속적 배치 처리는 완료된 시퀀스의 슬롯에 새 요청을 즉시 넣어 GPU가 쉬는 구간을 줄인다.
요청 우선순위에는 완료 예상 시간이 짧은 작업을 먼저 처리하는 SJF(Shortest Job First)와 공정성을 위한 WFQ(Weighted Fair Queuing)를 함께 사용한다. 유료 플랜 요청에는 높은 가중치를 부여해 낮은 지연을 보장한다.
글로벌 네트워크가 추론 인프라가 될 때
Cloudflare가 가진 구조적 강점은 사용자와 엣지 사이의 네트워크 거리다. AWS, GCP, Azure의 LLM API가 소수 리전에서 제공되는 것과 달리 Cloudflare의 330개 PoP는 전 세계 인터넷 사용자의 95%가 50ms 이내 거리에 있다.
이 분산 구조는 데이터 현지화 규정이 있는 EU, 한국, 중국 등에서 해당 국가의 PoP로 요청을 처리할 수 있게 한다. 네트워크 왕복 지연에 민감한 토큰 스트리밍도 가까운 PoP에서 처리할수록 체감 품질이 높아진다. 기존 CDN이 갖춘 DDoS 방어 능력은 AI API 엔드포인트에도 자동으로 적용된다.
Workers와 추론을 같은 엣지에 배치하는 효과
Cloudflare Workers AI는 서버리스 함수인 Workers와 LLM 추론을 같은 실행 환경에서 결합한다. LLM 호출 결과를 캐시하거나 전처리와 후처리 로직을 엣지에서 실행할 수 있는 구조다.
| 인프라 유형 | 평균 TTFT (글로벌) | GPU 활용률 | 엣지 처리 비율 |
|---|---|---|---|
| 단일 리전 클라우드 | 350~800ms | 45~60% | 0% |
| 멀티 리전 클라우드 | 150~400ms | 55~70% | 0% |
| Cloudflare 엣지 | 80~200ms | 75~85% | ~60% |
엣지 처리는 중앙 대형 GPU 클러스터보다 단위 비용이 높지만, 네트워크 전송 비용 절감과 높은 GPU 활용률이 이를 상쇄한다. Cloudflare는 Workers AI 가격을 경쟁 API보다 20~30% 낮게 책정하며 시장 점유를 노리고 있다.
모델 사업자가 아닌 AI 네트워크 레이어
Cloudflare가 겨냥하는 위치는 자체 LLM을 만드는 사업자가 아니라 여러 모델을 전 세계에 전달하는 AI 네트워크 레이어다. Llama 3, Mistral, Gemma를 비롯한 오픈소스 모델과 파트너 모델이 Workers AI에서 실행된다.
엔터프라이즈용 AI Gateway는 LLM API 요청에 필요한 프록시, 로깅, 비용 추적, 캐싱을 하나의 인터페이스로 묶는다. OpenAI, Anthropic, Cohere, Hugging Face 등 주요 AI API를 단일 엔드포인트로 통합하고 Cloudflare 인프라를 거쳐 라우팅한다.
프리필과 디코딩을 분리한 추론 엔진은 GPU 활용률을 40% 이상 높인다. 여기에 330개 글로벌 PoP를 결합한 엣지 서빙은 네트워크 지연 측면에서 기존 클라우드 제공자가 단기간에 따라가기 어려운 구조적 우위를 만든다. CDN 사업자가 AI 추론의 핵심 인프라 사업자로 이동하는 과정은 경쟁의 축이 모델 개발뿐 아니라 서빙 효율과 글로벌 접근성으로 넓어지고 있음을 보여준다.
Sources
- https://blog.cloudflare.com/workers-ai — Cloudflare Workers AI 공식 블로그
- https://developers.cloudflare.com/workers-ai — Workers AI 개발자 문서
- https://blog.cloudflare.com/ai-gateway-ga — Cloudflare AI Gateway 발표
- https://arxiv.org/abs/2309.06180 — Sarathi-Serve: Efficient LLM Inference with Chunked Prefills
- https://arxiv.org/abs/2401.02669 — DistServe: Disaggregating Prefill and Decoding
- https://vllm.ai — vLLM 프로젝트 (지속적 배치 처리 참고)