Slide 1

Slide 1 text

機械学習実用化失敗黙示録 2022/04/20 しぶい

Slide 2

Slide 2 text

自己紹介 shibui yusuke ● いろいろ → Launchable(いまここ) ● MLOpsとかいろいろエンジニア ● もともとクラウド基盤の開発、運用 ● ここ6年くらいMLOpsとバックエンドとインフラとたまに データ分析とAndroidで仕事 ● Github: @shibuiwilliam ● FB: yusuke.shibui ● Meety: https://meety.net/matches/OPJgijxiEMHE ● 最近の趣味:本の執筆と副業と ARとネコ cat : 0.55 dog: 0.45 human : 0.70 gorilla : 0.30 物体検知 2

Slide 3

Slide 3 text

MLOps勉強会を毎月開催してます! https://mlops.connpass.com/

Slide 4

Slide 4 text

ワシの失敗談は百八式まであるぞ ● 成功の裏には多くの失敗が存在する。 ● 成功しなくても多くの失敗は存在する。 ● 機械学習の実用化関係の仕事を続けてきて犯した大小の失敗のうち、 代表的な1個を説明します。

Slide 5

Slide 5 text

機械学習を実用化するためのエンジニアリング 学習 コード 学習 データ 学習 評価 モデル レポート 推論 コード CI テスト データ 評価 コード CD システム A A/B テスト システム B 負荷 試験 ログ 収集 評価 データ ユニット テスト ユニット テスト 機械学習エンジニアが得意 ソフトウェアエンジニアが得意 SREが得意

Slide 6

Slide 6 text

機械学習を実用化するためのエンジニアリング 学習 コード 学習 データ 学習 評価 モデル レポート 推論 コード CI テスト データ 評価 コード CD システム A A/B テスト システム B 負荷 試験 ログ 収集 評価 データ ユニット テスト ユニット テスト 機械学習エンジニアが得意 ソフトウェアエンジニアが得意 SREが得意 機械学習のエンジニアリングには 機械学習の知識が必要

Slide 7

Slide 7 text

0->1 フェーズのよくある失敗 全部できるスーパーエンジニアが全部作る ・・・けど作るだけで終わる 機械学習を実用化するためのエンジニアリング 学習 コード 学習 データ 学習 評価 モデル レポート 推論 コード CI テスト データ 評価 コード CD システム A A/B テスト システム B 負荷 試験 ログ 収集 評価 データ ユニット テスト ユニット テスト 機械学習エンジニアが得意 ソフトウェアエンジニアが得意 SREが得意

Slide 8

Slide 8 text

機械学習黎明期に謎の機械学習システムが出来上がる コード管理 DWH CI CRD 学習 パイプライン ビルド パイプライン マイクロサービス CRD デプロイ パイプライン CRD 学習 クラスター サービス クラスター cron リソース コントローラ

Slide 9

Slide 9 text

チームメンバー モチベーション 俺は0->1が得意! 新しいプロダクトを考 えたよ♪ どうにか運用せねば ・・・ 作った人の尻拭いは 嫌だ。無駄に複雑で 不安定だし。 作った人 PdM EM

Slide 10

Slide 10 text

作り直すことのエンジニアリング ● 目標を立てる:チームメンバーが技術選定して小さな変更でまともな運用を目指す ○ 独自パイプラインCRDをマネージドサービスとサーバレスに寄せる ● モチベーションを作る:作ったときに存在しなかった新しい技術を取り入れる ○ Vertex AIやMLflowの導入 ● フルスタックを目指さない:エンジニアとして今得たい技術に集中する ○ 機械学習Kubernetesクラスターをインフラチームクラスターに移行 ● 技術的負債をビジネス的に説明する:運用負荷を下げたほうが開発効率は上がる ○ 開発vs運用工数の指標化

Slide 11

Slide 11 text

開発のチームワークはフェーズによって異なる 機械学習 導入開始 実用化 開発自動化 リリース 自動化 機械学習 エンジニア一人 機械学習 エンジニア複数 機械学習エンジニア + バックエンドエンジニア プロダクト別・事業別 チーム 頑張れ! 一番自由な時期! 阿吽の呼吸で わいわい楽しい ♪ 軋轢が生まれ始める コード品質 vs Jupyter 各チームの独自運用 他チームはあまり知らない スーパーエンジニア レガシー企業は 実はこのステージが多い 動いてるけどメンテナンスが 難しいことが多い バックエンドエンジニアの 支援がありがたいフェーズ 素晴らしいチームワーク!

Slide 12

Slide 12 text

学び ● 作りたいものや作ってほしいものが、本当に作るべきものとは限らない。 ● 作り直しは必ず発生する。新技術を扱ったプロダクトでは特に。 ● 組織とプロダクトのフェーズによって突破志向と安定志向を使い分ける。

Slide 13

Slide 13 text

昨年出版した本の宣伝 ● AIエンジニアのための 機械学習システムデザインパターン ● 2021年5月17日発売 ● https://www.amazon.co.jp/dp/4798169447/ ● 機械学習よりもKubernetesとIstioに詳しくなれる一冊! ● Amazon.co.jp 情報学・情報科学部門  1位! 人工知能部門 1位! ● 韓国語版も発売中! ● 英語版出したい!