脳の仕組みとコンピュータ

SC18において英マンチェスター大学のSteve Furber教授が生物学的な脳を模した超並列コンピューティングを行う「SpiNNaker」について招待講演を行った。

  • Steve Furber教授

    生物学的な脳を模した超並列コンピューティングについて講演するマンチェスター大学のSteve Furber教授(このレポートのすべての図は、SC18でのFurber教授の発表スライドを撮影したものである)

大脳皮質はスパイク(電気パルス)で動作する。そして、次の図に示すような複雑な情報の流れを持っている。大脳皮質は2次元の広がりを持ち、ニューロン間の接続は10%未満と疎な接続になっている。

そして、フィードフォワードの出力とフィードバックの出力を持ち、それらは他のニューロンのフィードフォワードの入力とフィードバックフィードバックの入力に接続されている。

  • 大脳皮質はスパイク型ニューロンで作られる

    大脳皮質はスパイク型ニューロンで作られ、2次元の皮質の層となっている。複雑な情報の流れを持ち、フィードフォワードの入力、出力とフィードバックの入力と出力を持つ。接続は疎で、接続されているのは10%未満である

大脳皮質モデルのシミュレーションには効率的なスパイク通信ができ、疎行列の計算能力の高いJUQUEENスパコンを使用している。

  • シミュレーションに用いたJUQUEENスパコン

    シミュレーションに用いたJUQUEENスパコン。スパイク通信が効率的に行える。

また、大脳皮質を模擬する専用ハードウェアも開発している。計算回路の近くにメモリを配置し、低電力でリアルタイムに計算ができ、消費電力は62mWである。

  • チップの消費電力は62mW

    大脳皮質をモデルするハードウェアは、メモリはプロセサと直結しており、低電力で動作する。チップの消費電力は62mW

産業界ではスパイク型ではないニューロンを用いるものが多いが、IBMのTrueNorthやIntelのLoihiなどスパイク型のニューロンモデルを使うものも出てきている。

  • 産業界ではスパイク型でないニューロンを使うものが多い

    産業界ではスパイク型でないニューロンを使うものが多いが、IBMのTrueNorthやIntelのLoihiのようにスパイク型のニューロンモデルを使うものも出てきている

SpiNNakerのハードウェア構成

SpiNNakerプロジェクトは100万個の携帯電話のプロセサを使って1台のコンピュータを作るプロジェクトで、大体、ヒトの脳の1%程度の規模のニューラルネットワークのシミュレーションができる。また、これはネズミの脳で言えば10匹程度の規模である。

なお、SpiNNakerのノード間は、神経細胞と同様に、非同期の通信を行う。

  • SpiNNakerプロジェクト

    SpiNNakerプロジェクトでは100万個のモバイルフォーンのプロセサコアを使って人の脳の1%に相当する規模のモデルを作る

各ノードはSpiNNakerチップとDRAMからなり、ノード間のリンクは双方向通信ができるようになっている。接続トポロジは、2次元のTriangularトーラスになっている。

  • 各ノードはSpiNNakerチップとDRAMからなる

    各ノードはSpiNNakerチップとDRAMからなり、接続トポロジは2次元のTriangularトーラスとなっている

次の図にSpiNNakerチップの外観とダイ写真を示す。このチップはUMCの130nmプロセスで作られている。

  • パッケージされたSpiNNakerチップとダイの写真

    パッケージされたSpiNNakerチップとダイの写真

チップの中央にはルーターがあり、スパイクパケットのルーティングを行う。ルーティングテーブルもこの部分に格納されている。

中央のルーターの上下の4つの横方向の帯状の領域に合計16個のプロセサがあり、左右にも2個のプロセサがあるので、全部で18コアとなっている。各プロセサコアはニューロンとシナプスの状態を計算する。

各プロセサに隣接して6つのTightly Coupled RAMがある。この部分はData MemoryやRAM Portと書かれているが、これは用途の違いで、物理的には同じメモリである。

RAMポートは、シナプスの状態を記憶する。また、RAMポートはアクティビティのログを記憶する。そして、データメモリはカーネルの状態やニューロンの状態を記憶する。

  • SpiNNakerチップのダイの各機能の配置を示す図

    SpiNNakerチップのダイの各機能の配置を示す図。中央にルーターが置かれ、周囲にプロセサ(青)とメモリ(黒)を隣接して配置したユニットが18個集積されている

ルーターは18個のコアと6本のリンクとの接続ポートを持ち、それらとの間でパケットの送受を行うことができる。6本のリンクは東西南北と北東、南西方向の接続に使われ、6リンク並列に動作する。このようなマルチキャストの通信の場合、小規模な構成の場合は、次元順に経路を選択するDimension Routing(次元ルーティング)でよいが、大規模になると効率が悪くなることから、4種のルーティングアルゴリズムを考案し、使い分けを行っているという。

  • 他ノードへのリンクは6本

    他ノードへのリンクが6本あるが、マルチキャストの場合は次元ルーティングでは効率が悪いので、4種類のルーティングを考案し、使い分けを行っている