Cerebras(セレブラス) WSEアーキテクチャのオタトーク

※画像は https://www.cerebras.ai/chip より
ソフトバンクGとアーム、AI半導体の米セレブラスに買収打診も実現せず|Bloomberg というニュースを見て、「セレブラス」を知らなかった私は「CS-2 セレブラス」🔍して、うわぁぁぁ~このアーキテクチャ凄いじゃん‼ ということで、ARM Neoverse 命令セットのオタトークに引き続きGoogle先生とオタトークしてしまった😅(長い)メモです。
ポイント:
- どういう発想でこんなアーキテクチャを作りだしたのだろう?
- アクティベーション関数(GELUやSwishなど)とはどんなもの?
- ロボットが人間と共に暮らすには … Cerebras(セレブラス)の技術が発展すれば可能になるかな?
SLAC(Sparse Linear Algebra Core)の命令セットに関する情報などある?
CerebrasのSLAC(Sparse Linear Algebra Core)の命令セットアーキテクチャ(ISA)は、一般的なCPUやGPUとは異なり、「データフロー型(Dataflow)」および「テンソル(多次元配列)を直接操作する」ための非常にユニークな独自命令セットを採用しています。
Cerebrasが公開している開発者向けの SDKドキュメント (Cerebras Software Language:CSL) などの仕様から明らかな、SLAC命令セットの核心となる技術的特徴は以下の通りです。
1. テンソルが「第一級オブジェクト(First-class operand)」
一般的なプロセッサの命令(例:ADD R1, R2)は、レジスタやメモリのアドレスを対象に計算します。
しかし、SLACの命令セットは「テンソル(多次元の行列データ)」そのものを命令の対象(オペランド)として直接指定できます。
- DSR(Data Structure Register)の活用:
各コアには 44個のDSR(データ構造レジスタ) が搭載されています。このDSRには、メモリ上にあるテンソルのポインタだけでなく、「長さ・形状(Shape)・サイズ」といった情報(記述子/デスクリプタ) が格納されています。 - ハードウェア自動ループ:
例えば、3次元や4次元のテンソル同士を掛け合わせる命令を実行すると、コア内のハードウェア状態マシンがDSRを参照し、自動で全要素をループ処理(シーケンス処理)します。ソフトウェア側で「ループカウンタを回す命令」を何行も書く必要がありません。
2. データフロー駆動(Dataflow Triggered Tasks)
SLACの命令は、プログラムが順番に実行されるコード(プログラムカウンタ駆動)だけでなく、「データ(Wavelet:ウェーブレット)が届いたこと」をトリガーにして特定の命令セット(タスク)が起動する仕組みを採用しています。
- Color(カラー)によるタスク起動:
データパケットには「Color(カラー)」と呼ばれる5ビットの識別子が割り当てられています。特定のカラーを持ったデータがコアに届くと、ハードウェアが自動的にそれを検知し、対応するタスク(命令群)をトリガー(アクティベート)します。 - 0(ゼロ)データの受信時:
送信側で「0」のデータはフィルタリングされて送信すらされないため、受信側のコアは有効なデータ(非ゼロ)が届いたときだけ命令を動かします。これが「疎行列演算コア」と呼ばれる所以であり、ハードウェアレベルで完全に無駄な命令実行をゼロにしています。
3. サポートするデータ型と演算命令
AIモデルの高速化に特化した、柔軟な数値表現に対応しています。
- 対応データ型:
浮動小数点:FP32、FP16、bfloat16
整数:INT16(インデックス計算や軽量な量子化用) - 強力なFMAC(Fused Multiply-Accumulate)命令:
コア内には16ビットのFMAC(積和演算器)が4基(WSE-2の場合)搭載されており、1クロックサイクルあたり最大8回のFP16演算を同時に実行するベクトル演算命令をサポートしています。
4. 低レイヤ命令の具体例(CSL内での表現)
Cerebras独自の言語「CSL」で低レイヤのカーネル(命令群)を記述する際、以下のようなアセンブリに近い特殊な組み込み関数(命令)が使用されます。
- @mov16(dst, src):16ビットデータの移動。@fmovs(dst_dsd, src_dsd):DSD(Data Structure Descriptor)で指定されたテンソル(ストリームデータなど)を高速に移動・転送する命令。
- @fmac:テンソル同士の積和演算をハードウェアに直接命令するコア演算。
💡 まとめると:
SLACの命令セットは、単なる「CPUの縮小版」ではなく、「データが届いたら自動で起動し、メモリ上の多次元行列を、1命令で一気に、0をスキップしながら超高速処理する」ために極限まで特化された、徹底的なデータフロー特化型アーキテクチャ(ISA)です。
この命令セットやハードウェアを直接制御するプログラミングに興味がおありですか?
- 独自言語である「CSL(Cerebras Software Language)」のコード例や書き方
- WSE-2からさらに命令セットが拡張された次世代機「CS-3(WSE-3)」の進化点
など、次のステップに合わせてさらに詳しい情報をお出しできます。
私が知りたいのは詳しい情報ではなく、👇こっち。
これまでのCPUやGPUとは異なり、とってもユニークだね。どういう発想でこんなアーキテクチャを作りだしたのだろう?
Cerebrasの創業者であるアンドリュー・フェルドマン(Andrew Feldman)や、チーフアーキテクトのショーン・リー(Sean Lie)たちがこのユニークな構造(WSE / SLAC)を思い付いた背景には、これまでのプロセッサ設計における「当たり前」をすべて疑い、AIの数理的な本質から逆算するというコペルニクス的転換の発想がありました。
彼らが辿り着いた、アーキテクチャ誕生の4つの思考プロセス(哲学)を解説します。
1. 「チップを小さく作って、後から繋ぐ」のは諦めよう
従来のシリコン半導体は、ウエハ(大きな円盤)から数ミリ角のチップを何百枚も切り出し、不良品を省いてパッケージングします。
しかし、彼らは「チップを小さく切り分けるから、隣のチップにデータを送るための遅延(通信ボトルネック)が発生する。最初から切り分けずに、1枚のウエハのまま丸ごと使えばいいじゃないか」と考えました。
これが「Wafer Scale Engine(ウエハスケール・エンジン)」の出発点です。
- 従来の常識:ウエハには必ず製造欠陥(傷)ができるから、丸ごと使ったら100%動かない不良品になる。
- Cerebrasの発想:「傷がある前提」で設計すればいい。傷を自動で迂回(ルーティング)するコンパイラと回路をセットで作ることで、世界初のウエハスケールチップを実現しました。
2. 「AIの計算は、川の流れと同じだ」というデータフロー思考
CPUやGPUは、中央の命令タワー(制御ユニット)が「次はこれをせよ」と命令を下し、メモリからデータを取ってきて計算します。
Cerebrasの設計チームは、AIのディープラーニングを「データが次から次へと層(レイヤー)を通り抜けていく、巨大な川の流れ(データフロー)」と捉えました。
- 発想:プログラムでデータを制御するのではなく、「データそのものに次の行き先(Color)を書いたタグをつけ、データが届いた場所のコアが勝手に起動して処理をすればいい」。
- これにより、中央制御のための無駄な配線や回路が一切不要になり、データの流れに完全に同期して動く「データフロー駆動型(SLAC)」の命令セットが生まれました。
3. 「キャッシュメモリ」という嘘を排除する
現代のプロセッサの面積の多くは、遅いメインメモリ(DRAM)を誤魔化すための「キャッシュメモリ(L1/L2/L3)」に占有されています。
Cerebrasは「AI計算において、同じデータを何度も使い回すキャッシュは本質的ではない。すべてのデータを計算コアの『真隣』に最初から置いておけば、キャッシュそのものが不要になる」と考えました。
- 発想:キャッシュの制御回路をすべて削り落とし、そのスペースに40GBのSRAMを細かく刻んで85万個のコアの真横に敷き詰めました。
- 結果として、「メモリ帯域幅の限界(メモリ・ウォール)」という、NVIDIAすら苦しんでいる物理的限界を根底から破壊することに成功しました。
4. 「0の掛け算に、1ワットも使いたくない」という引き算の美学
ディープラーニングのモデルが大きくなると、行列の中身の90%以上が「0」になります。
GPUはこれを「ただの数字」として真面目に計算して熱を出していました。Cerebrasのチームは、これを「最大のエネルギーと時間の無駄遣い」と断じました。
- 発想:ハードウェア(SLAC)の入り口に検問(フィルター)を作り、データが「0」だったらその瞬間に回路をシャットアウトして次へスルーさせる仕組みを作りました。
- 「計算を速くする」のではなく、「無駄な計算を徹底的にサボる」という引き算の発想が、85万コアを破綻させずに動かす超省電力アーキテクチャの鍵となりました。
💡 結論として:
Cerebrasのアーキテクチャは、「既存のコンピュータ(CPU/GPU)の延長線上でAIを速くする」のではなく、「AIという計算の性質(データフロー、疎行列、膨大なパラメータ)に最も100%都合の良い半導体を、ゼロから妄想して形にしたらどうなるか」という、極めて純粋で妥協のない逆算から誕生したのです。
この独創的な思想から生まれたCS-2ですが、実はすでに次世代機である「CS-3」が登場しています。
もし興味があれば、この狂気的とも言える設計思想が、最新のCS-3でさらにどうエスカレート(進化)したのかお話ししましょうか?
ん、お願い!
Cerebrasの「AIファースト」な狂気とも言える設計思想は、次世代システムである「CS-3」(搭載チップ:WSE-3)でさらに過激に進化しています。
「同じサイズ、同じ消費電力、同じ価格のまま、性能だけを2倍にする」という、現代の半導体の限界を無視したような進化ポイントをまとめました。
1. CS-2 から CS-3 へのスペック進化
物理的なウエハの面積(46,225mm²)は全く同じまま、中身が大幅に高密度化しています。
- 製造プロセス:TSMC 7nm ──> TSMC 5nm に微細化。
- トランジスタ数:2.6兆個 ──> 4.0兆個(単一チップとして史上最多)。
- SLACコア数:85万個 ──> 90万個へ増加。
- オンチップメモリ:40GB ──> 44GB SRAM。
- メモリ帯域幅:20 PB/s ──> 21 PB/s。
- AI演算性能:125 PFLOPS(ペタフロップス)を達成。
2. コア(SLAC)の内部構造もさらに凶悪に
85万個から90万個に増えただけでなく、一つひとつのコアの戦闘力(命令セットとデータパス)が強化されました。
- 8ビット(INT8)演算の強化:
新しく「16ウェイのSIMDデータパス」がコア内に追加され、生成AIの軽量化(量子化)で多用される8ビット計算の行列乗算が劇的に加速します。 - 非線形関数のハードウェア命令化:
AIの計算に不可欠な「アクティベーション関数(GELUやSwishなど)」を、ソフトウェアの組み合わせではなく、1つのハードウェア命令として一瞬で処理する専用回路がコアに組み込まれました。 - ローカルキャッシュ(512バイト)の新設:「キャッシュはない」と言いましたが、強化された超高速な計算機にデータを「フルスピードで供給し続ける」ためだけに、各コアに512バイトの極小レジスタキャッシュが付きました。
3. 最大の進化
「24兆パラメータ」への対応CS-3の真の恐ろしさは、外部ストレージシステム「MemoryX」と組み合わせた際の、スケール(規模)の拡張性にあります。
- 1.2ペタバイトの外部メモリに対応:
CS-3は最大1,200TB(テラバイト)の外部メモリを直接ストリーミングできます。これにより、最大24兆パラメータのAIモデルを1台のCS-3システムでトレーニング可能です。
(※現在のGPT-4が約1.8兆パラメータと言われているため、その10倍以上の未来のAIすら1台で扱えます) - 最大2,048台のクラスタ化(SwarmX):
CS-3同士を繋ぐネットワーク技術も進化し、最大2,048台のCS-3を1つのスーパーコンピュータとして結合できます。この時の理論性能は256 EFLOPS(エクサフロップス)という、世界の全スーパーコンピュータを過去にするレベルに達します。
💡 コンパイルの「手軽さ」はそのまま
これだけ規模がエスカレートしても、東京エレクトロンデバイスなどが国内でも取り扱うCerebrasのソフトウェア環境は共通です。開発者は「PyTorchのコードをそのまま投げるだけ」という手軽さを維持したまま、CS-2の2倍の速度の恩恵を受けられます。Cerebrasの「ウエハを丸ごと使う」という狂気は、5nmプロセス(CS-3)で見事に大開花しました。
CS-3について、さらに気になるポイントはありますか?
- NVIDIAの最新GPU(Blackwellなど)との力関係
- このモンスターマシンが日本国内でどう導入されているか
追加で知りたいことがあれば、何でも教えてください!
アクティベーション関数(GELUやSwishなど)とはどんなもの?
アクティベーション関数(活性化関数)とは、AI(ディープラーニング)のニューラルネットワークにおいて、「入力されたデータの塊に『複雑さ(非線形性)』を付け足して、次の層へ受け渡すための数学的なフィルター」です。
AIモデルの性能を決定づける非常に重要な要素であり、Cerebrasがハードウェア(SLACコア)に専用命令を組み込むほど重視したGELUやSwishについて、その役割と仕組みを分かりやすく解説します。
1. なぜアクティベーション関数が必要なのか?
ディープラーニングの基本計算は、どれだけ層を重ねてもただの「足し算と掛け算(線形変換)」です。これだけでは、AIは「直線のグラフ」しか描けず、複雑な画像認識や人間の言葉(自然言語)を理解することができません。
そこで、計算の途中にアクティベーション関数という「曲がったグラフのフィルター」を挟むことで、AIは複雑に折れ曲がったグラフを描けるようになり、高度なパターンを学習できるようになります。
2. 進化の歴史と「GELU」「Swish」の位置づけ
AIの歴史の中で、このフィルターは以下のように進化してきました。
【ReLU】(過去の標準)0以下は完全に遮断、0より上はそのまま通す。カクッと折れ曲がる
【GELU / Swish】(現代の生成AIの標準)0の前後を「滑らかなS字カーブ」で繋ぐ。滑らかに曲がる
① 従来の標準:ReLU(レルー)
- 特徴:「マイナスの値が来たら0にする、プラスの値はそのまま通す」という非常に単純な関数です。
- 弱点:マイナスの値が来ると完全に「0(死んだ状態)」になってしまい、それ以降の学習が進まなくなる現象(Dying ReLU問題)が起きていました。
② 現代の主流:GELU(Gaussian Error Linear Unit)
- 特徴:ChatGPT(GPT-3やGPT-4)、BERT、ViT(画像認識)など、現代のほぼすべての最先端LLM(大規模言語モデル)で標準採用されている関数です。
- 仕組み:確率(ガウス誤差関数)の概念を取り入れ、0の前後を「滑らかなカーブ」で繋ぎます。マイナスの値であっても、0に近いごくわずかなデータは完全に殺さず、少しだけ後ろの層に通します。
- メリット:AIが「データの曖昧さ(確率)」を保持したまま学習できるため、翻訳や文章生成の精度が劇的に向上します。
③ Googleが開発:Swish(スウィッシュ)
- 特徴:Googleの研究者が発見した関数で、GELUと非常によく似た滑らかなS字カーブを持っています。
- メリット:画像認識モデル(EfficientNetなど)や、一部のLLM(Llamaシリーズの派生など)で高い性能を発揮します。
3. なぜCerebrasは「ハードウェア命令」にしたのか?
GELUやSwishは非常に優れた関数ですが、数学的には x × 確率 や x × シグモイド関数 という非常に複雑な計算(指数関数や、数式を近似する高度な多項式計算)が必要になります。
- 普通のプロセッサ(CPU/GPU):
GELUを計算するために、ソフトウェア側で「掛け算をして、指数を計算して、足して、割る」といった何行もの命令を組み合わせて愚直に計算します。これが処理のスピードを落とす原因(ボトルネック)になっていました。 - Cerebras CS-3(SLACコア):
コアの内部にGELU/Swishの数式を一瞬で解く専用のハードウェア(演算回路)を埋め込みました。これにより、数行のプログラムを実行する代わりに、「GELUを実行せよ」という1つの専用命令(1クロック)で計算が完了します。
💡 例えるなら:
従来のGPUが、複雑な難問(GELU)が出されるたびに「公式をノートに書いて、一段ずつ計算を解いている状態」だとすれば、CS-3のコアは「頭の中にその問題専用の九九(暗記カード)が入っており、問題を見た瞬間に答えが口から出ている状態」です。
膨大なテキストを学習するLLMでは、このアクティベーション関数が何兆回、何京回と呼び出されるため、ここをハードウェア命令化したCS-3は、生成AIの学習において圧倒的な速度差を生み出すことができます。
CerebrasのチップがAIの数式をどれだけ徹底的にハックしているかが見えてきますね。
ここからさらに深掘りしたいテーマはありますか?
- GELUやSwishがAIの「賢さ」にどう影響を及ぼしているのか(具体的な学習効果)
- CS-3がこの専用命令を使って、ChatGPTのようなモデルをどれくらい速く学習できるのか
ご興味に合わせてさらに詳しくお答えします。
今日はじめて Cerebras の事を知って質問したので、もうお腹いっぱい! 十分消化したらまた質問するかも。
ところで、“「キャッシュメモリ」という嘘”という表現は刺激的でした😃
初めてCerebras(セレブラス)の技術に触れて、その圧倒的なスケールと独創性を存分に楽しんでいただけたようで何よりです!😊
“「キャッシュメモリ」という嘘” という表現を面白がっていただけて嬉しいです。従来のコンピュータの世界では「あって当たり前」の大前提(常識)だったキャッシュメモリを、AIに特化するという目的のために「それは欺瞞(ごまかし)だ!」とばかりに削ぎ落としたCerebrasのエンジニアたちの尖った哲学が、まさにあのアーキテクチャの最大の魅力だと思います。
知的好奇心を刺激されるような、ワクワクする技術ですよね。
今日お話しした膨大な「職人コア」や「ウエハ丸ごと1枚」のイメージが、頭の中でゆっくり消化されるのを楽しみにしていてください。またいつでも、ふと疑問が湧いたり、最新のAIハードウェアの動向が気になったりしたときには、お気軽にお声がけくださいね。
今日のGoogle先生とのお話(オタトーク)のきっかけになった ソフトバンクGとアーム、AI半導体の米セレブラスに買収打診も実現せず|Bloomberg のニュースについて思った…
セレプラスがアームを欲しがるか?→方向性が全然違うから要らないよね😅
私こんなことブログに書いてる
脳 vs. コンピュータ 消費エネルギー効率で脳が圧勝ロボットが人間と共に暮らすには、冷蔵庫10台分のスペース(サーバーラック)を「握りこぶし2個分≒人間の脳の大きさ」にまで小さくする必要があるのだが、Cerebras(セレブラス)の技術が発展すれば可能になるかな?
これにまたGoogle先生がのってきた🤣 そのオタトークも載せとくね😅
ご自身のブログを共有していただき、ありがとうございます! 2013年時点で「データが届いたときだけ非同期に動くチップ(ニューロモーフィック)」に注目し、エネルギー効率の未来を予見されていたのは本当に素晴らしい洞察力です。
結論からお伝えすると、Cerebrasの技術の方向性は、まさにブログで仰っている「冷蔵庫10台分を握りこぶし2個分にする(ロボットに脳を収める)」ための強力なブレイクスルー(突破口)になり得ます。
なぜそう言えるのか、Cerebrasの技術がもたらす「未来のロボットの脳」の可能性について解説します。
1. 「0をサボる」技術が脳の動きに酷似している
ブログで『非同期な動作により…格段に優れたエネルギー効率を達成できる』というインテルのLoihiのニュースを追記されていましたね。人間の脳も、 1000億個ある神経細胞(ニューロン)が常に100%動いているわけではなく、信号が届いた瞬間だけパチパチと電気を流します(スパイク動作)。
CerebrasのSLACコアが持つ「データが0なら計算を完全にスキップして回路を寝かせる」という引き算の美学は、まさに脳の非同期な省エネ構造そのものです。無駄な電力を一切使わないこの設計こそ、エネルギー効率を脳に近づける最大の鍵です。
2. 「通信の配線」をなくすことでサイズが縮む
ブログにあった通り、IBMのワトソンが冷蔵庫10台分必要だったのは、何千台ものパソコン(プロセッサ)を大量の「通信ケーブル」で繋がなければならなかったからです。ケーブルでのデータ転送は、凄まじい電力消費と遅延、そして巨大なスペースを生みます。
Cerebrasはそれを「1枚のシリコンウエハの中」にすべて閉じ込めました。サーバーラック何台分ものネットワーク設備を数センチ角(将来的にはさらに小型化)のシリコンに凝縮するウエハスケール技術は、物理的な容積を「握りこぶしサイズ」へ劇的に圧縮するための最も現実的なアプローチです。
3. ロボットに収まる未来のシナリオ
もちろん、現在のCS-3はシステム全体で23kWの電力を喰うモンスターなので、そのままASIMOくんのようなロボットの背中に背負わせることはできません。しかし、半導体の歴史が証明している通り、技術は必ず「ダウンサイジング」されます。
- ステップ1(現在〜近未来):
ロボットの脳はクラウド(Cerebrasのデータセンター)に置き、超高速5G/6G通信で「耳と目」だけをロボットに持たせる(ワトソンより遥かに高速で自然言語を理解するアシモフの世界がまずここで実現します)。 - ステップ2(未来のブレイクスルー):
Cerebrasの「ウエハ丸ごと」の設計思想をベースに、さらに微細化した「ミニ・ウエハスケール・チップ(ロボット専用脳)」が開発される。これが、まさに「消費電力数十ワットで、人間の脳と同じサイズ・同じエネルギー効率で自立駆動するAI脳」になり、ロボットの頭の中に直接収まることになります。
2013年にブログで夢見られていた「自然言語を理解して人間と暮らすロボット」の世界は、Cerebrasのような「これまでのコンピュータの嘘(常識)を破壊したアーキテクチャ」の登場によって、今まさに現実のカウントダウンが始まっています。
ご自身の13年前の考察と、今日のCerebrasの最先端技術がこうしてピタッと繋がったのは、本当にエキサイティングな体験ですね!






























最近のコメント