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. 機械学習実用化失敗黙示録
    2022/04/20 しぶい

    View full-size slide

  2. 自己紹介
    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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide