かつて、1980年はじめのころ、WSI(Wafer Scale Integration)と呼ばれるウェーハ規模の半導体があった。ロジックやメモリを集積したウェーハ規模のチップだった。しかし、うまくいかなかった。30数年後に米国のベンチャーCerebras社が開発したウェーハ規模のAIチップ(図1)は成功するだろうか。今度は成功するような気がする。なぜか。理由はニューラルネットワーク専用の回路だからだ。

図1 Cerebras社が設計、TSMCが製造したディープラーニング用のウェーハ規模のICチップ 21.5cm×21.5cmという巨大なチップである 出典:Cerebras社ホームページから
図1 Cerebras社が設計、TSMCが製造したディープラーニング用のウェーハ規模のICチップ 21.5cm×21.5cmという巨大なチップである 出典:Cerebras社ホームページから

なぜニューラルネットならうまくいくのか。これまでの半導体チップの作り方とは大きく異なるからだ。

シリコンウェーハ全体に一つの集積回路(IC)を作ると、眼に見えない数十nm(ナノメートル)のパーティクル(粒子)がICのどこかに付着する確率が高くなる。例えば、小さな微粒子が10個付くと仮定する。チップサイズが小さく、1枚のウェーハに100個のチップが配置されているとして、最大でも10個のICが不良品になるだけで残りの90個は良品である。しかし、ウェーハ全体で1個の巨大なICだと10個も微粒子が付着してしまうともはや不良品となる。つまり、1枚のウェーハに100個の小さなICがあるなら歩留まりが90%なのに、1個の巨大なICなら歩留まりはゼロ%となる。だからこそ、ICチップは大きくできなかった。

半導体産業ではこのことは常識である。ステッパの露光サイズにも大きくしないようにサイズに上限がある。レンズの収差や歪によって、露光領域の中央と周辺で光の強度が一様ではなくなるからだ。ステッパは、小さな四角い露光領域をステップバイステップで露光していく。微粒子の存在の点からも、この上限は合理的だ。

どのようにクリーンルームを清浄にしても、微粒子は人間が存在するだけで呼吸している限り人間から出てくる。微量の汗や息から微量の体液が出てくる。これがパーティクルとなる。しかも人間がいなくても、ウェーハを搬送したり機械が動いたりすると、微量の摩擦が生じパーティクルが発生する。ほとんど目には見えないが、塵も積もれば山となる、ということわざにある通り、微粒子が溜まってしまえば、埃やゴミとして見えるようになる。

1980年代前半の4~5インチ時代でさえ、ウェーハ規模のICチップは無理なのに、今やウェーハの直径は300mm(12インチ)もある。パーティクルが付着しないことはありえない。だからこそ、パーティクルがウェーハに付着するという前提でウェーハ規模のICチップを作ることは、見えないパーティクルが付着して不良品を発生することになる。

ところが、人間の脳細胞(ニューロン)をモデルとするニューラルネットワークでは、実はウェーハ規模のICでも不良品の定義があいまいになる可能性が高い。1個のニューロンは、パーセプトロンと呼ばれる多入力・1出力のモデルで説明される。これは、図2にあるように、入力の様子をアナログ回路で記述しているが、これはデジタル回路でも表現できる。デジタル回路なら、データAiと重みBiを掛け算して次々と足していく積和演算(MAC: Multiply Accumulate)として表すことができる。

図2 1ニューロンは多入力・1出力のパーセプトロンモデルで表現されている 作図は筆者
図2 1ニューロンは多入力・1出力のパーセプトロンモデルで表現されている 作図は筆者

ΣAi×Biという数式でMACを表現でき、その出力値があるしきい値を超えると1、越えなければ0とする。その時のニューロンという演算器は、階段状のステップ関数になるがこれをシグモイド関数で近似することが多い。つまりニューロン1個の出力は0か1しかない。1だと、重みを掛けて表現し、足し合わせる。Cerebras社のホワイトペーパー(参考資料1)によると、MAC演算の半数以上(50~98%)が0をかける演算になるため、0をかけるという演算は省略することで計算スピードを上げたという。もちろんこの分、消費電力も減る。

AIのニューラルネットワークモデルでは、多数のニューロンを並列に演算した後、次のニューロンに入り、さらにその次へと進む。最終的な出力が当初、覚えさせようとした(学習)パターン(猫を認識する学習の例だとして)が不正解で、猫ではないという結果なら、重みを変えることになる。この場合は逆伝搬 (バックプロパゲーション)と呼ばれる手法で、出力段から次々と入力側へ戻っていき、重みを変えていく。これがいわゆる学習となる。

このニューラルネットワークのモデルでは、あいまいな要素がかなり入る。ニューロン1個の出力が違ってもニューロンのネットワーク全体にまで大きな影響を及ぼさないからだ。もし、ニューロン1個が切れていても正しい結果を導く可能性は大いにある。つまりここに不良のニューロンがあったとしても、う回してネットワークにつなげられるからだ。結果オーライということになる。しかもニューラルネットワークではニューロンの数は多ければ多いほど学習した結果が正解となる確率は増えていく。

このことは、ウェーハ規模のICのように巨大なニューラルネットワークチップを動作させこの中に相当するニューロンが1個不良品だとしても、あるいは1を0と出力したとしても逆伝搬で学習すれば別の結果を生み出す可能性につながる。こうなると、もはやウェーハ内のチップの大きさには制限がないかもしれない。

ただし、実際に製造するためには、ステッパの露光面積で制限される可能性はある。おそらく、このためにCerebrasは、1枚のチップを84個のブロックに分け、その1ブロック内に約4670個のAIコアを集積した。全部で40万コアを集積している。84個の1ブロックは露光サイズ以下に納められているようだ。

総じて、ニューラルネットワークをモデルとするならウェーハ規模のチップは歩留まりを考える必要はなさそうだ。ちなみに人間の脳(神経細胞ネットワーク)は、酒を飲むとブツブツと切れるらしい。それでも翌日、仕事に励み、アタマを使って考えるという作業を行っていれば再びつながっていくようだ。あるテレビ番組に登場した90歳の方は毎日、語学を学んだりいろいろな趣味をもったりするせいか、脳細胞が増えていると報じていた。

ニューラルネットワークのモデルでどのように再配線するのか、小生のアタマでは見当もつかないが、Cerebras社のチップにはソフトウエアで再配線できるという。ニューロチップは、人類の頭脳に近づいているかもしれない。

ただし、歩留まり以外の問題として、どのようにしてパッケージするのか、さらに実装するのか、熱膨張係数の違いによる割れやひび、クラックに対してどう対策を打つか、ハンダバンプかボールか、緩衝材をどうするかなど、解決すべき問題は山積している。冷却には、スーパーコンピュータ並みの水冷が必要になる可能性がある。

参考資料

1. Cerebras社ホームページ

                                                      (2019/08/30)