Cerebras Deploys Trillion-Parameter AI Models
Cerebras는 3조 파라미터 모델을 어떻게 배치하나
Cerebras는 3조 파라미터 모델 Kimi K3를 WSE-3T 웨이퍼 59장에 나눠 올리는 구성을 설명합니다. 4비트 가중치와 256k 요청 길이를 가정하고, 모델 층을 웨이퍼별 파이프라인으로 연결해 여러 요청을 동시에 처리하는 방식입니다.
- 주제
에디터 노트
웨이퍼 59장으로 모델을 나누는 방식은 층당 가중치 크기와 층 종류별 메모리 배치를 근거로 설명합니다. 다만 1,000~2,000토큰/초라는 속도와 동시 요청 수를 재현할 조건은 글에서 충분히 드러나지 않아, 배치 계산과 실제 서비스 성능은 구분해서 읽어야 합니다. 댓글의 전력 추정은 웨이퍼당 20kW와 초당 1,500토큰을 가정한 참여자의 계산이며 글의 측정 결과가 아닙니다. 장애가 한 웨이퍼에서 전체 파이프라인으로 번지는지, 웨이퍼 교체나 업그레이드를 어떻게 처리하는지도 댓글에서 질문으로 남았습니다. 한편 사용 경험 댓글은 속도와 답변 품질을 별개로 봅니다. 이 구성의 장점은 높은 토큰 속도와 층별 파이프라인 처리에 있고, 비용과 장애 대응, 실제 모델 품질까지 판단하려면 글에 없는 운영 자료가 더 필요합니다.
AI 요약
Cerebras는 약 3조 파라미터인 오픈소스 모델 Kimi K3를 예로 들어 여러 장의 WSE-3T 웨이퍼에 모델을 나눠 배치하고 추론하는 방법을 설명합니다. 계산에는 평균 요청 길이 256k, 4비트 가중치 양자화, 8비트 KV cache를 가정합니다. 글은 이 구성을 통해 초당 1,000~2,000개 이상의 토큰을 처리한다고 소개하지만, 해당 속도를 산출한 측정 조건과 세부 결과는 제시하지 않습니다.
메모리 배치
Kimi K3는 linear-attention 층 69개와 dense 층 24개로 이뤄져 있습니다. 가중치 3조 개를 4비트로 저장하면 전체 가중치 크기는 약 1.5TB이며, 93개 층에 균등하게 나누면 층마다 약 16GB가 필요합니다. WSE-3T 한 장에는 온칩 SRAM 44GB가 있습니다. dense 층은 요청별 KV cache 공간을 남기려고 웨이퍼 한 장에 하나씩 배치하고, linear-attention 층은 요청마다 고정 크기 상태만 유지하므로 웨이퍼 한 장에 두 층씩 올립니다. 이에 따라 linear 층에 35장, dense 층에 24장, 총 59장이 필요하다고 계산합니다.
웨이퍼 연결과 요청 처리
컴파일러가 층을 웨이퍼 영역에 배치하고 런타임이 토큰 이동 경로를 구성합니다. 웨이퍼 사이에서는 모델 가중치 대신 활성값(activations)을 전달하며, Cerebras는 Ethernet 기반 RDMA의 홉당 지연을 약 2마이크로초라고 설명합니다. 각 웨이퍼가 모델 일부를 계속 보유하고 요청의 중간 결과만 다음 단계로 넘기는 파이프라인 방식입니다.
요청 하나만 차례대로 처리하면 파이프라인이 비므로, 서로 다른 요청을 각 단계에서 동시에 처리합니다. 예를 들어 한 단계가 요청 A를 처리하는 동안 앞 단계는 요청 B를, 더 앞 단계는 요청 C를 처리합니다. 실제 서비스에서는 예시보다 더 잘게 나눈 단계를 사용하며, 단계마다 여러 요청을 묶은 micro-batch도 처리합니다. 작은 micro-batch는 개별 요청의 속도를 높이고, 큰 micro-batch는 전체 처리량을 높입니다.
동시 요청과 확장
동시 처리 요청 수는 dense 층이 놓인 웨이퍼에서 KV cache에 할당할 수 있는 온칩 메모리로 제한됩니다. 요청마다 dense 층별 KV cache가 필요하기 때문입니다. 글은 요청 길이와 cache 정밀도를 계산의 전제로 제시하지만, 본문에 포함된 자료에는 동시 요청 수를 산출하는 식과 결과가 보이지 않습니다. Cerebras는 모델이 커져도 필요한 메모리를 계산해 웨이퍼를 추가하고 파이프라인을 확장하는 같은 방식을 적용할 수 있다고 설명합니다.
Hacker News 반응
- @zhyblife99 — 59장 웨이퍼 파이프라인의 장애 범위가 궁금합니다. GPU 배치는 노드 하나를 잃어도 성능 저하로 버틸 수 있지만, 여기서는 모델이 랙 하나라 웨이퍼 하나만 고장 나도 전체가 멈추는 것 같습니다. 처음부터 끝까지 파이프라인이 살아 있어야 한다면 순차 업그레이드도 어려울 텐데, 한 웨이퍼를 어떻게 비우나요?
- @eulgro — WSE-3T 웨이퍼 한 장의 평균 전력을 20kW로 잡으면 전체 시스템은 약 1.18MW입니다. 초당 1,500토큰, 동시 요청 190개를 가정하면 토큰당 4.1J입니다. 모델 크기를 생각하면 괜찮은 수치인 것 같습니다.
- @drum55 — 비교가 상당히 거칠지만, 최신 비트코인 채굴 칩은 약 13J/TH입니다. 그러면 토큰 하나에 SHA-256 두 번 계산을 약 3,200억 번 하는 셈입니다. 땅콩은 약 4,200J라서 전기를 효율적으로 바꿀 수 있다고 치면 땅콩 하나가 거의 토큰 1,000개에 해당합니다. 참고로 든 비유일 뿐 실제 주장을 뒷받침한다고 생각하지는 않습니다.
- @shrubble — Nvidia 랙 하나가 120kW이므로 전력은 GPU 랙 약 10개와 비슷합니다.
- @n_u — "GPU 배치와 달리 요청이 서로 기다리지 않는다"는 말은 무슨 뜻인가요? GPU의 하드웨어 한계가 아니라 이런 처리를 지원하는 소프트웨어 구성요소가 없다는 뜻인가요?
- @bubblethink — 파이프라인 병렬성을 설명하는 말입니다. Cerebras에서는 웨이퍼에 네트워크를 공간적으로 배치해 가중치는 고정하고 활성값을 흘려보냅니다. GPU는 네트워크를 한 층씩 처리합니다. GPU도 추론에서 텐서 병렬성과 전문가 병렬성 같은 다른 병렬성을 씁니다. GPU에서는 파이프라인 병렬성이 잘 맞지 않습니다.
- @mlmonkey — 웨이퍼가 꽤 커 보이는데 메모리가 44GB뿐이라니 놀랍습니다. 웨이퍼에 메모리가 더 많이 들어갈 줄 알았습니다.
- @bubblethink — SRAM입니다. CPU 캐시 44GB에 해당합니다.
- @stingraycharles — 그래서 매우 빠르고 비쌉니다.
- @russli1993 — KV cache를 DRAM 같은 더 저렴한 오프칩 메모리에 둘 수도 있습니다. 추론 엔진이 사용자 한 명의 디코딩을 끝낸 뒤 다음 사용자로 넘어가면 DRAM에서 SRAM으로 가져오는 cache 양도 제한됩니다.
- @keyle — Cerebras는 설명만 보면 좋아 보이지만, 제가 실제로 접근할 수 있는 모델은 GPT OSS 120b와 Qwen 3.8 27B 정도인데 제 용도에는 별로였습니다. OpenRouter의 Nitro가 낫습니다. 토큰 속도는 5분의 1이지만요. Cerebras에서 GPT OSS 120b를 써봤는데 엄청 빠르긴 했지만 대부분 틀렸습니다.