Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
AIアクセラレータの技術動向(2023)
Search
廣安聖知(kyotomon)
November 06, 2023
Technology
0
610
AIアクセラレータの技術動向(2023)
近年のAIアクセラレータについて、サーバー・エッジ・エンドポイントの3つの観点で分類し、市場にある一部の製品についてピックアップし紹介する
廣安聖知(kyotomon)
November 06, 2023
Tweet
Share
More Decks by 廣安聖知(kyotomon)
See All by 廣安聖知(kyotomon)
TinyMLの技術動向
kyotomon
2
230
Other Decks in Technology
See All in Technology
Mobbing Practices
kawaguti
PRO
2
290
VPoE Meetup Vol.1 VPoEとして実践してきたことと反省点
coconala_engineer
3
240
入門『状態』#kaigionrails / "state" for beginners with Rails
shinkufencer
2
750
Amazon FSx for NetApp ONTAPを利用するにあたっての要件整理と設計のポイント
non97
1
110
S3上のログを分析したいだけなのに
mitsuo_sys
1
150
SwiftSyntaxでUIKitとSwiftUIの使用率を完璧に計測できちゃう件について
ldf_tech
0
160
DevOpsに関連するツールとその概要を淡々と読み上げる会
devops_vtj
1
140
インシデント対応の 実践と品質文化の醸成
____rina____
2
1.4k
Railway Oriented Programming を オニオンアーキテクチャに適用する by kotlin-result / Railway Oriented Programming in Onion Architecture by kotlin-result
yuitosato
2
190
omakaseしないための.rubocop.yml のつくりかた / How to Build Your .rubocop.yml to Avoid Omakase #kaigionrails
linkers_tech
3
100
Overview of file type identifiers
ange
0
200
WebRTC と AI の組み合わせ
tnoho
0
450
Featured
See All Featured
XXLCSS - How to scale CSS and keep your sanity
sugarenia
246
1.3M
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
13
1.9k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
27
4.1k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
3
360
Music & Morning Musume
bryan
46
6.1k
Building Better People: How to give real-time feedback that sticks.
wjessup
363
19k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
6.9k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
27
770
How STYLIGHT went responsive
nonsquared
95
5.1k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
4
280
Making Projects Easy
brettharned
115
5.9k
Transcript
AI AI Acceleratorの技術動向 2023.11.01 廣安 聖知 GO株式会社
AI 2 自己紹介 氏名:廣安 聖知 略歴: ・2018/11〜:DRIVE CHART@DeNA ・2020/04〜:DRIVE CHART@Go Inc.
CHARTのEdge開発チームでAIライブラリ開発、シミュレータ開発等を担当
AI 3 アジェンダ • AI アクセラレータとは何か ◦ 概要、提供形態、性能指標、要求性能 • サーバAI
アクセラレータの紹介 • エッジAI アクセラレータの紹介 • エンドポイントAI アクセラレータの紹介 • まとめ
AI 4 01 AIアクセラレータとは
AI AIアクセラレータとは 5 • Deep Learningの演算を高速に処理するハードウェアの総称 ◦ 対象もCPU, GPU, DSP,
FPGA, ASIC等々幅広い • DLの高速演算は半導体の業界でも関心度は高い ⇒半導体の学会Hot Chipsでも1/3を超える論文がMLやAIがテーマ • 各社が様々なアクセラレータを開発/提供 ◦ NVIDIA, Google, IntelのようなTech Giantsを筆頭に各社が様々なアクセラ レータの開発を進めている • メーカによって様々な工夫 ◦ DLで処理負荷の高い積和演算を高速に処理するハードウェア構成 ◦ 枝刈り/量子化等の最適化を行う事による高速化を実現する等 なお、AIアクセラレータはAIチップ、AIプロセッサ等と言われる事もある (表記が定まっていない)
AI AIアクセラレータの提供形態 6 • PCIeの拡張ボード ◦ データセンター上のサーバやデスクトップPC向け ◦ 例:NVIDIAのGeForceシリーズ •
M.2、USB接続のスティック ◦ 主にエッジ機器向け ◦ 例:Intel Neural Stick 2 • SoC上にNPUとして内蔵 ◦ NPUはメーカーによってはDSPや独自呼称で表記される事も ◦ 例:Rockchip RK3399Pro • 独立チップ ◦ 主にエッジ機器向け ◦ USB, SPI, I2Cのようなシリアル通信を介して接続 ◦ 重み等の情報は専用のSRAM上に持つ事が多い • IP ◦ FPGA, SoC等に焼く回路設計データのみをメーカが提供 ◦ 例:Arm Ethos-N, Ethos-Uシリーズ
AI AIアクセラレータの性能指標 7 計算性能 • 単位時間あたりの演算回数(OPS)や積和演算回数(MACs) ◦ よく使われている指標 ◦ 要求される性能は用途によって異なる
▪ 学習向け(サーバ)のアクセラレータだと数百TOPS単位 ▪ 推論だけ(エッジ)だと数TOPS程度でも良い(タスクによっては数十〜数百 GOPSでも) ◦ 特定の計算精度(FP32, INT8)上での値である点注意が必要 ▪ 学習用だとFP32, 推論用だとINT8での値である事が多い • スループット(FPS) ◦ ResNet-50のようなモデルで画像を単位時間あたり何枚処理できるか ◦ OPSは理想的な条件の元での最大演算性能であり、性能指標としては微妙との意 見もある。そのため、こちらを使っているメーカーも存在
AI AIアクセラレータの性能指標 8 電力効率 • 単位電力あたりの計算性能(OPS/W、IPS/W) • 特にエッジやIoT向けのような低電力上で動作するアクセラレータでは重要
AI • 下記は各推論タスクと必要計算性能 (TOPS)の目安を示した図 • 各社計算性能、電力効率、価格等でバランスをとりつつターゲットとする層向けのアクセ ラレータを提供している AIアクセラレータの要求性能(推論) 9 出典:https://developer.arm.com/-/media/Arm%20Developer%20Community/PDF/AI%20Tech%20Talks/Arcturus%20NXP%20Arm%20Tech%20Talk-July-13-2021
AI 10 02 AIアクセラレータ紹介(サーバ編)
AI サーバ向けアクセラレータの特徴 11 • 主に学習用途 ◦ 学習は推論と比べ膨大な数のデータ処理を行う必要がある ◦ 計算性能が数百TOPS以上のアクセラレータが中心 •
データセンター上に搭載し、クラウド上でサービス提供するという形が多い ◦ 近年のLLM等の生成AIの需要の高まりを受けて、必要とされる計算性能やメ モリ容量はどんどん増える傾向(LLMのパラメータ数はここ5年間で10倍増大) ◦ 計算性能だけでなくコスト効率も重要で、各社が競っている 以降で代表的なものをいくつか紹介
AI NVIDIA GPU 12 • 最も有名なDL学習用アクセラレータ ◦ 主目的は3D graphicsの高速処理だが、近年はDL学習に使われる事が多い •
世代毎にPascal, Volta, Ampere, Hopperのようなコードネームがつく • 最近まではA100, H100のように頭文字がついたデータセンター向けGPUコアが提 供される(PCIe接続) • 最近GH200 Grace Hopper Superchip※が登場 ◦ 144個のArm neoverseコアとHopperをモジュール化 ◦ 8PFLOPSの計算性能。またHBM3eの採用によりH100と比較して3.5倍のメ モリ容量と10TB/sと約3倍の帯域幅を実現 ◦ NVLinkによる他Superchipとの相互接続によって拡張も可能 ※: https://nvidianews.nvidia.com/news/gh200-grace-hopper-superchip-with-hbm3e-memory
AI NVIDIA GPU 13 GA100 GH100 CUDAコア数 8192 18432 SM数
128 144 GPC 16 18 Tensorコア数 512 576 アーキテクチャ概要 • 数千〜万単位のCUDA Core上で超並列演算処理を実行(SIMT) ◦ 複数のCUDA Coreを集積したSM(Streaming Multiprocessor)と、さらにそれらを束ねた GPC(Graphics Processor Cluster)から構成される ◦ SM上にあるTensor Coreという行列積演算ユニットで行列積演算を高速実行 • FP64, TF32, FP32, FP16, INT8といった複数の精度に対応 • 下表はA100/H100の各ユニット数
AI Google TPU(Google Cloud Tensor Processing Unit) 14 • Google製のDLワークロード用アクセラレータ
◦ Google Cloud上でのみ利用可能 • Cloud TPUはバージョンで世代を管理 • 現行の最新バージョンはv5e※1 ◦ 前世代(v4)よりも大規模なトレーニングを高いコスト効率で可能にする事を目的とし て開発 ◦ 1ドルあたりv4比較で2倍のトレーニングパフォーマンスを実現 ◦ マルチスライス※2によりv4よりもさらに多数のTPUチップを連携した学習が可能 • JAX, PyTorch, Tensorflow等の主要なフレームワークをサポート • Transformers and Accelate, PyTorch Lightning, Ray等のオープンソースツールにも対 応 ※1: https://cloud.google.com/blog/products/compute/announcing-cloud-tpu-v5e-and-a3-gpus-in-ga/?hl=en ※2: https://cloud.google.com/blog/products/compute/using-cloud-tpu-multislice-to-scale-ai-workloads?hl=en
AI Google TPU 15 アーキテクチャ概要 • 行列乗算ユニット(MXU)によって高速な積和演算を実現 ◦ ALUをマトリクス上に配置した回路構成(シストリックアレイ) ◦
ALUの演算結果をレジスタに書き戻さず、隣のALUに結果を直接渡す ▪ メモリアクセスによる遅延なく高速演算が可能 • 公式サイト※のアニメーション解説も参照(わかりやすい) 図の出典 Google, Inc., Mountain View, CA USA ”In-Datacenter Performance Analysis of a Tensor Processing Unit” https://arxiv.org/abs/1704.04760 ※:https://cloud.google.com/tpu/docs/intro-to-tpu?hl=ja
AI Intel Gaudi※1 16 • Intelが2019年に買収したHabana Labsの学習用アクセラレータ • アクセラレータを使用したインスタンスがAmazon EC2で提供
• Pytorch, Tensorflowでの学習が可能 • 2022/05に初代Gaudiの後継機Habana Gaudi2が発表(Gaudi3も開発中) • MLPerf※1にてResNet, BERTの学習時間を比較し、NVIDIA A100よりも優位であ る事を示している 図の出典: https://www.intel.com/content/www/us/en/newsroom/news/second-gen-habana-gaudi2-outperforms-nvidia-a100.html#gs.5zs8we ※1:https://habana.ai/products/gaudi/ ※2: https://mlcommons.org/en/training-normal-20/
AI Intel CPU 17 • Intelは近年のCPUで高速積和演算を行うための命令セットを取り入れている ◦ oneAPIやOpenVINOのようなIntel製ライブラリを介して学習/推論用途で使用可能 • 代表例1)
DL boost (VNNI) ◦ 512bitのINT8積和演算を1命令サイクルで実行(SIMD) ▪ 下図のように従来は3命令サイクルが必要だった ◦ Ice Lake世代以降のXeon等に搭載 出典:https://www.intel.com/content/www/us/en/developer/articles/guide/deep-learning-with-avx512-and-dl-boost.html?wapkw=VNNI%20vpmaddubsw
AI Intel CPU 18 • 代表例2) AMX ◦ 行列積演算に特化した新しい命令セット(専用のレジスタ使用) ◦
INT8積和演算でもAVX-512と比べて理論値で8倍の性能(下図参照) ◦ Intel Vision 2022でFP16の学習時性能でもA100を上回ったと主張※1 ◦ 第4世代Xeon(Sapphire Rapids)より搭載(AWSからR7izインスタンスで提供開始※2) 図の出典:https://www.intel.com/content/www/us/en/products/docs/accelerator-engines/advanced-matrix-extensions/ai-solution-brief.html ※1:https://pc.watch.impress.co.jp/docs/news/1408763.html ※2:https://aws.amazon.com/jp/blogs/news/new-amazon-ec2-r7iz-instances-memory-optimized-for-high-cpu-performance-memory-intensive-workloads/
AI Amazon Inferentia※ 19 • DL推論用のアクセラレータ ◦ モデルキャッシュ用の大容量オンチップメモリを搭載 ◦ FP16,
BF16, INT8に対応 ◦ 小さいバッチサイズのスループットを最大化 • AWS EC2 inf1, inf2インスタンス上で使用可能 ◦ inf2は最大12個のinferentia2チップを使用(2.3PFLOPS@FP16/BF16) ◦ inf2はInf1比でスループットが最大4倍高く、レイテンシーが最大10倍低い ◦ GPUインスタンスと比べてコストが低く抑えられる • AWS Neuron SDK ◦ 専用のモデルコンパイラ、ランタイム、プロファイリングツールから成る ◦ Tensorflow, Pytorch, MXNetのモデルに対応 ◦ 最小限のコード変更のみですぐに利用開始可能 ※:https://aws.amazon.com/jp/machine-learning/inferentia/
AI Meta MITA 20 • Metaが開発中のAIチップ(現在v1の情報がブログ上で公開されている) • 小型のデュアルM.2ボードとして提供 • これを使用したAIに特化した次世代データセンターを構築中
アーキテクチャ • 102.4TOPS@INT8の計算性能 • シストリックアレイを採用 ◦ PE(Porcessing Element)を8x8のグリッド上に配置し相互接続 ◦ 全PEに共有の128MBのオンチップSRAMを搭載 ◦ 各PEに128KBのSRAMを搭載 • 各PEはRISC-Vに基づく2つのプロセッサコアから成る ◦ 行列演算、非線形関数計算等の重要な演算を高速実行できるよう最適化 ◦ 片方はベクトル拡張機能搭載 • DRAMは128GBまで拡張可 画像出典:https://ai.meta.com/blog/meta-training-inference-accelerator-AI-MTIA/
AI 21 03 AIアクセラレータ紹介(エッジ編)
AI エッジ向けアクセラレータの特徴 22 • 主に推論用途 ◦ モバイル、車載器のような消費電力等のリソースが限られた環境での高速推 論 • エッジデバイス上での推論というのはここ数年で広まってきた技術領域
◦ 以前はクラウド上に画像や音声のようなデータをアップロードして推論 ◦ 以下のような課題を解決 ▪ ネットワーク遅延によるUXの低下、即応性の不足 ▪ 伝送量の増大 ▪ プライバシー漏洩 • SoCタイプやUSB/M.2などの拡張モジュールタイプが多い • SoC内のGPUもAIアクセラレータの目的で使用される事がある ◦ QualcommのAdreno, Arm IPのMali等
AI • OSとしてはLinux(Yocto)、Android等が使われる • モデル軽量化/最適化が必要なことが多い ◦ 事前にホストPC上で専用のコンパイラを使って対象モデルを専用形式ファイルに変 換 ▪ 必要に応じてFP32ではなくINT8等へ量子化(メモリ転送量削減、高速化目的)
▪ 量子化については弊社の公開資料”ニューラルネットワークの量子化手法の紹 介”※を参照 ◦ 各社Tensorflow, Pytorchのようなメジャーなframeworkからのモデル変換をサポート • TFLite, ONNXRuntimeのようなプラグインに対応したメジャーな推論ランタイムが使われ る事も 以降でエッジ向けアクセラレータの一部を紹介 エッジ向けアクセラレータの特徴 23 ※:https://speakerdeck.com/emakryo/niyurarunetutowakunoliang-zi-hua-shou-fa-noshao-jie
AI NVIDIA Jetson 24 • 車載をメインターゲットとしたSoC • 最新世代はOrin※ ◦ Ampere世代のGPUを搭載
▪ 最大64基のTensorコア、最大2048コアのCUDAコア ◦ 演算性能、消費電力に応じていくつかのランクあり ▪ 演算性能:20TOPs〜275TOPs(@INT8) ▪ 消費電力:5W〜60W ◦ 直近世代のXavier(Volta世代のGPU搭載)の6倍程度の演算性能 ◦ CPUはArm Cortex-A78(6core 〜 12core) • 同コアを使用したSoM(Jetsonシリーズ)を販売($199〜$1599)。車載など向け 画像出典:https://www.nvidia.com/ja-jp/autonomous-machines/embedded-systems/ ※:https://www.nvidia.com/ja-jp/autonomous-machines/embedded-systems/jetson-orin/
AI 開発にはJetpack※を使用。以下のようなツールが含まれている TensorRT • NVIDIA製品向けの高速DL推論ランタイム • Tensorflow, Pytorch, ONNXに対応 DeepStream
SDK • GStreamerベースの動画ストリーム処理パイプライン構築のためのフレームワーク CUDA Toolkit • NVIDIA GPU使用アプリ開発のための統合開発環境 cuDNN • CUDAを使用したDL高速演算用ライブラリ OpenCV • CV, ML, 画像処理向けのOSS NVIDIA Jetson 25 ※:https://developer.nvidia.com/embedded/jetpack
AI Google EdgeTPU 26 • サーバ向けのTPUをベースにエッジ向けに開発されたチップ • 演算性能は4TOPS(@INT8), 消費電力2W(2TOPS/W) •
様々な提供形態で販売(独立チップ、USB/M.2 Stick、SoM等) ◦ $20〜$130ぐらい 出典:https://coral.ai/products/
AI Google EdgeTPU 27 • Tensorflow Lite上で推論を実行 • 予めConverterで学習済みTensorflowの変換(量子化)し、INT8で推論させるため のモデルファイルにする必要あり
出典:https://coral.ai/docs/edgetpu/models-intro/#compatibility-overview
AI Intel Myriad X 28 • Intelが買収したMovidius社製のチップ(1TOPS@FP32) • VPU(Vision Processing
Unit)を搭載 ◦ DL推論だけでなく、画像処理等の高速化(4TOPS)も行える演算ユニット ◦ 複数の128bit幅のVLIW(Very Long Instruction Word)プロセッサを持ち、並 列SIMD演算を行う • OpenVINOを使ってのDL推論が可能 ◦ 入力はONNX形式ファイル、あるいはOpenVINO専用形式ファイル ◦ Pytorch, Tensorflow, Caffe, MXNetからの変換をサポート ◦ OpenVINOはVPUのみならずXPU上で推論実行が可能 ▪ XPUはIntel製プロセッサの総称(CPU, GPU, FPGA含む) • USB StickタイプやM.2タイプの製品が存在(現在は製造/販売終了) • チップ単位販売もあり(AIカメラOAK-D※等に搭載) ※:https://docs.luxonis.com/projects/hardware/en/latest/pages/BW1098OAK/
AI Intel Myriad X 29 • VPUは2023末登場予定のMeteor Lake(NotePC向けCPU)に搭載のNPUのベースとしても使 われている(下図(左)) •
NPUのAI処理性能はCPUやGPUで処理する場合に比べて10倍処理能力は高くなり、かつ5倍 電力効率は高い(参考記事※参照) ◦ 下図(右)はNPUを使う事で推論時間が小さく電力効率がよくなる事を示している 図の出典:https://www.intel.com/content/www/us/en/content-details/788844/ai-deep-dive.html?wapkw=meteor%20lake%20NPU ※:https://pc.watch.impress.co.jp/docs/news/event/1504066.html
AI Qualcomm Hexagon DSP 30 • Qualcommのモバイル向けSoC”Snapdragon”等に内蔵されるDSP ◦ HVXという複数の128bit幅のSIMD計算Unitから構成 ◦
Hexagon DSP自体は初期のSnapdragonから入っているが、HVXはHexagon 685から 搭載(2018年以降に出ているSnapdragonに搭載) ◦ 計算性能は3@INT8〜※(最近のSnapdragonほど高性能) ◦ DL推論にはQualcommのNeural Processing SDKやAI Engine Direct SDKを使用 図の出典:https://developer.qualcomm.com/software/hexagon-dsp-sdk/dsp-processor ※:https://en.wikipedia.org/wiki/Qualcomm_Hexagon
AI MediaTek APU※1 31 ※1:https://www.mediatek.jp/innovations/artificial-intelligence ※2・https://www.mediatek.com/products/smartphones/dimensity-5g ※3・https://www.mediatek.com/iot/home • APU(AI Processing
Unit) ◦ MediaTekのAIアクセラレータ ◦ スマホ向けSoCのDimensityシリーズ※2や、AIoT向けSoCのGenioシリーズ※3 などに搭載 • APUの計算性能はSoCによって異なる ◦ 例:Genio-1200(4.8TOPS@INT8) • DL推論はNeulopilot SDKから実行 • AndroidであればNNAPI経由でAI推論に使用する事も可能
AI • Arm Cortex-A上の推論処理をオフロードする用のチップのIP ◦ 計算ユニット数、内蔵RAM容量で型番が異なる(N37, N57, N77, N78) ▪
現時点(2023/10)では最新のN78のみ公式サイト上で情報公開※ ◦ 数百〜数千のMAC(積和演算機)を内蔵 ◦ 計算性能は1〜10TOPS(@INT8) • DL推論はArmNN, Arm Compute Libraryから実行 • スマホ等の市場向けだが、大手モバイル向けSoCベンダは各社独自のアクセラレー タを開発している事が多いためか普及していない Arm Ethos-Nシリーズ 32 ※:https://www.arm.com/ja/products/silicon-ip-cpu/ethos/ethos-n78
AI Hailo Hailo-8 33 • 最大26TOPS(@INT8)の性能を持つAIア クセラレータ ◦ 電力効率は2.8TOPS/W •
M.2の拡張ボードタイプの製品が存在 ($200程度) ◦ Automotive, Smart City, Smart Home等、多用途での使用を目的 ◦ 採用されている製品も相当数ある※ • 右はNVIDIA Xavier NXとの比較グラフ ◦ Xavier NX(21TOPS)よりも性能が高 く、電力効率も良い 図の出典:https://hailo.ai/ja/products/hailo-8/#performance ※:https://hailo.ai/ecosystem/partners/
AI Hailo Hailo-15 34 • Hailo-8のアクセラレータを内蔵したSoCタイプのチップ • 15H, 15M, 15Lの3タイプを提供
• IPカメラをターゲットとし、ISPやVideo encode/decodeのアクセラレータも搭載 • 画像処理向けのDSPも内蔵 出典:https://hailo.ai/ja/products/hailo-15/#features
AI 図の出典 :https://software-dl.ti.com/jacinto7/esd/processor-sdk-linux-sk-tda 4vm/latest/exports/docs/data_flows.html#object-detection ※:https://www.ti.com/microcontrollers-mcus-processors/arm-bas ed-processors/overview.html Texas Instruments TDA4VM※ 35
• 車載向けのArm Cortex-A72ベースのSoC(1k単位で約$70)。以下のようなDSPを内蔵 ◦ 8TOPS(@INT8)のMMA(Matrix Multiply Accelarator) ◦ その他のAI演算向けのDSP”C7x” ◦ 画像処理向けDSP”C6x” • 推論にはONNX Runtime, TFLite, TVMを使用 ◦ 予めTIDL(Texas Instruments DL ecosystem)で変換したモデルファイルを使用 • カメラ入力から推論/結果表示までのフローを構成しやすい開発環境を提供 ◦ GstreamerやROSの使用をサポート ◦ 画像前処理用のOpenVXプラグインが用意されている
AI Texas Instruments AM62x, AM68, AM69※ 36 • コストや必要性能に応じたスケーリングができるよう用意された SoCのシリーズ
◦ TDM4VMでも使われるAI演算用DSPのMMA, C7xを内蔵(1〜32TOPS@INT8) ◦ CPU: AM62xでCortex-A53(コア数は1, 2, 4から選択)、AM68/AM69がCortex-A72x2 ◦ 価格帯は$12〜$85(1k単位購入の場合) • Edge AI Studioにより学習、テスト、デプロイまでを統合的に行う事ができる 図の出典:https://dev.ti.com/edgeaistudio/ ※:https://www.ti.com/microcontrollers-mcus-processors/arm-based-processors/overview.html
AI NXP i.MXシリーズ 37 • NXPのi.MXシリーズ※1というSoCの内、一部SoCにNPUが搭載されている ◦ i.MX 8M Plus:2.3TOPS@INT8(他社IPのNPUを使用)
◦ i.MX 93:0.5TOPS@INT8(Arm Ethos-U65を使用) ◦ i.MX 95:2TOPS@INT8(自社開発のNeutron NPUを使用) • eIQ※2というMLソフトウェア開発環境が提供 ◦ DLモデル変換からデバイスへのデプロイまで対応 ◦ RuntimeはTFLite, ArmNN, ONNXRuntime, DeepViewRTから選択 • GatewayやMiniPCに採用されている他、産業用向け SoMが複数のメーカから販売されている (以下例) ◦ アットマークテクノ Armadillo-IoT G4 ◦ SolidRun CuBoxM ◦ Variscite VAR-SOM-MX8M-PLUS, VAR_SOM-MX93 ※1:https://www.nxp.jp/products/processors-and-microcontrollers/arm-processors/i-mx-applications-processors:IMX_HOME ※2:https://www.nxp.com/design/software/eiq-ml-development-environment:EIQ?cid=ad_pro10955341_tac1219403&gclid=EAIaIQobChMI0Lv3hPm5gQMVkPuyCh2Xvg91EAAYASAAEgJ5ifD_BwE
AI Rockchip RK3399Pro 38 • 中国のRockchip社製のSoC ◦ 3TOPS(@INT8)のDL推論用NPUを内蔵 ◦ CPUはCortex-A72x2
+ Cortex-A53x4の構成 • この他にもNPU内蔵のSoCが複数存在(計算性能はそれぞれ異なる) ◦ RK1808, RK3568, RK3588等 • RKNN tookitというツールを使用して専用形式フォーマットに変換 ◦ ONNX, Caffe, Keras, Pytorch, Tensorflow等幅広いDL frameworkに対応 ◦ INT8/UINT8/INT16に量子化 ◦ 量子化済みモデル読み込みにも対応(Pytorch, Tensorflow, ONNX)
AI Renesas DRP-AI (RZ/Vシリーズ) 39 • AI-MAC(積和計算機)とDRP(Reconfiguable Processor)から成るアクセラレータを搭載したSoC • DRP-AI
Translator/DRP-AI TVMによりAIモデル変換と最適化を実施 ◦ ONNX, Pytorch, Tensorflowに対応 • 2023/4に開催した”Renesas AI Tech Day”にて次世代のDRP-AIの試作チップが公開(参考記事※) ◦ 10TOPS/Wとかなりの高電力効率(従来版DRP-AIの10倍)。熱放出も少ない ◦ 最大80TOPS相当の性能 図の出典:https://www.renesas.com/jp/ja/software-tool/ai-accelerator-drp-ai#overview ※:https://monoist.itmedia.co.jp/mn/articles/2304/21/news075.html
AI • Ambarellaは車載、セキュリティカメラ、産業用等の用途でSoCを開発 • CVxxというSoCのシリーズにCVflow※というDLアクセラレータを搭載 ◦ Caffe, TensorFlow, PyTorchのような代表的なframeworkに対応 ◦
DLモデルにPruning/Quantizationを適用する事で高速化を実現 • eTOPS(equivarent TOPS)という指標でTOPS相当の性能を公開 • スケーリングできるよう多種のSoCがある ◦ 例1:CV3-AD685(Level2+ 〜 Level4の自動運転向け) ▪ CPU: Cortex-A78x12, CVFlow: 500eTOPS, 消費電力: 〜50W ▪ 最大24台のカメラ入力に対応 ◦ 例2:CV52S(AIカメラ向け) ▪ CPU: Cortex-A76x2, CVFlow: 6eTOPS, 消費電力: 〜3W Ambarella CVflow 40 ※:https://www.ambarella.com/technology/
AI 41 04 AIアクセラレータ紹介(エンドポイント編)
AI • エンドポイントAIはArmがIoT機器向けのAI等で使うようになった言葉 ◦ MCU上のような使用可能電力やメモリが少ない環境で動作するもの ▪ 数十mW〜数百mW、数十〜数百KBというレベル ◦ エッジAIと明確な線引きはない ◦
TinyML, AIoTといった用語が使われる事も • RTOS上やbaremetalで動作 • エッジ向け同様、DLモデルコンパイル用のホストPCが必要 ◦ Tensorflow Lite micro※1 ▪ モデルをバイナリ列を含むC言語ヘッダに変換(それをincludeしてネイティブコードを ビルド) ▪ 極小のruntime(16KB)上で動作する ◦ その他、Cコードにトランスパイルするような OSSがある ▪ NNoM※2, uTensor※3等 エンドポイント向けアクセラレータの特徴 42 ※1:https://www.tensorflow.org/lite/microcontrollers?hl=ja ※2・https://github.com/majianjia/nnom ※3・https://github.com/uTensor/uTensor
AI • リソース制限が厳しい事から、エッジ向けよりも更に軽量のモデルが使われる • TinyML向け軽量モデルの開発も行われている(以下は一例) ◦ FOMO(Edge Impluse)※1 ▪ 入力画像を等間隔のグリッドに分割し、それぞれの領域で推論実行
▪ 結果を統合して検出した各物体の中心座標を出力 ▪ MobileNetSSDより30倍高速、200KB未満のメモリ上で実現可能 ◦ TinyissimoYOLO※2 ▪ YOLOベースの物体検出 ▪ 入力サイズは88x88。0.5MB程度のメモリ上で実現可能 エンドポイント向けアクセラレータの特徴 43 以降でエンドポイント向けアクセラレータの一部を紹介 ※1:https://edgeimpulse.com/blog/announcing-fomo-faster-objects-more-objects ※2・https://www.hackster.io/news/byte-sized-vision-for-microcontrollers-ec28f72b1f25
AI Kneron KLシリーズ 44 • KL520/KL530※ ◦ デュアルコアCortex-M4とCNN高速演算用のNPUからなるシンプルなSoC ◦ 500mWという低消費電力で動作
◦ NPUでCNNの処理をオフロード。INT4精度にも対応 ▪ KL520:0.3TOPS@INT8 ▪ KL530:0.5TOPS@INT8, 1TOPS@INT4 ◦ スマートドアロック、IPセキュリティカメラ等の用途で使う事を想定 • 他にも幅広い用途向けのSoCがある ◦ KL720:Cortex-Mベース。ピーク0.9TOPS/Wの演算性能 ◦ KL730:Cortex-A55ベース。3.6eTOPS@INT8のNPUを内蔵 ◦ KLM5S3:Cortex-A5ベース。より電力効率を高めた新世代NPUを内蔵 • Caffe, Tensorflow, Pytorch, Keras, ONNX等多くのフレームワークに対応 ※:https://www.kneron.com/ja/page/soc/
AI Arm Ethos-Uシリーズ 45 • Arm Cortex-M上の推論処理をオフロードする用のチップのIP ◦ 数十〜数百のMAC(積和演算機)を内蔵できる ◦
必要演算性能に応じてMAC Unitの数はスケール可 ▪ U55※1:64〜512GOPS ▪ U65※2:512〜1024GOPS • U65はCortex-Aやサーバ向けのNeoverseと組み合わせて使用する事も可 ◦ MCU向けのRTOSだけでなく、Linux/Androidのような汎用OSに対応 • 同IPを実装したチップとしてはNXPのi.MX 93がある ※1:https://www.arm.com/ja/products/silicon-ip-cpu/ethos/ethos-u55 ※2:https://www.arm.com/ja/products/silicon-ip-cpu/ethos/ethos-u65
AI • Cortex-M85で採用されたベクトル拡張 ◦ 8つの128ベクトルレジスタ ◦ 幅広いベクトルデータタイプをサポート • 従来のMシリーズと比べて高いML性能を実現 Arm
Helium-MVE 46 ◦ ルネサスがEmbedded world 2023に おいて物体検出のデモを実施※1。モデ ルの詳細は不明だが13fpsと高速 ◦ 右図はルネサスのブログ※2より。M85 のML性能が従来のMシリーズよりも数 倍優れており、Heliumの有無によって ML性能が大幅に上がる事を示している ※1:https://eetimes.itmedia.co.jp/ee/articles/2303/22/news116.html ※2:https://www.renesas.com/jp/ja/blogs/leveraging-helium-and-arm-cortex-m85-unprecedented-dsp-and-ai-performance-mcu-core
AI • 同社が開発しているMCU”STM32N6”に搭載されているアクセラレータ • 詳細なスペックは未だ未公開だが、Embedded world 2023における同社の物体検 出のデモで314fpsという驚異的な速度を示している(参考記事※1) ◦ 開発者のブログ※2によると、同社のSTM32H7(Cortex-M7ベース。480MHz
動作)と比較して75倍のfps ◦ 汎用MCUではこれまで難しかったカメラ入力のリアルタイム処理が可能になる と期待されている • DLモデル開発にはSTMicroの提供するSTMCube.AI※3を使用 ◦ DLモデルをSTMicro製品用に最適化されたコードに変換 ◦ TensorFlow Lite、Keras、Pytorch、ONNXのような主要フレームワークからの 変換に対応 STMicroelectronics Neural-ART ※1:https://www.eetimes.com/tinyml-comes-to-embedded-world-2023/ ※2・https://www.stmcu.jp/technical/blog/no-006/ ※3・https://www.st.com/content/st_com/ja/campaigns/stm32cube-ai.html 47
AI • 独立チップのアクセラレータ(USB, I2C, SPI, UART等でシリアル接続) ◦ 複数の256bit長のレジスタを持ち、単位ビット長毎の積和演算を並列実行 ▪ 単位ビット長は1,
8, 16, 32から選択(1はいわゆるBNNになる) ◦ 512KB x2のオンチップメモリ搭載 • RTOS上で動作。Tensorflowから変換したモデルを使用した推論が可能 ◦ ランタイムはTFLite micro XMOS xcore.ai 48 出典:https://www.xmos.com/xcore-ai/
AI SYNTIANT NDP10xシリーズ 49 図の出典:https://www.syntiant.com/hardware (NDP100のproduct briefのPDF) ※:https://www.murata.com/ja-jp/products/connectivitymodule/edge-ai/overview/lineup/type2da • Cortex-M0ベースのSoC
◦ 推論用に数万の積和演算ユニットアレイ 内蔵 ◦ 112kBのSRAM内蔵 • 音声AI処理向けの超低消費電力設計 ◦ キーワード認識実行時に100μW以下の 消費電力(NDP102) • 超小型(1.4mm x 1.8mm)、携帯端末/補聴器 等への組み込み用途 • NDP102をモジュール化した製品「Type2DA」 ※が村田製作所で販売 • 音声だけでなく小規模の画像AIもターゲットに 入れたNDP200というSoCもある
AI • AITRIOSというSONYが提供するEdgeAIプラット フォームで使われるカメラデバイスや、ソラコムのAI カメラ”S+ Camera”等に搭載 • IMX500を中核とした統合プラットフォームがローマ市 のスマートシティプロジェクトでも使用された※ SONY
IMX 500 50 • CMOSイメージセンサ内にDL推論用の専用DSPを配置 ◦ イメージセンサの入力画角は4056x3040(60FPS) ◦ 推論結果自体や、推論結果のROI領域部分のカメラ画像を切り出して出力ストリームに流 す事も可能 ▪ ネットワーク伝送量削減 ▪ プライバシー漏洩のリスク低減 ◦ 8MのSRAM搭載(モデルデータやユーザプログラムを格納) ◦ 計算性能は不詳 図の出典:https://developer.aitrios.sony-semicon.com/ ※:https://www.sony-semicon.com/ja/info/2021/2021071401.html
AI 51 06 まとめ
AI まとめ 52 • サーバからエンドポイントに至るまで、DL処理をコストを抑えつつ高速に実行したい というニーズがある • アクセラレータの特徴や一部のデバイスを紹介 ◦ 学習についてはやはりNVIDIAが強いが、各社も追随している
◦ 推論についてはユースケースによって消費電力や必要性能は変わっていくので 各社ターゲットを見据えつつ開発をしている • AI技術同様、アクセラレータの業界も変動が激しく、何が有望で残っていきそうかの 見極めは難しい ◦ 継続してウォッチしていきたい
AI 53 07 参考資料/サイト
AI 参考資料/サイト 54 • AI Accelerator Survey and Trends(https://arxiv.org/abs/2109.08957) •
ASCII.jp ロードマップでわかる!当世プロセッサー事情 (https://ascii.jp/serialarticles/420986/) • edge ai + vision ALLIANCE(https://www.edge-ai-vision.com/) • 月刊Interface 2020/10月号「AIチップ図鑑&実力大研究」 • エッジデバイス向けAIアクセラレータの比較検証 (https://lab.mo-t.com/blog/benchmark-edge-ai-accelarator)