ハードウェア

人間の脳を解明するための国際プロジェクト「ヒューマン・ブレイン・プロジェクト」を支える大規模コンピューター環境「SpiNNaker」システムの実態に迫る


ヒューマン・ブレイン・プロジェクト」(HBP)とは「人間の脳を解明し、コンピューター上に脳を作り出す」ことを目的に2013年から続く学際的研究プロジェクトです。そのサブプロジェクトである「SpiNNaker」プロジェクトは脳の働きをシミュレートするための大規模な並列コンピューティング環境であり、10億個のニューロンから構成されるネットワークをシミュレートしようとするものです。YouTubeのComputerphileチャンネルで投稿されているムービーを見ると、「SpiNNaker」システムの仕組みがよくわかるようになっています。

Research Groups: APT - Advanced Processor Technologies (School of Computer Science - The University of Manchester)
http://apt.cs.manchester.ac.uk/projects/SpiNNaker/

Silicon Brain: 1,000,000 ARM cores - Computerphile - YouTube


「『SpiNNaker』は、スパイキングニューラルネットワークアーキテクチャを実現するもので、将来的にはリアルタイムに脳のモデリングを実現するため、ARMのプロセッサコアを100万個搭載し、10億個のニューロンをシミュレーションできるマシンを構築することです」と語るのはマンチェスター大学のSteve Furber教授。iOSやAndroidのスマートフォンなどでも使用されるARMアーキテクチャを最初に開発したパイオニアとしても知られています。


「SpiNNaker」は一般的なデータセンターにある19インチラックを占有しています。このラックの大きさは、幅が約2.2m、深さ1m、高さは約1.8m~2.1mのごく一般的なサイズ。このラック1つで、約10万個のARMプロセッサコアが稼動していて、ねずみ1匹の脳と同規模のネットワークが構成できるとされています。


「SpiNNaker」は非常に合理的な設計をしています。1プロセッサには18個のコアがあり、A4サイズのボードに48個のプロセッサをのせています。すると、1枚のボードで約1000オーダー単位のコア分の処理が可能になります。さらに、ラックマウント用のカードフレームに24ボード搭載し、それをラック内に5台積んでいるので、1ラックにつき約10万ものARMプロセッサコアが稼動している計算になります。


これが「SpiNNaker」のボードで、ボード上に48個のチップが配置されています。ボードの側面には高速のコネクタがあり、複数のボードを並行に接続して大規模なシステムを構築することができます。


机の上にあるラックマウント用のカードフレームには、24枚の「SpiNNaker」ボードを搭載し、並行に接続されているので、この1台で約2万個のARMプロセッサコアを搭載しています。


上部を見ると、ボードが全て高速のリンクで接続されています。


下部はネットワークスイッチを介してイーサネットで接続されていて……


この「SpiNNaker」ボードを搭載したロボットにソフトウェアをロードして、テストするために利用しています。


これが10万個のARMプロセッサコアを搭載した「SpiNNaker」システムです。カードフレームをラック内に5台搭載していて……


イーサネットで接続されているので、リモート制御が可能になっています。


ボード間をギュウギュウに詰めれば、もっと多くのプロセッサコアを1台のカードフレームで動作できると考える人がいるかも知れませんが、少し空間があるのは、冷却のためです。「SpiNNaker」ボードは温度の上昇が起きにくいような設計になっているものの、完全に密着してボードを設置することはできていません。


中には「SpiNNaker」は従来の大規模な並列コンピューターという認識を持っている人がいると思います。もし、従来通りであれば、プログラミングでプロセスを記述する形となることでしょう。しかし、「SpiNNaker」では脳のモデルをリアルタイムシミュレートすることを目的とするため、イベントドリブン型のプログラミングモデルを採用しています。つまり、「ニューロンが到着した」などのイベントをトリガーとして、「何をしているのか?」「この入力が、いつスパイクしたのか?」などの処理を呼び出すものとなり、実際に脳が視覚や嗅覚・聴覚から信号を受け付けて、どんな処理をするかという動きをシミュレーションできるというわけです。


「SpiNNaker」の設計目標はARMプロセッサの1コアあたり約1000個のニューロンをリアルタイムでモデル化することで、現時点では1コアあたり256個のモデル化に成功しています。25%しか達成できていないように感じるかもしれませんが、現在はソフトウェアの調整段階で、これが終われば目標は達成できる見込みです。

・関連記事
ニューラルネットワークを用いた画像認識は簡単にだますことができることを示すムービー - GIGAZINE

重力レンズの分析にニューラルネットワークを導入、作業は従来の1000万倍高速化 - GIGAZINE

ニューラルネットワークでポケモンの名前&特性を自動生成 - GIGAZINE

ニューラルネットワークが持つ欠陥「破滅的忘却」を回避するアルゴリズムをDeepMindが開発 - GIGAZINE

お絵かき途中の線をニューラルネットワークが受け継いでイラストを完成させてくれる「Sketch-RNN」 - GIGAZINE

in ハードウェア,   動画, Posted by log1j_ty