Mac業界の最新動向はもちろん、読者の皆様にいち早くお伝えしたい重要な情報、
日々の取材活動や編集作業を通して感じた雑感などを読みやすいスタイルで提供します。

Mac Fan メールマガジン

掲載日:

ニューラルエンジンが加速するモバイルAIの世界

著者: 今井隆

ニューラルエンジンが加速するモバイルAIの世界

Photo●apple.com

読む前に覚えておきたい用語

機械学習(Machine Learning)

AI(人工知能)の一種で、人間が明示的なルールを与えることなく、コンピュータ自身がデータの背景や傾向性などからルールや法則などの学習を行い、現象の解析や予測を可能とする技術。ルールなどで定義できない複雑な現象や、状況によって変化する現象の解析を得意とする。

深層学習(Deep Learning)

深層学習は機械学習をさらに発展させたもので、情報やデータの分析の自動化を推し進めたもの。特に分析対象を区別するためのポイント「特徴量」を自動的に見つけ出す点が従来の機械学習とは異なる。深層学習ではその処理にニューラルネットワークが用いられることが多い。

ニューラルネットワーク(Neural Network)

人間の神経細胞(ニューロン)の仕組みをモデルとして、そのつながり(神経回路網)を数式モデルで表現したもの。入力層、(複数の)隠れ層、出力層から構成され、各層はつながりの強さを示す「重み」で接続される。観察結果を元に推論するのに適した構造を持つ機械学習の一種。

新iPhoneの切り札ニューラルエンジン

iPhone 8、同8プラス、同Xには、同社で初めてAI処理を専用に担う「ニューラルエンジン」を搭載したSoC「Apple A11 Bionic」が採用されている。AIは人工知能と訳されるが、ニューラルエンジンの実際の機能は機械学習または深層学習と呼ばれるものに近い。音声、画像、自然言語などの認識に適した構造を持つ処理ユニットで、A11の内部ではニューラルネットワーク処理用のコプロセッサまたはアクセラレータとしてチップ内部に取り込まれている。同SoCにはこのほかにも、自社開発のグラフィックエンジン(3コアGPU)、カメラセンサからの信号を処理する画像プロセッサ(ISP)、各種センサからの情報を監視・制御するモーションコプロセッサ「M11」などのコプロセッサ(アクセラレータ)が統合されている。

iPhoneにおけるニューラルエンジンの役割は、音声認識や画像(顔)認識といった機械学習をより高速かつ低消費電力で処理することにある。このような機械学習には大量の数値演算を高速に処理することが求められるが、従来はその数値演算の多くをネットワークを介してクラウドなどで分散処理することによって実現されていた。この演算処理の大半をA11の内蔵するニューラルエンジンで実行することによってiPhone内部で大半の演算処理(エッジサイド処理)が可能となり、通信トラフィックの低減とプライバシー情報に対するセキュリティ向上を実現している。

ニューラルエンジンは、当初より数値演算処理を高速に実行することに特化したハードウェアとして設計されており、CPUやGPUから演算処理をオフロードすることで処理を高速化すると同時に、システム全体の負荷を低減して電力消費を抑えることを実現している。その演算能力は毎秒6000億命令に達すると発表されており、これはCPUコア単体(SIMD演算)のおよそ25~100倍に相当する。その高い演算能力を実現するために多数の演算ユニットを内蔵し、多層ニューラルネットワークによる機械学習に最適化したアーキテクチャを採用しているものと推測される。

ニューラルエンジンとその仕組み

ニューラルエンジンを構成するニューラルネットワークとは、人間の神経細胞を模した人工ニューロンと神経伝達物質に相当する入力と出力を加えた「パーセプトロン」という基本単位を組み合わせて構成されたネットワークのことだ。そのパーセプトロン同士のつながりの強さ(重み)を適切にコントロールすることで、目的とする出力を得る仕組みになっている。しかし、ニューラルネットワークを構成しただけでは、入力にデータを与えても出力ユニットから出る値が適切なものである可能性はほとんどない。そこでパーセプトロン同士を接続する重みを調整し、希望する出力が得られるように調整するのが「学習」と呼ばれるプロセスだ。学習には1回の計算だけで行う方法と、学習例を繰り返し入力して徐々に調整していく方法とがある。学習によってニューラルネットワークが成熟してくると、入力を与えるだけで直ちに正しい値が出力されるようになる。これが「推論」と呼ばれるプロセスだ。ニューラルネットワークはこの学習と推論を繰り返し、より高い精度で正しい答えを導き出すことができるように最適化されていく。こういった処理をニューラルネットワーク用に設計されたハードウェアで演算することで、従来より非常に高速に、かつ低消費電力で実現するのがニューラルエンジンの最大の特徴だ。

iPhone Xでは、このニューラルエンジンをフェイスID(Face ID)における顔認証やアニ文字(Animoji)での表情認識などに応用している。これらはあらかじめ特定用途向けに学習済みのニューラルネットワークを導入し、リアルタイムでの推論を実現することで快適な速度での認識を実現している。

さらにiOS 11には「Core ML」と呼ばれる機械学習フレームワークが実装されており、ニューラルエンジンはその推論処理を加速するアクセラレータとして機能させることができる。今後Core MLを利用したさまざまなアプリが登場すれば、ニューラルエンジンの出番が増えてくることは間違いない。

続々と登場するNPUとそのライバル達

機械学習機能をスマートフォンなどに導入する動きは活発化してきた。ファーウェイが開発した「Kirin 970」は、NPU(Neural-network Processing Unit)と呼ばれるニューラルエンジンを統合したARMコアSoCだ。その性能は単純比較でA11の3倍強の演算能力を持つ計算になる。Kirin 970は今年10月にリリースされた同社のスマートフォン「Mate 10」シリーズに採用されており、主にカメラ機能を中心に画像認識エンジンとしてNPUを活用すると同時に、アプリ開発者向けにそのフレームワークが公開されている。

変わったところでは、インテルのスティック型AIアクセラレータ「Movidius Neural Compute Stick」がある。2016年9月に同社が買収したMovidiusが開発したVPU(Vision Processing Unit)を搭載し、わずか1Wの消費電力で100GFLOPS以上の演算性能を発揮するUSB3.0接続のアクセラレータである。このVPU「Myriad 2」はすでにドローンなどに搭載実績があり、カメラ映像のリアルタイム画像認識などに利用されている一方で、より性能を強化したMyriad Xが今年8月にリリースされている。さらにインテルは、今年10月にAI向け新プロセッサ「Nervana」というNNP(Neural Network Processor)をリリースし、同社の深層学習アクセラレータ市場への本格参入を印象づけた。

このような推論エンジンをエッジサイドに設ける方法は、通信容量の限られたスマートフォンやタブレットで高度な機械学習の成果を利用する上で極めて有効なアプローチだ。その上で処理のメインとなるSoCにそのアクセラレータを組み込む動きは、認識処理の高速化と省電力化を両立するための手法として、今後一層その開発が加速される。多言語の同時通訳や話者を識別可能な議事録といった認識精度や高い処理性能が求められるアプリも、いよいよ実用領域を迎えつつある。従来クラウドベースでしか実現できなかった高度な機械学習をユーザ端末側に搭載する動きはまだ始まったばかりだ。

実用的な顔認証を実現

アップルが9月に発表したiPhone Xでは、従来のTouch IDに代わってFace IDが採用されており、その認識速度と精度の向上にApple A11 Bionicに内蔵されたニューラルエンジンが大きな役割を果たすとされている。【URL】https://www.apple.com/jp/iphone-x/ Photo●apple.com

ニューラルネットの仕組み

ニューラルネットワークとは脳神経をモデルにした処理システムで、画像認識、音声認識、文字認識などに適した処理システムだ。階層型ネットワークモデルとも呼ばれ、情報を受け取る入力層と判断を出力する出力層との間に複数の隠れ層(中間層)を設けたネットワーク構造になっている。

USBのAIアクセラレータ

インテルが今年7月に発売したUSB接続のスティック型AIアクセラレータ「Movidius Neural Compute Stick」は、同社が去年9月に買収したMovidiusのVPU「Myriad 2」を搭載し、1Wの消費電力で100GFLOPS以上の演算性能を発揮する。USB接続のAIアクセラレータは世界初だという。【URL】https://newsroom.intel.com/ Photo●Intel

再設計されたVPUが登場

インテルが今年8月にリリースした「Myriad X」は8.7×8.5mmという超小型チップながら、従来のMyriad 2を大きく上回る性能を持ち、よりディープラーニングに適したVPUとして再設計されているという。【URL】https://newsroom.intel.com/ Photo●Intel

ファーウェイからNPUが登場

ファーウェイが今年9月にIFA2017で発表したスマートフォン向け最新SoC「Kirin 970」には、NPU(Neural-network Processing Unit)と呼ばれるニューラルネットワークエンジンが搭載されている。同SoCを搭載したスマートフォン「Mate 10」シリーズが10月にリリースされている。 【URL】http://consumer.huawei.com/en/press/news/2017/ifa2017-kirin970/ Photo●HUAWEI

学習処理を加速するNNP

インテルが10月18日にリリースした深層学習向けニューラルネットワークプロセッサ「Nervana」(コードネーム:Lake Crest)12個のプロセッサクラスタを内蔵し、メモリにはHBM2を32GB搭載する。複数のNervanaを並列動作させることで性能を引き上げることも可能だ。 【URL】https://newsroom.intel.com/ Photo●Intel

今井 隆

IT機器の設計歴30年を越えるハードウェアエンジニア。1983年にリリースされたLisaの虜になり、ハードウェア解析にのめり込む。