手の届く範囲に:あなたの「スマート」テレビをもっと賢くするチップの頭脳

Table of Contents

手の届く範囲に:あなたの「スマート」テレビをもっと賢くするチップの頭脳

プロセッサ設計会社 Arm は、チップメーカーにシリコンに搭載するよう説得しようとしている AI 頭脳について、さらにいくつかの詳細を公開した。

インテルやクアルコムからIBM、メディアテック、イマジネーションに至るまで、ほぼすべての企業が、その設計図の中に、チップに挿入して受信データに基づく判断を高速化できる、何らかの専用ニューラル ネットワーク アクセラレータを用意しています。

さて、Armも3ヶ月前に予告したように、独自の機械学習プロセッサ(MLP)を開発中です。これはライセンス供与を受け、数十億台ものデバイスで使用されているCortex CPUコアと並んでシステムオンチップ(SoC)に組み込むことができます。既存のDSPやGPUをベースとせず、ゼロから設計されたこのMLPは、2018年半ばから顧客に提供される予定です。

MLPは当初、スマートフォンなどのモバイルデバイスで動作するアプリ向けに開発が進められますが、最終的にはデジタルテレビ、監視カメラ、サーバーなどにも搭載される可能性があります。特にArmのオブジェクト検出プロセッサ(ODP)と組み合わせることで、その名の通り、その威力を発揮します。第1世代のODPは、HiveやHikvisionのCCTVで、フレーム内に侵入した人物や動物などの物体を自動的に検出するために使用されています。Armは本日から第2世代のODPも発表する予定です。

どのように使用されるのでしょうか?

これから期待できるのは、セキュリティカメラが誰かが視界に入るとすぐに起動して録画を開始し、必要な時まで電力とストレージ容量を節約してくれることです。デジタルテレビ、いわゆるスマートテレビは、キッチンに行くために立ち上がると自動的に一時停止し、戻って座ると再び再生されます。あるいは、主に大人向けの番組を見ているときに子供が部屋に入ってきたら、画面を真っ暗にしてくれるでしょう。

昨今、どのカフェでもプルドポークサンドイッチを提供しているように、将来的にはほぼすべてのデバイスにカメラが搭載されるようになるだろう。これは避けられない。これらのデジタルの目は、録画開始、ジェスチャー認識、色補正、メッセージ送信、挨拶など、必要な処理を必要とする映像を絶えず生成する。ArmのMLPやODPといった演算アクセラレータや競合コアが接続され、映像をクラウドに送り返して処理させることなく、即座に処理が実行される。

ODPとMLPを組み合わせることで、毎秒60フレームのフルHDビデオから、50×60ピクセル以上のオブジェクトであれば、人物、車、道路標識などを識別でき、1フレームあたり「事実上無制限」のオブジェクトを識別できると、Armのエンジニアは今月初めにEl Regとのチャットで述べた。ODPは、人物の向き、ポーズ、移動方向も把握できる。

ODP対MLP

ODPは主に、群衆の中の人々の顔など、関心領域を識別し、それらの部分をMLP、CPU、またはGPUに渡して、例えば、それらの顔が誰の顔であるかを正確に判断するように設計されています。物体検出には、HOG(方向勾配ヒストグラム)やSVM(サポートベクターマシン)などの標準的な組み込みAIアルゴリズムを使用します。

ODPは、フレーム内の要素の種類を識別するといった特定のタスクに特化した処理ブロックと考えてください。一方、MLPは、ODPによってフラグ付けされ、概説された処理を実行できる、柔軟でプログラム可能なユニットです。以下はMLPのブロック図です。

Armの機械学習プロセッサの図

Armの機械学習プロセッサのブロック図...クリックして拡大
緑はデータパス、赤は制御線

このプロセッサは16個の演算エンジンで構成され、すべて通常1MBのSRAMを共有し、各エンジンは複数のステージからなるパイプラインを備えています。学習済みのニューラルネットワークの重みと活性化データ(入力データに対する判断の基準となる値)は、枝刈りと圧縮が行われ、MLPのSRAMに転送されます。このゲームの目的は、特にニューラルネットワークにおけるデータ移動を最小限に抑え、消費電力を抑えることです。コピーが少なければ、必要なエネルギーも少なくなります。枝刈りとは、ニューラルネットワークにおいて重みが0または非常に小さい、つまり重要でない経路を削除することです。

次に、ビデオフレームの一部や音声の瞬間などのデータがMLPにストリーミングされ、各エンジンのプログラマブルユニットを含む各ステージで8ビット畳み込み演算を実行し、結果を出します。ニューラルネットワークには8ビットあれば十分です。それ以上のビット数が必要な場合は、CPUやGPUを投入すれば良いのですが、バッテリー寿命が短くなります。精度は8ビットの範囲内で変化させることができます。

データはプログラマブルユニットによってSRAMに書き戻すことができ、内部ブロードキャストネットワークによってメモリの整理と一貫性が維持されます。特徴マップはSRAMから各コンピューティングエンジンにブロードキャストされ、エネルギー消費を最小限に抑えます。特徴マップと畳み込みニューラルネットワークについて知りたい方は、こちらをご覧ください。

MLP は、16nm および 7nm プロセス ノードを使用するチップ向けに調整されており、7nm ではワットあたり 3 テラオペレーションを超え、全体のスループットは 4.6TOP/s に達すると予想されています。

最後に、これらすべてを制御するためのソフトウェアが必要です。アプリケーションは、TensorFlow、Caffe、AndroidのNNAPIなどのニューラルネットワークフレームワークと通信する必要があります。これらのフレームワークは、Armのソフトウェアライブラリとコンパイラを介してハードウェアとデータのやり取りを行います。内部を直接プログラムすることはできず、代わりに高水準インターフェースを使用してコンピューティングエンジンの動作を制御する必要があります。

ライセンス可能な AI アクセラレータについて、おそらくこれまで知りたかった以上の情報がここにあります。®

Discover More