AIアクセラレータ

出典: フリー百科事典『ウィキペディア(Wikipedia)』

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

このカテゴリのデバイスには、多くのベンダー固有の用語が存在しており、これは支配的デザイン英語版のない新技術英語版である。

歴史[編集]

コンピュータシステムは、コ・プロセッサと呼ばれる特殊なタスクのための特殊な目的のアクセラレータでCPUを補完することが頻繁に行われてた。注目されるアプリケーション固有ハードウェアユニットには、グラフィックスビデオカードサウンドカードグラフィックス処理装置デジタル信号処理装置などがある。2010年代にディープラーニング人工知能のワークロードが注目されるようになると、これらのタスクを高速化するために、特殊なハードウェアユニットが開発されたり、既存の製品から採用されたりした。

初期の試み[編集]

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

ヘテロジニアス・コンピューティング[編集]

ヘテロジニアス・コンピューティング(異機種コンピューティング)とは、1 つのシステム、あるいは1つのチップに、特定のタイプのタスクに最適化された多数の特化したプロセッサを組み込むことを意味する。セル・マイクロプロセッサ(cell microprocessor)のようなアーキテクチャは[15]、パック化低精度演算(packed low precision arithmetic)のサポート、データフロー・アーキテクチャ、レイテンシよりも「スループット」を優先するなど、AIアクセラレータと大きく重複する特徴を持っている。セル・マイクロプロセッサはその後、AIを含む多くのタスク[16][17][18]に応用された[19][20][21]

2000年代には、CPUは、ビデオやゲームのワークロードに牽引されて、SIMDユニットのデータ幅をますます広げ、低精度のデータ型パック化してサポートするようになった[22]

GPUの利用[編集]

グラフィックス・プロセッシング・ユニット (GPU)は、画像の操作や、局所的な画像特性の計算に特化したハードウェアである。ニューラルネットワークと画像操作の数学的基礎は類似しており、行列を含む驚異的並列英語版タスクであるため、GPUは機械学習タスクにますます使用されるようになってきている[23][24][25]。2016年現在、GPUはAI作業で人気があり、自動運転車[26]などのデバイスでのトレーニング[27]と推論の両方でディープラーニングを促進にする方向に進化し続けている。Nvidia NVLinkなどのGPU開発者は、AIがもたらすデータフロー・ワークロードの種類のための追加の接続機能を開発している[28]。GPUのAIアクセラレーションへの応用が進むにつれ、GPUメーカは、ニューラルネットワーク特化したハードウェアを組み込んで、これらのタスクをさらに高速化している[29][30]Tensor Core英語版(テンソルコア)は、ニューラルネットワークのトレーニングを高速化することを目的としている[29]

FPGAの利用[編集]

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

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

AIアクセラレータ専用ASICの登場[編集]

AI関連のタスクでは、GPUとFPGAの方がCPUよりもはるかに優れた性能を発揮するが、ASIC (Application Specific Integrated Circuit)を介したより特殊な設計では[要出典]、最大で10倍の効率性[35][36]が得られる可能性がある。これらのアクセラレータは、最適化されたメモリ使用英語版[要出典]、低精度演算 (英語版を使用して計算を高速化し、計算のスループットを向上させるなどの戦略を採用している[37][38]。AIアクセラレーションで採用されている低精度浮動小数点フォーマットには、半精度浮動小数点フォーマットやbfloat16浮動小数点フォーマット (英語版がある[39][40][41][42][43][44][45]。FacebookやAmazon、Googleなどの企業が独自のAI ASICを設計している[46][47]

インメモリ・コンピューティング・アーキテクチャ[編集]

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

アナログ抵抗変化型メモリを用いたインメモリ・コンピューティング[編集]

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

原子レベル薄型半導体[編集]

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

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

命名法[編集]

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

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

潜在的なアプリケーション[編集]

関連項目[編集]

脚注[編集]

[脚注の使い方]
  1. ^ "A Survey on Hardware Accelerators and Optimization Techniques for RNNs", JSA, 2020 PDF
  2. ^ Intel unveils Movidius Compute Stick USB AI Accelerator” (2017年7月21日). 2017年8月11日時点のオリジナルよりアーカイブ。2017年8月11日閲覧。
  3. ^ Inspurs unveils GX4 AI Accelerator” (2017年6月21日). 2020年7月23日閲覧。
  4. ^ 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日閲覧。 
  5. ^ Google Developing AI Processors”. 2020年7月23日閲覧。Google using its own AI accelerators.
  6. ^ "A Survey of ReRAM-based Architectures for Processing-in-memory and Neural Networks", S. Mittal, Machine Learning and Knowledge Extraction, 2018
  7. ^ 13 Sextillion & Counting: The Long & Winding Road to the Most Frequently Manufactured Human Artifact in History”. Computer History Museum (2018年4月2日). 2019年7月28日閲覧。
  8. ^ convolutional neural network demo from 1993 featuring DSP32 accelerator”. 2020年10月19日閲覧。
  9. ^ design of a connectionist network supercomputer”. 2020年10月19日閲覧。
  10. ^ 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)
  11. ^ 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 
  12. ^ a b Space Efficient Neural Net Implementation”. 2020年10月19日閲覧。
  13. ^ 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 
  14. ^ Application of the ANNA Neural Network Chip to High-Speed Character Recognition”. 2020年10月19日閲覧。
  15. ^ 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. 
  16. ^ 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. 
  17. ^ Video Processing and Retrieval on Cell architecture. 
  18. ^ 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 
  19. ^ 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 
  20. ^ Development of an artificial neural network on a heterogeneous multicore architecture to predict a successful weight loss in obese individuals”. 2020年7月23日閲覧。
  21. ^ 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 
  22. ^ Improving the performance of video with AVX” (2012年2月8日). 2020年7月23日閲覧。
  23. ^ microsoft research/pixel shaders/MNIST”. 2020年10月19日閲覧。
  24. ^ How GPU came to be used for general computation”. 2020年10月19日閲覧。
  25. ^ imagenet classification with deep convolutional neural networks”. 2020年10月19日閲覧。
  26. ^ nvidia introduces supercomputer for self driving cars” (2016年1月6日). 2020年7月23日閲覧。
  27. ^ nvidia driving the development of deep learning” (2016年5月17日). 2020年7月23日閲覧。
  28. ^ how nvlink will enable faster easier multi GPU computing” (2014年11月14日). 2020年7月23日閲覧。
  29. ^ a b Harris, Mark (2017年5月11日). “CUDA 9 Features Revealed: Volta, Cooperative Groups and More”. 2017年8月12日閲覧。
  30. ^ "A Survey on Optimized Implementation of Deep Learning Models on the NVIDIA Jetson Platform", 2019
  31. ^ Space Efficient Neural Net Implementation”. 2020年7月23日閲覧。
  32. ^ FPGA Based Deep Learning Accelerators Take on ASICs”. The Next Platform (2016年8月23日). 2016年9月7日閲覧。
  33. ^ Project Brainwave” (英語). Microsoft Research. 2020年6月16日閲覧。
  34. ^ "A Survey of FPGA-based Accelerators for Convolutional Neural Networks", Mittal et al., NCAA, 2018
  35. ^ Google boosts machine learning with its Tensor Processing Unit” (2016年5月19日). 2016年9月13日閲覧。
  36. ^ Chip could bring deep learning to mobile devices”. www.sciencedaily.com (2016年2月3日). 2016年9月13日閲覧。
  37. ^ Deep Learning with Limited Numerical Precision”. 2020年7月23日閲覧。
  38. ^ Rastegari, Mohammad; Ordonez, Vicente; Redmon, Joseph; Farhadi, Ali (2016). "XNOR-Net: ImageNet Classification Using Binary Convolutional Neural Networks". arXiv:1603.05279 [cs.CV]。
  39. ^ 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.”
  40. ^ 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”
  41. ^ 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.”
  42. ^ 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.”
  43. ^ Tensorflow Authors (2018年2月28日). “ResNet-50 using BFloat16 on TPU”. Google. 2018年5月23日閲覧。[リンク切れ]
  44. ^ Elmar Haußmann (2018年4月26日). “Comparing Google's TPUv2 against Nvidia's V100 on ResNet-50”. RiseML Blog. 2018年4月26日時点のオリジナルよりアーカイブ。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.”
  45. ^ Joshua V. Dillon; Ian Langmore; Dustin Tran; Eugene Brevdo; Srinivas Vasudevan; Dave Moore; Brian Patton; Alex Alemi et al. (2017-11-28). TensorFlow Distributions (Report). arXiv:1711.10604. Bibcode2017arXiv171110604D. 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" 
  46. ^ Facebook has a new job posting calling for chip designers”. 2020年10月19日閲覧。
  47. ^ Subscribe to read | Financial Times”. www.ft.com. 2020年10月19日閲覧。
  48. ^ 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. 
  49. ^ “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日閲覧。 
  50. ^ 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]。
  51. ^ 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. 
  52. ^ 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. 
  53. ^ NVIDIA launches the World's First Graphics Processing Unit, the GeForce 256”. 2020年10月19日閲覧。
  54. ^ Self-Driving Cars Technology & Solutions from NVIDIA Automotive”. NVIDIA. 2020年10月19日閲覧。
  55. ^ design of a machine vision system for weed control”. 2010年6月23日時点のオリジナルよりアーカイブ。2016年6月17日閲覧。
  56. ^ qualcomm research brings server class machine learning to every data devices” (2015年10月). 2020年8月30日閲覧。
  57. ^ movidius powers worlds most intelligent drone” (2016年3月16日). 2020年8月30日閲覧。

外部リンク[編集]