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

機械学習実用化失敗黙示録

 機械学習実用化失敗黙示録

機械学習実用化の失敗経験談

shibuiwilliam

April 20, 2022
Tweet

More Decks by shibuiwilliam

Other Decks in Programming

Transcript

  1. 自己紹介 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
  2. 機械学習を実用化するためのエンジニアリング 学習 コード 学習 データ 学習 評価 モデル レポート 推論

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

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

    評価 モデル レポート 推論 コード CI テスト データ 評価 コード CD システム A A/B テスト システム B 負荷 試験 ログ 収集 評価 データ ユニット テスト ユニット テスト 機械学習エンジニアが得意 ソフトウェアエンジニアが得意 SREが得意
  5. 機械学習黎明期に謎の機械学習システムが出来上がる コード管理 DWH CI CRD 学習 パイプライン ビルド パイプライン マイクロサービス

    CRD デプロイ パイプライン CRD 学習 クラスター サービス クラスター cron リソース コントローラ
  6. 作り直すことのエンジニアリング • 目標を立てる:チームメンバーが技術選定して小さな変更でまともな運用を目指す ◦ 独自パイプラインCRDをマネージドサービスとサーバレスに寄せる • モチベーションを作る:作ったときに存在しなかった新しい技術を取り入れる ◦ Vertex AIやMLflowの導入

    • フルスタックを目指さない:エンジニアとして今得たい技術に集中する ◦ 機械学習Kubernetesクラスターをインフラチームクラスターに移行 • 技術的負債をビジネス的に説明する:運用負荷を下げたほうが開発効率は上がる ◦ 開発vs運用工数の指標化
  7. 開発のチームワークはフェーズによって異なる 機械学習 導入開始 実用化 開発自動化 リリース 自動化 機械学習 エンジニア一人 機械学習

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