AI高位合成ツール「AIRTIPS」で、エッジAIの未来を拓く~AIRTIPS導入編~
研究開発本部 中村 龍昇(なかむら たつのり)
今回は、シャープの研究開発本部が開発したAI高位合成ツール「AIRTIPS(AI Real Time Image Processor Synthesiser)」をご紹介します。これは、スマホや監視カメラのような小さなデバイス(エッジデバイスと言います)で、AI映像処理を賢く、速く、軽快に動かすためのツールです。しかも、オープンソースとして公開しているので、誰でも気軽に触って、AIハードウェア開発に挑戦できるようになっています。
次回のnote記事では、AIRTIPSで生成した独自AIアクセラレータを、AMD社製FPGA評価基板「KV260」に実装し、実際に手書きの文字の画像を判別させる様子をお見せしますので、ぜひあわせてチェックしてみてください。
次回のnote記事タイトル:AI高位合成ツール「AIRTIPS」で生成した独自AIアクセラレータ(4DTC)をKV260で動かす方法~AIRTIPS実践編~
なぜ「AIRTIPS」を作ったの?(モチベーション)
最近、カメラの映像を「今すぐ!」AIで処理したいという要望が、すごく増えています。でも、これまでの方法だと、大きなデバイスが必要だったり、電気をたくさん使ったり、処理に時間がかかったりして、スマホや小さなカメラみたいな「エッジデバイス」でAIを動かすのは本当に大変でした。
さらに、AIの技術は日々進化してるので、新しいAIがどんどん出てきます。そのたびにハードウェアをイチから設計し直すと、時間も労力もハンパない感じです。そこで私たちは、このモヤモヤを解決すべく、「リアルタイムでサクサク動いて」、「小さいデバイスに組み込めて消費電力も少ない」、そして「新しいAIにも対応できる」そんな魅力的で夢のようなツールを作ろうと決意しました。
ここが「すごい!」私たちなりの工夫(こだわりポイント)
AIRTIPSの一番のキモは、AIを作るときによく使うPythonのコード(PyTorch)やONNXファイルから、AIを動かすための専用の「頭脳(回路)」を自動でパパッと作ってくれるところです。つまり、難しいハードウェアの知識がなくても、誰でもいろんなデバイスに載せられるAI回路を作ることができます。
作られる回路には、電力をグッと減らして、処理を高速にするための特別な機能がいっぱい詰まっています。例えば、普通はたくさん必要なメモリアクセスを減らすために、映像を「ラインごと」に効率よく処理する「フレームメモリレス構造」を考えました。これで、データの出し入れがスムーズになり、電気代も浮くし、動きもすごく速くなるんです。
AIの計算で特に大事な「畳み込み演算」という処理には、「4次元Tensor演算器(4DTC)」という専用の回路を開発しました。これで、複雑な計算をサクサクこなしてくれます。
AIRTIPSは、使い方にあわせて2つのタイプの「頭脳(回路)」を選べるようになっています。
フルロジック方式:
AIの処理内容に合わせて、すべて専用の回路にする方法です。単独で動くから、超高速、超低遅延、そして電気もとってもエコ! AI超解像の評価では、既存技術と比べても電力効率が良いことを確認しています。
AIアクセラレータ(4DTC)方式:
これは、小さなマイコンと組み合わせて使う方法です。回路自体は小さくても、もっと大きなAIモデルも動かせる柔軟性が魅力です。メモリへのアクセスを減らすことで、速くて低消費電力な動きを実現しました。
また、最近話題の「Vision Transformer(ViT)」みたいな、複雑なAIモデルにも対応できるように、回路設計には色々な工夫を凝らしました。
どんなことに使えるの?(活用シーン)
このAIRTIPSは、映像をリアルタイムでAIに処理させたい!と思っている、さまざまなエッジデバイスで活躍してくれます。例えば、こんなことに使えますよ。
AI超解像:ぼやけた画像をAIでくっきり鮮明に!
画像認識:手書きの文字を判別したり、たくさんの種類の中からモノを見分けたり!
物体検出:映像の中に「何がどこにあるか」をAIが見つけてくれます!
監視カメラやロボット、はたまたスマート家電まで、いろんなエッジデバイスにAIの賢い頭脳を載せて、リアルタイムでサクサク処理できるようになります。
もっと良くしたい!未来への挑戦(これからの展望)
今、AIRTIPSは一部のAIモデルで既存技術の10倍以上の電力効率を確認できています。でも、これで終わりじゃありません!
実は、AIの計算精度については、量子化による誤差が課題なんです。元々、浮動小数点という細かい計算をしていたのを、回路で動かすために整数に変換する時に、どうしても丸め誤差が出てきます。これを改善するために、AIモデルの調整方法を見直したり、計算の途中で誤差が出にくいように「アキュムレータ」という機能を4DTCに追加したりすることを考えています。
また、4DTCの処理をもっと速くするために、「レイヤ統合」みたいな最適化機能をさらにパワーアップさせていく予定です。現状では一部手動での最適化が必要ですが、将来的にはツールが全部自動でできるようにしたいです。
また、ViTは最小構成での実装であり、精度評価は行えていませんが、将来的には「Vision-Language Model(VLM)」のようなAIモデルにも適用できるようにしていきたいです。
私たちは、この技術をみんなに広く使ってもらって、エッジAI開発をもっともっと加速させ、エッジAIの素敵な未来が拓けるように貢献したいと考えています。
興味を持ったアナタ、ぜひご一緒に
AIRTIPSは、シャープがNEDO(国立研究開発法人新エネルギー・産業技術総合開発機構)のプロジェクトで生まれた成果で、オープンソースとして公開しています。エッジAI開発に興味がある企業さん、大学や研究機関、そして個人的にAI開発をやってみたい!という方も、ぜひぜひ触ってみてください。
AIRTIPSのダウンロードはこちらからできます。実際に、ツールを触って、処理の時間を体感してみてください。
https://corporate.jp.sharp/8k5g/8klab/ai-edge_report_202505.html
AIRTIPSのより詳しい内容はニュースリリースを見てください。
ちなみに、AIRTIPSとKV260を用い、こんなものも作れます。
市販のWebカメラを接続し、そのWebカメラからセンシングしている入力情報から何が映っているかを、LLMを介して回答させるという「画像分析システム」になります。こういったものが作れるようになりますよ。
次回のnote記事では、AIRTIPSで作った4DTCを、AMD社製FPGA評価基板「KV260」で動かす方法について、実例(文字認識システム)を用いて説明したいと思います。
※この文章は、作成・推敲に生成AIを利用しています。
最後まで読んでいただき、ありがとうございました。
コメント