大阪工業大学

Notification

The contents of this website are translated by "Shutto Translation."
Please note that due to the use of automated translation, there may be cases where the translation is not correct.
Additionally, translations may not be provided for some images and PDFs.

We appreciate your understanding.

研究室VOICE 端末でサクサク賢く動く「エッジAI」を開発する

情報科学部

Profile

情報科学部情報知能学科

中西 知嘉子教授

システムアーキテクチャ研究室

●中西先生が研究している「エッジAI」とは、どのようなものですか?

  一般にAIというと、インターネット上の大規模なサーバーで処理を行う「クラウドAI」を指します。高い性能を発揮できる一方で、大量のデータ通信が必要になることや、データ漏えいなどのセキュリティーリスクが課題となります。
 これに対して「エッジAI」は、端末そのものにAIを組み込み、その場でデータ処理を行う技術です。エッジとは「ネットワークの端」を意味します。例えば、スマートフォンの顔認証や監視カメラ、医療現場での画像診断支援、工場での異常検知など、私たちの身近なところで活用が広がっています。
 エッジAIは、クラウドにデータを送らずに処理できるため、リアルタイムに動作しやすく、通信コストを抑えられるほか、個人情報を外部に送らないという安心感もあります。一方で、端末はクラウドサーバーに比べて計算能力やメモリーが限られているため、高度で大規模な処理を行うと精度や速度が低下しやすいという課題があります(図1)。
 私たちが挑戦しているのは、クラウドでしか動かないと思われている高度なAIを、小さな装置の中で動かすことです。単に軽いAIを作るのではなく、本格的なAIをそのままエッジへ持ち込む。限られた計算資源という制約を乗り越え、小さなハードウエアに「賢い頭脳」を宿らせる——それが私たちの目指すエッジAIです。

●どのように開発するのですか?

 小型コンピューターに画像認識AIを組み込んだ例で説明します。
 私たちは、CPU(中央演算処理装置)とFPGA(回路を自由に書き換えられる半導体)を一つのチップに統合した「SoC FPGA(エスオーシー・エフピージーエー)」を使用しました。手のひらサイズの小型ボードで、消費電力は動作時でも最大約6ワット、通常動作では約5ワットと非常に小さく、省電力で動作します。
 CPUは複雑な制御や正確な計算が得意ですが、大量のデータを繰り返し処理する計算は効率が落ちます。一方、FPGAは用途に合わせて回路そのものを設計できるため、決まった計算を高速かつ並列に処理できます。この二つを組み合わせることで、制御や柔軟な処理はCPU、計算量の多い処理はFPGAに担当させるといった、役割分担が可能になります。
 今回用いたAIは、画像中の物体を検出できる「YOLO(ヨロ)」シリーズの一つ「YOLO-s」です。YOLO-sはエッジ専用に設計されたモデルではありませんが、汎用的な物体検出モデルの中では比較的軽量な構成であり、高い精度と計算量のバランスを持つモデルです。私たちは、このような本来はクラウド環境での利用を想定したAIを、小型のエッジデバイス上で動かすことに挑戦しました。
 AIのディープラーニングモデルは、多数の層を積み重ねた構造になっています。YOLO-sの場合、全体で200層以上の処理が連なっています。解析の結果、その中でも画像の特徴を抽出する「Conv2D(コンブ・ツー・ディー)層」が計算量の約97.85%を占めていることが分かりました(図2)
 そこで私たちは、Conv2D層の計算を高速に実行する専用回路をFPGA上に実装しました。YOLO-sではConv2D層が何度も繰り返し現れるため、この回路を処理ごとに切り替えながら繰り返し使用する構成としています。つまり、1つの回路を使い回すことで、限られた回路資源でも大規模なモデルを実行できるようにしています。
 一方、今回使用したSoC FPGAは小型・省電力である反面、FPGA内部の回路資源には限りがあります。そのため、計算量の大部分を占めるConv2D層をFPGAで処理し、それ以外の層はCPUで処理するという役割分担を行い、ハードウエアを効率よく活用しました。
 この方法により、すべての処理をCPUで実行した場合と比較して、約31倍の高速化を達成しました(図3)

●この研究は今も継続しているのですか?

 現在、更なる高速化を目指して「量子化」の開発も進めています。量子化とは、これまで高い精度(浮動小数点)で表現していた数値を、より少ないビット数で表現できる整数値に置き換えることで、計算を軽くする技術です。扱う数値の情報量を減らすことで、演算回数やメモリー使用量を削減でき、高速化や省電力化が期待できます。
 この研究では、計算量の大部分を占めるConv2D層を量子化の対象としています。一方で、精度に影響を与えやすい一部の層については、CPU上で従来通り浮動小数点演算を用いる構成としています。これにより、性能向上と精度維持の両立を目指しています。
 現在、量子化版の実装は開発段階にあり、評価を進めているところです。限られた回路資源の中で可能な限り整数化を進めつつ、精度を保つ設計が本研究の大きな課題となっています。

●高速化により、精度は落ちなかったのですか?

  量子化前では、元のAIモデルと同等の精度を維持できていることを確認しています。 
 現在開発中の量子化版についても、5,000枚の画像を用いて精度評価を行った結果、大幅な性能劣化には至っていませんでした。物体検出AIの性能を評価する代表的な指標「mAP(mean Average Precision)」の「mAP@0.5」によると、量子化前の値は0.517、量子化後は0.483でした。低下したのは3.4ポイントと、精度を保ちながら高速化を図れる可能性が示されました。

●今後はどのように研究を進めるのですか?

  今後は、YOLO-sだけでなく、さまざまなAIモデルを本システム上で実行できるように拡張していく予定です。物体検出に限らず、姿勢推定や異常検知など、多様なAIへの適用を目指しています。
 また、量子化による精度と速度のバランスを更に追求していきます。限られたハードウエア資源の中で、どこまで整数演算を活用し、どのように精度を維持するかは重要な研究テーマです。
 また、監視カメラや工場設備など、具体的な応用事例を想定しながら、実社会で活用可能なエッジAIシステムの構築を進めていきたいと考えています。
 

●ところで、中西先生のゼミはどのような雰囲気ですか?

 ゼミ室には学生が自作したパソコンが何台もあり、日頃の研究で使用しています。構成は学生自身が考え、CPUやメモリー、マザーボードなど、それぞれの目的に合った部品を選んで組み上げています。
 情報分野を学ぶ学生にとって、コンピューターを使うだけでなく、「どのような仕組みで動いているのか」を理解することも大切です。そのため、本研究室ではパソコンの製作にも取り組んでいます。大学に入って初めてパソコンの内部に触れた学生も、4年生になる頃には後輩を指導する立場へと成長していきます。
 また、学生たちには研究を楽しんでもらいたいと考え、3年生には大学祭に向けてゲーム制作にも挑戦してもらっています。今年度は、骨格検出技術を利用し、カメラの前で体を動かすと画面上のキャラクターが連動して動く作品を制作しました。
 本研究室では半数以上の学生が大学院へ進学します。ゼミ室にはいつも学生が集まり、学年を超えて活発に議論しながら研究に取り組んでいます。
  • パソコンの組み立て。大学院生や4年生が後輩を指導している
  • 学生を指導する中西教授
  • 骨格検出技術を利用し、キャラクターを動かすゲームを開発
  • 腕を上げるとキャラクターが飛び跳ねる
  • 中西教授(中央)のゼミ室では、学年が入り交じり楽しそうに研究を進めている