Cerebras, 수조 매개변수 AI 모델 배포: 59-웨이퍼 파이프라인이 3T 매개변수 모델을 실행하는 방법

Cerebras는 여러 WSE-3T 웨이퍼 스케일 칩에 걸쳐 수조 매개변수 프론티어 모델을 배포하는 방법을 단계별로 설명하는 글을 게시했으며, 약 3조 매개변수 규모의 오픈소스 모델 Kimi K3를 실제 사례로 사용했습니다. 이 배포 방식은 59-웨이퍼 파이프라인을 생성하며, 모든 모델 가중치를 온칩 SRAM에 상주시키고, Cerebras에 따르면 수조 매개변수 모델을 초당 1000-2000+ 토큰 속도로 실행합니다.

이 게시물에 대한 Hacker News 토론(292점, 100개 댓글)은 파이프라인 메커니즘보다는 Cerebras가 정량화하지 않은 트레이드오프에 더 집중했습니다: 양자화 대 벤치마크 동등성, 토큰당 전력, 59-웨이퍼 파이프라인의 장애 영역, 그리고 프리필 트래픽이 디코드가 사용하는 동일한 인터커넥트를 통과하는 방식입니다.

핵심 제약: 수조 매개변수 모델은 테라바이트가 필요하고, 웨이퍼 하나는 44GB를 제공

단일 Cerebras WSE-3T 웨이퍼는 44GB의 온칩 메모리를 제공합니다. 수조 매개변수 프론티어 모델은 가중치만으로도 테라바이트급 저장 공간이 필요하므로, 단일 웨이퍼로는 이를 담을 수 없습니다. Cerebras의 해결책은 모델을 여러 웨이퍼에 분할하고 이를 파이프라인으로 연결하여, 각 웨이퍼가 모델의 일부를 온칩 SRAM에 영구히 보유하도록 하는 것입니다. 이는 오프칩 메모리에서 가중치를 스트리밍하는 대신입니다.

실제 사례: Kimi K3, 3조 매개변수, 93개 레이어

Kimi K3는 약 3조 개의 매개변수를 가진 오픈소스 모델로, 69개의 선형 어텐션 레이어와 24개의 밀집(전체 어텐션) 레이어로 구성되어 총 93개의 레이어를 가집니다. Cerebras의 예시 구성은 세 가지를 가정합니다:

  • 평균 요청 크기 256k 토큰.
  • 모델의 Hugging Face 구현에서 참조된 방식과 일치하는 4비트 가중치 양자화.
  • 8비트 KV 캐시.

1단계: 각 모델 레이어는 4비트 가중치 기준 약 16GB

3조 개의 매개변수를 각각 4비트로 저장하면 원시 가중치 페이로드는 약 1.5TB입니다. 이 페이로드를 93개 레이어로 나누면 레이어당 약 16GB가 됩니다.

이 레이어당 수치는 설계의 다른 모든 것을 결정하는 숫자입니다. 이는 웨이퍼의 44GB SRAM에 맞아야 하기 때문입니다.

2단계: 모델은 59개 웨이퍼에 매핑

하나의 웨이퍼에 들어가는 레이어 수는 레이어 유형에 따라 달라지며, 그 이유는 KV 캐시 때문입니다:

  • 밀집(전체 어텐션) 레이어는 KV 캐시를 위한 추가 공간이 필요합니다. 각 밀집 레이어는 모든 활성 요청의 모든 토큰에 대한 키와 값을 저장하기 때문입니다. 따라서 Cerebras는 웨이퍼당 하나의 밀집 레이어를 배치하고 나머지 SRAM은 해당 레이어의 KV 캐시용으로 남겨둡니다.
  • 선형 어텐션 레이어는 KV 캐시를 위한 추가 공간이 필요하지 않습니다. 모든 토큰에 대한 키와 값을 저장하는 대신, 선형 어텐션 레이어는 컨텍스트 길이와 관계없이 요청당 작은 고정 크기 상태를 유지합니다. 따라서 웨이퍼당 두 개의 선형 레이어를 배치할 수 있습니다 (2 x 16GB = 32GB).

이 패킹 규칙을 Kimi K3의 구성에 적용하면:

  • 69개의 선형 어텐션 레이어를 웨이퍼당 2개씩 = 35개 웨이퍼 (34.5에서 올림).
  • 24개의 밀집 레이어를 웨이퍼당 1개씩 = 24개 웨이퍼.
  • 총 59개 웨이퍼.

3단계: 웨이퍼는 홉당 약 2마이크로초의 RDMA over Ethernet으로 연결

Cerebras는 모델을 파이프라인으로 실행합니다. Cerebras 컴파일러는 모델의 레이어를 웨이퍼 영역에 매핑하고, 런타임은 토큰이 웨이퍼 간에 흐르는 경로를 매핑합니다. 낮은 지연 시간을 위해 활성화만 웨이퍼 간에 전달되며, 전송은 홉당 약 2마이크로초의 RDMA over Ethernet으로 수행됩니다.

이를 저비용으로 만드는 설계 속성은 각 웨이퍼가 44GB의 온칩 SRAM을 가지고 있고 각 레이어는 약 16GB만 필요하다는 점입니다. 따라서 전체 레이어가 칩에 직접 들어맞으므로 모델 가중치가 이동할 필요가 없고 레이어를 웨이퍼 간에 분할할 필요가 없습니다. 활성화만 한 웨이퍼에서 다음 웨이퍼로 전달됩니다.

4단계: 단일 요청 처리는 조립 라인처럼 보임

모델이 연결된 웨이퍼에 배치되면 각 웨이퍼는 조립 라인의 한 단계 역할을 합니다. 한 단계의 가중치는 그 자리에 유지되고 요청의 중간 결과는 단계를 통과합니다.

구체적인 예: 웨이퍼 1은 모델 레이어 1-2를 실행하고 활성화를 웨이퍼 2로 보냅니다. 웨이퍼 2는 레이어 3-4를 실행하고 결과를 웨이퍼 3으로 전달합니다. 마지막 웨이퍼가 다음 토큰을 생성할 때까지 계속됩니다. Cerebras는 프로덕션에서 레이어당 한 단계라는 예시보다 훨씬 더 세분화된 단계를 더 많이 사용한다고 언급합니다.

5단계: 많은 동시 요청이 파이프라인을 가득 채우므로 배치 크기가 1이 아님

Cerebras는 일반적인 오해를 명시적으로 다룹니다: 토큰이 각 웨이퍼를 순서대로 통과해야 한다면 모든 웨이퍼가 차례를 기다리며 유휴 상태가 되어 사실상 배치 크기 1로 실행되는 것 아닌가? 답은 아니요입니다. 한 번에 하나의 요청만 보내면 파이프라인이 비효율적으로 사용됩니다. 대신 Cerebras는 서로 다른 요청으로 전체 파이프라인을 가득 채웁니다. 모델이 이미 파이프라인 단계로 분할되어 있기 때문에 각 단계는 서로 다른 요청을 동시에 처리할 수 있습니다.

단계 3이 요청 A의 토큰을 처리하는 동안 단계 2는 요청 B의 토큰을, 단계 1은 요청 C의 토큰을 처리할 수 있습니다. 각 단계는 단일 요청 대신 마이크로 배치(작은 요청 그룹)를 처리할 수도 있습니다. 동시에 처리되는 요청 수는 대략 단계 수에 마이크로 배치 크기를 곱한 값입니다.

트레이드오프는 직접적으로 따릅니다: 마이크로 배치가 작을수록 개별 요청이 빨라지고, 마이크로 배치가 클수록 전체 처리량이 증가합니다.

6단계: 동시 요청은 밀집 레이어 웨이퍼의 KV 캐시 메모리에 의해 제한됨

처리 중인 각 요청은 각 밀집 레이어 웨이퍼에 자체 KV 캐시가 필요하므로 온칩 메모리가 동시 요청 수의 상한을 설정합니다. 선형 어텐션 레이어는 요청당 고정 크기 상태만 유지하므로 이 계산에서는 밀집 레이어만 중요합니다.

이미 하나의 밀집 레이어를 보유한 각 44GB 웨이퍼의 경우 KV 캐시용 남은 공간은 총 웨이퍼 저장 공간에서 밀집 레이어 하나의 크기를 뺀 값입니다:

44GB - 16GB = 28GB

Cerebras는 단일 256k 토큰 요청이 8비트 정밀도에서 소비하는 KV 캐시 양을 계산하고, 28GB의 여유 SRAM을 요청당 사용량으로 나누어 이 매핑에서 최대 동시 요청 수를 도출합니다. Hacker News 스레드에서 한 댓글 작성자는 이 수치를 190개의 동시 요청으로 읽었습니다.

Cerebras는 또한 동시성과 배치 크기가 결정적인 효율성 지표가 아니라고 경고합니다. 회사는 추론 처리량의 더 의미 있는 측정은 동일한 출력 생성 속도에서 측정된 전력 단위당 총 토큰 처리량, 예를 들어 메가와트당 초당 토큰 수라고 주장합니다.

3조 매개변수 이상으로 확장하는 방법은 동일한 레시피를 사용

이 접근 방식은 더 큰 모델로 확장됩니다: 가중치와 요청 상태에 필요한 메모리를 계산하고, 모델을 웨이퍼에 분산하고, 웨이퍼를 파이프라인으로 연결합니다. 각 추가 웨이퍼는 컴퓨팅과 온칩 메모리를 모두 제공하므로 단일 칩의 용량을 초과하는 모델을 수용할 수 있습니다.

Cerebras 배포 설명의 주요 수치

수량 값
WSE-3T 웨이퍼당 온칩 SRAM 44GB
예시 모델 Kimi K3, 약 3조 매개변수, 오픈소스
레이어 구성 69개 선형 어텐션 레이어, 24개 밀집 레이어 (총 93개)
4비트 양자화 시 원시 가중치 페이로드 약 1.5TB
레이어당 가중치 메모리 약 16GB
선형 어텐션 레이어용 웨이퍼 35개 (웨이퍼당 2개 레이어)
밀집 레이어용 웨이퍼 24개 (웨이퍼당 1개 레이어)
총 웨이퍼 수 59개
각 밀집 레이어 웨이퍼의 KV 캐시용 SRAM 28GB
웨이퍼 간 홉당 지연 시간 약 2마이크로초, RDMA over Ethernet
주장된 생성 속도 수조 매개변수 모델에 대해 초당 1000-2000+ 토큰

Hacker News가 Cerebras 게시물에서 지적한 점

전체 정밀도 벤치마크 대 4비트 양자화

배포 예시는 4비트 가중치 양자화를 기반으로 하며, 댓글 작성자들은 양자화된 배포와 헤드라인 모델 품질 사이의 격차를 지적했습니다.

전체 정밀도 벤치마크를 인용하면서 4비트 양자화를 사용하는 것은

한 댓글 작성자는 Cerebras가 실제로 제공하는 모델에 대한 자신의 경험을 설명했습니다: "Cerebras는 서류상으로는 좋지만 내가 합리적으로 접근할 수 있는 것은 'GPT OSS 120b, Qwen 3.8 27B'뿐인데 내 용도에는 그다지 좋지 않습니다. Openrouter on nitro가 그 역할을 해줍니다. TPS는 5배 느리지만요. Cerebras에서 GPT OSS 120b를 사용해 봤는데 정말 빠릅니다. 하지만 대부분 틀립니다." 같은 스레드에는 회사의 포지셔닝과 개발자 관계에 대한 더 직설적인 평가도 있었고, 다른 댓글 작성자는 "ㅋㅋ 이 사람들은 앞서 언급한 또 다른 멍청한 양자화 방식을 가지고 있네요. 적어도 그들의 게이트웨이를 통한 대부분의 모델은 더 멍청합니다."라고 말했습니다.

"GPU 배치와는 다르다"는 주장은 설명되지 않음

Cerebras는 스트리밍 요청을 GPU 배치와 대조하며, 파이프라인의 요청이 "서로 완료를 기다리지 않는다"고 "파이프라인을 통해 지속적으로 스트리밍된다"고 말합니다. 한 댓글 작성자는 이 프레임에 의문을 제기했습니다:

"GPU 배치와는 다르다"는 것은 무슨 뜻인가요? GPU의 하드웨어 제한이 아니죠? 소프트웨어로 이를 수행하는 스캐폴딩이 아직 없다는 것뿐인데

게시물은 이 차이가 하드웨어 속성인지 소프트웨어 및 스케줄링 차이인지 해결하지 않습니다.

장애 영역: 59-웨이퍼 파이프라인은 성능 저하 방법이 명확하지 않음

스레드에서 가장 실질적인 엔지니어링 반대 의견은 가용성에 관한 것입니다. GPU에서는 여러 노드에 걸친 모델이 노드 하나를 잃고 성능이 저하될 수 있습니다. Cerebras에서는 모델이 사실상 랙 전체입니다.

59-웨이퍼 파이프라인이 장애 영역에서 얼마나 비용이 드는지 알고 싶습니다. GPU 배포는 노드를 잃고 성능이 저하될 수 있습니다. 여기서는 모델이 랙이므로 웨이퍼 하나가 고장나면 전체가 다운되고, 끝에서 끝까지 살아 있어야 하는 파이프라인은 롤링 업그레이드를 받을 수 없습니다. 어떻게 드레인하나요?

Cerebras의 게시물은 중복성, 웨이퍼 교체, 또는 라이브 다중 웨이퍼 파이프라인의 버전 업그레이드를 다루지 않습니다.

동일한 인터커넥트를 통한 프리필 트래픽은 다루지 않음

2마이크로초 RDMA 홉 수치는 활성화에 대한 웨이퍼 간 비용으로 제시됩니다. 한 댓글 작성자는 게시물이 디코드만 암시적으로 다룬다고 지적했습니다:

디코드에 대해서는 믿지만 기사는 그 인터커넥트에서 프리필을 어떻게 빠르게 만드는지에 대해 아무것도 말하지 않습니다 :/

KV 캐시가 더 저렴한 오프칩 DRAM에 저장될 수 있을까?

한 댓글 작성자는 KV 캐시를 DRAM과 같은 더 저렴한 오프칩 저장소로 옮기는 것을 제안하며, 추론 엔진이 한 사용자의 디코드를 완료한 후 다른 사용자의 디코드를 시작한다면 DRAM에서 SRAM으로 KV 캐시를 가져오는 것이 제한적일 것이라고 주장했습니다. 다른 댓글 작성자는 운영상의 귀결을 제기했습니다: 각 새 요청의 KV 캐시는 지원 저장 서버에서 로드되어야 하며, 그 서버 자체는 많은 요청의 활성 캐시를 보유하기 위해 많은 RAM이 필요할 것입니다.

댓글 작성자가 추정한 토큰당 에너지

게시물의 59-웨이퍼 구성을 사용하여 한 댓글 작성자는 전력 추정치를 산출했습니다:

WSE-3T 웨이퍼당 평균 20kW 소비로 전체 시스템은 약 1.18MW입니다. 초당 1500토큰과 190개의 동시 요청을 가정하면 토큰당 4.1J입니다. 모델 크기에 비해 괜찮은 것 같나요?

이 숫자를 문자 그대로 읽으면, 59개 웨이퍼 x 20kW = 1.18MW이고, 1.18MW를 초당 약 285,000개 집계 토큰(190개 동시 요청 x 각각 초당 1500토큰)으로 나누면 토큰당 약 4.1줄입니다. 이는 댓글 작성자의 가정이지 Cerebras가 발표한 수치가 아닙니다. 게시물 자체는 동일한 출력 생성 속도에서 측정된 메가와트당 초당 토큰 수가 공정한 비교 기준이라고만 말합니다.

웨이퍼당 44GB는 일부 독자에게 낮아 보임

웨이퍼는 꽤 커 보이는데 메모리가 44GB밖에 안 된다는 것이 놀랍습니다. 좀... 낮지 않나요? 하드웨어 전문가는 아니지만 웨이퍼에 훨씬 더 많은 메모리가 들어갈 수 있다고 생각했을 텐데요?

Cerebras 게시물은 44GB 수치 뒤에 있는 SRAM 밀도 트레이드오프를 설명하지 않습니다.

칩 토폴로지와 코어가 정사각형으로 타일링되는 이유

웨이퍼 스케일 아키텍처는 데이터가 칩의 2차원 메시 처리 요소(코어)를 통해 실제로 어떻게 흐르는지, 그리고 왜 정사각형 타일링이 지배적인지에 대한 더 긴 하드웨어 질문을 촉발했습니다:

그들은 레이어가 왼쪽에서 오른쪽으로 PE에 의해 스트리밍되는 것을 보여주지만, 그것이 실제로 얼마나 사실인지 궁금합니다: 아마도 통신은 대각선이나 데이터 흐름에 더 나은 토폴로지를 가진 다른 모양을 통해 스트리밍하는 것이 더 쉬울 수도 있습니다. [...] 그리고 Cerebras와 같은 스트리밍 아키텍처의 경우 육각형 그리드와 같은 다른 유형의 타일링이 왜 고려되지 않습니까?

게시물은 웨이퍼의 물리적 레이아웃, 라우팅 지오메트리, 또는 클로킹 제약 조건을 논의하지 않으므로 질문은 스레드에서 답이 없는 채로 남아 있습니다.

접근성은 여전히 헤드라인 기능에 미치지 못함

서비스를 사용해 본 여러 댓글 작성자(유료 사용자 포함)는 초당 1000-2000+ 토큰 주장과 실제로 실행할 수 있는 것 사이의 격차를 보고했습니다:

이번 주에 내 프로젝트에 Cerebras를 사용해 봤는데 그들의 27b 모델이 2000tks에서 완벽할 것입니다. 불행히도 내가 찾는 초당 2k 토큰을 제공하지 않습니다.

다른 사람들은 게시물이 제공하지 않는 것을 요청했습니다: 벤치마크 숫자가 아닌 인간적인 품질 비교. "저는 이 하드웨어가 본질적으로 멋지다고 생각하기 때문에 투자하고 있습니다. 하지만 순수하게 벤치마크 기반이 아닌 좀 더 인간적인 비교를 한 사람이 있나요? chatgpt와 anthropic sub 중에서 선택하게 만드는 요소가 있습니다. 전부 절대적인 능력은 아닙니다." 한 댓글 작성자는 회사의 위치를 한 줄로 요약했습니다: "Cerebras는 AI 물결의 Transmeta입니다."

수요 측면: 사람들은 능력뿐만 아니라 지연 시간을 원함

스레드에서 반복되는 주제는 많은 워크플로에서 모델 능력이 더 이상 병목이 아니라는 것입니다. "Opus 5.5는 이제 충분히 똑똑합니다. 속도가 필요합니다."라고 한 댓글 작성자는 말했으며, 에이전트 워크플로가 하드웨어 속도로 해결할 수 없는 테스트와 빌드에 시간을 소비한다고 지적했습니다. 다른 댓글 작성자는 극단적인 추론 속도를 질적으로 다르게 표현했습니다: "그들이 10%의 시간에 100배의 노력을 들이거나, 도구 호출 시간이 병목이 되는 1%를 상상해 보세요. 그것은 실제로 아주 특별한 종류의 '초지능'처럼 느껴질 것입니다."

결론

Cerebras의 배포 방법은 정적이고 가중치 고정 파이프라인입니다: 4비트 가중치가 각 모델 레이어를 온칩 SRAM에 고정하고, 59개 웨이퍼가 3조 매개변수 모델을 보유하며, 활성화만 RDMA Ethernet을 통해 웨이퍼 간에 약 2마이크로초 홉으로 전달되고, 동시성은 각 밀집 레이어 웨이퍼에 남은 28GB SRAM(KV 캐시용)에 의해 제한됩니다. 공개된 설명은 크기 조정 및 매핑 워크스루이지 벤치마크 보고서가 아니며, Hacker News 스레드의 해결되지 않은 질문은 게시물이 정량화하지 않은 것들입니다: 양자화 품질, 웨이퍼 간 인터커넥트를 통한 프리필 동작, 토큰당 전력, 그리고 웨이퍼 하나가 고장났을 때 59-웨이퍼 파이프라인에 어떤 일이 발생하는지입니다.

Sources

관련