AIアクセラレータ

AIアクセラレータは、人工知能  アプリケーション、特に人工ニューラルネットワーク、回帰型ニューラルネットワーク、マシンビジョン、機械学習を高速化するために設計された特殊なハードウェアアクセラレータまたはコンピュータシステムの分類のひとつである。代表的なアプリケーションには、ロボット工学、モノのインターネット 、その他のデータ集約型またはセンサー駆動型のタスクのためのアルゴリズムが含まれる。それらは多くの場合、メニーコア設計であり、一般的には低精度算術演算、斬新なデータフロー・アーキテクチャ、またはインメモリ・コンピューティング機能に焦点を当てている。2018年現在、典型的なAI集積回路チップにはトランジスタ数個のMOSFETトランジスタが含まれている。

このカテゴリのデバイスには、多くのベンダー固有の用語が存在しており、これはドミナント・デザインのない新興技術である。

1. 歴史
-----

コンピュータシステムは、コ・プロセッサと呼ばれる特殊なタスクのための専用アクセラレータでCPUを補完することが頻繁に行われていた。アプリケーション固有の特筆すべきハードウェアユニットには、グラフィックス用ビデオカード、サウンドカード、GPU、DSPなどがある。2010年代にディープラーニングや人工知能のワークロードが著しく増大するようになると、これらのタスクを高速化するために、専用のハードウェアユニットが開発されたり、既存の製品を基にしてタスクに順応するよう改良されたりした。

1.1. 初期の試み
----------

早くも1993年には、DSPがニューラルネットワークのアクセラレータとして使用され、例えば光学文字認識  ソフトウェアを高速化するために使用されていた。1990年代には、ニューラルネットワーク・シミュレーションを含む様々なアプリケーションを目的としたワークステーション用の並列ハイスループットシステムの開発も試みもあった。FPGAベースのアクセラレータも1990年代に推論とトレーニングの両方のために最初に検討された。ANNAはヤン・ルカンによって開発されたニューラルネットCMOSアクセラレータである。

1.2. ヘテロジニアス・コンピューティング
----------------------

ヘテロジニアス・コンピューティングとは、1つのシステム、あるいは1つのチップに、特定の種類のタスクに最適化された多数の特化型プロセッサを組み込むことを意味する。Cell B.E.マイクロプロセッサのようなアーキテクチャは、パックされた低精度算術演算  のサポート、データフロー・アーキテクチャ、レイテンシよりも「スループット」を優先するなど、AIアクセラレータと大きく重複する特徴を持っている。Cellプロセッサはその後、AIを含む多くのタスクに応用された。

2000年代には、CPUは、動画やゲームのワークロードの高まりに牽引されて、SIMDユニットのデータ幅を次第に拡張し、パックされた低精度のデータ型をサポートするようになった。

2020年代は、AIエンジンのCPUチップへの搭載という流れが起きている。AppleのAシリーズやMシリーズに搭載されているNeural Engine、AMDのRyzen AI、IntelのMeteor Lake以降に統合されたNeural Processing Unit  など。

1.3. GPUの利用
-----------

Graphics Processing Unit  は、Direct3DやVulkanのような各種3DグラフィックスAPIによって標準化されたグラフィックスパイプラインを持ち、画像の操作や、局所的な画像特性の計算に特化したハードウェアである。プログラマブルシェーダーおよび統合型シェーダーアーキテクチャの採用によりハードウェアレベルで汎用計算への道が開け、さらにCUDAやOpenCLのようなソフトウェアプログラミング環境が整ったことで、GPUの持つ超並列処理性能の活用が進んだ。ニューラルネットワークと画像操作の数学的基礎は類似しており、行列を含む自明な並列性自明な並列性とは、同時に実行する複数のタスク間に依存関係がなく、完全に独立しているために労せず簡単に並列化できる性質のことで、trivial parallelization または embarrassingly parallel などと呼ばれる。2016年現在、GPUはAI作業で人気があり、自動運転車などのデバイスでのトレーニングと推論の両方でディープラーニングを促進する方向に進化し続けている。NVIDIA NVLinkなどのGPU開発者は、AIが恩恵を受けるような、データフローのワークロード分散のために追加の接続機能を開発している。GPUのAIアクセラレーションへの応用が進むにつれ、GPUメーカーは、ニューラルネットワークに特化したハードウェアを組み込んで、これらのタスクをさらに高速化している。Tensor Core  は、ニューラルネットワークのトレーニングを高速化することを目的としている。

1.4. FPGAの利用
------------

ディープラーニングのフレームワークはまだ進化の途上にあり、カスタムのハードウェアを設計するのは難しい。FPGA のような再構成可能なデバイスにより、ハードウェア、フレームワーク、ソフトウェアを相互に進化させることが容易になる。

マイクロソフトは、FPGAチップを使って推論を高速化している。FPGAをAIアクセラレーションに適用することは、インテルがアルテラを買収することを動機付け、サーバCPUにFPGAを統合することで、汎用的なタスクだけでなくAIも加速できるようにすることを目的としている。

1.5. AIアクセラレータ専用ASICの登場
-----------------------

AI関連のタスクでは、GPUとFPGAの方がCPUよりもはるかに優れた性能を発揮するが、ASIC  を介したより特殊な設計ではdate=November 2017}}、最大で10倍の効率性が得られる可能性がある。これらのアクセラレータは、最適化されたキャッシュ認識モデルやdate=November 2017}}、より低精度の算術演算Minifloatを使用して計算を高速化し、計算のスループットを向上させるなどの戦略を採用している。AIアクセラレーションで採用されている低精度浮動小数点フォーマットには、半精度浮動小数点フォーマットやbfloat16浮動小数点フォーマットbfloat16 floating-point formatがある。FacebookやAmazon、Googleなどの企業が独自のAI ASICを設計している。

1.6. インメモリ・コンピューティング・アーキテクチャ
----------------------------

2017年6月、IBMの研究者は、ヘテロジニアス・コンピューティングと大規模並列システムに一般化するアプローチを目的とした、時間的相関検出に適用されるインメモリ・コンピューティングと相変化メモリ・アレイに基づくフォン・ノイマン・アーキテクチャとは対照的なアーキテクチャを発表した。2018年10月、IBMの研究者は、インメモリ処理に基づく、人間の脳のシナプスネットワークをモデルにしたアーキテクチャNeuromorphic engineeringを発表し、ディープニューラルネットワークを高速化した。このシステムは相変化メモリアレイに基づいている。

1.7. アナログ抵抗変化型メモリを用いたインメモリ・コンピューティング
------------------------------------

2019年にミラノ工科大学の研究者は、1回の操作で数10ナノ秒で連立一次方程式を解く方法を発見した。彼らのアルゴリズムは、オームの法則とキルヒホッフの法則で行列-ベクトル乗算を1ステップで実行することにより、時間とエネルギーの高効率で実行するアナログ抵抗変化型メモリを使用したインメモリ・コンピューティングに基づいている。研究者らは、クロスポイント抵抗変化型メモリを備えたフィードバック回路が、一次方程式系、行列固有ベクトル、微分方程式などの代数的問題をわずか1ステップで解くことができることを示した。このようなアプローチは、従来のアルゴリズムと比較して計算時間を大幅に改善する。

1.8. 原子レベル薄型半導体
---------------

2020年、Maregaらは、浮遊ゲート電界効果トランジスタ  をベースにしたロジックインメモリデバイスおよび回路を開発するための大面積アクティブチャネル材料を用いた実験を発表した。

このような原子的に薄い半導体は、論理演算とデータ保存の両方に同じ基本的なデバイス構造を用いるエネルギー効率の高い機械学習アプリケーションに有望と考えられている。著者らは、半導電性二硫化モリブデンなどの二次元材料を用いた。

2. 命名法
------

2016年現在、この分野はまだ流動的であり、ベンダーは自社の設計とAPIがドミナント・デザインになることを期待して、「AIアクセラレータ」に相当するものについて独自のマーケティング用語を推薦している。これらのデバイス間の境界線についても、正確な形式についても合意はないが、いくつかの例は明らかにこの新しい空間を埋めることを目的としており、かなりの量の機能が重複している。

コンシューマー向けのグラフィックス・アクセラレータが登場した過去の業界では、Direct3Dが提示したモデルを実装した全体的なパイプラインに落ち着くまでに、さまざまな形式をとってきた「グラフィックスアクセラレータ」の総称として、最終的にはNVIDIAによる「GPU」という独自の用語を採用した。

3. 潜在的なアプリケーション
---------------

自動運転車 - NVIDIAはこのスペースでDrive PXシリーズボードをターゲットにしている。
軍用ロボット
農業用ロボット - たとえば無農薬の雑草防除。
音声制御  - Qualcomm Zerothのターゲット。
機械翻訳
無人航空機 - たとえばナビゲーションシステム、たとえばMovidius Myriad 2は、無人偵察機の誘導に成功した。
産業用ロボット - さまざまな状況に適応できるようにすることで、自動化できるタスクの範囲を広げる。
ヘルスケア - 診断を支援する
検索エンジン - データセンターのエネルギー効率を高め、ますます高度なクエリを使用できるようにする
自然言語処理

4. 関連項目
-------

認知コンピュータ
ニューロモーフィックコンピューティング
物理ニューラルネットワーク
光ニューラルネットワーク
深層学習アクセラレータ

5. 脚注
-----

5.1. 注釈
-------

5.2. 出典
-------

6. 外部リンク
--------

http://www.nextplatform.com/2016/04/05/nvidia-puts-accelerator-metal-pascal/
[1]
http://www.alphaics.ai/