Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Devsumi 2021 MLOps for Self-driving car
Search
shibuiwilliam
March 15, 2022
Technology
1
130
Devsumi 2021 MLOps for Self-driving car
Devsumi 2021 自動運転を支えるMLOps
shibuiwilliam
March 15, 2022
Tweet
Share
More Decks by shibuiwilliam
See All by shibuiwilliam
生成AIのためのデータ収集とデータエンジニアリング
shibuiwilliam
3
370
LLMで推論するライブラリを整理する
shibuiwilliam
5
1.1k
生成AIの研究開発を事業につなげる データ、仕組み、コミュニケーション
shibuiwilliam
1
65
デプロイして本番システムで使うことから考えるAI
shibuiwilliam
2
570
今日からRAGを 始めることを考える
shibuiwilliam
2
1.6k
2024年生成AI新年会登壇資料
shibuiwilliam
0
300
Creative as Software Engineering
shibuiwilliam
2
620
Kubernetesクラスターを引き継ぐ技術
shibuiwilliam
3
310
機械学習システム構築実践ガイド
shibuiwilliam
1
870
Other Decks in Technology
See All in Technology
20241214_WACATE2024冬_テスト設計技法をチョット俯瞰してみよう
kzsuzuki
3
450
株式会社ログラス − エンジニア向け会社説明資料 / Loglass Comapany Deck for Engineer
loglass2019
3
32k
.NET 9 のパフォーマンス改善
nenonaninu
0
900
権威ドキュメントで振り返る2024 #年忘れセキュリティ2024
hirotomotaguchi
2
740
バクラクのドキュメント解析技術と実データにおける課題 / layerx-ccc-winter-2024
shimacos
2
1.1k
OpenAIの蒸留機能(Model Distillation)を使用して運用中のLLMのコストを削減する取り組み
pharma_x_tech
4
560
サイバー攻撃を想定したセキュリティガイドライン 策定とASM及びCNAPPの活用方法
syoshie
3
1.2k
2024年にチャレンジしたことを振り返るぞ
mitchan
0
140
LINEスキマニにおけるフロントエンド開発
lycorptech_jp
PRO
0
330
ゼロから創る横断SREチーム 挑戦と進化の軌跡
rvirus0817
2
270
継続的にアウトカムを生み出し ビジネスにつなげる、 戦略と運営に対するタイミーのQUEST(探求)
zigorou
0
540
新機能VPCリソースエンドポイント機能検証から得られた考察
duelist2020jp
0
220
Featured
See All Featured
The Language of Interfaces
destraynor
154
24k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.9k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
5
450
GraphQLの誤解/rethinking-graphql
sonatard
67
10k
Speed Design
sergeychernyshev
25
670
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
Imperfection Machines: The Place of Print at Facebook
scottboms
266
13k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
How GitHub (no longer) Works
holman
311
140k
The Invisible Side of Design
smashingmag
298
50k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.1k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
6
520
Transcript
自動運転を支えるMLOps 2021/02/18 shibui yusuke 1
自己紹介 shibui yusuke • いろいろ → メルカリ → TierIV(いまここ) •
MLOpsエンジニア • もともとクラウド基盤の開発、運用。 • ここ5年くらいMLOpsで仕事。 • Github: @shibuiwilliam • Qiita: @cvusk • FB: yusuke.shibui • 最近の趣味:本の執筆と自宅勤務改善 cat : 0.55 dog: 0.45 human : 0.70 gorilla : 0.30 物体検知 2
Developers Summit 2021 We are new normal! 3
Issue with NEW NORMAL! CatOps in work from home 放置しているとネコに
椅子を奪われる。 ネコ障害対応(餌、遊ぶ)。 「遊ぶ」を自動化する。 椅子に座っていても ハンズフリーで遊べる。 day 奪 わ れ 回 数 ハンズフリー導入 飽き始める Dev Data-driven 4
今日お伝えしたいこと • 機械学習をプロダクションで使うためのノウハウやプラクティスや 失敗談を説明します • 自社でプロダクト開発している企業で機械学習を実用化するために、 これまでやってきたことや今後やっていきたいことを含めて話します • 実世界に存在する課題を機械学習で解決する端緒になれば幸いです •
今日話さないこと:機械学習の論文やアルゴリズムや実装 5
Agenda • 自動運転は難しい • MLOpsも難しい • 自動運転 x MLOpsへの挑戦 •
おわりに 6
自動運転は難しい 7
8 • (実証実験)新宿エリアを走る 5G活用自動運転タクシー。 ティアフォーの実績
西新宿走行シーン 9 ティアフォーの実績 eve autonomy 走行シーン
滋賀県草津市 (大学キャンパス) セントレア (空港) 愛知県一宮市 (5G) 愛知県豊橋市
(テーマパーク) 東京都お台場 (臨海・観光) 神奈川県横須賀市 (リサーチパーク) 東京都江東区 (商業施設) 仙台空港 (空港) 大阪府 (鉄道車両基地) 東京都新宿区 (遠隔監視・保険) 長野県飯田市 (VR連動) 東京都三宅島 (離島・観光) 愛・地球博 記念公園 (公園) 日本郵便 (物流) エコパ (スタジアム) 山口県宇部市 (道の駅) 大津市 (道の駅) 豊田市 (道の駅) 大阪府堺市 (無線充電) 2018年下期以降に ティアフォーが支援した実証実験 10 これまでに国内で 実施した実証実験 累計実施回数 : 70回 走行場所 : 18都道府県50 市区町村 事故件数 : ゼロ (2019年末時点) 多様な地域で実証実験
自動運転のシステム(一部) Dynamic Object Traffic Light Detection Classifier Scenario Selector Control
Localization Sensing Map Data Vehicle Interface Sensors Lane Driving Parking Etc. Scenario Planning Perception Detection Tracking Prediction Mission 11
難しいその1 データ • 巨大な非構造化データの収集と管理 一日の記録 • ログ(圧縮):100GB • 解凍し画像に変換:1,000GB • 画像枚数:1,000,000枚
この中から学習に必要なデータを探す! 12
難しいその2 モデル • 学習したモデルを評価する モデル GPU データ 評価 どの環境で評価すれば production readyといえる?
テスト データで 評価 シミュレーショ ンで 評価 デバイスで 評価 実車で 評価 13
難しいその3 エンジニアリング • 信号機をどう認識する? • 地図で自車と信号機の位置を把握 • カメラ、LiDAR、センサーで周囲を 認識 • 周囲の情報をデータとして
色認識、画像認識、物体検知で 信号機と色を把握 • 実行 14
MLOpsも難しい 15
50m手前から信号機の位置と色を 99%正確に認識できるモデルがあるとする。 公道で信号機を認識するにはどう使う? 16
機械学習のシステム • ユーザから見たAI • MLエンジニアから見たML • ソフトウェアエンジニアから見た MLシステム 猫! 犬!
猫! https://papers.nips.cc/paper/5656-hidden-technical-debt-in-machine-learning-systems.pdf Accuracy 99.99% 17
機械学習を社会実装する Web + 機械学習 スマホ + 機械学習 製品 + 機械学習
+ 推論リクエスト 推論レスポンス + 推論リクエスト 推論レスポンス OR リアルタイム推論 18
MLOpsとは • 機械学習をDevOpsに則って開発、運用する手法と文化 • 機械学習はモデルを作るだけでなく、モデルを本番環境に導入して ビジネスインパクトを創出することが重要 • 本番環境で機械学習モデルを稼働させ、継続的に改善していく (CI、CD、CT)ことで価値を最大化 •
機械学習のワークフローをシステムとして開発、運用することが望ましい 19
MLOpsを会社に実装する Web企業 大企業 スタートアップ この溝を埋めるのが MLOps モデル モデル モデル 20
ML as Engineering https://papers.nips.cc/paper/5656-hidden-technical-debt-in-machine-learning-systems.pdf 21
本番システム 実験環境 ML as Engineering データ収集 データ分析 前処理 学習 評価
推論器開発 システム テスト デプロイ ABテスト 運用 外部 システム リファクタリン グとコード解 読 評価 22
システムとして考える機械学習 推論器 インターフェイ ス 前処理 推論 後処理 ↓最低限必要 赤! 23
システムとして考える機械学習 推論器 インターフェイ ス ログ 学習 評価 モデル 管理 レポジトリ
運用監視 推論 イメージ スト レージ CI 前処理 推論 後処理 BI → 機械学習で DevOpsを 回すために必要 ↓最低限必要 24
学習のためのシステム データ取得 前処理 学習 評価 ビルド DWH ストレージ テストデータ アーティファクト
管理 Image builder Docker registry Docker registry パラメータ チューニング PROJECT - project_id - project_name - description MODEL - model_id - project_id - model_name - description EXPERIMENT - experiment_id - model_id - algorithm - parameters - metrics - evaluations - artifacts 25
学習環境と推論環境 データ取得 前処理 学習 評価 Local server Library 学習環境のみ -
Jupyter Notebook - バッチ学習用のライブラリ (例:PyTorch、TensorFlow、Keras) - バッチ学習用のインフラ( GPUとか) - データ・モデルバージョニングツール 両環境に共通 - モデルファイル - 前処理で使うライブラリ (例:Sklearn、OpenCV、Mecab、Tensorflow) - 入出力のデータ型と形 推論環境のみ - 推論用のライブラリ 例:ONNX Runtime, TF Serving、 TF Lite、TensorRT・・・。 - 推論用のインフラ 例:CPU, GPU, FPGA, NNAPI, MetalAPI - ランタイムと外部インターフェイス - ロガーとモニタリングツール infrastructure Runtime Model 入力 前処理 推論 出力 26
ソフトウェアエンジニアリングとモデル開発 • ソフトウェア開発ではプログラムを通してロジックをテストする • 機械学習ではコードを通してデータで確率をテストする 入力 正解 出力 assert 指標
推論 evaluate YES or NO 0 ~ 1 ソフトウェア開発のテスト 機械学習のテスト モデル 関数 関数 テスト通過率:95/100 Accuracy:99% Precision:95% Recall:60% 27
ソフトウェアエンジニアリングとモデル開発 • ソフトウェア開発ではプログラムを通してロジックをテストする • 機械学習ではコードを通してデータで確率をテストする 入力 正解 出力 assert 指標
推論 evaluate YES or NO 0 ~ 1 ソフトウェア開発のテスト 機械学習のテスト モデル 関数 関数 機械学習を実行するための プログラムのテストが 足りていない。 28
ソフトウェアエンジニアリングとモデル開発 • CIとしてコードとモデルを推論環境にインストールしてテストする モデル 管理 レポジトリ 実行環境 • CI環境を起動 •
推論用イメージをPull • レポジトリからコードを checkout • モデルをダウンロード • プログラムのテスト • モデルの稼働テスト • 推論テスト • CI終了 model development application development • (モデルのビルド) モデルが取得・導入可能 であることを確認 ソースコードのテスト コードからモデルを ロードできることを検証 コードから推論を検証 +負荷テスト +プロファイル +脆弱性診断 +外れ値検知・・・ テスト 管理 29
システム作ったッ! MLOps完! ・・・とはならない 30
自動運転 x MLOpsへの挑戦 31
NEW NORMAL WORK-FROM-HOME! • 課題: Work-from-homeでリアルタイムな コミュニケーションの機会損失 • 解決策: 端末とディスプレイを増やして
コミュニケーション機会の損失防止 • 結果: bluetoothがどの端末に接続しているか わからなくなった 32
自動運転における機械学習 • 並列・多段階の認識プロセスが稼働 信号機を検知し、色を判別 歩行者を検知し、 移動方向や行動を判別 道路の範囲を セグメンテーション 20m 33
信号認識 • 物体検知、画像認識、色認識の組み合わせ 信号機を検知し、色を判別 20m 物体検知 画像認識 色認識 前処理 地図
→赤! 34
信号認識 • 確率的な処理の信頼性を上げる(漏れをなくす)にはデータが必要 物体検知 画像認識 色認識 前処理 地図 →赤! 入力データと
モデルに依存 機械学習 ではないけど 確率的 確率的 確率的 ルールベース 本当に? 35
天気との戦い 信号? 信号? 36
天気との戦い うおっまぶしっ 37
変化との戦い 消えた信号 38
信号機以外との戦い 信号? 信号? 信号? 39
クラウド 自動運転におけるMLOps 自動車 実験環境 データ収集 組み込み システム テスト 組み込み 実証実験
リファクタリン グとコード解 読 データ分析 前処理 学習 評価 評価 コンパイル 最初重要だと 思った箇所 実は最も 重要な課題 40
データは21世紀の石油=発掘作業が必要 一日の記録 • ログ(圧縮):100GB • 解凍し画像に変換:1,000GB • 画像枚数:1,000,000枚 この中から学習に必要なデータを探す! 41
データは21世紀の石油=発掘作業が必要 1GB 2GB right camera left camera 42
データからワークフローを考える CI データ収 集 データ 管理 データ検 索 学習 モデル
単体テスト システムテスト 43
おわりに 44
おわりに • 実世界の課題を機械学習で解決するには機械学習以外の工夫が必要 • 組織やドメイン固有の課題 ↔ データとワークフロー • 課題とデータを常にアップデートし追随する 45
宣伝 2021年5月に翔泳社から MLOps本を出版します! 46 表紙(作成中)
© 2020 Tier IV, Inc. 47 2021