見出し画像

これはなかなかいいんでないの?NVIDIAチップの5倍高速で価格1/10の中国AIチップ搭載コンピュータ

Maker Faire Tokyo 2024に行ってきた。
深圳在住の高須さんが僕を見るなり「これ見てこれ」と連れていかれ、新製品のRDK X3を紹介された。

RDK X3とは何かというと、要は最新のAIチップを搭載したシングルボードマイコン、つまりRaspberry Piのようなものである。

このチップの中核にあるSunrise3(通称X3)チップは4つのCortex-A53ARMの高性能コアと、二つデュアル構成BernoulliベルヌーイBPUだという。

このベルヌーイというNPUは初耳だが、とにかく速くてすごいらしい。5TOPS、つまり一秒間に5兆回の計算ができるらしい。ただ、「何の計算」を「5兆回」なのかがイマイチ明確になっておらず、ちょっとモヤモヤする。

ちなみに最近Microsoftとその仲間たちが鳴物入りでリリースしたやたら高価なCopilot+PCのARMチップであるSnapdragon Elite Xは、45-75TOPSというので、ベルヌーイはその1/10くらいの性能だということになる。

ちなみにJetson Nanoは20TOPSであり、これだと「ええっ!?じゃあX3は結局そんなに速く無いんじゃないの?」と思われがちだ。

ところが、物体認識アルゴリズムであるYOLOを実行すると、Jetson Nanoでは実際には6FPSくらいしか出ない。X3チップは26FPSが出せる。

スペック上の差異ではなく実際的な性能が桁違いに高いのである。

また、Jetson Nanoはフットプリントは小さいが発熱がすごいので巨大なヒートシンクが必要だが、X3チップはヒートシンクなしでも動くし、ヒートシンクを兼ねたケースをつけても非常にコンパクトなままだ。これは大きなアドバンテージと言えるだろう。

「TOPS」という指標が危険なのは、それが整数計算の話なのか、浮動小数点計算の話なのか、何ビットの話なのか書いてないところだ。ベルヌーイの別名がBPUなので、多分「Byte Processing Unit」の略だとすれば8ビット整数の計算なのだと思うが、Jetson Nanoの20TOPSは流石に浮動小数点数なのではないかと思われる。要は、量子化技術が進歩した結果、浮動小数点で計算するJetson Nanoより整数計算に割り切ったX3の方が効率が良くなった、ということであればこのスペック差と実際性能の差の違いが納得できる。そもそも浮動少数点演算と整数演算では扱うべき情報量が何倍も違う。仮にベルヌーイが8ビット整数、Jetson Nanoが32ビット浮動小数点を使うとしたら、4倍もの情報量が行ったり来たりすることになる。計算も浮動小数点演算の方が遥かに複雑になってしまう。そりゃ値段も上がれば発熱もするだろう。

実際のところ、エッジ分野のAIチップは中国が常に頭二つくらいリードしているという現実がある。一世を風靡したK210チップを筆頭に、安価かつ軽量で高性能なチップが次々と登場している。

X3チップのRAMは2Gまたは4Gで、推論はおそらく整数化(量子化)されたものだろうが、画像認識系は一通りある。簡単なロボットのプログラムをするには十分だろう。産業用にはファインチューニングしないと使えないケースがあると思うが。

Pythonから手軽に使えるサンプルが多いのが嬉しいのと、サンプルコードそのものがものすごくシンプルなのが地味に嬉しい。やりたいことをすぐ形にできる感じだ。

YOLOのカスタマイズ用のコードもリリースされている。
https://github.com/D-Robotics/hobot_yolo_world/tree/develop/tool

何より嬉しいのは価格が安いことで、今MFT会場で買えばたった1万円で買える。Jetson Nanoが3万円以上することを考えたら破格の安さだ。

物体検出だけでもたくさんのモデルが事前に移植されている。

Node REDでも開発できるようだ。

惜しいのは公式サイトが異常に重たいこと。
回線の問題なのかサーバーの問題なのかアクセスが殺到してるのか定かではないが、とにかくgithubのD-Roboticsのレポジトリを漁るか、マシンを買ってディスクイメージを焼いて/appの下にあるサンプルコードを直接読む方が遥かに早くて実用的である。

高須さん本人の解説トークと僕のハンズオン動画を"緊急で"公開したのでご参考までに。今日までならMFTで1万円で買えます。