Slide 1

Slide 1 text

MLOps のはじめかた Asei Sugiyama

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

No content

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

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

Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

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

Slide 28

Slide 28 text

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

Slide 29

Slide 29 text

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

Slide 30

Slide 30 text

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

Slide 31

Slide 31 text

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