はじめに
当サイトは基本的にFPGA推しですが、そうはいってもFPGAのどこにメリットがあるのか正しく把握する必要があるので、今日は Jetson Orin Nano Super などと比較してみようと思います。
KV260 が現在 Digikey で ¥43,751円、Jetson が秋月電子さんで 49,830円 なのでまあまあ近い価格感かなと思います。
もちろん KV260 が 16nm プロセスなのに対して、Jetson Orin は 8nm なので、かなり不平等な比較にはなりますが、FPGAに比べてGPGPUがそのシェアから先端プロセスで次々新製品を出してくるのも事実なので、ここは現実的に比較してみましょう。
なお、Jetson の性能は ここ から参照させてもらいました。
性能を比較してみる
ここはAIを前提に INT8 で比較していきます。KV260 は DSP が 1248個あり、1個で INT8 の積和が2個できます(積和なので4演算)。最高周波数が 644MHz ですので、644M x 1248 x 4 = 3.2TOPS になりそうです。電力はまあ適当ですがアダプタなどの定格や経験則から15Wを置いておきます。
Orin の方は Dense の数値を持ってきます。
INT8 TOPS | 電力 | |
KV260 | 3.2 | 15W |
Orin Nano | 20 | 15W |
Orin Nano Super | 33 | 25W |
ぐらいの性能差となっており、おそらく生の数値では TOPS/W でも TOPS/$ でも、Orin に分がありそうです。
もちろん、同じプロセスで作ればFPGAも十分同じぐらいのスコアにはなりそうな希望は見えますが。
ではどういうときにFPGAを使うのか
この点だけに着目すると、普通のAIをFPGAで実施するメリットは殆どないです。特にパラメータやデータをSDRAMに置いて、転送しながら計算する DPU のようなアーキテクチャだとかなりGPUと同じことしかできないので単独での性能勝負ではメリットが出なくなります。
そのため
- 例えば特殊な構造や疎行列や非対称性や、複数精度の混在など、GPUだと対応しきれないが、FPGAなら対応できるモデル構造を研究する
- 応答性などリアルタイム性の要求が極めて高いところで特殊な要件を満たすような環境向けに、レイテンシが短くなるようにモデル構造に工夫する
- 通信ルーターなどFPGAが得意な場所に組み込むためのAIモデルを研究する
- イメージセンサやアクチュエータ、特殊なデバイスなどと密結合して連携するAIモデルを研究する
- ASIC化を前提に、AIエンジン検討のプロトタイプとしてFPGAを使う
など、単なるAI計算のスループットが欲しいだけだけではない分野の探索が必要です。
まあ、そもそもFPGAはAI以外の用途に使った方が面白そうだとは思っていますが、ある程度AIも出来ないとまずかったり、AIを研究したい人が増えているのでこの辺りの整理は重要です。
それでもFPGAでAIをやる意味
AIの研究というと、既存AIを特定ドメインに適応させる系と、AIそのものを進化させる系が多い気はしていますが、前者は特定ドメイン知識の蓄積が必要だし、後者は膨大なデータと計算機資源が必要になりがちです。
そういったなかで、そうはいっても「AIそのものを進化させる系」がやりたいという人は一定するいますし、私の BinaryBrain なんかもそのクチですので、FPGA使えばそういう可能性が開ける可能性と言うのは提示できると面白いとは思うわけです。
コメント