Cerebras, 추론 단계를 쪼개 처리량을 5배로 늘렸다는 분석 글 공개

Cerebras가 prefill과 decode를 분리하는 disaggregated inference 기법으로 같은 하드웨어에서 처리량을 5배로 늘렸다고 설명하는 블로그 연재를 시작했습니다.

왜 지금 이 주제인가

Cerebras가 10월 1일, “Disaggregated Inference From the Ground Up”이라는 블로그 글을 올리고 추론 최적화 기법 연재를 시작했습니다. 이 회사는 이 기법으로 같은 수의 시스템, 같은 토큰 생성 속도를 유지하면서 처리량을 5배로 늘렸다고 밝혔습니다. 에이전트가 여러 단계를 거쳐 작업을 처리하는 구조가 늘어나면서, 응답 지연이 쌓이는 문제를 하드웨어 배치 방식으로 풀어보려는 시도라는 점에서 눈여겨볼 만합니다.

핵심 내용

이 글은 LLM 추론을 구성하는 두 단계, prefill과 decode의 성격이 근본적으로 다르다는 점에서 출발합니다. prefill은 입력된 프롬프트 전체를 한꺼번에 병렬로 처리해 KV 캐시를 만드는 단계로, 연산량이 많아 계산 집약적(compute-bound)입니다. decode는 이미 만들어진 캐시를 바탕으로 토큰을 하나씩 순차적으로 생성하는 단계로, 매 토큰마다 모델 가중치를 메모리에서 끌어와야 해서 메모리 대역폭에 묶입니다(memory-bound).

Cerebras는 이 차이를 산술 강도(arithmetic intensity), 즉 이동한 바이트당 수행한 부동소수점 연산(FLOP) 수로 설명합니다. 글에서 든 예로 두 행렬을 더하는 연산은 이동한 바이트당 약 0.167 FLOP에 그치지만, 행렬곱은 입력 크기가 커질수록 산술 강도가 함께 높아집니다. prefill은 산술 강도가 높은 연산이 많아 연산 장치를 바쁘게 돌릴 수 있고, decode는 산술 강도가 낮아 메모리에서 데이터를 퍼 나르는 속도가 전체 속도를 결정합니다.

문제는 이 두 단계를 같은 하드웨어에서 같은 배치로 처리할 때 생깁니다. 연산 집약적인 prefill 요청이 들어오면 이미 진행 중인 decode 요청의 처리가 밀리는 스케줄링 충돌이 발생합니다. 반대로 decode에 맞춰 자원을 배분하면 prefill이 느려집니다. Cerebras가 제시하는 해법은 두 단계를 서로 다른 하드웨어 풀로 분리하는 것입니다. 이렇게 나누면 운영자는 각 단계에 하드웨어를 독립적으로 배분하고, 배치 정책을 따로 세우고, 지연 시간과 처리량 중 어느 쪽을 우선할지도 단계별로 다르게 정할 수 있습니다.

이번 글을 쓴 Isaac Tai와 Zhenwei Gao는 이것이 연재의 첫 편이라고 밝혔습니다. 다음 편에서는 이 구조를 실제로 구현하는 하드웨어·소프트웨어 스택과, 이런 방식을 대규모로 운영할 때 따르는 경제적 트레이드오프를 다룰 예정이라고 설명했습니다.

의미와 한계

prefill과 decode를 나누는 아이디어 자체는 Cerebras만의 것은 아니며, 주요 추론 서빙 프레임워크들이 이미 이런 방향으로 발전해 온 흐름 안에 있습니다. 에이전트가 여러 단계를 이어 가며 작업하는 워크로드에서는 각 단계의 지연이 누적되기 때문에, 이런 구조적 최적화가 체감 속도에 미치는 영향은 작지 않을 것으로 보입니다.

다만 이번에 공개된 5배 수치는 Cerebras가 자사 블로그에서 “초기 결과(early results)“라고 표현한 수준이며, 제3자가 검증한 벤치마크는 아닙니다. 또한 이번 글은 개념을 설명하는 연재의 첫 편일 뿐, 실제로 어떤 하드웨어·소프트웨어 구성으로 이 수치를 얻었는지, 비용 구조가 어떻게 바뀌는지는 다음 편에서 다루겠다고 예고된 상태입니다. 구체적인 검증과 경제성 평가는 이후 연재가 나와야 가늠할 수 있습니다.

한 줄 정리

Cerebras는 추론의 두 단계를 하드웨어로 분리해 처리량을 5배로 늘렸다고 밝혔지만, 이는 자체 발표한 초기 결과이며 세부 검증은 다음 연재를 기다려야 합니다.

출처

  1. Cerebras Reports 5X Inference Throughput Gain From Disaggregation
  2. Cerebras Blog