PaPoo
cover
technews
Author
technews
世界の技術ニュースをリアルタイムでキャッチし、日本語でわかりやすく発信。AI・半導体・スタートアップから規制動向まで、グローバルテックシーンの「今」をお届けします。

59枚の中身をほどく

この記事は後半です。前半は Qiita にあります: 3兆パラメータを59枚に分ける発想をほどく

1層ずつ見ると、数字の意味が変わる

画像: modal.com より
画像: modal.com より

画像: www.cerebras.ai より
画像: www.cerebras.ai より

前半では、3兆パラメータ級のモデルをCerebrasがウェハ上にどう置くかという入口を見ました。ここで大事なのは、モデル全体をひとかたまりで考えず、層ごとのサイズと状態量にまで分解することです。そうすると「何枚必要か」は、単なる総容量の問題ではなくなります。

Cerebras の公式ブログでは、Kimi K3 は約3兆パラメータ、93層、WSE-3T 1枚あたりオンチップメモリは44GBと説明されています。4ビットで重みを持つ前提なら、1層あたりはおよそ16GBになります。ここまでは机上の計算ですが、ここから先が面白い。dense層はKV cache の余白が要るのに対し、linear-attention層は固定サイズの状態で足りるため、同じ16GBでも扱いが変わるのです。

この差があるから、Cerebras は「1層を何枚で受けるか」を層の種類ごとに分けて考えています。dense層は1枚ずつ置き、linear-attention層は余白に応じて2層を載せる。つまり、チップ枚数の設計は、モデルの構造そのものから逆算されているわけです。ここでようやく、59枚という数字が「たまたま収まった枚数」ではなくなります。

59という切り方の正体

公式ブログの例では、69のlinear-attention層と24のdense層を使い、合計59枚にしています。内訳は、dense層がそのまま24枚、linear-attention層が35枚ぶんという整理です。2層を1枚にまとめられるぶん、linear-attention層側で枚数を圧縮できる。ここが、層の種類から枚数を逆算する理由そのものです。

この設計は、単にメモリを節約するためだけではありません。1枚のウェハに層をできるだけ詰め込めれば、モデル重みを動かさずに済む範囲が広がります。Cerebras はパイプライン実行を前提にしていて、ウェハ間を流れるのは主に活性値です。重みは基本的にその場に置いたまま。だから、枚数の決め方がそのまま通信の少なさに効いてきます。

第三者の解説でも、この59枚という切り方は同じ方向で説明されています。ただ、根拠として読むべきなのは公式ブログのほうです。69のlinear-attention層と24のdense層という内訳も、35 + 24 = 59 という足し算も、そこにそのまま書かれています。

速さの裏にある制約

Cerebras の説明では、ウェハ間通信は RDMA over Ethernet で、1ホップあたり約2マイクロ秒とされています。かなり短いですが、当然ながらゼロではありません。だからこそ、層を無駄に分割せず、できる限り1ウェハ内に収める意味があります。分割が増えるほど、活性値は増え、パイプラインの往復も増えます。

もうひとつ見落としやすいのが、同時に何リクエスト流せるかです。Cerebras は、KV cache に残る空きで同時実行数の上限を決めています。dense層のウェハでは、重みを載せたあとの余白がそのままキャッシュの器になる。したがって、59枚という数字は「モデルが載る最小枚数」ではなく、「どれだけ同時にさばけるか」まで含んだ配置の結果と見るのが自然です。

ここで実務の感覚が出ます。問い合わせが少ないデモなら、必要枚数だけ見れば十分です。でも、本番では違います。RAGでもコード生成でも、同じモデルに複数ユーザーが流れ込んできます。枚数が増えるほど並列度は上がる一方、KV cache の余白が足りないと同時処理が詰まる。Cerebras の手法は、その綱引きを最初から設計に入れている点が特徴です。

どこで使うと効くか、どこでは効きにくいか

この仕組みが向いているのは、長いコンテキストを扱い、しかも同時接続数が効く場面です。社内文書検索、コード補助、エージェント系の推論はかなり相性がいい。反対に、モデルを頻繁に入れ替える運用や、細かいカスタム推論をたくさん挟む用途では、層単位で綺麗に流す利点が薄れます。

自分なら、この設計は「大きいモデルを安く回す」ためというより、「大きいモデルでも運用を単純に保つ」ために使います。ウェハに層を置き、流すのは活性値だけ。重みを毎回動かさなくていいというのは、推論基盤の設計をかなり楽にします。特に、複数リクエストを流し続ける前提なら、パイプラインの見通しが立ちやすい。

一方で、注意もあります。公開情報だけで見ると、59枚という数字は魅力的ですが、実際の前提は4ビット重み、8ビットKV cache、あるリクエストサイズなどに依存しています。条件が変われば枚数も変わる。Cerebras 自身も、これは特定のモデル配置の例として説明しています。つまり、59枚は普遍法則ではなく、ある前提の上での設計値です。

この読み方を外すと、数字だけが独り歩きします。でも本当に見るべきなのは、層の種類、キャッシュ、同時接続数をひとつの式として扱っている点です。59枚はその結果にすぎません。そこにCerebrasの設計思想が出ています。

同じ著者の記事