それ、Jetsonじゃないといけませんか?
今あなたが検証したいのは、量子化手法ではなくアルゴリズムを用いた課題解決の可能性ではないでしょうか?
浮動小数型(Float)から整数型(Int)への変換、甘く見ていませんか?
Jetsonシリーズ、NanoやOrin Nano、AGX OrinはエッジでAIを使うとなると盲目的に選定されることが多いのではないかと思います。
確かに、Jetsonは高性能な組込みプラットフォームであり、高速な推論が可能です。ただし条件があり、Int8やInt4といった整数型のモデルを使用した場合に限ります。
しかーし、最先端のアルゴリズムの多くはFloat32で実装されており、Jetsonを高効率で使用したい場合、Float32からIntへの変換コストが発生します。量子化と呼ばれているやつです。苦労してFloat32でアルゴリズムを組んだとして、そこから精度を維持したままIntへ変換が可能とは限りません。
この変換コストを払ってでもJetsonを利用するべきでしょうか?
今あなたが検証したいのは、量子化手法ではなくアルゴリズムを用いた課題解決の可能性ではないでしょうか?
Jetsonシリーズの演算性能比較
デバイス | Int8性能 (TOPS) | FP32性能 (TFLOPS) | 価格帯(円) |
---|---|---|---|
Jetson Orin Nano 8GB | 40 | 約5.3 | 約95,000 |
Jetson AGX Orin 64GB | 275 | 約5.3 | 約372,000 |
JetsonはFloat32演算が弱いです。
Float32が主体の計算を行う場合、Jetsonにこだわらず、他のプラットフォームを選ぶ選択肢もあります。ここではMac mini(M4 Pro)やNVIDIA GPU搭載ノートパソコンを例に挙げ、比較してみましょう。
他のプラットフォームとの比較
デバイス | Int8性能 (TOPS) | FP32性能 (TFLOPS) | モニター | 価格帯(円) |
---|---|---|---|---|
Mac mini (M4 Pro, 64GB) | 38 | 約9.2 | 外部 | 308,800~ |
RTX 4060(8GB)搭載ノートPC | 233 | 約12 | 内蔵 | 約200,000~ |
RTX 4090(16GB)搭載ノートPC | 686 | 約33 | 内蔵 | 約400,000~ |
ということで
Jetsonシリーズは、特定のエッジAI用途において優れた選択肢となりますが、Intへのアルゴリズム変換コストが伴います。その上で、モニタがない点やLinux4Tegraという特殊OSが搭載されていることによる開発コストも伴います。
Mac miniは、Float32演算に優れ、HW/SW同一ベンダーによる動作の安定性が高かったり、開発環境も整っているため、代替案として検討する価値があります。またユニファイルドメモリを搭載しているため、Jetsonと同様にDRAMをVRAMとして動作させることが可能であり、大型のモデルを動作させることも可能です。外部モニタが必要な点とMac OSであるという点を許容できればコスパの良いFloat32実行器として選択肢にあがるでしょう。
また、NVIDIA GPU搭載ノートパソコンの場合には、Float32演算が高速な上にx86のエコシステムによる高い汎用性を持ち、開発環境として優れています。さらにモニタが付属するためデバッグ効率の点でも軍配があがります。VRAMが独立しているため大型モデルの実行が難しい点と電力効率が悪い点を許容できれば強力なFloat32実行器として選択肢にあがるでしょう。
盲目的にJetsonを選択するのではなく、具体的な要件やコスト、開発効率を総合的に評価し、最適なプラットフォームを選択していきましょう。
P.S.
もちろん、Jetsonシリーズの利点もあります。例えば、拡張ボードの豊富さです。産業用機器とAIを特殊な通信プロトコルなどを安定して接続したい、という場合にはJetsonがファーストチョイスでしょうか。
Discussion