「2030年 死亡交通事故ゼロ」を目指し、アイサイトとAI開発を加速させるSUBARUでは、コンテナ、Kubernetes、CI/CDといったクラウドネイティブ技術の活用を加速させているという。SUBARUの金井 崇氏が「Cloud Native Week 2024 春」の基調講演で取り組みを語った。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
2024年6月に開催された「Cloud Native Week 2024 春」の基調講演にSUBARU Lab副所長 兼 技術本部ADAS開発部 主査の金井 崇氏が登壇した。「SUBARU Labでの次世代アイサイト向けAI開発環境におけるクラウドネイティブ化の歩み」と題して、SUBARUがAI(人工知能)開発でクラウドネイティブ技術をどのように活用しているのか、解説した。
事故を未然に防ぎ、万が一の事故の被害を最小限にするとともに、ドライバー、同乗者、歩行者の保護を考慮した安全を追求しているSUBARU。こうした安全に対する取り組みは、SUBARU独自の「総合安全」にまとめられている。
「5つの安全を定義して、それぞれ日々の改善、改良活動を進めています。0次安全、走行安全、予防安全、衝突安全、つながる安全です。このうち、予防安全は『EyeSight(アイサイト)』でケアしています。アイサイトは、車を運転する際の『見る』『認識』『判断』『制御』を支援する仕組みです。ステレオカメラが特徴で、画像処理ロジックは全て内製で開発、クルマの商品開発と一体となったモノ作りを世界中で実施しています」(金井氏)
ステレオカメラは人の目と同じ原理で立体視する技術だ。左右の画像単体で物体を認識するだけでなく、左右の視差画像をステレオで認識し、それら3つの画像の中から最も信頼性の高いデータを利用する。こうした認識処理にはさまざまなAI技術が活用されている。また、アイサイトとAIの開発を加速するため2020年12月にはSUBARU Labを渋谷にオープンさせた。
「SUBARUは自動車OEMメーカーです。AIや部品だけを作るわけではなく、AIをクルマに乗せて現実空間で高速に評価する仕組みを回しています。AI開発を推進するために、AIの学習に必要なデータを管理する仕組みも自社内に整備しています。学習のためのITインフラはオンプレミスとクラウドを併用しています」(金井氏)
SUBARU Labが取り組むのは、AI開発だけにとどまらない。今後は、自動車業界の大変革を象徴する「CASE」の各領域での先端技術開発拠点になることを目指しているという。クルマのデジタル化を土台として、コネクティッド、ADAS/AD(先進運転支援システム/自動運転)、サービス、電動化といったCASE領域の組み合わせでイノベーションを促進させていく予定だ。
「AI開発が目指しているのは、『2030年 死亡交通事故ゼロ』です。2017〜2019年で死亡に至った事故ケース全てを分析し、走りだす前、走りだした後、事故直前、事故発生、救助救命などのフェーズに応じて対応することを決定しました。今後、対応手段を具体化し順次織り込んでいきます」(金井氏)
SUBARU Labが開発するAIの一つに画像認識AI「SUBARU ASURA Net」がある。
「20以上のHead(タスク)が1つのBackboneを共有するアーキテクチャのNeural Networkです。ステレオカメラから入ってくる左右の2つの画像は1つの共通のNeural Network(Backbone)で物体を認識します。その結果を共通Backboneから分離して、20以上のHeadでさまざまな種類の物体を同時に認識します。車両を認識するAI、歩行者を認識するAI、道路の標識やロードペイントを認識するAIなどがあります。AIをそれぞれ独立して作ると計算能力に限界が来ます。共通Backboneでタスクごとに分離することで効率良く処理できます」(金井氏)
AIは画像内の各ピクセル単位で分類する。またステレオ画像も画像からの視差をピクセル単位で出力する。そのため、ステレオカメラとAIは非常に相性が良いという。SUBARUでは、これまで開発してきたステレオカメラの技術にAIを組み合わせることで、堅牢(けんろう)性、信頼性の向上を目指している。
「高速道路などの自動車専用道路では、白線が明確にあるため、どのくらいのステアリング角度でどの程度曲がるかなどを比較的単純なロジックで処理できました。一方、一般道では白線がはっきり見えない場合も多く、どのような物量を目標値として計算すべきか簡単には決まりません。そこでAIを活用して、いろいろな状況を加味しながらステアリング角度を決めていくことに取り組みました」(金井氏)
現実空間では、S字カーブ、交差点、雪道、センターラインなし、日差しやライトによる輝度の変化といった多種多様なシチュエーションがあり、より多くのデータ、より正確なアノテーションが必要になる。SUBARUでは、過去に取得した走行データを走行場所や天候などで検索できる形式で保存しているという。
「AIに何を教えるのかは非常に難しく、構築には非常に大量のデータが必要です。収集したデータをどこまで学習させたのか、どういうシーンを走ったか、といった過去に取得、学習させた走行データは、AIエンジニアが検索できる形で保存しています。検索もどの場所を走ったか、いつのデータかだけでなく、そのときの天気や道路状況、歩行者や対向車の状況など、シーンやシナリオの情報レベルで検索できるようにしています。また、AIの推論結果の定点観測もバージョンごとに検索できます」(金井氏)
こうしたさまざまなAIを開発するに当たって重要になるのがITインフラだ。AI開発環境としては、クラウドを活用したMLOpsの仕組みを構築し、開発効率を向上させている。
「『Google Cloud』の各種マネージドサービスを活用して、全てコンテナベースで開発しています。環境の自動化も推進していて、学習データを追加したときの前処理を自動化して、それまで1日以上かかっていたものを30分程度に短縮しました。ASURA Netは、1つの画像データがあったとして、20以上のタスクで処理します。データが増えると前処理も増えるため、それを自動で並立処理するために『Google Cloud Dataflow』を活用しています。クラウドのマネージドサービスを活用すると、開発者がマシンやOS、バージョンの変化などを意識しないで済みます」(金井氏)
一方で、オンプレミス環境でクラウドネイティブ技術の活用を進めている。
「オンプレミス環境にKubernetesクラスタを構築しています。オープンソースの『Rancher』を活用して管理していて、KubernetesクラスタはAI学習用のGPUサーバ(物理)ノードと、管理システム用の仮想基盤のノードで構成されます。走行データベースを動かすアプリケーション自体にはGPUは不要ですが、AIの学習に対してGPUが必須です。KubernetesクラスタにGPUを組み込むことは容易ではなく、泥臭く構築してきました」(金井氏)
また、大量データを管理するためのデータ基盤も重要になる。
「先述したようにデータは多種多様で、過去に走った走行データ、CI/CD(継続的インテグレーション/継続的デリバリー)用の走行データ、AIを学習させるための大量の画像ファイル、時系列ファイル、教師用画像などがあります。動画、画像、各種データが同じストレージ基盤に保存されています。SUBARU Labだけでなく、東京事業所や外部データセンターにもデータを置いていて、3拠点が一体となって開発できるよう、100Gbpsの高速な専用線で結び、お互いのストレージに保存しているデータをネットワーク環境を気にせずに読み出すことができます」(金井氏)
AIの学習環境は、データ量だけでなく、GPUリソース、タスクなど拡大し続けている状況にある。
「走行データやアノテーションした学習データはSUBARU Labにあります。AIで学習するためのGPUサーバはSUBARU Labだけでは足りず、データセンターに拡張しました。学習データとコードが準備できたら、自動でAI学習できるよう、IaC(Infrastructure as Code)やMLOps環境も実装しています。定義ファイルだけでなく、KubernetesのアプリケーションのコードなどもGitで管理しています」(金井氏)
IaC環境は、Kubernetesと「Helm」で構築している。
「Kubernetesアプリケーションは、マニフェストを直接書く、Operatorを使うなど複数のパターンがあります。できるだけ統一して開発者の負荷を下げるため、原則Helmチャートを使うルールとしています。HelmチャートをGitで管理し、Helmチャートをデプロイするときにはシェルスクリプトでどこでも動くようにすることを推奨しています。Helmを使ったKubernetesインフラの構築手順やアプリケーション作成手順などを社内で共有もしています」(金井氏)
データ基盤としては、KubernetesのCSI(Container Storage Interface) Driverに対応したストレージとして「Dell PowerScale」
などを選定し、KubernetesクラスタでPersistent Volume(永続的ストレージボリューム)が必要になったときに自動で作成するような構成にしている。ただ、CSI Driverの不具合に遭遇することも多いという。
「OSS(オープンソースソフトウェア)なので、特有の困り事も発生します。コミュニティーで公開されているHelmチャートなどを読み解きながら『うちの環境ならここは修正しないとだめだね』と改善してきました。クラウドネイティブは基本的にはクラウド環境のマネージドKubernetesの上でアプリケーションを展開する事例が多いでしょう。なぜオンプレミスで頑張っているかというと理由は2つあります。1つ目はデータの機密性です。自動車会社のデータをクラウドに持っていくことへの懸念です。2つ目はデータ量です。すぐにクラウドに持っていくことが現実的ではありません。データを動かす時間を待つならオンプレミスでクラウウドネイティブな環境を作る方が早いという判断です」(金井氏)
金井氏によると、KubernetesクラスタでGPUを利用するための手順の共有や、GPUを利用したAI学習ジョブやGPUクラスタを管理する仕組みの共有などにも力を入れているという。AI学習ジョブの管理には「Argo Workflow」を、GPU利用状況の可視化には「DCGM Exporter」「Prometheus」「Grafana」を組み合わせている。
SUBARUは、2030年死亡交通事故ゼロを実現するという目標を「ブレずに本気で」取り組んでおり、SUBARU Labは目標達成のために活動領域を広げ、先端技術の研究開発を推進中だ。
最後に金井氏は「開発中の画像認識AI、経路推定AIともに大量の画像データによるAI学習が必要であり、AI学習自体の効率化も必要です。SUBARU LabではAI開発をITの側面から推進するために、AI開発インフラのクラウドネイティブ化をAIエンジニアとインフラエンジニアが協力して進めています」とまとめ、講演を締めくくった。
Copyright © ITmedia, Inc. All Rights Reserved.