ロードマップでわかる!当世プロセッサー事情 第625回
脳の神経細胞を模したSNNに活路を見出すInnatera Nanosystems AIプロセッサーの昨今
2021年07月26日 12時00分更新
これまでたくさんのAIプロセッサーをご紹介してきたわけだが、ほとんどのものはCNN(Convolution Neural Network:畳み込みニューラルネットワーク)に対応したものである。CNNの理屈は連載561回で紹介したが、脳の構造をそのまま模式化するのではなく、勾配法を使ってシミュレーションするような形での実装になっている。
ただ連載561回で説明したように、そもそものニューロンとシナプスのモデルはあくまで神経パルスである。この神経パルスの構造を維持したままニューラルネットワークを構築できないか、ということでやはり研究と開発が進んでいるのがSNN(Spike Neural Network)である。
結論から言えば、今のところSNNがCNNを凌駕する点は1つだけで、推論精度が特に良くなったり、学習が高速化するようなことはない。逆に言えば、SNNにしたことでCNNから失われるものがあるかというと、原理的にはそれもほとんどなかったりする(現実には存在するが)。
ではそのメリットはなにか? というと消費電力である。実際の神経細胞の場合、伝達されるのはパルスであって、その数や頻度で次の「発火」が行なわれる。これを実際にプロセッサー側で模式化すると、値が1bitになる。その意味では1bitのCNN(BNN:Binary Neural Network)とかなり近いものになる。
昨今のCNNの問題点は、ある程度の精度を出すために2bit以上のデータを保持することが多く、消費電力は純粋にデータのサイズに比例することを考えると、SNNはCNNに比べて圧倒的に消費電力が少ないというのが大きなメリットとなる。
ではデメリットは? というと既存のCNN向けプロセッサーの上でSNNにしても、省電力にも高速にもならないことだ。例えば8bit型を扱えるプロセッサーの上でSNNを動かしても、単に7bit分の演算ユニットが遊ぶだけで、8倍高速になるわけではない。8bit×1を1bit×8に分割できるような機構を入れない限り、まったく高速化は望めない。
したがって1bit演算ができるプロセッサーを作らない限り、SNNのメリットは皆無ということになる。SNNというかBNNに関して言えば、XilinxやLatticeといったFPGAベンダーがBNNを実装したものをいくつかリリースしている(製品という意味ではなくIPとして提供しているという意味だ)。
Latticeで言えば、例えば2018年には同社のiCE40という非常に小型のFPGA上でBNNを稼働させ、顔認識を実行するデモが行なわれている。
利用したのはiCE40 UltraPlus(https://www.latticesemi.com/ja-JP/Products/FPGAandCPLD/iCE40UltraPlus)という2800ないし5280LUTを搭載する超小型FPGAで、BNNの実装に3K LUTほど占有する関係で大容量の5280LUT版が必要になる。こちらは単体だと1個600円程度の価格だが、普通(つまりもっと大口購入)だと500円を切る安価なFPGAである。
例えば自動販売機にこれを仕込んでおき、カメラでずっと監視して販売機の前に人が立った時だけ照明をオンにする、という使い方がこれで可能になる。目的が省電力なので、常時照明を点けている場合より消費電力が増えたら監視の意味がない。
昨今では、照明もLEDを使って省電力に配慮しているわけで、それよりもさらに消費電力を下げたい(ついでに言えば省電力のために高コストなAIプロセッサーは入れられない)というケースでは、BNNを使ってネットワーク規模を小さく抑えることで、省電力かつ低コストに実装が可能というわけだ。
これはあくまでBNNの話で、SNNそのものではない。BNNとSNNではそもそも理屈が異なるし、実装も異なる。BNN用のプロセッサーでSNNをそのまま動かせるわけでもない(逆もまたしかり)。ただBNN用のプロセッサーとSNN用のプロセッサーは、必要とされるハードウェア構成がかなり近いのは事実だ。実装は異なるとはいえ、SNNもBNNと似たような市場を志向している。
加えて言うと、CNNとSNNの違いの1つに時間軸がある。CNNの場合、例えば1枚の画像を取り込んで処理する際に、ネットワークのある層から次の層へのデータ転送は1回である。前の層で処理を行ない、その結果を1回送りだしたら、前の層は(次のデータが来るまで)お休みである。
これに対しSNNでは、例えばパルスが3回到達したら「発火」するという具合に、データの処理は一律には行なえない。言ってみればストリーム処理的な対応が必要になる。人間のシナプスの場合、一度「発火」すると、そのあと一定期間「発火しない」時間がある。こうした特性まで取り入れると、さらに時間軸方向で同期がとりにくい。
ただこれは、例えばセンサーデータを随時取り込んでいくといった用途にはむしろCNNより向いているという見方もでき、実際そういう方向での研究も進んでいる。これはニューロモーフィック・コンピューティングなどと呼ばれることもある。
この連載の記事
-
第801回
PC
光インターコネクトで信号伝送の高速化を狙うインテル Hot Chips 2024で注目を浴びたオモシロCPU -
第800回
PC
プロセッサーから直接イーサネット信号を出せるBroadcomのCPO Hot Chips 2024で注目を浴びたオモシロCPU -
第799回
PC
世界最速に躍り出たスパコンEl Capitanはどうやって性能を改善したのか? 周波数は変えずにあるものを落とす -
第798回
PC
日本が開発したAIプロセッサーMN-Core 2 Hot Chips 2024で注目を浴びたオモシロCPU -
第797回
PC
わずか2年で完成させた韓国FuriosaAIのAIアクセラレーターRNGD Hot Chips 2024で注目を浴びたオモシロCPU -
第796回
PC
Metaが自社開発したAI推論用アクセラレーターMTIA v2 Hot Chips 2024で注目を浴びたオモシロCPU -
第795回
デジタル
AI性能を引き上げるInstinct MI325XとPensando Salina 400/Pollara 400がサーバーにインパクトをもたらす AMD CPUロードマップ -
第794回
デジタル
第5世代EPYCはMRDIMMをサポートしている? AMD CPUロードマップ -
第793回
PC
5nmの限界に早くもたどり着いてしまったWSE-3 Hot Chips 2024で注目を浴びたオモシロCPU -
第792回
PC
大型言語モデルに全振りしたSambaNovaのAIプロセッサーSC40L Hot Chips 2024で注目を浴びたオモシロCPU -
第791回
PC
妙に性能のバランスが悪いマイクロソフトのAI特化型チップMaia 100 Hot Chips 2024で注目を浴びたオモシロCPU - この連載の一覧へ