15
Seeed Studio Grove AI HAT for Raspberry Pi: 人工的だがインテリジェントではない

これは RISC-V と Kendryte の KPU を試す低コストの方法です。ただし、マイクロコントローラでの使用には Arduino よりも高価であり、汎用 AI 作業には制限が多すぎます。

長所

  • +

    低コスト

  • +

    スタンドアロンモードとHATモードで動作

  • +

    驚くほど多くの機能

短所

  • -

    追加のLCD、カメラモジュールが必要

  • -

    ひどいドキュメント

  • -

    従来のAIワークロードを高速化できない

Tom's Hardwareを信頼できる理由 お客様に最適な製品とサービスをお選びいただけるよう、専門のレビュアーが何時間もかけて製品とサービスをテスト・比較しています。テスト方法について詳しくはこちらをご覧ください。

Raspberry Piは世代を重ねるごとに新たな機能を搭載してきました。最新リリースのRaspberry Pi 4も例外ではなく、低価格のシングルボードコンピュータに、真のギガビットイーサネット接続、高性能64ビットCPU、より強力なグラフィックプロセッサ、そして最大4GBのRAMを搭載するなど、アップグレードされています。

価格に見合った優れたスペックを備えながらも、Raspberry Piだけでは容易に実行できないものがあります。それは、ディープラーニングなどの人工知能(AI)ワークロードです。しかし、エッジAIへの関心が爆発的に高まっていることから、このギャップを埋めるRaspberry Pi用アドオンの市場が生まれています。Grove AI HATはまさにそのようなデバイスであり、開発者のSeeed Studioは、趣味のロボット工学から医療業界まで、あらゆる分野のAIプロジェクトに最適であると謳っています。

RISC-V入門

Grove AI HAT自体の詳細に入る前に、GoogleのCoral AI Accelerator(USB接続版で、USBポートを備えたあらゆるデバイスでディープラーニングのパフォーマンスを高速化するように設計された、同社製Tensor Processing Unit(TPU)チップ)などの競合製品と比べてGrove AI HATが際立つ点があります。それは、Grove AI HATに採用されている命令セットアーキテクチャ(ISA)です。コンピューティングの初期段階ではコプロセッサ、あるいはCopperと呼ばれていた多くのアクセラレータデバイスは、グラフィックスプロセッシングユニット(GPU)技術か独自のチップ設計をベースにしていますが、Grove AI HATはRISC-Vという異なるアーキテクチャを採用しています。

カリフォルニア大学バークレー校で開発されたRISC-V(「リスクファイブ」と発音し、RISCは「縮小命令セットコンピューティング」の略)は、それほど古いものではありません。最初のISAバージョンは2010年にリリースされました。しかし、大きな関心を集めているのには十分な理由があります。それは、言論の自由であり、誰でも仕様に基づいてプロセッサを構築し、修正の有無にかかわらず販売できるライセンス方式だからです。x86やArmといったプロプライエタリISA(それぞれ主流のコンピューティング市場とスマートフォン市場の過半数を占めています)のライセンス料は数百万ドルにも上り、さらにロイヤリティもかかるため、RISC-Vは魅力的な提案と言えるでしょう。

RISC-Vの初期採用者は、当然のことながら、学術界でした。しかし、一般公開されてから数年の間に、RISC-Vは業界から大きな支持を得てきました。Western Digitalは、独自のRISC-Vコアをパーミッシブライセンスでリリースし、ストレージ処理製品にRISC-Vを採用しています。Nvidiaは、グラフィックス処理製品のロジックチップに加え、高性能プロトタイプ研究用プロセッサRC18のIOコアとしても採用しています。Rambusは、一部のセキュリティ製品にRISC-Vを組み込み、ヒューマンマシンインターフェース(HMI)の専門企業であるSynapticsも、部品へのRISC-V移行を開始しています。

RISC-Vの支持者たちは、そのスケーラビリティが極めて優れていると主張しています。ISAの実装は、超低消費電力の組み込みマイクロコントローラから高性能コンピューティング(HPC)向けのメニーコアチップまで、世界中のチームによって開発されています。ISA自体と同様に、一部はパーミッシブライセンスでリリースされていますが、RISC-Vライセンスの条項によって認められた選択の自由により、プロプライエタリライセンスのままとなっているものもあります。

最先端情報を入手:Tom's Hardwareニュースレターを購読する

Tom's Hardware の最高のニュースと詳細なレビューをあなたの受信箱に直接お届けします。

Raspberry Pi 用の Thinking Cap ですか?

現代史を学ぶ理由:Grove AI HATはRISC-V ISAをベースにしており、金属製ヒートスプレッダーの下に隠されたKendryte K210システムオンチップを採用しています。このSoCには、ユーザーの好みに応じて400MHzまたは600MHzで動作する2つの64ビットRISC-Vプロセッサコアと、毎秒2,300億行列乗算演算(GMULps)を実現するカスタム「Kendryte Processing Unit」(KPU)コプロセッサが搭載されています。

Kendryte K210はその後、Sipeed社に引き継がれ、同社はK210をベースにMaix M1 AIモジュールと呼ばれるモジュールを開発しました。これによりK210 SoCの機能が拡張され、高速フーリエ変換アクセラレータと8つのマイクを同時に駆動できるオーディオコプロセッサへのアクセスなど、独自の機能が追加されました。

このモジュールは、この製品の開発に携わった3社目の企業であるSeeed StudioがGrove AI HAT本体に採用したものです。Seed Studioが提供しているのは、GPIOヘッダーを介してRaspberry Piに接続するモジュール用キャリアボードです。このボードには、外部ハードウェア用のGroveフォーマットコネクタが6つ搭載されています。これらのコネクタには、デジタル入出力(IO)コネクタ1つ、パルス幅変調(PWM)IOコネクタ1つ、I²Cバスアクセスコネクタ1つ、UARTバスアクセスコネクタ1つ、そしてアナログ/デジタル変換(ADC)コネクタ2つが含まれています。さらに、LCDディスプレイ用コネクタとカメラ用コネクタ、USB Type-Cコネクタ、そして内蔵マイク1つが搭載されています。

インストールと初回使用

画像

1

5

ハードウェア側の取り付けは簡​​単です。同梱のブースターヘッダーをGrove AI HATのパススルーヘッダーに差し込み、Raspberry PiのGPIOヘッダーに接続します。HATの設計にはフルサイズのRaspberry Piボードと同じ取り付け穴が用意されていますが、スタンドオフは付属していません。フルサイズのHATはUSBポート上に設置されるため、使用中もかなり安定しています。

ブースターヘッダーのピンは長く、未使用のGPIOピンにアクセスしてハードウェアを追加できるので便利です。しかし、ドキュメントではどのピンがAI HATで使用され、どのピンが他のハードウェアで使用できるのかが明確に示されていないのが残念です。

ただし、ドキュメントにはGrove AI HATを使用するために必要なソフトウェア、Arduino IDEのインストール手順が説明されています。Seeed Studioサイトの最初の2つのサンプルプロジェクトは、HATのGrove機能のみを使用し、RISC-Vベースのマイクロコントローラに変換するものです。また、これらのプロジェクトでは、HATの意外な側面も明らかになっています。ほとんどのRaspberry Piアドオンボードとは異なり、HATはスタンドアロンのマイクロコントローラボードとして完全に機能します。

Grove AI HATをArduino IDEで使用するのは、他の非標準Arduino互換ボードを使うのと同じくらい簡単です。IDEの設定画面でカスタムボード定義を読み込み、ツールチェーン全体をダウンロードするだけです。Arduino IDEでGrove AI HAT用に記述したプログラムは、他のArduinoプログラムと概ね変わりなく、アップロード方法も同じです。つまり、ボードへの電源供給と双方向データ通信を可能にするUSB​​ポート経由でアップロードします。

しかし、今のところ、AI HAT には AI がほとんど組み込まれていません。そこで、Seeed の 3 番目で最後のサンプル プロジェクトが登場します。

AIの欠点

本稿執筆時点でGrove AI HAT向けの唯一のAIに特化したプロジェクトは、期待の持てるスタートを切っています。このプロジェクトでは、ボードをスタンドアロンの開発ボードではなく、実際のRaspberry Piのアドオンとして使用し、ビデオストリーム内の顔を検出して集計する方法が詳しく説明されています。かなり基本的な内容ですが、Sipeed Maix M1 AIモジュールはそれほど高性能ではありません。ボードには6MBのスタティックRAMと、KPUコプロセッサ専用の2MBしか搭載されていません。

ベアボードを購入した人は、意外な驚きに直面することになるだろう。このプロジェクトでは、カスタムカメラモジュールと小型LCDパネルの使用が必須となっている。これらはそれぞれ7.60ドルと6.90ドルのオプションで、Grove AI HAT本体のポートに接続する必要がある。これらがなければ、ビルドを完了することはできない。これが次の問題につながる。

Grove AI HATはHAT(Hardware Attached on Topの略で、Raspberry Pi Foundationが策定した規格)として販売されているにもかかわらず、ボードの形状とサイズに加えて、ボードがRaspberry Piに機能を伝達するためのEEPROMの存在を義務付けています。しかし、Grove AI HATはRaspberry Pi本体とは大きく切り離されています。顔認識プロジェクトに専用のカメラが必要な理由は、HATにはRaspberry PiのCSIコネクタに接続されたRaspberry Piカメラモジュールからのビデオフィードにアクセスする手段がないためです。一方、Grove AI HATのカメラコネクタからRaspberry Piのディスプレイコネクタにビデオをフィードする手段がないため、LCDパネルが必要になります。

断絶はハードウェアだけにとどまりません。執筆時点では、SipeedがMaix M1 AIモジュールの開発に使用したK210 SoC(Seeed StudioがGrove AI HATの開発に使用した)を開発したKendryteは、Armプロセッサ用のツールチェーンをリリースしていませんでした。その結果、Raspberry PiにArduino IDEをインストールすることはできますが、K210用のプログラムをコンパイルしたり、Grove AI HATにアップロードしたりすることができません。これは顔認識プロジェクトの手順書にも明記されており、HATのプログラミングはRaspberry Piに接続する前に、従来のx86デスクトップまたはラップトップで行う必要があります。

実際、AI機能はKendryteのGitHubリポジトリから直接提供されています。Seeed Studioのドキュメントでは、その動作原理については一切説明されておらず、あらかじめ用意された顔認識プロジェクトをコンパイルしてGrove AI HATにアップロードする方法のみに焦点が当てられています。別の説明ページでは、Raspberry Piで動作するカスタムカウンタープログラムとプロジェクトの修正版を使用する方法が詳しく説明されていますが、このプログラムはコンパイル済みのバイナリとして提供されるため、Grove AI HAT用の独自プログラムの記述方法を学ぶ手段としては全く役に立ちません。

このデモアプリケーションについて言えることは、機能的であるということだけです。確かに、カメラに映し出された顔を認識し、LCDのライブビデオフィードにその顔を表示し、Raspberry Piに別の顔が検出されたことを通知してカウンターを増加します。ただし、それだけの機能です。HATからRaspberry Piに静止画や動画を転送することはできません。また、HATにはストレージがなく、RAMは合計8MBしかないため、プロジェクトを拡張して訪問者の動画を録画したり、認識データベースと顔を照合したりするといった実用的な機能を追加することはできません。つまり、これは顔認識プログラムというよりは、顔カウンターに近いと言えるでしょう。

結論

Grove AI HATは紛れもなく賢い製品です。しかも手頃な価格です。しかし残念ながら、その手頃な価格にはあまりにも高い代償が伴います。K210プロセッサをRaspberry Piから切り離し、両デバイスが実行できる少量の通信を低速GPIOヘッダーに完全に依存させることで、Seeed StudioはAIワークロード向けコプロセッサとして販売されているものを、強化版のArduino互換ボードに過ぎないものに仕立て上げてしまいました。

KendryteのArmツールチェーンがなければ、Raspberry PiからGrove AI HATをプログラムすることはできません。Seeedのサイトで公開されている唯一のAIに特化したプロジェクトは、たとえ別のコンピューターからHATをプログラムできたとしても、その限界を如実に示しています。Raspberry Piはカウンターをインクリメントするだけで、Grove AI HATで実行されているビデオフィードやAIワークロードには無関心です。

また、Raspberry Pi から K210 に直接アクセスする方法はありません。つまり、Grove AI HAT を真のアクセラレータやコプロセッサとして使用したり、TensorFlow や Caffee などの一般的なワークロードを加速するために使用したりすることはできません。Seeed のエンジニアは可能性を検討中であると述べていますが、それは Kendryte が Arm 互換のツールチェーンを開発することを決定するかどうかにかかっており、それでも Raspberry Pi の GPIO ヘッダーから利用できる遅いピーク スループットによって厳しく制限されることになります。

スタンドアロン開発ボードとしては、Grove AI HATの方が興味深い。Raspberry PiにAIアクセラレーションをもたらすという謳い文句とは無縁のGrove AI HATは、非常に興味深いハードウェアを搭載した低価格ボード(ただし、専用カメラとLCDパネルのアドオンも忘れてはならない)である。ただし、K210ベースのボードは他になく、Seeed Studio自身から販売されているものでさえ、最も安価なものではない。また、外部との通信用のオンボードネットワークは搭載されていない。

しかし、本当に残念なのはドキュメントです。ユーザーが実際に独自のAIプログラムを作成する手順を解説する部分は一切なく、単に他人のプログラムをダウンロードして実行するだけです。また、顔認識プロジェクトのRaspberry Pi側はコンパイル済みのバイナリとして提供されているため、リバースエンジニアリングをしない限り、コードを見て自分で理解することすらできません。

Raspberry Pi で従来のディープラーニング ワークロードを加速したいと考えている人にとって、Grove AI HAT は役に立ちません。代わりに、明らかにかなり高価な Google の Coral USB Accelerator を検討するか、Raspberry Pi プラットフォームを放棄して、Nvidia の AI に重点を置いた Jetson Nano に移行してください。

画像クレジット: ガレス・ハーフアクレー


詳細: Raspberry Pi に関するすべてのコンテンツ


詳細: Raspberry Pi プロジェクトとガイド

  • ビットユーザー

    これをレビューしていただきありがとうございます。

    HAT にはストレージがなく、合計 8MB の RAM しかないため、プロジェクトを拡張して、訪問者のクリップを記録したり、顔を認識データベースと照合したりするなど、便利な操作を行うことはできません。

    RAMの容量こそが決定的な要因です。興味深いAIモデルはどれも、はるかに大規模になります。そのため、たとえソフトウェアの問題が解決し、Raspberry PiとHAT間のUSB接続で十分な帯域幅の通信が可能になったとしても、最終的にはRAMの容量によって制限されてしまうでしょう。

    ハードウェアの使い方を十分に理解しないまま設計したのではないかと思う。そして、あまり役に立たないことに気づいた途端、初期費用を回収しようとして、ただ放り出してしまった。

    返事