AIエッジデバイスKria™に、AI推論エンジンZebra™実装しました!
こんにちは、小野です。
1月24日~26日に開催されていたオートモーティブワールド東京2024
その中でも、クルマの軽量化展では、車に使用されるバルブやギア、精密部品などを作っているメーカーが多数出展されており、普段は目にすることができない部品をたくさん見ることができました。当社は車の部品設計や製造はやっていないから、材質や加工方法に各社のこだわりを感じることができました。大型バイクや高級車に実は使われているという部品も多くあり、群馬県の部品メーカーさんたちの技術力の高さがうかがえました。
今回の展示会では「OKIアイディエスのTech Blog、いつも見てます!」というお客さんがいらっしゃったことが個人的に1番嬉しかったです。会社の技術を知ってもらうべくもっと頑張ろうと思いました!
そんな中、私たちOKIアイディエスも群馬県ブースの一角に色々展示していました!
私たちのメインテーマはずばり、AIによる車の軽量化です!
でもAIは部品でもないのに、どう軽量化につながるの?と疑問に思われる方も少なくありませんでした。
最近の車にもAIを搭載していますけど、そのAIのモデルを軽量化すると、なにかいいことでもあるんですか?
AIモデルの軽量化を行うとAIを動かすのに必要なメモリーなどのリソースを少なくできるんです。すると、使用するデバイスの小型化につながります。
そして、物理的に小さくなると、量産コストの削減に効果的です。「量産するときにコストが予定より高くなってしまった…。」なんてことにならないよう、あらかじめデバイスの選定をしておくことで、トータルコストや開発期間の短縮にもなるはずです。
他にもAIモデルの軽量化によるメリットはあります。計算処理そのものが少なくなるのでAI処理の高速化やレイテンシの削減につながります。また消費電力の削減にもつながります!
と話すと多くの来場者の方々がAIモデルの軽量化が、車の軽量化につながると納得してくださりました。
お客さん役から伊田に戻ります。
FPGAに限らず、CPUやGPUにもAIモデルを実装して効率よく動かすことができるようにするのがAIモデルの軽量化です。
AIモデルの軽量化といえばOKIアイディエスでは「PCAS™」ですよね。
PCAS×Zebra
今回はそんなPCASとAI推論のアクセラレータであるZebraをAMD社のFPGAカードのAlveo™ V70に実装して、物体検知のデモを作成しました。

軽めにおさらいすると、Zebra™というのはAMD社が展開する、FPGA向けのAIアクセラレータです。CPUとかGPU向けのAIライブラリを扱えます
そういえば、どんなAIライブラリを使えるんですか?
Model ZooのOpenPoseやYOLOが使えます。カスタマイズしたモデルも使えますよ。
ちなみにPCASとZebra™を使った物体検知デモを以前にも作りましたが、その時はAlveo™ U50というFPGAカードに実装していました。AMD社が少し前にAlveo V70を販売開始したので、デバイスが変わったという点が変更点です。
|
1 C P U |
2 Zebra |
3 PCASxZebra |
4 PCASxZebra |
PCAS |
未使用 |
未使用 |
低圧縮 |
高圧縮 |
Zebra |
未使用 |
使用 |
使用 |
使用 |
フレームレート(fps) |
1 |
14~19 |
19~24 |
25~30 |
認識精度影響 |
ー |
なし |
若干あり |
あり |
モデルを軽量化するとAlveo V70側のAI処理の効率が良くなり、圧縮率をあげるほどさらに再生フレームレートが向上しました。
ということは、圧縮率を上げるとPCASによるモデルの軽量化の効果がより出ているということじゃないですか!
その通りです!どこまで精密に細かく認識や分析できるかと軽量化して安定かつ効率的にAIを稼働させるかバランスを考えて、圧縮率を設定してあげることが大事です。
Kria×Zebra
そして、今回はZebraをKR260に実装してみました。名付けて、”Kria×Zebra”です!

安直なネーミングでもありますね。物体検知のAI処理をさせています。でも頑張ったかいがありました。Kria開発においてAI推論プラットフォームであるZebraを実装したのは、世界初だそうです。世界初ですよ!
世界初!OKIアイディエスから世界初の技術が生まれたって考えればとてもすごいことですよ!そういえば、少し前から伊田さんの机のあたりから、「うーん……」って声が良く聞こえていましたね。もしかして…。
そうです、これを開発していました。苦労したんですよ…。
何が大変だったっていうと、Alveoに比べて、Kriaのリソースが小さいので、Zebraがなかなか実装できなかったんです。
リソースに大きな差があったんですね。どのくらい差があったんですか?
今回はZebraをいかにシュリンクして実装するかがポイントでした。Alveo V70に実装させた時は6コアで実装したのに対して、Kriaには1コアで実装しました。
コアっていうのは実際に計算処理を行う部分のことです。
6コアだと6個の処理を同時にやってくれます。
1コアだと1つの処理を行ってくれるというイメージですね。
なるほど。つまりコアが複数個あればいろんな処理をこなせるけど、その分リソースを使うんですね。
ZebraをFPGA上に実装するうえで、他の作業も行いたいってなると、そのバランスのとり方が難しかったです。AMDさんにも多大なるご協力をいただきまして1コアで動くZebraをKriaのFPGA上に実装することができました。
今回はギリギリまで何度も何度もやりとりさせていただいていましたよね・・・。
最終的にできあがったのは、まさに展示会前日でした!OKIアイディエスがAMDプレミアパートナーでよかったです。
実装したAIアルゴリズムにも何か工夫したんですか?
Alveo V70の時はYOLO V4を使っていましたが、オートモーティブワールドで展示していた時はTiny YOLOを使いました。YOLO V2というYOLOの派生形みたいなもので、Tinyという名前の通り縮小したAIモデルになっています。
実は、あの展示会の後も調整を重ねて、YOLO V4も実装できました。YOLO V4はそのままだとAIモデルが大きいので、あらかじめPCASでモデルの軽量化を行い、YOLO V4を実装しました。
ここにもPCAS!ところでZebraとKriaをかけ合わせるとどんないいことがあるんですか?
そうですね、まずFPGAにAIを搭載するのはFPGA技術者でないと通常はできません。
CPUとかGPUとかとは違ってハードウェア言語を使って設計しますからね。
でも今回のようにZebraをKriaに実装させてしてしまえば、ソフトウェア設計者でもAIの開発が可能になるんです。FPGA開発に抵抗があったりした方にとってはKriaを使った開発のハードルが低くなるのではないでしょうか?
Zebraはソフトウェア開発者でも扱えるというメリットがありますよね。FPGA開発者の手を借りず、AI開発やモデルのカスタマイズがFPGAの知識がなくてもできるなら色々な方に色々な場面で活用してもらえますよね。
それでもkriaやFPGA開発で難しい点や課題などは出てくると思います。そうなったら私たちOKIアイディエスの開発者の出番です。
伊田さんたちはFPGA開発やKria開発をずっとやってきてますからね!なんといったって世界初を作った伊田さんですから、頼りにしていますよ!
ありがとうございます!私も小野さんを頼りにしていますよ。いっぱい開発案件が来たらどしどし手伝ってくれるんですよね!
あれ、開発のハードルが下がったはずなのにハードルが上がった気が…。
お知らせ
ボス!来月もwebセミナーを開催するらしいじゃないですか!
YES! 今年度最後のWebセミナーになる予定です。
終わり良ければ総て良し、気合入れていきましょう!
高位合成・高位検証です!今年度、このテーマは注力してきました。今回で第4弾になります。
まさに、今年度を締めくくるにふさわしいテーマです。
以前にも実施しましたが、興味を持って下さる方が非常に多かったんですよね。
はい。FPGAのAIやIoT利用拡大により、処理が複雑化・多様化しています。従来のIPでは顧客要求を満たせないケースが出てきているんですよね。複雑化・多様化したFPGA開発を行うために、高位合成での開発が注目されてきているのではないでしょうか。
しかも、今回は実際に高位合成・高位検証の統合環境を使って開発を行っている開発メンバーに登壇してもらうんですよね!
これは、いつも以上に期待しちゃいますね!
ということで、残念ながら私は登壇しません・・・申し込み減らないですかね・・・意外と私のファン多いですよ?
大丈夫です、全然心配ないです!
そして、気になる日程は…
3月14日(木) 14時00分~15時00分です。
詳しくはお申し込みページをご覧ください。
皆様のお申し込み 、お待ちしております!
次回のブログ更新は4月を予定しています。
お楽しみに!
- ※記載されている会社名、製品名は、各社の商標または登録商標です。
- ※ここに記載されている仕様、デザインなどは予告なしに変更する場合があります。