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

DRIVE CHART における OSS を活用した実践 AI 開発【DeNA TechCon 2023】

GO Inc. dev
February 28, 2023

DRIVE CHART における OSS を活用した実践 AI 開発【DeNA TechCon 2023】

交通事故削減を支援する、次世代AIドラレコサービス「DRIVE CHART」では、 エッジやクラウド上で稼働する様々な種類の AI によって交通事故に繋がる可能性の高い危険運転を自動検知し、運転傾向を分析しています。

本セッションでは DRIVE CHART が OSS を活用しつつ、幅広い種類の AI の開発をどのように実践しているかをお話いたします。

資料内でのリンク集:
p20, https://mo-t.com/career/

◆ You Tube
https://youtu.be/RJAp60KYDfg

◆ DeNA TechCon 2023 公式サイト
https://techcon2023.dena.dev/

GO Inc. dev

February 28, 2023
Tweet

More Decks by GO Inc. dev

Other Decks in Technology

Transcript

  1. DRIVE CHART における OSS を活
    用した実践 AI 開発
    株式会社Mobility Technologies
    スマートドライビング事業部システム開発部AI基盤グループ
    石井 健太朗

    View Slide

  2. Table of Contents
    01|Mobility Technologiesについて
    2
    02|DRIVE CHARTについて
    03|DRIVE CHARTのAI開発の特徴
    04|OSSを活用したAI開発

    View Slide

  3. Table of Contents
    01|Mobility Technologiesについて
    3
    02|DRIVE CHARTについて
    03|DRIVE CHARTのAI開発の特徴
    04|OSSを活用したAI開発

    View Slide

  4. Moblility Technologiesについて
    2020年 4月 JapanTaxi社とDeNAのMOV/DRIVE CHART事業などが統合し
    株式会社Mobility Technologiesとして始動。
    Mobility Technologiesは「移動で人を幸せに。」をミッションに、
    日本のモビリティ産業をアップデートする様々なITサービスの提供を行っています。
    4

    View Slide

  5. タクシーアプリ『GO』
    5

    View Slide

  6. タクシーを起点に、より大きな課題の解決に向かう
    6

    View Slide

  7. 事業展開
    7

    View Slide

  8. Table of Contents
    01|Mobility Technologiesについて
    8
    02|DRIVE CHARTについて
    03|DRIVE CHARTのAI機能の特徴
    04|OSSを活用したAI開発

    View Slide

  9. DRIVE CHARTについて
    AIを搭載したドラレコによる事故防止支援サービス
    AIが様々な危険シーンを検知して、普段の運転行動を分析
    9

    View Slide

  10. DRIVE CHARTは危険シーンを抽出しWebでレポート確認
    ■ AIにより危険シーンを抽出
    ■ Webで簡単に該当シーンの動画を閲覧
    ■ 運転行動をレポート表示
    10

    View Slide

  11. 企業は社有車の事故を防止する必要がある
    ■ 社員が社有車で事故を起こせば会社の責任
    ■ 企業は事故を起こさないための仕組みづくりが必要
    ■ やみくもに事故削減活動を行ってもキリがない
    ■ すべての運転記録をチェックするのは現実的ではない
    ■ 社員それぞれの事故のリスクを把握し効率・効果的な指導、改善が求められる
    ■ 運転の癖を可視化し、社員ごとに指導内容をカスタマイズできる
    11
    https://drive-chart.com/magazines/mg_220131

    View Slide

  12. 事故削減に向けたDRIVE CHARTの考え方
    ■ 「軽度のリスク運転行動」を徹底的に減らすことで「重度のリスク運転行動」が自ずと減り、最終的に「事故」が減
    ることを想定
    ■ 「軽度のリスク運転行動」を駆逐するための改善を継続的に行うことで事故削減の実現を目指す
    12
    法令違反別交通事故割合(2019年)
    ハインリッヒの法則

    View Slide

  13. DRIVE CHARTが提供する代表的な機能
    ■ 危険シーン検知
    ■ 脇見運転、車間距離不足、一時不停止、速度超過、急ハンドル、急加速、急減速、急後退
    ■ 日報・月報自動作成機能
    ■ 車両別 / ドライバー別の走行データをもとに日報 / 月報を生成
    ■ ライブマップ機能
    ■ 車両の位置、直近のリスク運転が発生した場所を地図上に描画
    ■ ヒヤリハット通知メール
    ■ 危険度が高い項目の検出時には警報でドライバーに知らせ、管理者にもメール通知
    13

    View Slide

  14. Table of Contents
    01|Mobility Technologiesについて
    14
    02|DRIVE CHARTについて
    03|DRIVE CHARTのAI開発の特徴
    04|OSSを活用したAI開発

    View Slide

  15. DRIVE CHARTのAI
    15
    ● エッジからクラウド上のサーバーまであらゆる環境・目的で動作する機械学習モデル
    ● センサーデータやGPSデータ、動画など多様なデータを扱う
    イベント検出モデル
    急加速
    急減速
    急ハンドル
    ⼀時不停⽌
    速度超過
    ⾞間距離不⾜
    脇⾒
    急後退
    検出結果
    エッジデバイス クラウドサーバー
    データベースやS3
    外カメ画像
    検出結果
    内カメ画像
    深層学習
    モデル
    センサー
    加速度センサ、
    ジャイロセンサ
    GPS
    動画

    View Slide

  16. DRIVE CHARTのAI
    16
    ● エッジからクラウド上のサーバーまであらゆる環境・目的で動作する機械学習モデル
    ● センサーデータやGPSデータ、動画など多様なデータを扱う
    イベント検出モデル
    急加速
    急減速
    急ハンドル
    ⼀時不停⽌
    速度超過
    ⾞間距離不⾜
    脇⾒
    急後退
    検出結果
    エッジデバイス クラウドサーバー
    データベースやS3
    外カメ画像
    検出結果
    内カメ画像
    深層学習
    モデル
    センサー
    加速度センサ、
    ジャイロセンサ
    GPS
    動画

    View Slide

  17. DRIVE CHARTのAI
    17
    ● エッジからクラウド上のサーバーまであらゆる環境・目的で動作する機械学習モデル
    ● センサーデータやGPSデータ、動画など多様なデータを扱う
    イベント検出モデル
    急加速
    急減速
    急ハンドル
    ⼀時不停⽌
    速度超過
    ⾞間距離不⾜
    脇⾒
    急後退
    検出結果
    エッジデバイス クラウドサーバー
    データベースやS3
    外カメ画像
    検出結果
    内カメ画像
    深層学習
    モデル
    センサー
    加速度センサ、
    ジャイロセンサ
    GPS
    動画

    View Slide

  18. エッジAIとは
    18
    クラウド上にある高性能サーバーと離れた場所に配置され、ネットワークで接続されている端末をエッジ端末といい、
    DRIVE CHARTの場合ドライブレコーダーを指す。エッジAIはエッジ端末上で推論処理を行うAI。
    クラウド
    エッジ端末
    エッジAI

    View Slide

  19. DRIVE CHARTのAI開発の特徴
    19
    様々なバックボーンを持った開発メンバー
    ● CV(コンピュータビジョン)
    ● データサイエンス
    ● エッジAI開発
    ● サーバーサイド開発

    View Slide

  20. DRIVE CHARTのAI開発の特徴
    20
    様々なバックボーンを持った開発メンバー
    ● CV(コンピュータビジョン)
    ● データサイエンス
    ● エッジAI開発
    ● サーバーサイド開発
    余談ですが…
    色々な領域にチャレンジできます!
    採用ページ: https://mo-t.com/career/
    CVモデル開発
    サーバーサイドAI
    の推論高速化
    エッジアプリケー
    ション開発

    View Slide

  21. Table of Contents
    01|Mobility Technologiesについて
    21
    02|DRIVE CHARTについて
    03|DRIVE CHARTのAI開発の特徴
    04|OSSを活用したAI開発

    View Slide

  22. 今日お話すること
    22
    DRIVE CHARTではどのようにOSSを活用しながらAI開発を促進しているかを
    DRIVE CHARTでのAI開発の流れに沿ってステップごとにお話します
    STEP 1:
    データ収集・加工
    STEP 2:
    モデル開発・学習
    STEP 3:
    推論・モニタリング

    View Slide

  23. 4: データ収集・加工
    23
    データ収集・加工 モデル開発・学習 推論・モニタリング

    View Slide

  24. データ収集・加工
    24
    アノテーション:
    教師あり学習を行う場合、学習データは機械学習モデルの入力となる特徴量に対して教師ラベルが付与されている必要がある
    特徴量に対して必ず教師ラベルがついているデータ(購買履歴など)も存在するが、ついていないものもある
    そういったデータには人間がデータを見ながら手動で正解となるラベルをつける必要がある。その作業をアノテーションと呼

    データ収集・加工 モデル開発・学習 推論・モニタリング
    DRIVE CHARTでは以下のようなアノテーションが行われている
    - 脇見した時刻のアノテーション
    - 顔のランドマーク(目や鼻など)のアノテーション
    - 前方にある車両のアノテーション
    等々…
    アノテーションの例

    View Slide

  25. Nota
    25
    DeNA社製のCV専用OSSアノテーションツール
    Notaはチームでアノテーションを行う際の機能が充実しており、効率的なアノテーションができるようになっている
    ● データセットをタスク単位に分割し、アノテーターにアノテーションを依頼することができる
    ● アノテーションの定義をテンプレートを使用することで柔軟に変更できる
    Nota
    前述のチームの存在と、チームによるアノテーション作業の効率を高めるNotaに
    より、高品質なアノテーションデータを量産することができる
    データ収集・加工 モデル開発・学習 推論・モニタリング
    Notaのアノテーション画面

    View Slide

  26. Notaを利用したアノテーションフロー
    26
    ストレージ
    ① アノテーション用動画のデー
    タセット作成
    CVエンジニア
    / データサイエンティスト
    ④ タスク振り
    分け
    ② アノテーション仕様書
    を作成しアノテーション
    を依頼
    データ収集・加工 モデル開発・学習 推論・モニタリング
    アノテーション管理者
    ③ タスクを作

    アノテーター
    ⑤ アノテーション

    View Slide

  27. Notaを利用したアノテーションフロー
    27
    ストレージ
    ① アノテーション用動画のデー
    タセット作成
    CVエンジニア
    / データサイエンティスト
    ④ タスク振り
    分け
    ② アノテーション仕様書
    を作成しアノテーション
    を依頼
    データ収集・加工 モデル開発・学習 推論・モニタリング
    アノテーション管理者
    ③ タスクを作

    アノテーター
    ⑤ アノテーション

    View Slide

  28. Notaを利用したアノテーションフロー
    28
    ストレージ
    ① アノテーション用動画のデー
    タセット作成
    CVエンジニア
    / データサイエンティスト
    ④ タスク振り
    分け
    ② アノテーション仕様書
    を作成しアノテーション
    を依頼
    データ収集・加工 モデル開発・学習 推論・モニタリング
    アノテーション管理者
    ③ タスクを作

    アノテーター
    ⑤ アノテーション

    View Slide

  29. Notaを利用したアノテーションフロー
    29
    ストレージ
    ① アノテーション用動画のデー
    タセット作成
    CVエンジニア
    / データサイエンティスト
    ④ タスク振り
    分け
    ② アノテーション仕様書
    を作成しアノテーション
    を依頼
    データ収集・加工 モデル開発・学習 推論・モニタリング
    アノテーション管理者
    ③ タスクを作

    アノテーター
    ⑤ アノテーション

    View Slide

  30. Notaを利用したアノテーションフロー
    30
    ストレージ
    ① アノテーション用動画のデー
    タセット作成
    CVエンジニア
    / データサイエンティスト
    ④ タスク振り
    分け
    ② アノテーション仕様書
    を作成しアノテーション
    を依頼
    データ収集・加工 モデル開発・学習 推論・モニタリング
    アノテーション管理者
    ③ タスクを作

    アノテーター
    ⑤ アノテーション

    View Slide

  31. 4: モデル開発・学習
    31
    データ収集・加工 モデル開発・学習 推論・モニタリング

    View Slide

  32. DRIVE CHARTでのモデル開発・学習 データ収集・加工 モデル開発・学習 推論・モニタリング
    フェーズ1: 機械学習モデルの開発・学習
    フェーズ2: 実データを使用した検証実験

    View Slide

  33. DRIVE CHARTでのモデル開発・学習 データ収集・加工 モデル開発・学習 推論・モニタリング
    フェーズ1: 機械学習モデルの開発・学習
    フェーズ2: 実データを使用した検証実験

    View Slide

  34. 機械学習モデルの開発・学習 データ収集・加工 モデル開発・学習
    モデルの開発・学習ではClearMLという実験管理ツールを使用している
    推論・モニタリング
    動画 センサーデータ
    GPSデータ エッジAI推論データ
    学習
    実験データを記録
    実験結果を確認

    View Slide

  35. ClearML
    35
    ● Allegro AI社製の実験管理ツール
    ● 標準的な実験管理ツールに含まれる機能は全て備わっている
    ○ メトリクスの記録
    ○ ハイパーパラメータの記録
    ○ 過去の実験の検索
    ○ 実験同士の比較
    ○ …
    ● それらに加えて、実験の再現性を高めるための機能が充実
    ○ 未コミットのソースコードの記録
    ○ ライブラリやPythonのバージョンの記録
    データ収集・加工 モデル開発・学習 推論・モニタリング

    View Slide

  36. ClearML
    36
    データ収集・加工 モデル開発・学習 推論・モニタリング
    ※ ClearML 公式Documentより引用(https://clear.ml/docs/latest/docs/deploying_clearml/clearml_server)
    ClearML
    ClearMLの構成図

    View Slide

  37. DRIVE CHARTチームではAWS環境上にホスティングしており、データサイエンティストやCVエンジニアが利用している
    ClearML
    37
    データ収集・加工 モデル開発・学習 推論・モニタリング
    AWS Cloud
    VPC
    Private subnet
    Public subnet
    Web UI用エンドポイント(ALB)
    web
    web用portのみ
    アクセス許可
    実験インスタンス
    api/file server portのみ
    アクセス許可
    実験インスタンスからの
    アクセス用エンドポイント(ALB)
    api file
    アーティファクトを保

    clearml server(https://github.com/allegroai/clearml-server)を
    フォークし、マネージドサービスと連携できるよう修正し
    ビルドしたイメージ
    + redis

    View Slide

  38. ClearML
    38
    データ収集・加工 モデル開発・学習 推論・モニタリング
    AWS Cloud
    VPC
    Private subnet
    Public subnet
    Web UI用エンドポイント(ALB)
    web
    web用portのみ
    アクセス許可
    実験インスタンス
    api/file server portのみ
    アクセス許可
    実験インスタンスからの
    アクセス用エンドポイント(ALB)
    api file
    アーティファクトを保

    clearml server(https://github.com/allegroai/clearml-server)を
    フォークし、マネージドサービスと連携できるよう修正し
    ビルドしたイメージ
    + redis
    ClearML
    DRIVE CHARTチームではAWS環境上にホスティングしており、データサイエンティストやCVエンジニアが利用している

    View Slide

  39. ClearML
    39
    データ収集・加工 モデル開発・学習 推論・モニタリング
    AWS Cloud
    VPC
    Private subnet
    Public subnet
    Web UI用エンドポイント(ALB)
    web
    web用portのみ
    アクセス許可
    実験インスタンス
    api/file server portのみ
    アクセス許可
    実験インスタンスからの
    アクセス用エンドポイント(ALB)
    api file
    アーティファクトを保

    clearml server(https://github.com/allegroai/clearml-server)を
    フォークし、マネージドサービスと連携できるよう修正し
    ビルドしたイメージ
    + redis
    DRIVE CHARTチームではAWS環境上にホスティングしており、データサイエンティストやCVエンジニアが利用している

    View Slide

  40. ClearML
    40
    データ収集・加工 モデル開発・学習 推論・モニタリング
    AWS Cloud
    VPC
    Private subnet
    Public subnet
    Web UI用エンドポイント(ALB)
    web
    web用portのみ
    アクセス許可
    実験インスタンス
    api/file server portのみ
    アクセス許可
    実験インスタンスからの
    アクセス用エンドポイント(ALB)
    api file
    アーティファクトを保

    clearml server(https://github.com/allegroai/clearml-server)を
    フォークし、マネージドサービスと連携できるよう修正し
    ビルドしたイメージ
    + redis
    DRIVE CHARTチームではAWS環境上にホスティングしており、データサイエンティストやCVエンジニアが利用している

    View Slide

  41. ClearMLの機能
    41
    データ収集・加工 モデル開発・学習 推論・モニタリング
    実験間でメトリクスを比較

    View Slide

  42. ClearMLの機能
    42
    データ収集・加工 モデル開発・学習 推論・モニタリング
    実験間でハイパーパラメータを比較

    View Slide

  43. ClearMLの機能
    43
    データ収集・加工 モデル開発・学習 推論・モニタリング
    ログをWeb UI上で確認

    View Slide

  44. ClearMLの機能
    44
    データ収集・加工 モデル開発・学習 推論・モニタリング
    ソースコードの未コミット部分を記録

    View Slide

  45. ClearMLの機能
    45
    データ収集・加工 モデル開発・学習 推論・モニタリング
    Pythonや使用したライブラリのバージョンを記録

    View Slide

  46. DRIVE CHARTでのAI開発 データ収集・加工 モデル開発・学習 推論・モニタリング
    フェーズ1: 機械学習モデルの開発
    フェーズ2: 実データを使用した検証実験

    View Slide

  47. 実データを使用した検証実験
    47
    モデルやパラメータの変更、検出ロジックの調整などを行った場合、最終的なリスク運転検出数にどのような変化がある
    かを確認する必要がある。たとえば…
    データ収集・加工 モデル開発・学習 推論・モニタリング
    イベント検出モデル
    急加速
    急減速
    急ハンドル
    ⼀時不停⽌
    速度超過
    ⾞間距離不⾜
    脇⾒
    急後退
    検出結果
    エッジデバイス クラウドサーバー
    データベースや
    S3
    外カメ画像
    検出結果
    内カメ画像
    深層学習
    モデル
    センサー
    加速度センサ、
    ジャイロセンサ
    GPS
    動画
    デプロイ
    新しいCVモデルを実装 & 学習

    View Slide

  48. 実データを使用した検証実験
    48
    モデルやパラメータの変更、検出ロジックの調整などを行った場合、最終的なリスク運転検出数にどのような変化がある
    かを確認する必要がある。たとえば…
    データ収集・加工 モデル開発・学習 推論・モニタリング
    イベント検出モデル
    急加速
    急減速
    急ハンドル
    ⼀時不停⽌
    速度超過
    ⾞間距離不⾜
    脇⾒
    急後退
    検出結果
    エッジデバイス クラウドサーバー
    データベースや
    S3
    外カメ画像
    検出結果
    内カメ画像
    深層学習
    モデル
    センサー
    加速度センサ、
    ジャイロセンサ
    GPS
    動画
    新しいCVモデルを実装 & 学習
    デプロイ
    ここにも影響が出る!
    モデルへの入力が変化し…

    View Slide

  49. 実データを使用した検証実験
    49
    データ収集・加工
    仮に仮想マシン上で全ての作業を手作業で行おうとすると…
    モデル開発・学習 推論・モニタリング
    通常のAI開発における単体のモデルの精度確認だけでなく、システム全体のリスク検出数への影響を実験により検証する
    必要がある
    → 大量の実データに対して変更前後の検出処理を実行し、リスク検出数の変化を比較・確認する

    View Slide

  50. 実データを使用した検証実験
    50
    データ収集・加工
    仮に仮想マシン上で全ての作業を手作業で行おうとすると…
    ● 実験に使用するデータをリストアップしてストレージからダウンロード
    モデル開発・学習 推論・モニタリング
    通常のAI開発における単体のモデルの精度確認だけでなく、システム全体のリスク検出数への影響を実験により検証する
    必要がある
    → 大量の実データに対して変更前後の検出処理を実行し、リスク検出数の変化を比較・確認する

    View Slide

  51. 実データを使用した検証実験
    51
    データ収集・加工
    仮に仮想マシン上で全ての作業を手作業で行おうとすると…
    ● 実験に使用するデータをリストアップしてストレージからダウンロード
    ● モデルのウェイトファイルのダウンロード
    モデル開発・学習 推論・モニタリング
    通常のAI開発における単体のモデルの精度確認だけでなく、システム全体のリスク検出数への影響を実験により検証する
    必要がある
    → 大量の実データに対して変更前後の検出処理を実行し、リスク検出数の変化を比較・確認する

    View Slide

  52. 実データを使用した検証実験
    52
    データ収集・加工
    仮に仮想マシン上で全ての作業を手作業で行おうとすると…
    ● 実験に使用するデータをリストアップしてストレージからダウンロード
    ● モデルのウェイトファイルのダウンロード
    ● 検出処理を実装しているリポジトリのクローン & チェックアウト
    モデル開発・学習 推論・モニタリング
    通常のAI開発における単体のモデルの精度確認だけでなく、システム全体のリスク検出数への影響を実験により検証する
    必要がある
    → 大量の実データに対して変更前後の検出処理を実行し、リスク検出数の変化を比較・確認する

    View Slide

  53. 実データを使用した検証実験
    53
    データ収集・加工
    仮に仮想マシン上で全ての作業を手作業で行おうとすると…
    ● 実験に使用するデータをリストアップしてストレージからダウンロード
    ● モデルのウェイトファイルのダウンロード
    ● 検出処理を実装しているリポジトリのクローン & チェックアウト
    ● 設定ファイルを書き換え
    モデル開発・学習 推論・モニタリング
    通常のAI開発における単体のモデルの精度確認だけでなく、システム全体のリスク検出数への影響を実験により検証する
    必要がある
    → 大量の実データに対して変更前後の検出処理を実行し、リスク検出数の変化を比較・確認する

    View Slide

  54. 実データを使用した検証実験
    54
    データ収集・加工
    仮に仮想マシン上で全ての作業を手作業で行おうとすると…
    ● 実験に使用するデータをリストアップしてストレージからダウンロード
    ● モデルのウェイトファイルのダウンロード
    ● 検出処理を実装しているリポジトリのクローン & チェックアウト
    ● 設定ファイルを書き換え
    ● イメージをビルド
    モデル開発・学習 推論・モニタリング
    通常のAI開発における単体のモデルの精度確認だけでなく、システム全体のリスク検出数への影響を実験により検証する
    必要がある
    → 大量の実データに対して変更前後の検出処理を実行し、リスク検出数の変化を比較・確認する

    View Slide

  55. 実データを使用した検証実験
    55
    データ収集・加工
    仮に仮想マシン上で全ての作業を手作業で行おうとすると…
    ● 実験に使用するデータをリストアップしてストレージからダウンロード
    ● モデルのウェイトファイルのダウンロード
    ● 検出処理を実装しているリポジトリのクローン & チェックアウト
    ● 設定ファイルを書き換え
    ● イメージをビルド
    ● 処理を順番に実行
    モデル開発・学習 推論・モニタリング
    通常のAI開発における単体のモデルの精度確認だけでなく、システム全体のリスク検出数への影響を実験により検証する
    必要がある
    → 大量の実データに対して変更前後の検出処理を実行し、リスク検出数の変化を比較・確認する

    View Slide

  56. 実データを使用した検証実験
    56
    データ収集・加工
    仮に仮想マシン上で全ての作業を手作業で行おうとすると…
    ● 実験に使用するデータをリストアップしてストレージからダウンロード
    ● モデルのウェイトファイルのダウンロード
    ● 検出処理を実装しているリポジトリのクローン & チェックアウト
    ● 設定ファイルを書き換え
    ● イメージをビルド
    ● 処理を順番に実行
    モデル開発・学習 推論・モニタリング
    通常のAI開発における単体のモデルの精度確認だけでなく、システム全体のリスク検出数への影響を実験により検証する
    必要がある
    → 大量の実データに対して変更前後の検出処理を実行し、リスク検出数の変化を比較・確認する
    変更前後で結果の比較を行いたい場合、×2

    View Slide

  57. 実データを使用した検証実験
    57
    データ収集・加工
    仮に仮想マシン上で全ての作業を手作業で行おうとすると…
    ● 実験に使用するデータをリストアップしてストレージからダウンロード
    ● モデルのウェイトファイルのダウンロード
    ● 検出処理を実装しているリポジトリのクローン & チェックアウト
    ● 設定ファイルを書き換え
    ● イメージをビルド
    ● 処理を順番に実行
    モデル開発・学習 推論・モニタリング
    通常のAI開発における単体のモデルの精度確認だけでなく、システム全体のリスク検出数への影響を実験により検証する
    必要がある
    → 大量の実データに対して変更前後の検出処理を実行し、リスク検出数の変化を比較・確認する
    変更前後で結果の比較を行いたい場合、×2
    ← 本当に全てのデータをダウンロードできていた?
    ← 間違ったバージョン使ってない?
    ← ブランチ間違ってない?
    ← 設定間違ってない?
    ← ビルド手順あってる?
    ← 順番あってる?
    結果が違うけど設定間違ってたのかも?どうやってそれを後から確認するんだっけ?

    View Slide

  58. 実データを使用した検証実験
    58
    データ収集・加工
    要件:
    ● 準備に必要な作業が多いので、それらを自動化する
    ● 実験の設定を容易に変更でき、後から確認することができる
    モデル開発・学習 推論・モニタリング

    View Slide

  59. 実データを使用した検証実験
    59
    データ収集・加工
    要件:
    ● 準備に必要な作業が多いので、それらを自動化する
    ● 実験の設定を容易に変更でき、後から確認することができる
    ● デバイス上で実行するように開発されたエッジAIをサーバーで実行できるようにする
    ● 複数の実験が同時に実行されることが想定されるため、負荷が上がっても自動でスケールアウトする
    モデル開発・学習 推論・モニタリング

    View Slide

  60. 実データを使用した検証実験
    60
    データ収集・加工
    要件:
    解決策: Kubeflow Pipelinesを使用した実験パイプラインの使用
    ● 準備に必要な作業が多いので、それらを自動化する
    → イメージのビルドなどの定型処理作業をパイプラインのタスクとして実装し自動化(属人性の排除)
    ● 実験の設定を容易に変更でき、後から確認することができる
    → Web UI上から変更。実験の履歴を保存することで後から設定値を確認できるようになる
    ● デバイス上で実行するように開発されたエッジAIをサーバーで実行できるようにする
    → エッジAIをシミュレーションするイメージの利用
    ● 複数の実験が同時に実行されることが想定されるため、負荷が上がっても自動でスケールアウトする
    → Kubeflow Pipelinesのスケーラビリティを活用
    モデル開発・学習 推論・モニタリング

    View Slide

  61. Kubeflow Pipelines
    61
    KubeflowはOSSのMLOpsフレームワーク。Kubeflow Pipelinesはそのコンポーネントの一つ
    パイプライン実行ツールはいくつか存在するものの、以下のような理由でKubeflow Pipelinesを採用
    ● k8sのスケーラビリティの恩恵を受けられる
    ● リッチなWeb UI
    特に下の理由が重要。
    実験はパラメータを一部変えたものやモデルのバージョンを変えたものを同時並行で実行するような
    ケースが多い。
    Kubeflow PipelinesのWeb UIは画面上からパラメータを変更する作業が行うことができる
    データ収集・加工 モデル開発・学習 推論・モニタリング

    View Slide

  62. Kubeflow Pipelines
    62
    データ収集・加工 モデル開発・学習 推論・モニタリング
    実験パラメータの設定 パイプラインの実行確認

    View Slide

  63. Kubeflow Pipelinesを使用した実験基盤
    63
    データ収集・加工 モデル開発・学習 推論・モニタリング
    エッジAIシミュレーションコンテナ
    前処理
    推論
    出力
    ストレージ
    エッジAIモデルによる
    推論結果を保存
    検出サーバー
    前処理
    検出
    出力
    動画データを
    ダウンロード
    センサー、GPS、エッ
    ジAI推論結果データを
    ダウンロード
    Test X
    Test Y
    ソースコードをクローン
    してビルド & デプロイ
    ソースコードをクローン
    してビルド & デプロイ
    エッジAI開発 repo
    検出AI開発 repo
    検出結果をDBに登録
    ※ エッジAIを変更したケース

    View Slide

  64. Kubeflow Pipelinesを使用した実験基盤
    64
    データ収集・加工 モデル開発・学習 推論・モニタリング
    エッジAIシミュレーションコンテナ
    前処理
    推論
    出力
    ストレージ
    エッジAIモデルによる
    推論結果を保存
    検出サーバー
    前処理
    検出
    出力
    動画データを
    ダウンロード
    センサー、GPS、エッ
    ジAI推論結果データを
    ダウンロード
    Test X
    Test Y
    ソースコードをクローン
    してビルド & デプロイ
    ソースコードをクローン
    してビルド & デプロイ
    エッジAI開発 repo
    検出AI開発 repo
    検出結果をDBに登録
    ※ エッジAIを変更したケース

    View Slide

  65. Kubeflow Pipelinesを使用した実験基盤
    65
    データ収集・加工 モデル開発・学習 推論・モニタリング
    エッジAIシミュレーションコンテナ
    前処理
    推論
    出力
    ストレージ
    エッジAIモデルによる
    推論結果を保存
    検出サーバー
    前処理
    検出
    出力
    動画データを
    ダウンロード
    センサー、GPS、エッ
    ジAI推論結果データを
    ダウンロード
    Test X
    Test Y
    ソースコードをクローン
    してビルド & デプロイ
    ソースコードをクローン
    してビルド & デプロイ
    エッジAI開発 repo
    検出AI開発 repo
    検出結果をDBに登録
    ※ エッジAIを変更したケース

    View Slide

  66. Kubeflow Pipelinesを使用した実験基盤
    66
    データ収集・加工 モデル開発・学習 推論・モニタリング
    エッジAIシミュレーションコンテナ
    前処理
    推論
    出力
    ストレージ
    エッジAIモデルによる
    推論結果を保存
    検出サーバー
    前処理
    検出
    出力
    動画データを
    ダウンロード
    センサー、GPS、エッ
    ジAI推論結果データを
    ダウンロード
    Test X
    Test Y
    ソースコードをクローン
    してビルド & デプロイ
    ソースコードをクローン
    してビルド & デプロイ
    エッジAI開発 repo
    検出AI開発 repo
    検出結果をDBに登録
    ※ エッジAIを変更したケース

    View Slide

  67. Kubeflow Pipelinesを使用した実験基盤
    67
    データ収集・加工 モデル開発・学習 推論・モニタリング
    エッジAIシミュレーションコンテナ
    前処理
    推論
    出力
    ストレージ
    エッジAIモデルによる
    推論結果を保存
    検出サーバー
    前処理
    検出
    出力
    動画データを
    ダウンロード
    センサー、GPS、エッ
    ジAI推論結果データを
    ダウンロード
    Test X
    Test Y
    ソースコードをクローン
    してビルド & デプロイ
    ソースコードをクローン
    してビルド & デプロイ
    エッジAI開発 repo
    検出AI開発 repo
    検出結果をDBに登録
    ※ エッジAIを変更したケース

    View Slide

  68. Kubeflow Pipelinesを使用した実験基盤
    68
    データ収集・加工 モデル開発・学習 推論・モニタリング
    エッジAIシミュレーションコンテナ
    前処理
    推論
    出力
    ストレージ
    エッジAIモデルによる
    推論結果を保存
    検出サーバー
    前処理
    検出
    出力
    動画データを
    ダウンロード
    センサー、GPS、エッ
    ジAI推論結果データを
    ダウンロード
    Test X
    Test Y
    ソースコードをクローン
    してビルド & デプロイ
    ソースコードをクローン
    してビルド & デプロイ
    エッジAI開発 repo
    検出AI開発 repo
    検出結果をDBに登録
    ※ エッジAIを変更したケース

    View Slide

  69. 4: 実装・学習
    69
    データ収集・加工 モデル開発・学習 推論・モニタリング

    View Slide

  70. Redashによる監視
    70
    一般的なAIプロジェクト同様、推論結果のモニタリングを行っている
    + DRIVE CHART特有の問題として、デバイスの問題(故障していないか等)も監視しておく必要がある
    監視したい項目は運用を行っていく中で常に増えていくので、
    SQLを用意すれば監視項目を追加できるため、サーバーサイドエンジニアの作業抜きで監視が開始できるのでスピーディ

    定期的にDBからBigQuery上に用意しているデータウェアハウスにデータを同期しており、
    それに対して集計処理を実行する
    データ収集・加工 モデル開発・学習 推論・モニタリング
    データ収集・加工 モデル開発・学習 推論・モニタリング
    データ同期 集計処理

    View Slide

  71. まとめ
    71
    データ収集・加工 モデル開発・学習 推論・モニタリング
    アノテーションチーム
    によるアノテーション
    データの量産
    タスクを作成
    アノテーション
    データセットを作成 アノテーションを依頼
    データセットに
    アノテーション
    情報を付与
    アノテーション管理者
    アノテーター
    CVエンジニア/データサイエ
    ンティスト

    View Slide

  72. まとめ
    72
    データ収集・加工 モデル開発・学習 推論・モニタリング
    より再現性が高まった
    実験管理基盤
    簡単かつ大規模に検証
    を行うことができる
    検証実験基盤
    実験を記録
    モデルを保存
    検証実験
    デプロイ
    学習
    テストB(変更前)
    テストA(変更後)
    アノテーション管理者
    アノテーター
    CVエンジニア/データサイエ
    ンティスト
    アノテーション済み動画データ

    View Slide

  73. まとめ
    73
    データ収集・加工 モデル開発・学習 推論・モニタリング
    データウェアハウス
    スピーディーに項目
    を追加できるモニタ
    リング基盤
    デプロイ
    推論・検出
    テストB(変更前)
    テストA(変更後)
    アノテーション管理者
    アノテーター
    CVエンジニア/データサイエ
    ンティスト
    CVエンジニア/データサイエ
    ンティスト サーバーサイドエンジニア
    監視
    監視項目の追加
    集計

    View Slide

  74. まとめ
    74
    データ収集・加工 モデル開発・学習 推論・モニタリング
    データウェアハウス
    アノテーションチーム
    によるアノテーション
    データの量産
    より再現性が高まった
    実験管理基盤
    簡単かつ大規模に検証
    を行うことができる
    検証実験基盤
    スピーディーに項目
    を追加できるモニタ
    リング基盤
    タスクを作成
    データセットを作成 アノテーションを依頼
    実験を記録
    モデルを保存
    検証実験
    デプロイ
    推論・検出
    学習
    テストB(変更前)
    テストA(変更後)
    データセットに
    アノテーション
    情報を付与
    アノテーション管理者
    アノテーター
    CVエンジニア/データサイエ
    ンティスト
    CVエンジニア/データサイエ
    ンティスト サーバーサイドエンジニア
    監視
    監視項目の追加
    集計

    View Slide

  75. 75

    View Slide