Upgrade to Pro — share decks privately, control downloads, hide ads and more …

車載エッジデバイスにおけるAI実装

 車載エッジデバイスにおけるAI実装

TURINGではEdgeplanT1(JetsonTX2)を用いた自動運転システムの実装を行いました。その過程で推論周りのボトルネックを解消した話をしました。
https://www.youtube.com/watch?v=nMcfN-JH048

Yuto Nakamura

December 14, 2022
Tweet

More Decks by Yuto Nakamura

Other Decks in Programming

Transcript

  1. Section 00 - 01 実際に起こった問題 - デコードが遅い - 画像変形が遅い -

    推論速度が遅い 要するに…全部ダメ。FPSが5しか出ない😨  実験しているときのホワイトボード ↑ FPS5と出ている
  2. Section 00 - 01 何が原因か? - 使用しているデバイス (Jetson TX2を搭載した車載用デバイス Edgeplant

    T1) - そもそもTX2が古くて性能が低い (2017年発表) - GPUはGTX1080世代でコア数10分の1, CPUはラズパイ以下 - もちろんメリットもあった - 入手性が良い(Amazonでポチればすぐ届く) - 車載グレードを満たしたデバイス - 消費電力が小さい(充電をほぼ気にしないで良い)
  3. Section 00 - 01 JPEGデコード - JPEGのデコードはめっちゃ計算が多い - ランレングス・ハフマンの解凍 -

    DCT(離散コサイン変換)の逆変換 - 並列化が出来る計算ではある - Jetson系にはNvJPEGという名の専用ハードウェアが搭載 - Jetson multimedia APIを使用することで圧倒的高速化
  4. Section 00 - 01 画像の変換 - 画像の座標の変換 = 行列の計算 -

    機械学習と同様にGPUで高速に計算が可能 - NPP (NVIDIA 2D Image And Signal Performance Primitives) を使用して高速化
  5. Section 00 - 01 推論 - TensorRTを使用することでモデルを最適化 - onnx to

    TensorRT Engine - ハードウェアの使用も効率的になって嬉しい
  6. - 画像が絡む処理は基本めちゃくちゃ重い ! + 推論だけがボトルネックじゃないこともある - 家のデスクトップ(Ryzen7 + RTX3080など) で出来ても、実運用出来るか?は場合による

    - 特に入手性・耐久性などの観点から性能が低くなりがちなエッジデバイスへの適用には工夫が必 要になる - TensorRTはもちろんnvjpegやNPPは通常のNVIDIA GPUでも使用可能 - 開発段階からアクセラレートしてイテレーションを早く回せる! - ※移植性やCUDAのバージョン問題もあるので適用するかは要検討 Section 00 - 01 教訓