AIアクセラレータ
AIアクセラレータ(AI accelerator)は、人工知能(AI)アプリケーション、特に人工ニューラルネットワーク、回帰型ニューラルネットワーク、マシンビジョン、機械学習を高速化するために設計された特殊なハードウェアアクセラレータまたはコンピュータシステムのクラスである。代表的なアプリケーションには、ロボット工学、モノのインターネット、その他のデータ集約型またはセンサー駆動型のタスクのためのアルゴリズムが含まれる。それらは多くの場合、メニーコア設計であり、一般的には低精度演算、斬新なデータフロー・アーキテクチャ、またはインメモリ・コンピューティング機能に焦点を当てている。2018年現在、典型的なAI集積回路チップには数十億個のMOSFETトランジスタが含まれている。
このカテゴリのデバイスには、多くのベンダー固有の用語が存在しており、これは支配的デザインのない新技術である。
コンピュータシステムは、コ・プロセッサと呼ばれる特殊なタスクのための特殊な目的のアクセラレータでCPUを補完することが頻繁に行われていた。注目されるアプリケーション固有のハードウェアユニットには、グラフィックス用ビデオカード、サウンドカード、グラフィックス処理装置、デジタル信号処理装置などがある。2010年代にディープラーニングや人工知能のワークロードが注目されるようになると、これらのタスクを高速化するために、特殊なハードウェアユニットが開発されたり、既存の製品から採用されたりした。
早くも1993年には、デジタル・シグナル・プロセッサがニューラルネットワークのアクセラレータとして使用され、例えば光学文字認識ソフトウェアを高速化するために使用されていた。1990年代には、ニューラルネットワーク・シミュレーションを含む様々なアプリケーションを目的としたワークステーション用の並列ハイスループットシステムの開発も試みもあった。FPGAベースのアクセラレータも1990年代に推論とトレーニングの両方のために最初に検討された。ANNAはヤン・ルカンによって開発されたニューラルネットCMOSアクセラレータである。
ヘテロジニアス・コンピューティング(異機種コンピューティング)とは、1 つのシステム、あるいは1つのチップに、特定のタイプのタスクに最適化された多数の特化したプロセッサを組み込むことを意味する。セル・マイクロプロセッサ(cell microprocessor)のようなアーキテクチャは、パック化低精度演算(packed low precision arithmetic)のサポート、データフロー・アーキテクチャ、レイテンシよりも「スループット」を優先するなど、AIアクセラレータと大きく重複する特徴を持っている。セル・マイクロプロセッサはその後、AIを含む多くのタスクに応用された。
2000年代には、CPUは、ビデオやゲームのワークロードに牽引されて、SIMDユニットのデータ幅をますます広げ、低精度のデータ型をパック化してサポートするようになった。
グラフィックス・プロセッシング・ユニット (GPU)は、画像の操作や、局所的な画像特性の計算に特化したハードウェアである。ニューラルネットワークと画像操作の数学的基礎は類似しており、行列を含む驚異的並列タスクであるため、GPUは機械学習タスクにますます使用されるようになってきている。2016年現在、GPUはAI作業で人気があり、自動運転車などのデバイスでのトレーニングと推論の両方でディープラーニングを促進にする方向に進化し続けている。Nvidia NVLinkなどのGPU開発者は、AIがもたらすデータフロー・ワークロードの種類のための追加の接続機能を開発している。GPUのAIアクセラレーションへの応用が進むにつれ、GPUメーカは、ニューラルネットワークに特化したハードウェアを組み込んで、これらのタスクをさらに高速化している。Tensor Core(テンソルコア)は、ニューラルネットワークのトレーニングを高速化することを目的としている。
ディープラーニングのフレームワークはまだ進化の途上にあり、カスタムのハードウェアを設計するのは難しい。FPGA (Field-Programmable Gate Array)のような再構成可能なデバイスにより、ハードウェア、フレームワーク、ソフトウェアを相互に進化させることが容易になる。
マイクロソフトは、FPGAチップを使って推論を高速化している。FPGAをAIアクセラレーションに適用することは、インテルがアルテラを買収することを動機付け、サーバCPUにFPGAを統合することで、汎用的なタスクだけでなくAIも加速できるようにすることを目的としている。
AI関連のタスクでは、GPUとFPGAの方がCPUよりもはるかに優れた性能を発揮するが、ASIC (Application Specific Integrated Circuit)を介したより特殊な設計ではNovember 2017、最大で10倍の効率性が得られる可能性がある。これらのアクセラレータは、最適化されたメモリ使用やNovember 2017、低精度演算Minifloatを使用して計算を高速化し、計算のスループットを向上させるなどの戦略を採用している。AIアクセラレーションで採用されている低精度浮動小数点フォーマットには、半精度浮動小数点フォーマットやbfloat16浮動小数点フォーマットbfloat16 floating-point formatがある。FacebookやAmazon、Googleなどの企業が独自のAI ASICを設計している。
2017年6月、IBMの研究者は、ヘテロジニアス・コンピューティングと大規模並列システムに一般化するアプローチを目的とした、時間的相関検出に適用されるインメモリ・コンピューティングと相変化メモリ・アレイに基づくフォン・ノイマン・アーキテクチャとは対照的なアーキテクチャを発表した。2018年10月、IBMの研究者は、インメモリ処理に基づく、人間の脳のシナプスネットワークをモデルにしたアーキテクチャNeuromorphic engineeringを発表し、ディープニューラルネットワークを高速化した。このシステムは相変化メモリアレイに基づいている。
2019年にミラノ工科大学の研究者は、1回の操作で数10ナノ秒で連立一次方程式を解く方法を発見した。彼らのアルゴリズムは、オームの法則とキルヒホッフの法則で行列-ベクトル乗算を1ステップで実行することにより、時間とエネルギーの高効率で実行するアナログ抵抗変化型メモリを使用したインメモリ・コンピューティングに基づいている。研究者らは、クロスポイント抵抗変化型メモリを備えたフィードバック回路が、一次方程式系、行列固有ベクトル、微分方程式などの代数的問題をわずか1ステップで解くことができることを示した。このようなアプローチは、従来のアルゴリズムと比較して計算時間を大幅に改善する。
2020年、Maregaらは、浮遊ゲート電界効果トランジスタ (FGFET) をベースにしたロジックインメモリデバイスおよび回路を開発するための大面積アクティブチャネル材料を用いた実験を発表した。
このような原子的に薄い半導体は、論理演算とデータ保存の両方に同じ基本的なデバイス構造を用いるエネルギー効率の高い機械学習アプリケーションに有望と考えられている。著者らは、半導電性二硫化モリブデンなどの二次元材料を用いた。
2016年現在、この分野はまだ流動的であり、ベンダーは自社のデザインとAPIが支配的デザインになることを期待して、「AIアクセラレータ」に相当するものについて独自のマーケティング用語を推薦している。これらのデバイス間の境界線についても、正確な形式についても合意はないが、いくつかの例は明らかにこの新しい空間を埋めることを目的としており、かなりの量の機能が重複している。
コンシューマー向けのグラフィックス・アクセラレータが登場した過去の業界では、Direct3Dが提示したモデルを実装した全体的なパイプラインに落ち着くまでに、さまざまな形式をとってきた「グラフィックスアクセラレータ」の総称として、最終的にはNvidiaの「GPU」という独自の用語を採用した。
自動運転車 - NvidiaはこのスペースでDrive PXシリーズボードをターゲットにしている。
農業用ロボット - たとえば無農薬の雑草防除。
音声制御 (携帯電話など) - Qualcomm Zerothのターゲット。
無人航空機 - たとえばナビゲーションシステム、たとえばMovidius Myriad 2は、無人偵察機の誘導に成功した。
産業用ロボット - さまざまな状況に適応できるようにすることで、自動化できるタスクの範囲を広げる。
ヘルスケア - 診断を支援する
検索エンジン - データセンターのエネルギー効率を高め、ますます高度なクエリを使用できるようにする