Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
TRI-ADにおける自動運転向けDeep Learning学習パイプラインの構築
Toyota Research Institute Advanced Development, Inc.
小出 粋玄Amazon Web Service
Japan K.K.兼松 大貴
© Toyota Research Institute - Advanced Development, Inc. 2019
自己紹介n 名前• 小出 粋玄(こいで すいげん)n 経歴• トヨタ自動車株式会社 入社• Toyota Research Institute
Advanced Development, Inc. (TRI-AD) 出向n 所属• Automated Driving, Object Recognitionn 担当業務• 自動運転向けDeep Learningのモデル開発• Deep Learningの学習環境構築
連絡先: [email protected]
© Toyota Research Institute - Advanced Development, Inc. 2019
アジェンダ1. なぜ我々は自動運転に取り組んでいるのか?2. どのように自動運転は構成されているのか?3. 自動運転向けDeep Learning開発で直面した課題AWSを用いた解決策
© Toyota Research Institute - Advanced Development, Inc. 2019
アジェンダ1. なぜ我々は自動運転に取り組んでいるのか?2. どのように自動運転は構成されているのか?3. 自動運転向けDeep Learning開発で直面した課題AWSを用いた解決策
© Toyota Research Institute - Advanced Development, Inc. 2019
日本における交通事故死傷者数
出典:平成30年における交通死亡事故の特徴等について - 警察庁
3,532525,846
いまだに多くの方々が交通事故に遭われている
© Toyota Research Institute - Advanced Development, Inc. 2019
トヨタの究極の願い
出典:トヨタの安全への取り組み -トヨタ自動車株式会社
「交通事故死傷者ゼロ」の実現
© Toyota Research Institute - Advanced Development, Inc. 2019
「交通事故死傷者ゼロ」へのトヨタの取り組み
出典:トヨタの自動運転への取り組み -トヨタ自動車株式会社
人とクルマが協力し、もしもの事故を防ぐ自動運転の開発
© Toyota Research Institute - Advanced Development, Inc. 2019
自動運転を開発するために
高度な技術を用いた複雑なシステムを短期間で更新していく必要がある
高度な技術Deep Learning SLAM
複雑なシステム複数センサ 大量のコード
短期間で更新
© Toyota Research Institute - Advanced Development, Inc. 2019
高度な技術を短期間で更新していくために
研究と量産開発を効率よくつなげる必要がある
高度な研究 ソフトウェアでつなぐ 複雑な量産開発
© Toyota Research Institute - Advanced Development, Inc. 2019
TRI-ADの役割
研究と量産開発をつなぐ架け橋研究 量産開発先行開発
© Toyota Research Institute - Advanced Development, Inc. 2019
TRI-ADの概要
自動運転の先行開発を担うソフトウェア研究開発拠点
2018年3月設立トヨタ、デンソー、アイシンの共同出資3,000億円以上の開発投資拠点:日本橋
© Toyota Research Institute - Advanced Development, Inc. 2019
“Become a world-class software & technology company and
build the safest carin the world”
TRI-ADのミッション
© Toyota Research Institute - Advanced Development, Inc. 2019
アジェンダ1. なぜ我々は自動運転に取り組んでいるのか?2. どのように自動運転は構成されているのか?3. 自動運転向けDeep Learning開発で直面した課題AWSを用いた解決策
© Toyota Research Institute - Advanced Development, Inc. 2019
運転の構成要素
自動運転は認知、判断、操作をコンピュータが行う
認知 判断 操作本発表のスコープ
© Toyota Research Institute - Advanced Development, Inc. 2019
認知をコンピュータが行うために
複合的な認知を実現するため、カメラ、LIDAR、ミリ波レーダー等の複数センサを用いる出典:Toyota Research Institute Rolls-out P4 Automated Driving Test Vehicle at CES
担当:カメラ
© Toyota Research Institute - Advanced Development, Inc. 2019
カメラによる認知
運転の要となる走行環境を理解する視覚をDeep Learningで実現
出典:TASCNet: Learning to Fuse Things and Stuff, TRI
© Toyota Research Institute - Advanced Development, Inc. 2019
アジェンダ1. なぜ我々は自動運転に取り組んでいるのか?2. どのように自動運転は構成されているのか?3. 自動運転向けDeep Learning開発で直面した課題AWSを用いた解決策
© Toyota Research Institute - Advanced Development, Inc. 2019
Deep Learningの開発プロセス
車両から収集したデータをネットワークに学習させて、モデルを開発する
車両 学習
��
データ
ネットワーク モデル
© Toyota Research Institute - Advanced Development, Inc. 2019
モデル開発のプロセス
大規模なデータで大量の実験を行い、モデルを改善していく
評価
改善
学習
フィードバック
データ量質多様性
改善
論文ネットワーク
ハイパーパラメータ
© Toyota Research Institute - Advanced Development, Inc. 2019
高度なネットワークを複雑な現実世界に対応させて、短期間でモデルを改善していく
モデル開発に求められること高度なネットワーク高い認識率 リアルタイム処理 天候、時間、対象物…
複雑な現実世界
短期間で改善最先端の知見
© Toyota Research Institute - Advanced Development, Inc. 2019
複雑な現実世界に対応するために
データ量の増加に備えて、 1/20に学習時間短縮が必須※備考:学習時間の増加予測はネットワーク及びEpoch数やLearning rateなどのHyperparameterを同一にした場合。
⇨データ量の増加に伴い、学習時間が20倍以上に増加予測
現実世界の森羅万象を含むデータセットを作成する必要がある⇨大量のデータ収集を行う
1
10
100
1 10 100
学習時間(倍)
データ量(倍)
データ量と学習時間の増加予測
x20~
© Toyota Research Institute - Advanced Development, Inc. 2019
学習時間短縮のボトルネック
学習に必要な計算量がオンプレミスの処理能力を超える
...
ファイルサーバに複数ノードからアクセスが集中しI/Oがパンク
シングルノードでGPU数が限られ、処理能力を拡張できない
© Toyota Research Institute - Advanced Development, Inc. 2019
オンプレミス増強案
モデル開発ではなく、インフラ構築に時間を取られる
デメリット:インフラ構築に時間がかかり、開発スケジュールを超過
デメリット:流動的な必要サーバ数と、固定的なインフラがミスマッチ
DGX-1(GPU8枚) × 数十台構築期間:1年以上
フレキシビリティ(イメージ)
0
10
20
30
40
50
サーバ数
開発期間
保有サーバ数 必要サーバ数
不足
余剰
インフラ構築
マルチノードでの分散学習高速ファイルサーバ
© Toyota Research Institute - Advanced Development, Inc. 2019
AWS利用案
モデル開発に集中するため、インフラ構築でAWSを利用
フレキシビリティ(イメージ)インフラ構築Infrastructure as Code
メリット:短期間のインフラ構築 メリット:必要なサーバを、必要なときに、必要な量だけ利用できる
0
10
20
30
40
50
サーバ数
開発期間
利用サーバ数 必要サーバ数
© Toyota Research Institute - Advanced Development, Inc. 2019
AWSでのインフラ構築の役割分担
二人三脚で協力しながら、AWS上で学習環境を構築
アーキテクティング コーディング兼松 大貴 小出 粋玄
協力
© Toyota Research Institute - Advanced Development, Inc. 2019
アジェンダ1. なぜ我々は自動運転に取り組んでいるのか?2. どのように自動運転は構成されているのか?3. 自動運転向けDeep Learning開発で直面した課題AWSを用いた解決策
© Toyota Research Institute - Advanced Development, Inc. 2019
自己紹介n 名前• 兼松 大貴(かねまつ だいき)n 担当業種
自動車業界n 所属• エンタープライズソリューション本部• ソリューションアーキテクトn 経歴• 国内のSIer出身• 前職は仮想化ソフトウェアのプリセールスエンジニア
© Toyota Research Institute - Advanced Development, Inc. 2019
改めて、AWS上で実現すべきこと短期間でのモデル改善
2つの時間を短縮し、短期間でのモデル改善を実現する
そのためには?
学習時間の短縮 インフラ構築時間の短縮
データ量の増加に備えて1/20に学習時間を短縮
インフラを短期間で構築しモデルの開発に集中
© Toyota Research Institute - Advanced Development, Inc. 2019
AWS上での環境構築の方針
既存への影響を抑えつつ、早急に環境を準備する
データの急増に備えて早急に学習環境が必要
背景
モデルのリリースに向け開発は継続中
方針
机上検討に時間をかけすぎず、まず作って動かしみる
既存の開発環境にかかる影響を最小限に抑える
© Toyota Research Institute - Advanced Development, Inc. 2019
STEP1: オンプレ学習環境をAWSに移行
EFS S3
AMI
開発者 ECR
EC2
開発サーバ(オンプレ) docker pull
ssh
dockerpush
copy
AWS Cloud (東京リージョン)
https
開発
ManagementConsole
EC2 p3インスタンス
deploy学習
※各インスタンスはシングルノードで学習
オンプレで稼働していたシングルノードの学習環境をそのままAWSに移行
© Toyota Research Institute - Advanced Development, Inc. 2019
Amazon EC2 P3インスタンス• 秒単位の従量課金で利用可能な仮想サーバ• 最大 8 個の NVIDIA® Tesla® V100 GPU を搭載• 最大 100 Gbps のネットワークスループットを実現• 最大 1 ペタフロップの混合精度のパフォーマンスを提供
最新GPUを搭載し、ハイパフォーマンスコンピューティング環境を提供
p3ファミリ GPUs GPUメモリ(GiB)
vCPU メモリ(GiB)
GPU間接続
NW帯域(Gbps)
p3.2xlarge 1 16 8 61 - MAX 10Gbpsp3.8xlarge 4 64 32 244 NVLink 10Gbpsp3.16xlarge 8 128 64 488 NVLink 25Gbpsp3dn.24xlarge 8 256 96 768 NVLink 100Gbps
© Toyota Research Institute - Advanced Development, Inc. 2019
STEP1: 環境構築のスケジュール
二人三脚で課題を潰しながら1週間で環境を構築
Day1 Day2 Day3 Day4 Day5
要件整理、デザイン
データ移行
ECR構築+Dockerイメージ格納
EFS構築
AMI準備 稼動確認性能検証
チーム内ハンズオン
データの急増や他の要因も重なり、1週間以内に学習環境を立ち上げることに
© Toyota Research Institute - Advanced Development, Inc. 2019
STEP1: 今後に向けた課題
更なる改善を目指してSTEP2を検討
パフォーマンス スケーラビリティEFS
EC2 p3インスタンスAMI
EC2
deploy開発者
ManagementConsole
自動化üシングルノードでの学習環境の限界
ü学習時間は短縮されたが、目標には届かず
ü今後、p3インスタンスは数十台まで拡大
ü更にスケーラブルなディスク環境が必要
ü学習実行のたびにMCから手動でEC2デプロイ
ü開発者がアルゴリズムの開発に集中できない
学習時間短縮 インフラ構築時間短縮
© Toyota Research Institute - Advanced Development, Inc. 2019
STEP2: 高速分散学習環境のアーキテクチャ
EC2 p3 インスタンスPlacement Group
FSx for Lustre S3
AMI CloudFormation
Systems Manager
開発者 ECR
EC2
開発サーバ(オンプレ) docker pull
ssh
dockerpush
deploy
runcommand
commit
hydrate
ServiceCatalog
…
CloudFormation
AWS Cloud (USリージョン)
aws cli
開発
学習
STEP1の課題を解決し、高速でスケーラブルな分散学習環境をAWS上で実現
© Toyota Research Institute - Advanced Development, Inc. 2019
Amazon FSX for Lustre
サブネットAvailabity Zone
EC2インスタンス
Elastic Network Interface
Amazon S3AmazonFSx for Lustre
VPC
ハイパフォーマンスな分散ファイルシステムを完全マネージド型で提供• Lustre による高性能な分散ファイルシステム• 高スループット、低レイテンシによる大量のデータ処理が可能• 数百万IOPS、毎秒数百ギガバイトのスループットまで拡張可能• S3内の既存のデータセットとのシームレスな統合
© Toyota Research Institute - Advanced Development, Inc. 2019
P3インスタンスを用いた高速分散学習
出典:AWS Compute Blog
参考URLhttps://aws.amazon.com/jp/blogs/compute/scalable-deep-learning-training-using-multi-node-parallel-jobs-with-aws-batch-and-amazon-fsx-for-lustre/
• AWS BatchとFSx for Lusreの分散学習環境でResNet-50ベンチマークを実行• TensorFlow Dockerイメージをマルチノードで稼働• p3.16xlarge x 20台、160個の全GPUが約90%~100%の使用率となり、大規模な分散学習環境においてパフォーマンスの線形なスケールを実現
© Toyota Research Institute - Advanced Development, Inc. 2019
開発・評価
Service Catalog
CloudFormationCloudFormation
開発者 開発サーバ(オンプレ)
アーキテクチャのポイント ~学習時間短縮~
高速でスケーラブルなインフラを瞬時に立ち上げることが可能
deployAMI
ECR
EC2
docker pullssh
dockerpush
学習AWS Cloud (USリージョン)
ポイント①
runcommand�
高速分散学習環境ü分散学習への対応、ü Placement GroupでEC2間のネットワークレイテンシーを最小化
ü EFSからLustreに切り替えることで学習時間を8%削減(実績)
ü SSMでジョブ実行の自動化
Systems Manager
EC2 p3 InstancePlacement Group
commit
hydrateFSx for Lustre
S3
…
ポイント②
�USリージョンを利用
ü今後の拡張性とコストメリットを目的にUSリージョンへ移行
© Toyota Research Institute - Advanced Development, Inc. 2019
Service Catalog
CloudFormationCloudFormation
アーキテクチャのポイント ~インフラ構築時間短縮~
既存環境とマネージドサービスを組み合わせ、インフラ構築時間を短縮
commit
hydrate
deployEC2 p3 InstancePlacement Group
FSx for Lustre
S3
AMI
Systems Manager
ECR
EC2
docker pullssh
dockerpush
runcommand …aws cli
学習
開発・評価
ポイント③
開発者
AWS Cloud (USリージョン)
�
既存の開発環境を活用ü既存環境を継続することでインフラ構築時間の短縮と開発効率の低下を防ぐ
開発サーバ(オンプレ)
ポイント④
�
環境構築の自動化とTRIとの連携ü TRIのCloudFormationテンプレートをデプロイすることでインフラ構築を自動化
ü常に最先端の技術を共有することで、両社のエンジニアの相乗効果を実現
Service Catalog
CloudFormationCloudFormation
© Toyota Research Institute - Advanced Development, Inc. 2019
全体スケジュールと構築期間
大規模な分散学習環境を3ヶ月で構築
1月 2月 3月 4月 5月
勉強会、ハンズオン
環境への理解、課題の整理
STEP1EC2+EFS環境構築• デザイン• EFS準備+データ移行• AMI準備• 性能検証
STEP2EC2+Lustre環境構築• デザイン• Lustre準備+データ移行• AMI準備• 分散学習対応• CFn、SSM環境作成• 性能検証
オンプレで学習 AWS上で学習
本発表のスコープ
© Toyota Research Institute - Advanced Development, Inc. 2019
短期間での構築を可能にした理由
スキルやノウハウだけでなく考え方や文化の変化が重要
Ø まず使ってみるü 机上での検討に時間をかけすぎず、まず使ってフィージビリティを確認ü 実際の環境を触りながらスキルやノウハウを蓄積
Ø エンジニアの裁量が大きいü デザインやアーキテクチャに関する決定権を現場のエンジニアが持っているü 競争領域ではないインフラレイヤーに対するオープンな情報共有
Ø 迅速な承認プロセスü コストやスケジュールなど、全体の方針に関わる承認が迅速ü マネージャー層からのサポート
© Toyota Research Institute - Advanced Development, Inc. 2019
結果
© Toyota Research Institute - Advanced Development, Inc. 2019
学習時間短縮の結果
学習環境構築を3ヶ月で行い、学習時間を1/50に短縮※備考:学習データ量は同一。分散学習@AWSはp3.16xlarge * 8台を使用
0%
20%
40%
60%
80%
100%
オンプレミス 分散学習@AWS
Time per Epoch (%)
1/50
© Toyota Research Institute - Advanced Development, Inc. 2019
AWSがもたらしたもの
研究と先行開発をつなぐ第一歩を踏み出す
Silicon Valley Tokyo�
開発環境共通化による共同開発ü学習インフラ、コード、モデル、データ、CIテストの共同開発
研究 先行開発
© Toyota Research Institute - Advanced Development, Inc. 2019
�EBスケールに対応する学習
ü 1000万台の車両から収集されるデータ量はEBスケール。データの洪水の中で、どのように学習を行うか
将来の開発環境にむけて
チャレンジしていく課題は多い
データ収集 モデル開発 シミュレーション 車両へのデプロイ
�MLパイプラインの完全自動化ü End to Endの完全自動化による開発効率の向上
�
デプロイの革新ü数百万キロの走行をシミュレーションできるCIü OSによるハードウェアレイヤーの抽象化
© Toyota Research Institute - Advanced Development, Inc. 2019
チャレンジを通して
出典:トヨタの安全への取り組み -トヨタ自動車株式会社
「交通事故死傷者ゼロ」の社会をつくりたい
© Toyota Research Institute - Advanced Development, Inc. 2019
Join Us
世界一安全なクルマを共に開発する仲間を募集していますhttps://www.tri-ad.global/
© Toyota Research Institute - Advanced Development, Inc. 2019
Thank you for listening