全7704文字
PR

SUBARU
Google Cloud活用 プロセス自動化を追求

 SUBARU(スバル)はMLモデルを中核とした運転支援システム「アイサイト」を、自社製車両に搭載している。アイサイトの搭載車を最初に発売したのは2008年だ。2020年発売の新型レヴォーグや2021年発売の新型レガシィ アウトバックに搭載している最新版のアイサイトは第4世代に当たる。

図 SUBARU車が搭載する「アイサイト」のMLモデルの概要
図 SUBARU車が搭載する「アイサイト」のMLモデルの概要
周囲の車両や人、車線を判別し運転支援(写真提供:SUBARU)
[画像のクリックで拡大表示]

 アイサイトの成果は数字に表れている。スバルが交通事故総合分析センターのデータを基に、2020年に発表した資料によると、第3世代のアイサイトを搭載した車両の追突事故発生率は0.06%だ。第2世代の0.09%に比べると3分の2に低下した。

 スバルは2018年7月に発表した同社の中期経営ビジョン「STEP」で、SUBARU車に乗車中の死亡事故や、SUBARU車との衝突による歩行者・自転車などの死亡事故を2030年にゼロにするという目標を掲げ、MLモデルの開発・改良に力を注いでいる。

 2020年12月には東京・渋谷に、アイサイトに組み込むAIなどの研究開発拠点である「SUBARU Lab(スバルラボ)」を開設した。これまでアイサイトの研究開発で培った知見を基に、数十人規模のチームが中心となって次世代のアイサイトを開発中だ。次世代のアイサイトには深層学習の技術を新たに取り入れることを目指しており、さらに精度を高める。

2020年から自動化に取り組む

 スバルがMLモデルの開発を加速するうえで力を入れているのがパイプラインによるプロセスの自動化だ。これはMLOpsの重要な要素の1つである。

 アイサイトのMLモデルについては、車両を出荷した後に更新していくわけではない。基本的にアイサイトのソフトウエアの更新は不具合の修正に限定している。そのためアイサイトのMLモデルのパイプラインは開発環境のみだ。一般的なMLOpsとは性格が異なるが、同社のパイプラインによる自動化は参考にする価値が高いため、ここで取り上げる。

 実はスバルがパイプラインの自動化を本格的に検討し始めたのは、2020年11月ごろだ。対象は次世代のアイサイトの開発である。

 それ以前の第4世代アイサイトの開発までは、プロセスの自動化が進んでいるとはいえない状況だったという。基本的にはGPU(グラフィックス・プロセッシング・ユニット)搭載の開発用端末を使い、オンプレミス(自社所有)環境でモデル開発に取り組んでいた。ソースコードの作成・更新、学習データの作成、トレーニングなどはほぼ手動で実行していたという。

 しかし次世代アイサイトの開発を進める過程で、深層学習の技術を採用したこともあり、膨大な工数がかかることが判明。「エンジニアに大きな負担をかけることなく開発を継続的できる環境」を目指して、2020年11月ごろに開発プロセスの自動化の検討を開始。2021年4月から、モデルのトレーニングや学習データとして使う画像の前処理などのプロセスの自動化に順次取り組んでいる。

 次世代アイサイトのMLモデルの開発環境は米グーグルのクラウドサービス「Google Cloud」上に設けている。Google CloudのAI開発支援サービス「Vertex AI」を活用し、開発プロセスの自動化を進めている。

 自動化で中心的な役割を果たしている1人は、スバルの金井崇技術本部ADAS開発部主査だ。金井主査はデータの前処理、モデルのビルド、トレーニングという3つのプロセスを自動化の対象とした。

 このうち最初に取り組んだのはトレーニングである。「最も時間と手間がかかる」(金井主査)からだ。トレーニングの自動化には、Vertex AIのトレーニング機能である「Vertex AI Training」を活用した。ビルドしたモデルのコンテナイメージと学習データをVertex AI Trainingに投入すると、自動でトレーニングを実行。トレーニングが終了すると開発者に通知し、自動でコンテナなどのコンピューターリソースを解放する。そのためコスト削減の効果もある。

 トレーニングの自動化に関連して、2021年6月ごろからGoogle Cloudのビルドサービスである「Cloud Build」を活用し、トレーニング実行環境のコンテナをビルドするプロセスの自動化にも取り組んだ。MLモデルのソースコードをリポジトリーにコミットするとCloud Buildがコミットを検知し、自動的にトレーニング実行環境をビルドするようにした。

 金井主査はさらにデータの変換や前処理を自動化するため、Google Cloudのデータパイプラインサービスである「Cloud Dataflow」の活用も始めた。金井主査はCloud Dataflowとデータ処理のオープンソースソフトである「Apache Beam」を組み合わせて使う。これにより、クラウドの強みである分散処理を自動実行できるようになり、処理時間を短縮できたという。

 データの前処理の流れは次の通りだ。あらかじめデータの前処理をApache Beamで定義しておく。学習データをオブジェクトストレージである「Cloud Storage」に保存すると、Cloud DataflowがApache Beamと連携して自動で並列処理を実行する。

図 スバルの運転支援モデルのパイプライン
図 スバルの運転支援モデルのパイプライン
学習データの前処理やモデルのデプロイを自動化(出所:SUBARUの資料を基に日経コンピュータ作成)
[画像のクリックで拡大表示]

 こうしてデータの前処理プロセスを自動化した結果、データを流すと数百CPUの規模まで一気にオートスケールし、従来は1日以上かかっていた処理が30分程度で終わるようになったという。