1. はじめに
こんにちは。NTTデータ クラウド技術部です。
私たちは、5〜10年先のビジネスで活躍するような先進技術にも焦点を当てて、調査や研究に取り組んでいます。
今回は先進技術の調査レポートとして、Neuromorphicコンピューティング、および、インテル製のNeuromorphicコンピューターの開発状況について、ご紹介できればと思います。
2. Neuromorphicコンピューティング
2.1. Neuromorphicコンピューティングの概要
みなさんも、人工知能やAI(Artificial Intelligence)という言葉を耳にしたことがあるかと思います。これは、知覚や知性を人工的に再現することをコンピューター上で実現させる取り組みです。
今回ご紹介する、Neuromorphicコンピューティングとは、人工知能の実現方法の中でも、脳の神経細胞が行うニューロン発火の働きに着目し、それをコンピューター上で模倣していこうとする取り組みです。
Neuromorphicコンピューティングの歴史は古く、アイデアとしては1980年代後半から存在していましたが、多くの研究開発はされてきていませんでした。 しかしながら、近年、改めてNeuromorphicコンピューティングに注目が集まっており、研究開発が活発になってきています。
例えば、インテルでは、Neuromorphicコンピューティング用のチップとして「Loihi」を2017年9月に発表し、その後、2021年9月には第二世代の「Loihi 2」を発表しています。
参考:インテル コーポレーション ニューロモーフィック Loihi 2、新しいLava ソフトウェア・フレームワーク、新たなパートナー連携でニューロモーフィック・テクノロジーを進展
2.2. 従来の人工知能の課題
従来、開発が進められていた、人工知能を実現するための手法では、CPUやGPU上で動かす手法が採用されていました。つまり、みなさんのお手元のパソコンやスマートフォン上でも、人工知能が動くような実現方法が採用されていました。
しかし、人工知能の研究が進むにつれて、演算したいデータ・情報の量が膨大になってしまっている中で、以下のような課題も見つかってきました。
- CPUやGPUといったコンピューターは、物理的に性能限界を迎えてきてしまっている(ムーアの法則の限界)
- 大量のエネルギーを消費してしまう
人工知能、さらに、そこから発展してきた機械学習やディープラーニングの領域では、画像・動画像認識、音声認識、自然言語処理などの分野で多くのユースケースが発見されており、やりたいことが増えてきているのに、前述のような課題があり、それを実現していくのが難しい現状となってきてしまっています。
このような状況を変えられる可能性がある、新しいコンピューティングとして、Neuromorphicコンピューティングが近年改めて注目され、研究開発が活発になってきています。 従来の人工知能、機械学習、ディープラーニングでやっていたこと、また、これからやりたいことを、より良く実現していける可能性を秘めています。
2.3. Neuromorphicコンピューティングの仕組み
Neuromorphicコンピューティングでは、前述の通り、脳の神経細胞が行うニューロン発火の働きに着目し、それをコンピューター上で模倣しようとしています。
ニューロン発火の仕組み
このニューロン発火の働きを簡単に説明していきます。
脳の神経細胞は網目状に連結していて、信号の入出力を行っています。この神経細胞内では、入力信号を受信すると内部の電圧が上がり、時間が経つにつれて下がっていくようになっています。そして、同時に複数の入力信号を受信して、電圧が上昇し、ある閾値を超過すると、急激な電圧の上昇が発生するようになっています。
この電圧が急上昇することをニューロン発火と呼んでおり、神経細胞はニューロン発火が発生したときのみ、次の神経細胞に信号を出力します。 ニューロン発火のイメージとしては、以下の図1のようになります。重要なポイントは、神経細胞への入力信号のタイミングによって、出力信号の有無が決まるという点です。
従来の人工知能との比較
従来の人工知能、また、そこから発展してきた機械学習やディープラーニングでも、脳の神経細胞が連結しているという仕組みに着目したArtificial Neural Network(以降、ANNと表記)と呼ばれる手法は用いられてきましたが、ニューロン発火の働きに関してはモデリングされていない手法となっていました。
一方で、今回ご紹介している、Neuromorphicコンピューティングでは、従来の手法よりも、さらに神経細胞の働きに着目し、ニューロン発火の挙動をコンピューターが扱えるような手法を採用しており、この手法を、Spiking Neural Network(以降、SNNと表記)と呼んでいます。
また、SNNでは、入力信号のタイミングを活用していることから、物理的な時間の概念が重要となっています。そのため、従来利用されてきたCPUやGPUのようなハードウェアではなく、イベント駆動型の専用ハードウェアも開発されており、これをNeuromorphicコンピューターと呼んでいます。
このNeuromorphicコンピューターには、以下のような特徴があります。
- イベント駆動型のアーキテクチャを採用した低電力で稼働するコンピューターである。
- 神経細胞に模した物理的に多数の小さなコンピューティングユニットで構成されている。
- SNNの演算に最適化されているが、従来利用されてきたコンピューターと異なり、多様なプログラムの実行には適していない。
従来の人工知能で利用されていた手法のANN、と、Neuromorphicコンピューティングで利用されている手法のSNNの違いを整理すると、下の表のようになります。
(ANN) |
(SNN) |
|
|
ANNでは、各入力値を xi、重みを wi、出力を z とすると、xi という実数値の入力データに対して、 z という実数値を出力している。 | SNNでは、各入力 xi 、および、出力 z は、時間軸に対して、スパイク信号の有無を表現した、スパイク列を入出力としている。 |
ハードウェア |
大量の実数値の演算を実行する必要があり、並列計算を行うため、主にGPUが用いられている。 | スパイクを受信したときのみ稼働する、イベント駆動型の処理であり、効率的にするためNeuromorphicコンピューターを利用可能。 |
2.4. Neuromorphicコンピューティングの利点
ここまで、Neuromorphicコンピューティングとは何かを説明してきましたが、本章の最後で利点を整理しておきます。
- 各機関の研究結果により、Neuromorphicコンピューターを用いた場合、少ない消費電力で従来の人工知能と同等の結果が得られることがわかっている。
- Neuromorphicコンピューターは、CPUやGPUとは異なるアーキテクチャーのハードウェアであるため、現状課題となっている物理的な性能限界に縛られず、ハードウェアとして性能を向上させられる可能性がある。
まだ、商用での活用事例が少ないNeuromorphicコンピューティングですが、今後の開発によって、従来の人工知能の課題を解決し、より高度な人工知能の作成、や、電力が限られているモバイルデバイスへ組み込むことなどによる人工知能を活用したユースケースの拡張が期待されています。
本記事の執筆時点では、従来の手法で実現されてきた、人工知能、また、機械学習やディープラーニングのユースケースをNeuromorphicコンピューティングに置き換えた、研究の結果が多いようにみえますが、これからの活用の広がりに注目していきたいところです。
また、何より、消費電力が少ないというのは、環境にも優しくて良いですよね。当社でもGreen ITソリューションは注目している分野となっています。
従来の人工知能の課題の部分でも記載した通り、大量の電力を消費することは課題となっています。高度な人工知能の利用に際しては、スーパーコンピューターを利用するようなケースもありますが、スーパーコンピューターは一般家庭で数万世帯が消費するのと同じくらい大量の電力を消費してしまいます。
まだスーパーコンピューターほど高度なNeuromorphicコンピューターは存在しないようですが、従来の手法と比べて数百倍のエネルギー効率が出たことを示す研究結果も見受けられ、今後の発展に期待が寄せられています。
3. インテルによるNeuromorphicコンピューティングへの取り組み
3.1. インテル Neuromorphic Research Communityのご紹介
2018年にインテルでは、産学官から参加者を集い、Neuromorphicコンピューティングの研究開発を目的とした、インテル Neuromorphic Research Community(以降、INRCと表記)を立ち上げました。
インテルは、本記事執筆時点では、Neuromorphicコンピューターを一般には販売していませんが、Neuromorphicコンピューティングの最新情報をINRC内で共有すること、や、開発中のNeuromorphicコンピューターをINRC参加者に利用してもらうことを通じて、商用化に向けた価値の発掘を実施しています。 現在、みなさんも一度は見たことがあるような企業や大学もINRCへ参加しており、研究開発が続けられています。
3.2. インテル製のNeuromorphicコンピューター
インテルでは、用途にあわせた様々な形態のNeuromorphicコンピューターを研究しています。 例えば、組み込み用の小型コンピューター用途には、USBインターフェイスを搭載した「Kapoho Bay」、や、データセンターで大量の演算を実施する用途には、ラックマウント型の「Pohoiki Springs」などがあり、これらには、どちらともNeuromorphicコンピューティング用のチップである「Loihi」が搭載されています。
INRCでは、モバイルデバイス上での利用からデータセンターでの大規模な利用まで、様々な形態での研究を行うことで、有用なユースケースの発掘に取り組んでいます。
3.3. ソフトウェアフレームLava
Neuromorphicコンピューティングでは、効率的に演算できるコンピューターももちろんですが、SNNの数学的な形式にあわせたアプリケーション開発をする必要があります。 しかし、このSNNにあわせたアプリケーション開発手法も発展途上であり、デファクトスタンダードと呼べるものが存在していません。
そこで、INRCでは、Lavaと呼ばれるソフトウェアフレームワークの研究開発にも力を入れています。Lavaは、GitHub上でソースコードが公開されているオープンソースのソフトウェアフレームワークで、Neuromorphicコンピューティングの普及・商用化に向け、生産的なアプリケーション開発を行えるようにすることを目標にしています。
4. おわりに
今回は、Neuromorphicコンピューティングの概要、および、インテルでの取り組みについてご紹介をさせていただきました。
Neuromorphicコンピューティングは、有用なユースケースの発見、や、業界内での標準化が進むことで、近い将来、開発が爆発的に加速する可能性のある領域だと考えています。 そこで、当社でも、Neuromorphicコンピューティングを用いたプログラムのデモ開発を行うことを検討していますので、次回以降にご紹介することができたらと考えております。
[PR]提供:NTTデータ