車載エッジデバイスにおけるAI実装
by
Yuto Nakamura
×
Copy
Open
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
車載エッジデバイス におけるAI実装 Section 00 中村 優斗 TURING 株式会社インターン 東京大学工学部電子情報工学科 B3
Slide 2
Slide 2 text
発表者 - 中村優斗 (@yutyan_ut) - 東大電子情報工学科 B3 - TURINGではCAN(車載ネットワーク)の解析・カメラ周りのプログラムなど - インターン中です - 低レイヤが好き Section 00 - 00 COMPANY PROFILE
Slide 3
Slide 3 text
TURINGについて - 自動運転EVの完成車を製造・販売 することを目的として創業 - 創業1年で公道実験 - 自動運転車で日本初の北海道一周 - 2022年度内に改造車を販売 - スローガン「We Overtake Tesla」 Section 00 - 00 COMPANY PROFILE
Slide 4
Slide 4 text
製品に搭載するシステムの AIへの最適化について話します Section 00 - 00 作ったモデル、本番環境で使える?
Slide 5
Slide 5 text
Section 00 - 01 現在の自動運転の概要 JPEGが大量に送られてくる
Slide 6
Slide 6 text
Section 00 - 01 推論部分を詳しく見る 色ごとのデータに デコード model 推論結果 (経路等) 画像をmodelの入力に適した アングルに変形 jpeg画像
Slide 7
Slide 7 text
Section 00 - 01 実際に起こった問題 - デコードが遅い - 画像変形が遅い - 推論速度が遅い 要するに…全部ダメ。FPSが5しか出ない😨 実験しているときのホワイトボード ↑ FPS5と出ている
Slide 8
Slide 8 text
Section 00 - 01 何が原因か? - 使用しているデバイス (Jetson TX2を搭載した車載用デバイス Edgeplant T1) - そもそもTX2が古くて性能が低い (2017年発表) - GPUはGTX1080世代でコア数10分の1, CPUはラズパイ以下 - もちろんメリットもあった - 入手性が良い(Amazonでポチればすぐ届く) - 車載グレードを満たしたデバイス - 消費電力が小さい(充電をほぼ気にしないで良い)
Slide 9
Slide 9 text
Section 00 - 01 CPUから徹底的にタスクを奪った! - JPEGのデコード → NvJPEG (ハードウェアアクセラレータ) - 画像の変形 → NPP (GPU) - 推論 → TensorRT (GPU)
Slide 10
Slide 10 text
Section 00 - 01 JPEGデコード - JPEGのデコードはめっちゃ計算が多い - ランレングス・ハフマンの解凍 - DCT(離散コサイン変換)の逆変換 - 並列化が出来る計算ではある - Jetson系にはNvJPEGという名の専用ハードウェアが搭載 - Jetson multimedia APIを使用することで圧倒的高速化
Slide 11
Slide 11 text
Section 00 - 01 画像の変換 - 画像の座標の変換 = 行列の計算 - 機械学習と同様にGPUで高速に計算が可能 - NPP (NVIDIA 2D Image And Signal Performance Primitives) を使用して高速化
Slide 12
Slide 12 text
Section 00 - 01 推論 - TensorRTを使用することでモデルを最適化 - onnx to TensorRT Engine - ハードウェアの使用も効率的になって嬉しい
Slide 13
Slide 13 text
Section 00 - 01 結果
Slide 14
Slide 14 text
Section 00 - 01 結果
Slide 15
Slide 15 text
- 画像が絡む処理は基本めちゃくちゃ重い ! + 推論だけがボトルネックじゃないこともある - 家のデスクトップ(Ryzen7 + RTX3080など) で出来ても、実運用出来るか?は場合による - 特に入手性・耐久性などの観点から性能が低くなりがちなエッジデバイスへの適用には工夫が必 要になる - TensorRTはもちろんnvjpegやNPPは通常のNVIDIA GPUでも使用可能 - 開発段階からアクセラレートしてイテレーションを早く回せる! - ※移植性やCUDAのバージョン問題もあるので適用するかは要検討 Section 00 - 01 教訓
Slide 16
Slide 16 text
- 今日お話した内容は、 1月以降にTURING Tech Blogにて詳しく紹介される予定です! - https://zenn.dev/p/turing_motors - 走行データベース構築の話なども掲載予定 Section 00 - 01 Appendix
Slide 17
Slide 17 text
No content