AI技術が発展し、画像認識や自動運転などのAIの社会実装が急速に進む今、便利で安全な生活に向けた取り組みが進んでいる。今後データをさらに高度に利活用していくためには、クラウド処理だけでなく、リアルタイム性が高いエッジAI技術の発展が必要不可欠だ。そのためには、ソフトウェアを中心としたAI技術開発に加え、LSI・FPGAをはじめとするハードウェアの開発や、それらを担う人材の発掘・育成が急務となっている。 そうしたニーズに応えるべく開催されているのが経済産業省・NEDO主催の「AIエッジコンテスト」だ。これまでの開催回数は計6回。難度の高いコンテストながら、毎回専門人材から知見が寄せられ、エッジAI技術を手がける人材を発掘するハブとなりつつある。 2022年8月17日~2023年1月29日に開催された第6回では、RISC-Vを使用した自動車走行時の画像・点群データによる3D物体検出をテーマに、完成度・精度・動作速度の総合点を競うコンテストが実施された。第5回に引き続き、RISC-Vの使用が必須条件であるため、チャレンジングなコンテストとなっていた。 そんな本コンテストで、第3位に輝いたのがTeam_T-Tだ。自動運転技術の開発を行うWoven by Toyotaで活躍する5人が、どのような経緯で本コンテストへの参加を決めたのか。取り組みにおける工夫点や今後の展望まで、率直に話を伺った。
RISC-Vへの興味と、ソフトウェアからハードウェアまで手掛けられることに惹かれて参加を決意。
高橋:このコンテストに参加しようと思ったのは、RISC-VやFPGAの知識を身につける必要があると以前からひしひしと感じていたためです。その背景には、ミッションクリティカルなシステムを開発するため、例えば1bitの誤差であっても、誤作動が起きることが許されないという弊社の開発姿勢が関係しています。そうした正確なシステムを開発するには、ハードウェアエンジニアだけでなくソフトウェアエンジニアもエッジデバイスを理解しなければいけないし、使いこなすためのスキルも求められる。そんなことを考えたタイミングでこのコンテストが開催されることを知り、これならエッジデバイスの知識が獲得できると考え、すぐに飛びつきました。 徳田:そこで、高橋さんが会社のチャットツールでメンバーを募集してくれたんですよね。私もRISC-Vに興味があったので、「ぜひ参加したい」とすぐ返信しました。 青野:私も同じく、RISC-Vについて学びたいという想いで手を挙げました。ニュースや論文でよく話題になっていたので、これを機に少しでもRISC-Vを扱えるようになればいいなと思いました。 陳:私の場合は、正直「RISC-Vって何?」という状態だったのですが、全く知らなかったからこそ高橋さんからのチャットを見て好奇心が湧きました。未知の分野について知見を広げる良いきっかけになるかもしれない。そう思い手を挙げました。 山口:私は「面白そうなコンテストですね」と返信したら、なぜか参加することになっていました(笑)。というのは冗談で、ソフトウェアからハードウェアまで丸ごと扱うコンテストなんて珍しいなと思い、興味を持ったんです。かなりハードルが高いだろうけど、チームで挑めばなんとかなるかもしれない。そんな期待を胸に参加しました。
完成したのは締切1時間前。最後まで妥協せず、地道に改善し続けていった。
青野:取り組むにあたり、最初に行ったのはチームを2つに分けること。山口さんと陳さんはソフトウェア周りを手がけるチーム、私と高橋さん、徳田さんはハードウェア周りを手がけるチームというカタチで分担することにしました。 山口:ソフトウェアのチームでは、SIGNATEさんが用意してくれていたチュートリアルを試すところから始めました。点群データを扱った経験があまりなかったため、どのように学習と評価が行われているのかなどの仕組みを理解する必要があったんです。チュートリアルで確認しながら時間をかけて仕組みを理解した上で、モデルの構築に移りました。進めていく上で特にこだわった点は、オートラベリングをしたこと。用意されていたすべてのデータにアノテーションが付けられていたわけではなかったので、オートラベリングで性能の高い認識モデルを作り、その答えを学習モデルに使用しました。口で説明するとすごく簡単なことのように聞こえるかもしれませんが、これが本当に大変でしたね。なかなか精度が上がらず、データを見ながら何度も微調整を繰り返していきました。 陳:そうですね。どのデータを扱うべきか、データから何を読み取ることができるか。どんな工夫をするべきか。それら一つひとつについて山口さんと相談しつつ、webに公開されている論文を読み漁り、考えられる方法すべてを試しながら精度を上げていきました。大変なことも多かったですが、個人的には、山口さんとたくさん議論できたのが楽しかったです。 高橋:ハードウェアのチームは、KV260の処理速度を上げる、RISC-Vのツールチェーン構築・管理、モデルの変換を3人で分担して進めていきました。 徳田:ソフトウェアチームがかなり早くモデルを構築してくれたので、ハードウェアチームは余裕を持って進められるかなと思っていたんですが、見当違いでしたね(笑)。各ツールがつながっている前提で、できると思っていたことがうまくいかない、ソースコードが誤っていると思ったら自分の扱いが間違っているなどなど。日々問題にぶちあたっていました。 高橋:3人で地雷原を走っているような感覚でしたよね。誰かが頭を抱えていると思ったら、今度は他の人が「もう無理かも」と呟いていたり。次は自分の番かもしれないとヒヤヒヤしながら手を動かしていました。 青野:それでも3人でこまめに失敗や学びを共有し合い、なんとかカタチにすることができましたよね。まともに動くようになったのが、たしか提出期限の1時間ほど前だったと思うので、本当にギリギリでした。 徳田 :「ここは自分が責任を持って解決しなければ」という使命感を全員が持って取り組んでいたからこそ、最後まで諦めずに向き合うことができたのかもしれませんね。
各々の専門性を活かしたこと、またコンテスト参加を応援してくれる環境が結果につながった。
高橋:今回私たちが入賞できたのは、幅広い分野の知見を必要とするコンテストであるということと、多様な領域の知見を持つメンバーが集まったチームだったからだと思います。 徳田:同感です。学習モデルの構築に造詣がある山口さんと陳さんがタッグを組んでくれたからこそ、私たちは安心してハードウェアと向き合うことができましたし、高橋さんと青野さんがこれまでの知見を活かして取り組んでくれたからこそ、なんとか実装しきることができました。 青野:専門領域の幅広さもそうですが、システム開発の上流から下流まで、さまざまなレイヤーの専門家が揃っていたことも結果につながっていると思います。 陳:あと、5人のチームであるにも関わらず情報の伝達ミスや認識の齟齬がなかったのは、高橋さんがリーダーとしてチームマネジメント力やプロジェクトマネジメント力を発揮してくれたからだと思います。定期的に全員のタスク管理をしてくれたり、全体の進捗を共有してくれたからこそ、誰の作業も遅れることなくスムーズに進めることができました。 高橋:ありがとう(笑)。今回のプロジェクトが特別というわけではなく、普段から私たちがスクラムという開発手法を採用していたことが功を奏したのかもしれません。 また、こうした各々のスキルだけでなく、コンテストへの参加やスキル向上を会社がバックアップしてくれているということも結果に寄与したと思います。データの共有やGPUなども、会社のシステムを使用させてもらえたため、開発環境面で苦労せずに取り組むことができましたから。逆に、もし会社のシステムを使わせてもらえなかったらと思うとゾッとしますね。 徳田:たしかに。システムの提供の他にも、業務の20%はスキル向上やコンテスト参加に充てていいという制度があるため、業務に支障をきたすことなく安心してコンテストに参加することができましたよね。それに、コンテストに参加するとなると書類を提出したり許可を得る必要があったりするのですが、そこを私たちの上司が巻き取ってくれたのもありがたかったです。コンテスト参加を周りが応援してくれる環境があることに感謝したいですね。
普段の業務にも今回の学びを活かし、自分のスキルを伸ばしていきたい。
高橋:入賞できたとはいえ、やりきれなかった部分もたくさんあります。特に残念だったのが、RISC-Vを活用しきれなかったこと。コンバイラを使って実装するところまではできたのですが、不具合が生じてKV260で動かすことができなかったんです。苦渋の末、後処理の一部分だけをRISC-Vで行うことにしたのですが、もっと知見があれば……と、とても悔しかったです。 徳田:同じく、RISC-Vを活かしきれなかったのが心残りです。RISC-Vを使うことができても、ならではのポイントを活用できなければ他のエッジデバイスと何も変わらない。ですので今後の目標としては、RISC-Vの特徴を活かして実装できるようになりたいです。 青野:ただ、RISC-V向けのバイナリの作り方や、FPGAを扱う上で注意すべきことなどを知ることができたので、これまでよりRISC-VやFPGAの知見が格段に増えました。高橋さんが冒頭で言っていたように、この知見は今後の業務で必ず活きてくると思います。 山口:私の場合は、ソフトウェアにつきっきりでハードウェアを触ることができなかったので、もしまた同じようなコンテストに参加することがあれば、モデルの最適化やCodesignなどにも挑戦してみたいです。 陳:反省すべき点もありますが、大きな学びを得られたのは事実です。点群処理の知識を身につけることができましたし、視野が広がった気がします。それに、コンテストへの参加のハードルも下がりました。SIGNATEさんから他のコンテストの情報なども送られてきたので、気になるテーマのコンテストがあれば積極的に参加してみようと思います。
コンテスト参加を検討している方へのメッセージ
青野:難しそうだからとコンテストへの参加を諦めるのではなく、その難しさを乗り越えるためにどんなチームを作って挑むべきかという考えを持つことで、参加のハードルがかなり下がると思います。 山口:こうしたソフトウェアからハードウェアまですべて行うコンテストで、一人きりで完璧なものを作り上げるのはとても難しいと思います。だからこそ、「完璧」ではなく「一通り完成させること」を目標にすることで、あまり気を張らずに取り組むことができるのではないでしょうか。 徳田:山口さんが言ったとおり、すべてを完璧にやろうとする必要はありません。自分が興味ある部分を掘り下げたり、どこか一部分だけを徹底的にこだわったりすることで、新たな知識や技術を得られるのではないかと思います。 陳:SIGNATEさんのコンテストは、コンテスト情報が日本語だけでなく英語でもまとめられているのがとてもありがたかったですね。ですので、日本語に慣れていない方もぜひ挑戦してみてほしいです。 高橋:コンテストの一番の魅力は、普段の業務では味わえない刺激を得られることだと思います。例えるなら、皆で部活をしているような感覚に近いですね。このコンテストに参加していた半年間はものすごく楽しかったので、刺激がほしい方にはピッタリだと思います。 <第6回AIエッジコンテスト「RISC-Vを使用した自動車走行時の画像・点群データによる3D物体検出」コンペティションの入賞者レポートはこちら>