AIアクセラレータ

AIアクセラレータ（英: AI accelerator）は、人工知能 (AI) アプリケーション、特に人工ニューラルネットワーク、回帰型ニューラルネットワーク、マシンビジョン、機械学習を高速化するために設計された特殊なハードウェアアクセラレータまたはコンピュータシステムの分類のひとつである。代表的なアプリケーションには、ロボット工学、モノのインターネット (IoT)、その他のデータ集約型またはセンサー駆動型のタスクのためのアルゴリズムが含まれる。それらは多くの場合、メニーコア設計であり、一般的には低精度算術演算、斬新なデータフロー・アーキテクチャ（英語版）、またはインメモリ・コンピューティング（英語版）機能に焦点を当てている。2018年現在、典型的なAI集積回路チップには数十億（英語版）個のMOSFETトランジスタが含まれている。 このカテゴリのデバイスには、多くのベンダー固有の用語が存在しており、これはドミナント・デザイン（英語版）（支配的設計）のない新興技術（英語版）である。 コンピュータシステムは、コ・プロセッサと呼ばれる特殊なタスクのための専用アクセラレータでCPUを補完することが頻繁に行われていた。アプリケーション固有の特筆すべきハードウェアユニットには、グラフィックス用ビデオカード、サウンドカード、GPU、DSPなどがある。2010年代にディープラーニングや人工知能のワークロード（作業負荷）が著しく増大するようになると、これらのタスクを高速化するために、専用のハードウェアユニットが開発されたり、既存の製品を基にしてタスクに順応するよう改良されたりした。 早くも1993年には、DSPがニューラルネットワークのアクセラレータとして使用され、例えば光学文字認識 (OCR) ソフトウェアを高速化するために使用されていた。1990年代には、ニューラルネットワーク・シミュレーションを含む様々なアプリケーションを目的としたワークステーション用の並列ハイスループットシステムの開発も試みもあった。FPGAベースのアクセラレータも1990年代に推論とトレーニングの両方のために最初に検討された。ANNAはヤン・ルカンによって開発されたニューラルネットCMOSアクセラレータである。 ヘテロジニアス・コンピューティング（異種コンピューティング）とは、1つのシステム、あるいは1つのチップに、特定の種類のタスクに最適化された多数の特化型プロセッサを組み込むことを意味する。Cell B.E.マイクロプロセッサのようなアーキテクチャは、パックされた低精度算術演算 (packed low precision arithmetic) のサポート、データフロー・アーキテクチャ、レイテンシよりも「スループット」を優先するなど、AIアクセラレータと大きく重複する特徴を持っている。Cellプロセッサはその後、AIを含む多くのタスクに応用された。 2000年代には、CPUは、動画やゲームのワークロードの高まりに牽引されて、SIMDユニットのデータ幅を次第に拡張し、パックされた低精度のデータ型をサポートするようになった。 2020年代は、AIエンジンのCPUチップへの搭載という流れが起きている。AppleのAシリーズやMシリーズに搭載されているNeural Engine、AMDのRyzen AI、IntelのMeteor Lake以降に統合されたNeural Processing Unit (NPU) など。 Graphics Processing Unit (GPU) は、Direct3DやVulkanのような各種3DグラフィックスAPIによって標準化されたグラフィックスパイプラインを持ち、画像の操作や、局所的な画像特性の計算に特化したハードウェアである。プログラマブルシェーダーおよび統合型シェーダーアーキテクチャの採用によりハードウェアレベルで汎用計算（GPGPU）への道が開け、さらにCUDAやOpenCLのようなソフトウェアプログラミング環境が整ったことで、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) を介したより特殊な設計では[要出典]、最大で10倍の効率性が得られる可能性がある。これらのアクセラレータは、最適化されたメモリ使用（英語版）や[要出典]、より低精度の算術演算 (英語版) を使用して計算を高速化し、計算のスループットを向上させるなどの戦略を採用している。AIアクセラレーションで採用されている低精度浮動小数点フォーマットには、半精度浮動小数点フォーマットやbfloat16浮動小数点フォーマット (英語版) がある。FacebookやAmazon、Googleなどの企業が独自のAI ASICを設計している。 2017年6月、IBMの研究者は、ヘテロジニアス・コンピューティングと大規模並列システムに一般化するアプローチを目的とした、時間的相関検出に適用されるインメモリ・コンピューティング（英語版）と相変化メモリ・アレイに基づくフォン・ノイマン・アーキテクチャとは対照的なアーキテクチャを発表した。2018年10月、IBMの研究者は、インメモリ処理に基づく、人間の脳のシナプスネットワークをモデルにしたアーキテクチャ (英語版) を発表し、ディープニューラルネットワークを高速化した。このシステムは相変化メモリアレイに基づいている。 2019年にミラノ工科大学の研究者は、1回の操作で数10ナノ秒で連立一次方程式を解く方法を発見した。彼らのアルゴリズムは、オームの法則とキルヒホッフの法則で行列-ベクトル乗算を1ステップで実行することにより、時間とエネルギーの高効率で実行するアナログ抵抗変化型メモリを使用したインメモリ・コンピューティング（英語版）に基づいている。研究者らは、クロスポイント抵抗変化型メモリを備えたフィードバック回路が、一次方程式系、行列固有ベクトル、微分方程式などの代数的問題をわずか1ステップで解くことができることを示した。このようなアプローチは、従来のアルゴリズムと比較して計算時間を大幅に改善する。 2020年、Maregaらは、浮遊ゲート電界効果トランジスタ (FGFET) をベースにしたロジックインメモリデバイスおよび回路を開発するための大面積アクティブチャネル材料を用いた実験を発表した。 このような原子的に薄い半導体は、論理演算とデータ保存の両方に同じ基本的なデバイス構造を用いるエネルギー効率の高い機械学習アプリケーションに有望と考えられている。著者らは、半導電性二硫化モリブデンなどの二次元材料を用いた。 2016年現在、この分野はまだ流動的であり、ベンダーは自社の設計とAPIがドミナント・デザイン（英語版）になることを期待して、「AIアクセラレータ」に相当するものについて独自のマーケティング用語を推薦している。これらのデバイス間の境界線についても、正確な形式についても合意はないが、いくつかの例は明らかにこの新しい空間を埋めることを目的としており、かなりの量の機能が重複している。 コンシューマー向けのグラフィックス・アクセラレータが登場した過去の業界では、Direct3Dが提示したモデルを実装した全体的なパイプラインに落ち着くまでに、さまざまな形式をとってきた「グラフィックスアクセラレータ」の総称として、最終的にはNVIDIAによる「GPU」という独自の用語を採用した。 自動運転車 - NVIDIAはこのスペースでDrive PXシリーズボードをターゲットにしている。 軍用ロボット 農業用ロボット - たとえば無農薬の雑草防除。 音声制御 (携帯電話など) - Qualcomm Zeroth（英語版）のターゲット。 機械翻訳 無人航空機 - たとえばナビゲーションシステム、たとえばMovidius Myriad 2は、無人偵察機の誘導に成功した。 産業用ロボット - さまざまな状況に適応できるようにすることで、自動化できるタスクの範囲を広げる。 ヘルスケア - 診断を支援する 検索エンジン - データセンターのエネルギー効率を高め、ますます高度なクエリを使用できるようにする 自然言語処理 コグニティブ・コンピュータ ニューロモーフィックコンピューティング 物理ニューラルネットワーク 光ニューラルネットワーク 深層学習アクセラレータ [脚注の使い方] ^ 自明な並列性とは、同時に実行する複数のタスク間に依存関係がなく、完全に独立しているために労せず簡単に並列化できる性質のことで、trivial parallelization または embarrassingly parallel などと呼ばれる。 ^ "A Survey on Hardware Accelerators and Optimization Techniques for RNNs", JSA, 2020 PDF ^ “Intel unveils Movidius Compute Stick USB AI Accelerator” (2017年7月21日). August 11, 2017時点のオリジナルよりアーカイブ。August 11, 2017閲覧。 ^ “Inspurs unveils GX4 AI Accelerator” (2017年6月21日). 2020年7月23日閲覧。 ^ Wiggers, Kyle (November 6, 2019), Neural Magic raises $15 million to boost AI inferencing speed on off-the-shelf processors, オリジナルの2020-03-06時点におけるアーカイブ。, https://web.archive.org/web/20200306120524/https://venturebeat.com/2019/11/06/neural-magic-raises-15-million-to-boost-ai-training-speed-on-off-the-shelf-processors/ 2020年3月14日閲覧。  ^ “Google Developing AI Processors”. 2020年7月23日閲覧。Google using its own AI accelerators. ^ "A Survey of ReRAM-based Architectures for Processing-in-memory and Neural Networks", S. Mittal, Machine Learning and Knowledge Extraction, 2018 ^ “13 Sextillion & Counting: The Long & Winding Road to the Most Frequently Manufactured Human Artifact in History”. Computer History Museum (April 2, 2018). 28 July 2019閲覧。 ^ “convolutional neural network demo from 1993 featuring DSP32 accelerator”. 2020年10月19日閲覧。 ^ “design of a connectionist network supercomputer”. 2020年10月19日閲覧。 ^ “The end of general purpose computers (not)”. 2020年7月23日閲覧。This presentation covers a past attempt at neural net accelerators, notes the similarity to the modern SLI GPGPU processor setup, and argues that general purpose vector accelerators are the way forward (in relation to RISC-V hwacha project. Argues that NN's are just dense and sparse matrices, one of several recurring algorithms) ^ Ramacher, U.; Raab, W.; Hachmann, J.A.U.; Beichter, J.; Bruls, N.; Wesseling, M.; Sicheneder, E.; Glass, J. et al. (1995). Proceedings of 9th International Parallel Processing Symposium. pp. 774–781. doi:10.1109/IPPS.1995.395862. ISBN 978-0-8186-7074-9  ^ a b “Space Efficient Neural Net Implementation”. 2020年10月19日閲覧。 ^ a b Gschwind, M.; Salapura, V.; Maischberger, O. (1996). “A Generic Building Block for Hopfield Neural Networks with On-Chip Learning”. 1996 IEEE International Symposium on Circuits and Systems. Circuits and Systems Connecting the World. ISCAS 96. pp. 49–52. doi:10.1109/ISCAS.1996.598474. ISBN 0-7803-3073-0  ^ “Application of the ANNA Neural Network Chip to High-Speed Character Recognition”. 2020年10月19日閲覧。 ^ Gschwind, Michael; Hofstee, H. Peter; Flachs, Brian; Hopkins, Martin; Watanabe, Yukio; Yamazaki, Takeshi (2006). “Synergistic Processing in Cell's Multicore Architecture”. IEEE Micro 26 (2): 10–24. doi:10.1109/MM.2006.41.  ^ De Fabritiis, G. (2007). “Performance of Cell processor for biomolecular simulations”. Computer Physics Communications 176 (11–12): 660–664. arXiv:physics/0611201. doi:10.1016/j.cpc.2007.02.107.  ^ Video Processing and Retrieval on Cell architecture.  ^ Benthin, Carsten; Wald, Ingo; Scherbaum, Michael; Friedrich, Heiko (2006). 2006 IEEE Symposium on Interactive Ray Tracing. pp. 15–23. doi:10.1109/RT.2006.280210. ISBN 978-1-4244-0693-7  ^ Kwon, Bomjun; Choi, Taiho; Chung, Heejin; Kim, Geonho (2008). 2008 5th IEEE Consumer Communications and Networking Conference. pp. 1030–1034. doi:10.1109/ccnc08.2007.235. ISBN 978-1-4244-1457-4  ^ “Development of an artificial neural network on a heterogeneous multicore architecture to predict a successful weight loss in obese individuals”. 2020年7月23日閲覧。 ^ Duan, Rubing; Strey, Alfred (2008). Euro-Par 2008 – Parallel Processing. Lecture Notes in Computer Science. 5168. pp. 665–675. doi:10.1007/978-3-540-85451-7_71. ISBN 978-3-540-85450-0  ^ “Improving the performance of video with AVX” (2012年2月8日). 2020年7月23日閲覧。 ^ “【後藤弘茂のWeekly海外ニュース】 iPhone Xの深層学習コア「Neural Engine」の方向性”. PC Watch. 株式会社インプレス (2017年10月20日). 2023年6月22日閲覧。 ^ Nast, Condé (2017年9月21日). “アップルが開発した「ニューラルエンジン」は、人工知能でiPhoneに革新をもたらす”. WIRED.jp. 2023年6月22日閲覧。 ^ “x86初のAIプロセッサ「Ryzen AI」は何がスゴイのかAMDが説明 市場投入第1弾は「Razer Blade 14」”. ITmedia PC USER. 2023年6月22日閲覧。 ^ “Ryzen Pro 7000シリーズを発表、Ryzen AIはWindows 11で対応済み AMD CPUロードマップ (2/3)”. ASCII.jp. ASCII. 2023年6月22日閲覧。 ^ “Intel新ロードマップを発表。Meteor Lake、Arrow Lake、Lunar Lakeへと進化”. PC Watch. 株式会社インプレス (2022年2月18日). 2023年6月22日閲覧。 ^ IntelのMeteor Lake搭載ノート、dGPUなしでStable Diffusionを高速処理 - PC Watch ^ 用語集 | iSUS ^ “microsoft research/pixel shaders/MNIST”. 2020年10月19日閲覧。 ^ “How GPU came to be used for general computation”. 2020年10月19日閲覧。 ^ “imagenet classification with deep convolutional neural networks”. 2020年10月19日閲覧。 ^ “nvidia introduces supercomputer for self driving cars” (2016年1月6日). 2020年7月23日閲覧。 ^ “nvidia driving the development of deep learning” (2016年5月17日). 2020年7月23日閲覧。 ^ “how nvlink will enable faster easier multi GPU computing” (2014年11月14日). 2020年7月23日閲覧。 ^ a b Harris, Mark (May 11, 2017). “CUDA 9 Features Revealed: Volta, Cooperative Groups and More”. August 12, 2017閲覧。 ^ "A Survey on Optimized Implementation of Deep Learning Models on the NVIDIA Jetson Platform", 2019 ^ “Space Efficient Neural Net Implementation”. 2020年7月23日閲覧。 ^ “FPGA Based Deep Learning Accelerators Take on ASICs”. The Next Platform (2016年8月23日). 2016年9月7日閲覧。 ^ “Project Brainwave” (英語). Microsoft Research. 2020年6月16日閲覧。 ^ "A Survey of FPGA-based Accelerators for Convolutional Neural Networks", Mittal et al., NCAA, 2018 ^ “Google boosts machine learning with its Tensor Processing Unit” (2016年5月19日). 2016年9月13日閲覧。 ^ “Chip could bring deep learning to mobile devices”. www.sciencedaily.com (2016年2月3日). 2016年9月13日閲覧。 ^ “Deep Learning with Limited Numerical Precision”. 2020年7月23日閲覧。 ^ Rastegari, Mohammad; Ordonez, Vicente; Redmon, Joseph; Farhadi, Ali (2016). "XNOR-Net: ImageNet Classification Using Binary Convolutional Neural Networks". arXiv:1603.05279 [cs.CV]。 ^ Khari Johnson (2018年5月23日). “Intel unveils Nervana Neural Net L-1000 for accelerated AI training”. VentureBeat. 2018年5月23日閲覧。 “...Intel will be extending bfloat16 support across our AI product lines, including Intel Xeon processors and Intel FPGAs.” ^ Michael Feldman (2018年5月23日). “Intel Lays Out New Roadmap for AI Portfolio”. TOP500 Supercomputer Sites. 2018年5月23日閲覧。 “Intel plans to support this format across all their AI products, including the Xeon and FPGA lines” ^ Lucian Armasu (2018年5月23日). “Intel To Launch Spring Crest, Its First Neural Network Processor, In 2019”. Tom's Hardware. 2018年5月23日閲覧。 “Intel said that the NNP-L1000 would also support bfloat16, a numerical format that’s being adopted by all the ML industry players for neural networks. The company will also support bfloat16 in its FPGAs, Xeons, and other ML products. The Nervana NNP-L1000 is scheduled for release in 2019.” ^ “Available TensorFlow Ops | Cloud TPU | Google Cloud”. Google Cloud. 2018年5月23日閲覧。 “This page lists the TensorFlow Python APIs and graph operators available on Cloud TPU.” ^ Tensorflow Authors (2018年2月28日). “ResNet-50 using BFloat16 on TPU”. Google. 2018年5月23日閲覧。[リンク切れ] ^ Elmar Haußmann (2018年4月26日). “Comparing Google's TPUv2 against Nvidia's V100 on ResNet-50”. RiseML Blog. April 26, 2018時点のオリジナルよりアーカイブ。2018年5月23日閲覧。 “For the Cloud TPU, Google recommended we use the bfloat16 implementation from the official TPU repository with TensorFlow 1.7.0. Both the TPU and GPU implementations make use of mixed-precision computation on the respective architecture and store most tensors with half-precision.” ^ Joshua V. Dillon; Ian Langmore; Dustin Tran; Eugene Brevdo; Srinivas Vasudevan; Dave Moore; Brian Patton; Alex Alemi; Matt Hoffman; Rif A. Saurous (28 November 2017). TensorFlow Distributions (Report). arXiv:1711.10604. Bibcode:2017arXiv171110604D. Accessed 2018-05-23. All operations in TensorFlow Distributions are numerically stable across half, single, and double floating-point precisions (as TensorFlow dtypes: tf.bfloat16 (truncated floating point), tf.float16, tf.float32, tf.float64). Class constructors have a validate_args flag for numerical asserts ^ “Facebook has a new job posting calling for chip designers”. 2020年10月19日閲覧。 ^ “Subscribe to read | Financial Times”. www.ft.com. 2020年10月19日閲覧。 ^ Abu Sebastian; Tomas Tuma; Nikolaos Papandreou; Manuel Le Gallo; Lukas Kull; Thomas Parnell; Evangelos Eleftheriou (2017). “Temporal correlation detection using computational phase-change memory”. Nature Communications 8. arXiv:1706.00511. doi:10.1038/s41467-017-01481-9. PMID 29062022.  ^ “A new brain-inspired architecture could improve how computers handle data and advance AI”. American Institute of Physics. (2018年10月3日). https://phys.org/news/2018-10-brain-inspired-architecture-advance-ai.html 2018年10月5日閲覧。  ^ Carlos Ríos; Nathan Youngblood; Zengguang Cheng; Manuel Le Gallo; Wolfram H.P. Pernice; C David Wright; Abu Sebastian; Harish Bhaskaran (2018). "In-memory computing on a photonic platform". arXiv:1801.06228 [cs.ET]。 ^ Zhong Sun; Giacomo Pedretti; Elia Ambrosi; Alessandro Bricalli; Wei Wang; Daniele Ielmini (2019). “Solving matrix equations in one step with cross-point resistive arrays”. Proceedings of the National Academy of Sciences 116 (10): 4123-4128.  ^ a b Marega, Guilherme Migliato; Zhao, Yanfei; Avsar, Ahmet; Wang, Zhenyu; Tripati, Mukesh; Radenovic, Aleksandra; Kis, Anras (2020). “Logic-in-memory based on an atomically thin semiconductor”. Nature 587 (2): 72-77. doi:10.1038/s41586-020-2861-0.  ^ “NVIDIA launches the World's First Graphics Processing Unit, the GeForce 256”. 2020年10月19日閲覧。 ^ “Self-Driving Cars Technology & Solutions from NVIDIA Automotive”. NVIDIA. 2020年10月19日閲覧。 ^ “design of a machine vision system for weed control”. June 23, 2010時点のオリジナルよりアーカイブ。June 17, 2016閲覧。 ^ “qualcomm research brings server class machine learning to every data devices” (October 2015). 2020年8月30日閲覧。 ^ “movidius powers worlds most intelligent drone” (2016年3月16日). 2020年8月30日閲覧。 http://www.nextplatform.com/2016/04/05/nvidia-puts-accelerator-metal-pascal/ Eyeriss Project http://www.alphaics.ai/