自動車メーカー向けエッジAI開発におけるOFA(Once-for-All)適用

1. プロジェクト概要

ある自動車メーカーでのAI開発において、AIモデルを運用システムへデプロイする際の最適化が課題となっていました。AIモデルは、機能要求をもとに先行開発し、運用システムのデバイス仕様に応じた機能要件に合わせて、最適化を行う必要があるためです。しかし、このようなAIモデル最適化の開発において、スキルを備えた要員を確保して必要な開発時期にプロジェクトへアサインすることは容易ではなく、開発における大きな課題となっていました。

また、開発スタート後の要求仕様の変更によりエッジデバイスの変更が発生した場合や、要求仕様を満足する最適化ができない場合には、開発工程に遡ってAIモデルを再度開発する必要がありました。開発手戻りによる意図しないリソースやコスト、開発期間の増大を回避し、膨大な探索空間の中から要求仕様を満たすべくAIモデルの最適化を行うには、AIモデル開発とエッジデバイスの開発の両方に精通した熟練の開発者の知見が必要でした。

このような課題に対して、OFA呼ばれる手法をベースとした開発手法を適用しました。OFAは最適化の対象となるAIモデルを冗長表現したモデル(Supernet)を一度学習するだけで異なるアーキテクチャを備える複数のモデル(Subnet)を一度に生成することができ、その中から目標デバイスに適した性能を備えたモデルを選択することで最適化モデルを取得できます。この手法をアラヤ独自に拡張することで、特性の異なる様々なエッジデバイスに対して最適な性能となるモデル開発を高効率的に開発できる事を確認しました。また、AIの学習・評価ができるAIモデル開発者であれば、エッジデバイス開発に精通していなくともAIモデルの最適化を効率的に行える事を確認しました。

https://arxiv.org/abs/1908.09791

2. 社会的背景

従来のエッジAI開発では、経験豊富なエッジAI開発者や、AIモデル開発者と組み込み開発者とがチームとなり、試行錯誤を交えながら相応程度の期間と工数を費やしていました。しかしエッジAI開発経験が豊富な人材は希少であり、このような人材を社内育成するにも長い期間とコストがかかり、ノウハウも必要となります。

今回は、今後の開発車種に搭載される新規機能を実現するためのAIモデルを先行開発する部門からのご相談でした。新規機能を実現するためのアルゴリズム・AI開発は内製化できているものの、開発したAIモデルを最適化するためのエッジデバイス開発においては、熟練者が不足していること、外部からの人材の獲得は容易ではないこと、社内人材の育成・リスキリングには時間とコストを要すること、が課題感でした。

このような課題感に対して、アラヤが開発したOFAベースの手法を用いることで、エッジデバイスの開発経験がないAI開発者でも、AIモデル最適化のプロセスを自動化し、様々なデバイス向けの最適化モデルを効率的に開発できます。

3. 開発技術の特徴と開発の進め方

今回は車載フロントカメラ映像から画像認識AIを用いて路上障害物を検知するシステムに対して、OFAベースの手法を適用するPoC(概念実証)を行いました。このシステムは、教師なし学習をベースとした依存関係のある複数の深層学習モデルで構成され、モデル内の積和演算回数(MACs)が多く、推論時間が長い、という問題がありました。

各モデルに対するOFAベースの手法適用は、大きく2つのプロセスで行いました。

  • 学習フェーズ
    • 対象となるモデルのパラメータ(カーネルサイズ、深さ、チャネル幅)について、最も冗長なパラメータを冗長表現したモデル(Supernet)を準備してモデル全体を学習します。
    • その後、モデル全体の深さ、カーネル サイズ、解像度、を微調整したパラメータを備えるモデルを段階的に学習します。
    • これにより、さまざまなパラメータや入力サイズに柔軟に対応した多数(例えば~10^19個)のモデル(Subnet)を効率的に学習できます。
  • デプロイフェーズ
    • 学習フェーズで得られた多数のモデルの性能評価を行うための精度予測器と速度予測器とを作成します。
    • 精度予測器は、学習フェーズで用いたデータセットを使用して非常に低コストで準備できます。また、速度予測器は、単純にはモデルのパラメータ数から算出したMACs数を利用します。また、デプロイ対象となるデバイス上での実行速度の見積値や実測値を用いることもできます。
    • 作成した、精度予測器と遅延予測器から得られる精度と速度との情報に基づき、デプロイ対象のデバイスに最適となる性能(精度・速度)を備えたモデルを取得します。

PoCを進める中で、モデルによってはOFAベースの手法を適用した最適化が困難な課題が発生することもありました。そのたびにアラヤで改善を繰り返すことでPoCを進めていきました。具体的には、蒸留による知識転移を活用したモデルアーキテクチャ変更、オープンデータセットを活用した事前学習、また、OFAの過程で行われるサンプリング戦略の改善などを行いました。最終的には、要求仕様を満たす最適化モデルを得ることができ、OFAベースの手法の効果を確認しました。

4. まとめと将来展望

これまでエッジAI開発では、エッジデバイス向けに試行錯誤して構築したAIモデルを開発して、デバイスにデプロイして精度・速度を確認して、性能を満足しない場合は、再度AIモデルのパラメータ選定や小型化等の工程に戻って開発を進める必要がありました。 OFAベースの手法を用いることで、一度のモデル学習で多数(例えば~10^19個)の多様な最適化モデルを抽出できるようになります。そして、多様なエッジデバイスに適用可能な最適なモデル開発とデバイスへのデプロイが、仕様未達による意図しない開発手戻りのリスクを抑えて実現できます。この開発プロセスは、AIモデルの開発者であれば容易に導入対応できる技術である事から、より多くの開発者がOFAベースの手法を活用してエッジAI開発に取り組む事ができるようになります。その結果、人材確保や手戻りによる期間やコストの増大といった課題を解決した開発効率化が実現できます。