[AWS] 自動車、自動運転のこれから [生成AI]

> 本記事は株式会社FIXERが運営する [cloud.config Tech Blog](https://tech-blog.cloud-config.jp/2024-06-24-the-future-of-automobiles) とのマルチポストです

レイチェルです。
2024年6月20日に幕張メッセで開催された [**AWS Summit Japan**](https://aws.amazon.com/jp/summits/japan/) に参加してきました！
そこで、**AWS**や最新の**生成AI技術**が、**自動車業界**とどのように関わっているのかという面白い情報を入手したので、ご紹介させていただきます。

# これまでの自動車
現在、情報・AI技術の発達によって自動車作りの考え方が大きな転換の時期を迎えております。
その転換期の中で **Software-Defined Vehicle** (通称 **SDV**)という考え方が生まれ、自動車OEM各社はこのSDVの考え方に則って自動車の作り方を大きく変化させてきています。
また昨今の生成AIブームにより、自動運転技術に関しても新たな道が生まれてきております。それは、**LLM** を用いて自動運転技術をより高度化する道です。

# LLMを用いた自動運転技術開発
## 従来の自動運転技術
AWS Summit内で、Turing社は自動運転の実現方法がそもそも変化してきていると紹介していました。
これまではLiDARやレーダー技術を組み合わせて周囲の情報を取得し、判断するという手法が主流でした。しかし現在は、カメラで取得した映像のみを利用して判断を行う仕組みの研究開発が、Tesla社・Turing社を筆頭に行われ、しのぎを削っているようです。

![20240620_151423_2.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/264716/ac490ca4-41d1-09ef-98f6-5a0b4b3e5ac0.jpeg)

LiDARやレーダーなどを使用せずとも、深層学習技術の発達によってカメラのみでも自動運転が可能になってきているのです。LiDARなどと比較すると、カメラは比較的安価そうですし、人間が運転する際の状況判断メカニズムに近いですからね。できることならカメラベースのほうが良いんでしょう。

## 自然言語モデルによる自動運転への寄与
Liらの研究[^1]によると、自然言語モデルを用いることでより高度な状況理解を行う方向に自動運転技術が進化してきているようです。これは、昨今発展が目覚ましいLLMの登場によるところが大きいです。

![2024-06-21-002.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/264716/bffb47b5-67c5-fefd-54f1-b2be7e41c9e0.png)

しかしながら、LLMをそのまま自動運転に用いることはできません。画像をそのままで解釈することができませんからね。

## そこでマルチモーダルモデル
マルチモーダルモデルは、様々な種類のデータソースを処理することができる学習モデルです。Turing社は、すでに高度な論理思考能力を持ったLLMに対して、動画などの走行データを追加学習させる方法を紹介してくれました。これにより、自動運転に特化したマルチモーダルモデルを生み出せるわけです。

![2024-06-21-003.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/264716/b56a4a83-3a48-2f16-df78-b9abee93dfde.png)

## 学習に使用したAWSリソース

Turing社は、マルチモーダルモデルを学習するためにAWSが提供するP5インスタンスをクラスタリングして大規模な学習を実現したらしいです。

![2024-06-21-004.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/264716/fd0a4601-8d57-705a-c021-6a77ba081a60.png)

[AWS ParallelCluster](https://aws.amazon.com/jp/hpc/parallelcluster/)を利用してクラスタリングすることで、スパコンのような環境を生み出すことに成功したわけですね。

でも、お高いんでしょう…？となりそうな構成ですが2023年に[AWS LLM 開発支援プログラム](https://aws.amazon.com/jp/local/llm-development-support-program/)という、LLMを開発する際にかかる費用の一部をAWSが負担するプログラムに参加することで、学習を行ったらしいです。

## できあがったマルチモーダルモデル
上記の手法で作ったモデルは、オープンソースで公開されています！
その名も [**Heron**](https://github.com/turingmotors/heron) というらしいです。

![2024-06-21-005.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/264716/65b0ce91-e0c2-c753-e6dd-b312de302571.png)

## 訓練データ収集
データの収集もAWSリソースを活用して行っています。
[AWS IoT Greengrass](https://aws.amazon.com/jp/greengrass/)で各種センサーのデータを収集。データのクリーニングやサンプリングもAWS上で完結させています。

![2024-06-21-006.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/264716/980b3ad2-8b6f-3403-5d49-c1fbfd6b9b3f.png)

## LLMを動作させるアーキテクチャ設計
さらにTuring社は、開発したマルチモーダルモデルを動作させるためのアーキテクチャも設計しています。この開発には、FPGAを使用しています。

![2024-06-21-007.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/264716/349a3e93-415f-bf0b-bd3c-0e0b9941e234.png)

### FPGAとは？
FPGA (Field Programmable Gate Array) は、規定の命令セットを持たず、プログラムを使用して再構成することが可能な回路です。
FPGAは内部に多数の論理ブロックと可変配線を持っており、これをプログラムで構成することができます。
これにより、必要な命令セットを持った回路を自由に構築できるので、LLMで使用されるようなSoftmax関数などを演算できるような回路を組んだりもできるわけです。

### EC2 F1インスタンス
AWSでは、FPGAが搭載されたEC2インスタンスも用意されています。これによりTuring社は、実際のFPGAをぶっつけ本番で開発する前に、AWS上でアーキテクチャ設計の事前検証を行うことができました。

https://aws.amazon.com/jp/ec2/instance-types/f1/

# SDVおまけ話
ここから先は、SDVのお話を少し。
従来の自動車は、主要な機能やサービスが専用のハードウェアによって制御されていました。エンジン、トランスミッション、ブレーキシステム、ステアリングなど、各機能が独立して動作し、改修には物理的な部品交換や修理を必要とする場合が多いです。
ハードウェア主体の開発の特徴を以下に示します。

- 機能追加や改善には、新しいハードウェアの導入や物理的な改修が必要
- 更新の頻度が低く、新技術の導入には時間とコストがかかる
- ソフトウェアの役割は限定的で、主にハードウェアを制御するために使われる

一方、SDVはソフトウェアが車両の主要な機能やサービスを定義し、制御します。この新しいアプローチは、柔軟性と更新の迅速さを提供します。
SDVの特徴を以下に示します。

- ソフトウェアアップデートによって新しい機能やサービスが追加・改善され、物理的な部品交換は不要
- オーバー・ザ・エア（OTA）アップデートにより、リアルタイムでの更新が可能
- データ駆動型の開発により、車両は常に最新の状態を維持し、ユーザー体験を向上させる

## 個人的にワクワクした話
これからの未来、自動運転技術がさらなる発展を遂げ、日常的に自動運転を利用するようになるかも知れません。しかしながら、僕なんかは自分で運転するのが結構好きなので、自動運転のみの車に乗るのは淋しく感じてしまいます。
しかし、SDVが主流になれば以下のようなユースケースを実現できるようになるかも知れません。

- 普段使いの時は自動運転
- 週末にモータースポーツを楽しみたい時は、車をレーシングチューンに変更！

自動車OEM各社が、AWS上にモーターや電子制御サスペンションの様々な設定ができるページを用意しておき、ユーザーは好みの設定を選んで、車の挙動が動的に変化すればとても面白いと思いませんか？
僕はグランツーリスモとか好きなので、自分の車でチューニングを自由に弄れるようになると思うとすっごくワクワクします()

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/264716/e53d00fe-1c5e-54ec-21d5-805956625168.png)

# まとめ
自動車を取り巻く環境は、クラウド・AI技術の発達に後押しされ、急激に変化・進化してきています。
今は当たり前の技術も、1年後にはもしかしたら古くなっているかも知れない。そう感じさせるような進化スピードですね。
また、SDVの考え方はより自由な自動車の楽しみ方を我々ユーザーに提供してくれるはずです。そして、その裏ではAWSなどのクラウドベンダーが縁の下の力持ちになっているはずです。

[^1]: [Li, Lincan, et al. "Data-Centric Evolution in Autonomous Driving: A Comprehensive Survey of Big Data System, Data Mining, and Closed-Loop Technologies." arXiv preprint arXiv:2401.12888 (2024).](https://arxiv.org/abs/2401.12888)