$30 off During Our Annual Pro Sale. View Details »

MLOps のはじめかた

MLOps のはじめかた

第30回 MLOps 勉強会の発表資料です。Money Forward でのこれまでの取り組みについて、振り返った内容を共有します。

Asei Sugiyama

April 12, 2023
Tweet

More Decks by Asei Sugiyama

Other Decks in Technology

Transcript

  1. MLOps のはじめかた
    Asei Sugiyama

    View Slide

  2. 自己紹介
    杉山 阿聖 (@K_Ryuichirou)
    Software Engineer @ Citadel AI
    Advisor @ Money Forward
    Google Cloud Innovators Champion @ Cloud
    AI/ML
    MLSE 機械学習オペレーション WG
    機械学習図鑑 共著

    View Slide

  3. 背景
    機械学習は未だ日進月歩
    Foundation Model 登場以降の動きは凄まじい
    さまざまな機械学習の運用に関する事例も出てきている
    一方、これから始める組織も数多くある
    その場合、出てくる事例は最初に参考とするには難しすぎる

    View Slide

  4. 最近の例 NTT Docomo
    分析用基盤に papermil &
    Airflow
    スケーラビリティを
    Kubernetes で確保
    費用と運用負荷から考えて
    はじめた直後にはオススメ
    できない
    たった3人で運用するドコモを支える機械学習基盤の作り方 ー Kubernates ×
    Airflow × DataRobot を使ったMLOpsパイプライン ー - ENGINEERING BLOG
    ドコモ開発者ブログ https://nttdocomo-developers.jp/entry/202212191200_2

    View Slide

  5. 主旨
    機械学習を運用し始めるための技術的な取り組みについて、Money
    Forward でのこれまでの活動を振り返りつつ共有します

    View Slide

  6. まとめ
    Money Forward のこれまでの MLOps に関する取り組みを振り返り
    re:Invent で発表した Inferentia に取り組みへ至るまでには複数の取り組
    みがあった
    堅牢なものを時間をかけて目指すのではなく、小さくはじめて少しずつ
    ステップアップするほうが良い
    自分たちのスキルセットとマッチする技術を選ぶことは大事

    View Slide

  7. TOC
    これまでの歩み <-
    はじめての機械学習パイプラインの構築
    これまでのふりかえり

    View Slide

  8. これまでの歩み
    次の3つが大きなイベント
    AI 推進部設立
    Step Functions による機械学習パイプライン構築
    AWS Inferentia を用いた推論API開発

    View Slide

  9. AI 推進部設立
    2名からスタート
    担当者の Note 記事
    採用がすごい速度で進
    んでいった
    AI推進部って何だ?|Tatsuya Kono|note
    https://note.com/tatsuyakono/n/n305d8d614f16

    View Slide

  10. Step Functions による機械学習
    パイプライン構築
    AWS Step Functions で機械学習
    パイプラインを構築
    当時の新機能を用いて、カナリ
    アリリースを実装
    StepFunctionsを使ってSageMakerエンドポイントのデプロイを実行する - Money
    Forward Developers Blog https://moneyforward-
    dev.jp/entry/2021/11/16/stepfunctions-sagemaker-endpoint-deploy/

    View Slide

  11. AWS Inferentia を用いた推論
    API開発
    チャットボット用機械学習
    基盤の新基盤への移行
    ユーザーに学習、推論の機
    能を開放
    短期間 (2ヶ月) で実施
    AWS re:Invent 2022 - How four customers reduced ML inference costs and
    drove innovation (CMP226) - YouTube https://youtu.be/dVlNobmvoTg?
    t=1073

    View Slide

  12. Money Forward Techbook
    #5
    Inferentia を含めたさまざまな推
    論環境でのベンチマークが記さ
    れている
    Money Forward Techbook #5:まねふぉ執筆部
    https://techbookfest.org/product/6NXreHXRLLWVPx9g4DRTsZ?
    productVariantID=pWr6n1KxikP4g9YC2uqTyj

    View Slide

  13. これまでの歩みを振り返って
    最初は「MLOpsってなんですか?」から始まっていた
    DevOps との違いは?
    ML 特有な問題は?
    HiTTO では超短期間で高負荷に耐えるサービス基盤を作成しているが、
    それまでの経験の上に成り立っている

    View Slide

  14. 次のポイントを移行で重点的にふりかえり
    初期のチームビルディングでどのような議論をしたか?
    どのように技術選定を行ったのか?

    View Slide

  15. TOC
    これまでの歩み
    はじめての機械学習パイプラインの構築 <-
    これまでのふりかえり

    View Slide

  16. はじめての機械学習パイプラインの構築
    勉強会
    読書会
    機械学習パイプラインの構築

    View Slide

  17. 勉強会
    MLOpsや機械学習の一般論について情報提供
    テーマを決めて1時間で実施
    月1ペースで実施

    View Slide

  18. View Slide

  19. 読書会
    MLOps に関する書籍を用いて週1ペースで読書会
    i. Introducing MLOps
    ii. 入門 機械学習パイプライン
    該当箇所の内容の確認と、業務適用についての議論

    View Slide

  20. Introducing MLOps
    MLOps に関連する概念を実装に
    依存しないように述べた書籍
    広く MLOps について調べたい
    ときには良い
    実際に自分たちの現場に適用し
    ようとすると迷う
    Introducing MLOps https://www.oreilly.com/library/view/introducing-
    mlops/9781492083283/

    View Slide

  21. 入門 機械学習パイプライン
    TFX (TensorFlow Extended) に
    基づいて機械学習パイプライン
    の実装方法について述べた書籍
    具体的な実装方法について述べ
    ているので業務をイメージしや
    すい
    TensorFlow や Google Cloud を
    前提としているので癖は強い
    入門 機械学習パイプライン https://www.oreilly.co.jp/books/9784873119519/

    View Slide

  22. 読書会での議論内容 (1/2)
    本当にこれやる?
    モデルの精度評価に基づくデプロイって必要?
    Fairness とか今やる?
    本当にこれ使う?
    TFX 使う?
    Kubeflow Pipelines 使う?
    TF Serving 使う?

    View Slide

  23. 読書会での議論内容 (2/2)
    自分たちのスキルセットと照らし合わせたときに、それらのプラクティ
    スや技術を採用すべきか議論
    大概の場合は「最初はスキップしたほうがいい」「やめたほうが良い」
    と答えた

    View Slide

  24. 機械学習パイプラインの構築
    AWS Step Functions による構築
    AWS のサービスの中でもっとも
    ミニマムに構築できるサービス
    だった
    アップデートがあり、AWS のほ
    ぼすべての機能を使えるように
    なった
    StepFunctionsを使ってSageMakerエンドポイントのデプロイを実行する - Money
    Forward Developers Blog https://moneyforward-
    dev.jp/entry/2021/11/16/stepfunctions-sagemaker-endpoint-deploy/

    View Slide

  25. TOC
    これまでの歩み
    はじめての機械学習パイプラインの構築
    これまでのふりかえり <-

    View Slide

  26. これまでのふりかえり
    技術選定に際しての考慮事項
    構築したあとで直面した課題
    もしもう一度始めるならば

    View Slide

  27. 技術選定に際しての考慮事項
    自分たちのスキルセットとマッチする技術を選ぶことは大事
    MLOps だからという理由で新しい技術に手を出すと痛い目を見る
    困難に直面した際に頼れる先があることは大事
    サポート
    コミュニティ

    View Slide

  28. 構築したあとで直面した課題 (1/2)
    ML 特有の事情で困ったこと
    結構 ML 特有の事情で困るので、それ以外の箇所で困らないようにして
    おくのが理想
    HW の制約上、典型的なサーバレス用サービスを活用できない (Fargate
    ではなく EC2 が必要)
    自然言語処理で想定していなかった入力が与えられ緊急対応

    View Slide

  29. 構築したあとで直面した課題 (2/2)
    ステークホルダーが多様になる点は注意が必要
    データの利用についての価値観の差異
    セキュリティを保ちたいチーム
    データを利用したいチーム
    きれいなワークフローを構築してからリリースしたいものの、最初のリ
    リースではさまざまな事情で難しい
    事前の期待とマッチしない場合の対応も大変 (思っていたほど使われな
    い、思っていた精度が出ない、など)

    View Slide

  30. もしもう一度始めるならば
    最初のリリースはミニマムに始められるよう注力する
    想定外のことや未知の課題に直面することが不可避
    堅牢なものを時間をかけて目指すのではなく、小さくはじめて少しずつ
    ステップアップするほうが良い

    View Slide

  31. まとめ
    Money Forward のこれまでの MLOps に関する取り組みを振り返り
    re:Invent で発表した Inferentia に取り組みへ至るまでには複数の取り組
    みがあった
    堅牢なものを時間をかけて目指すのではなく、小さくはじめて少しずつ
    ステップアップするほうが良い
    自分たちのスキルセットとマッチする技術を選ぶことは大事

    View Slide