Cerebras のWafer-Scale Processor blogの抄訳

これは、2019年のhot chips で注目を集めたウェファースケールチップを公開したCerebras社による[ブログ記事](https://www.cerebras.net/wafer-scale-processors-the-time-has-come/)の私的抄訳です。技術的内容というよりは、モティベーションに焦点をあてて書かれています。文中の図はすべてオリジナルのブログ内の図をリンクしているのできっとそのうちリンクが切れるでしょう。

----


## ウェファースケールインテグレーションとは

一般にチップはウェファー上に多数並べられて作られる。ウェファーは１２インチ程度で、チップは大きくても１インチ四方程度でウェファーよりも遥かに小さい。

ウェファースケールインテグレーションとは、ウェファー全体から１つのチップを作ろうというアイディアだ。

ウェファーには欠陥がつきものだが、１つのウェファーから多数のチップを取り出す場合には欠陥のある部分のチップを捨ててしまえばいいので問題にはならない。しかし、ウェファースケールでは常にチップ内に欠陥があることになるので、そうはいかない。ではなぜそのように面倒なことをするのだろうか。


## ウェファースケールインテグレーションのメリットは

最大の理由は、オフチップ通信が高性能計算の障害となっているからだ。計算は一つのチップで行われるわけではなく、特にメモリチップとの間で通信が必要になる。通信するには、データを電気信号として金属の電線を通じて送らなければならない。これはオンチップでもオフチップでも同じだが、オフチップの場合は電線が太く長くなる。すると信号を送るのにかかる時間は長くなり、消費エネルギーも大きくなる。
オンチップ通信は数ナノのオーダだが、オフチップ通信は数百ナノのオーダとなる。エネルギー消費量も同じように異なる。

もう一つのポイントはチップからのピン数だ。通常のチップでは十分な数の線数を確保できない。Cerebrasのシステムでは、内部の「チップ」に相当するモジュールから20000本もの接続を得ることができている。通常の構成と比較すると１０倍以上になる。


## なぜこれまで誰もやらなかったのか

実は、1970年代から何度も試みられてきた。しかしさまざまな技術的問題で成功しなかったのだ。しかし、現在では以下で紹介するように、これらの問題を解決する事ができる。

## なぜ今、ウェファースケールが必要なのか

計算への需要と供給のギャップは開く一方だ。特にAIの訓練には膨大な計算が必要で、計算の需要は3.5ヶ月で倍増するという[試算もある](https://openai.com/blog/ai-and-compute/)。

一方チップ技術も進歩しており、いわゆるムーアの法則で、単位面積あたりのトランジスタ数は18ヶ月で倍増を続けてきた。それだけでは消費電力の問題が起きそうだが、トランジスタを小さくすると電圧を下げる事ができるのでこれは問題にならなかった（デナード則と呼ばれる）。

しかし、この「フリーランチ」は今や終了した。これまではなんとかトランジスタの量は増やすことができたが、クロック速度は上げられなかった。

また、ウェファーを作成するファブのコストも増大の一途をたどっている。物理的限界よりも先に、経済的にこれ以上の微細化は難しくなっている。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/412142/36bbaed1-d74d-2295-f6a6-b632913fdd3f.png)

Expected design costs through 5nm. Source: IBS via ExtremeTech

この問題はウェファースケールで解決できる。

## ウェファースケールへの障害はなにか、それをどう克服したのか

CerebrasがHot Chipsで公開したWSE(Wafar Scale Engine)はウェファースケールが可能であることを示した。WSEは、12兆個のトランジスタを持ち、46,225mm^2のサイズを持つ。これまでに作られた最大のチップよりも56倍も大きい。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/412142/06cc9e49-5727-f20d-293f-e667370b3934.png)

問題は以下の4つだった。

- スクライブライン（チップモジュール間を隔てる線）を超えて通信する方法
- 収率だった
- パッケージング
- 電力供給と冷却

一つずつ見ていく。

## スクライブラインを超えた接続

通常のチップを作る場合には、ウェファー上に全く同一のダイを多数作り、その間にあるスクライブラインで切り離す。スクライブラインには、テストや制御用の構造も置かれる。

しかし、ウェファースケールで、チップモジュール間の高速伝送を行うには、スクライブライン上に多数のワイアを設ける必要がある。こうすることで、各ダイの中と外とで通信バンド幅が変わらないようになっている。

![](https://secureservercdn.net/198.12.145.239/a7b.fcb.myftpupload.com/wp-content/uploads/2019/09/cross-scribe-line.png)

この技術は、TSMCとの協力で開発された。WSEのダイ間通信のクロックレートはダイ内のクロックレートと全く同じになっており、ソフトウェアでダイを意識する必要はない。

## 収率：ちゃんと動くウェファースケールチップ

DRAMやSRAMでは収率を上げるために、欠陥のある列や行を捨てる。WSEでは類似したアプローチをコアに対して行う。

ダイの単位で捨てる事もできるがそれだと一つの欠陥で1/100が失われてしまう。より小さなコアの単位で捨てることで収率を上げている。

WSEでは、コア間の配線を切り替えることで、不良コアの切り離しを行う。不良コアは製造時に同定され、それらを避けるように配線が設定される。


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/412142/3222f567-1772-fa36-bedf-46a667961459.png)


## パッケージと組み立て

組み立て時には、熱による膨張率が素材によって異なることが、大きな障害となる。チップはPCB(Printed Circuit Board)上にマウントされるが、シリコンとPCBの膨張率が違うため、冷却された状態ではぴったりあっていても、熱くなるとずれるようになる。特に辺縁部では影響が大きい。従来のチップであればサイズが小さいため、大きな問題にはならなかったが、WSEでは辺縁部のコネクタが破断しかねない。

Cerebrasでは、新たな素材を開発してコネクタを設計した。このコネクタがウェファとPCBを接続し、熱膨張による影響を緩衝する。

PCB、コネクタ、ウェファに加えて冷却用のプレートも組み立てる必要がある。Cerebrasは専用の機械を作成してこれを実現した。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/412142/629570c6-9f3c-455b-e146-c9f7be7e56a5.png)

## 消費電力と冷却
このチップの面積あたりの消費電力は通常のチップよりは小さいくらいだが、何分面積が大きいのでトータルの消費電力は膨大なものになる。このような電力を変圧器からPCBを通してウェファーに供給するのは容易ではない。

ここで用いた革新的な技術の一つは、電力をPCBの横からではなく、下から垂直に供給することだ。こうすることで、電線の距離を短くし、抵抗をへらすことができたし、PCB上の面積を消費せずに住んだ。

電力による熱をシステムから取り去ることも重要だ。従来のヒートシンクとエアフローでは十分ではない。ウェファーにコールドプレートを密着させ、コールドプレートを水冷することで冷却を実現した。


![](https://secureservercdn.net/198.12.145.239/a7b.fcb.myftpupload.com/wp-content/uploads/2019/09/Cooling_3rd_dim.png)

## 結論
NNのためには膨大な計算パワーが必要だ。ウェファースケールはそれを満たすことができる。
ウェファースケールには様々なメリットがあることは知られていたが、実現する方法がなかった。しかし今やその方法は明らかになり、実現することができた。この手法はAI計算のあり方をかえていくはずだ。

![](https://secureservercdn.net/198.12.145.239/a7b.fcb.myftpupload.com/wp-content/uploads/2019/09/CS_Wafer_Baseball_Comparison-1024x577.jpg)