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

【3/3】GMOペパボ機械学習研修2022 資料 3日目 (全3日間)

watasan
August 19, 2022

【3/3】GMOペパボ機械学習研修2022 資料 3日目 (全3日間)

GMOペパボの新卒エンジニア向けに実施した機械学習研修の資料です。全3日間のうち3日目の資料です。

本資料中で示している機械学習とサービス連携事例紹介の資料は以下にあります。

BigQuery の日本語データを Dataflow と Vertex AI でトピックモデリング
https://speakerdeck.com/zaimy/topic-modeling-of-japanese-data-in-bigquery-with-dataflow-and-vertex-ai

他の日の資料は以下です。
1日目の資料
https://speakerdeck.com/ae14watanabe/3-gmopepaboji-jie-xue-xi-yan-xiu-2022-zi-liao-fd3f37c8-39c9-4e53-b622-724e9881bc33

2日目の資料
https://speakerdeck.com/ae14watanabe/3-gmopepaboji-jie-xue-xi-yan-xiu-2022-zi-liao

3日間の資料のpdf版は以下にも置いています。
https://github.com/pepabo/training/tree/master/data-and-machine-learning/2022/machine_learning

watasan

August 19, 2022
Tweet

More Decks by watasan

Other Decks in Programming

Transcript

  1. 1
    機械学習研修Day3
    (ハンズオン・事例紹介)
    酒井 敏彦, 渡辺 龍二 / ペパボ研究所
    2022.08.04 機械学習研修

    View Slide

  2. 2
    1. 研修のおさらい(数分)
    2. ハンズオン(105 min)
    3. ペパボでのサービス連携事例紹介(50 min)
    4. 学んだことを各自まとめる(15 min)
    Day3の流れ

    View Slide

  3. 3
    ガイダンス|研修の目的
    機械学習研修の目的はこれだ!
    サービス価値の向上のために「再帰化」を実現する上で、
    実装手段として機械学習を検討できるようになる。
    • 目的の背景:ペパボのエンジニアとして機械学習を学ぶ動機は、
             機械学習を「再帰化」の実現アプローチとして利用することにある
    • サービス価値の向上において「再帰化」は重要な考え方[栗林2022]
    • 「再帰化 ≠ 機械学習の利用」であることを理解して
    再帰化を実現するために機械学習の利用するか否かを判断できることを目指す
    [栗林2022] GMOペパボが考えるこれからのサービス開発(p.10より引用)
    https://speakerdeck.com/kentaro/toward-the-next-service-development-era?slide=10

    View Slide

  4. 4
    研修についてのおさらい|カリキュラム
    研修目的を達成するために以下のカリキュラムを設定しています!
    サービス価値の向上のために「再帰化」を実現する上で、
    実装手段として機械学習を検討できるようになる。
    研修の目的
    ゴール 実施内容
    Day1
    機械学習とは何か、
    自分の言葉で説明できる
    - 機械学習イントロダクション(座学)
    - Machine Learning Crash Course
    (ハンズオン)
    Day2
    再帰化を実現するために、
    機械学習をどう活用できるか
    イメージできる
    - Machine Learning Crash Course
    (ハンズオン)
    - 再帰化と機械学習(座学)
    Day3
    サービスの実課題を
    機械学習で解決する
    一連の流れの例を挙げられる
    - Machine Learning Crash Course
    (ハンズオン)
    - 機械学習のサービス連携事例紹介(座学)

    View Slide

  5. 5
    1. 研修のおさらい(数分)
    2. ハンズオン(105 min)
    3. 機械学習とサービスの連携事例紹介(50 min)
    4. 学んだことを各自まとめる(15 min)
    Day3の流れ

    View Slide

  6. 6
    • Machine Learning Crash Course
    • 今日進めて欲しい単元
    • Classification (75min)
    • Video Lectureと
    ROC Curve and AUCは
    飛ばして大丈夫です
    • 時間が余ったときに進めて欲しい単元
    • Representation
    • Feature Crosses
    • Regularization: Simplicity
    ハンズオンを引き続きやっていきましょう!
    ハンズオン

    View Slide

  7. 7
    • ハンズオン資料は英語です
    • はぁ?どゆこと?となったらすぐに聞いてください!
    • 動画は飛ばしてください!
    • 休憩を適宜取ってください
    • 早く終わった場合はどんどん先に進んで大丈夫です!
    進める上での注意点
    Let’s ハンズオン

    View Slide

  8. 8
    1. 研修のおさらい(数分)
    2. ハンズオン(105 min)
    3. 機械学習とサービスの連携事例紹介(50 min)
    4. 学んだことを各自まとめる(15 min)
    Day3の流れ

    View Slide

  9. 9
    機械学習とサービスの連携事例紹介
    渡辺 龍二, 財津 大夏, 酒井 敏彦
    2022.08.04 機械学習研修 Day3

    View Slide

  10. 10
    A. イントロダクション
    B. 機械学習のサービスへの導入
    C. サービスにとって有用な「関数」についての検討
    アジェンダ

    View Slide

  11. 11
    サービスと機械学習を連携するために、次のステップを踏む必要がある(※超大雑把)
    イントロダクション
    1) サービスのビジネス的な背景から
    サービスにとって有益な「関数」を定める
    2) 関数をデータから実際に獲得する
    3) 関数をサービスに導入する

    View Slide

  12. 12
    ここまでCrash courseでやってきたのは 2)の部分
    イントロダクション
    1) サービスのビジネス的な背景から
    サービスにとって有益な「関数」を定める
    2) 関数をデータから実際に獲得する
    3) 関数をサービスに導入する
    この理論的背景を
    しっかり学んできたのが
    ここまでの本研修!

    View Slide

  13. 13
    Day3ではこの全体を知るために…
    イントロダクション
    1) サービスのビジネス的な背景から
    サービスにとって有益な「関数」を定める
    2) 関数をデータから実際に獲得する
    3) 関数をサービスに導入する

    View Slide

  14. 14
    今から以下の2つについて一緒に考えていく!
    イントロダクション
    1) サービスのビジネス的な背景から
    サービスにとって有益な「関数」を定める
    2) 関数をデータから実際に獲得する
    3) 関数をサービスに導入する

    View Slide

  15. 15
    A. イントロダクション(by 渡辺)
    B. 機械学習のサービスへの導入
    a. イントロダクション(by 渡辺)
    b. 実際の導入事例(by 財津)
    C. サービスにとって有用な「関数」についての検討
    a. イントロダクション(by 渡辺)
    b. ビジネス課題から考える機械学習の適用(by 酒井)
    Day3座学のアジェンダ

    View Slide

  16. 16
    関数f(学習済みの機械学習のモデル)が既にあるとする
    B. 機械学習のサービスへの導入|イントロ「何を考える必要がある?」
    関数f
    学習済みの
    機械学習モデル

    View Slide

  17. 17
    この関数fを「サービスと連携する」とは、どういうことかを考えていく
    B. 機械学習のサービスへの導入|イントロ「何を考える必要がある?」
    関数f
    学習済みの
    機械学習モデル
    サービス

    View Slide

  18. 18
    連携の例:予測APIを立て、必要な予測結果を逐次的に得るために通信する
    B. 機械学習のサービスへの導入|イントロ「何を考える必要がある?」
    予測結果を返す
    (レスポンス)
    関数f
    学習済みの
    機械学習モデル
    予測API サービス
    デプロイ
    する
    予測結果が欲しい
    入力を提示する
    (リクエスト)
    :オブジェクト :一度しか実施しない処理
    :繰り返し行われる処理

    View Slide

  19. 19
    モデルが学習される過程まで含めると以下のようになる(再帰化…!)
    B. 機械学習のサービスへの導入|イントロ「何を考える必要がある?」

    特徴量と
    ラベルを
    抽出する
    関数f
    機械学習モデル
    予測API サービス

    デプロイ
    する
    ③ 送る
    ログ 学習データ
    予測結果を返す
    (レスポンス)
    ① ログを送る
    予測結果が欲しい
    入力を提示する
    (リクエスト)
    ④ 学習する
    :オブジェクト :一度しか実施しない処理
    :繰り返し行われる処理

    View Slide


  20. 特徴量と
    ラベルを
    抽出する
    AutoML
    20
    ペパボで利用している技術スタックによる1つの構築例は以下のようになる
    B. 機械学習のサービスへの導入|イントロ「何を考える必要がある?」
    関数f
    機械学習モデル
    予測API サービス

    デプロイ
    する
    ④ 送る
    ① ログを送る
    ログ
    BigQuery
    学習データ
    Cloud Storage
    ③ 要求する
    予測結果が欲しい
    入力を提示する
    (リクエスト)
    予測結果を返す
    (レスポンス)
    ⑤ 学習する
    :利用するサービス
    :オブジェクト
    :一度しか実施しない処理
    :繰り返し行われる処理

    View Slide

  21. デプロイ
    する
    21
    さらに、このループを繰り返し関数fを定期的に更新できるとより良さそう
    (もっと再帰化…!)
    B. 機械学習のサービスへの導入|イントロ「何を考える必要がある?」
    追加ログの
    特徴量と
    ラベルを
    抽出する
    関数f
    機械学習モデル
    予測API サービス
    送る
    ログを追加する
    ログ
    予測結果が欲しい
    入力を提示する
    (リクエスト)
    予測結果を返す
    (レスポンス)
    学習データ
    学習する
    :オブジェクト :繰り返し行われる処理

    View Slide

  22. 22
    ※その都度、入力を1つ受け取り予測結果を返すものはオンライン予測と呼ばれる
    高速化のために、予測結果をバッファしておくようなことも考えられる(バッチ予測)
    B. 機械学習のサービスへの導入|イントロ「何を考える必要がある?」
    関数f
    学習済みの
    機械学習モデル
    バッチ予測
    API
    サービス
    デプロイ
    する
    予測結果が欲しい
    単一の入力を提示する
    (リクエスト)
    単一予測結果を返す
    (レスポンス)
    予測結果
    DB
    複数の入力を提示
    (リクエスト)
    複数の予測結果を返す
    (レスポンス)
    以下のような場合の対応として、バッチ予測が考えられる
    • 予測の対象や結果が一定期間変わらないと見なせ、都度予測するとコスパが悪い
    • 予測に計算コストがかかり、レスポンスが低速
    定期的に実行する

    View Slide

  23. 23
    • 発表タイトル:BigQuery の日本語データを
    Dataflow と Vertex AI でトピックモデリング
    • ペパボとZOZOの勉強会で発表された内容です
    より詳しい機械学習のサービス導入事例を見ていきましょう!
    B. 機械学習のサービスへの導入|具体的な導入事例
    BigQuery の日本語データを Dataflow と Vertex AI でトピックモデリング
    https://speakerdeck.com/zaimy/topic-modeling-of-japanese-data-in-bigquery-with-dataflow-and-vertex-ai

    View Slide

  24. 24
    A. イントロダクション(by 渡辺)
    B. 機械学習のサービスへの導入
    a. イントロダクション(by 渡辺)
    b. 実際の導入事例(by 財津)
    C. サービスにとって有用な「関数」についての検討
    a. イントロダクション(by 渡辺)
    b. ビジネス課題から考える機械学習の適用(by 酒井)
    Day3座学のアジェンダ

    View Slide

  25. 25
    ● そもそも、サービス価値向上のために「機械学習」を適用し再帰化したい
    ● そのために考えなければいけないことは何か?
    ○ サービスの課題を解決することに寄与する関数とはどういうものか?
    ■ 機械学習のターゲットとなる「関数」がサービスにとって無価値ならやる意味がない
    そもそも、機械学習で得る「関数」ってどんなものが良いんだろう…?
    C. サービスにとって有用な関数についての検討|イントロ

    View Slide

  26. 26
    • 発表トピック:minneの作品における「特徴ラベル」の自動付与の試み
    • 2022年度 情報処理学会関西支部 支部大会(9月に開催予定)にて発表予定の内容です
    ※資料のオンライン公開は後日になります
    実際の事例として酒井さんの取り組みを見ていきましょう!
    C. サービスにとって有用な関数についての検討|イントロ

    View Slide

  27. 27
    1. 研修のおさらい(数分)
    2. ハンズオン(105 min)
    3. 機械学習とサービスの連携事例紹介(50 min)
    4. 学んだことを各自まとめる(15 min)
    Day3の流れ

    View Slide

  28. • Day3のゴール「サービスの実課題を機械学習で解決する一連の流れの例を挙げられる」を
    達成できそうでしょうか…?
    • ぜひ以下のことをまとめてみてください〜!
    • 学んだこと、難しかったこと、考えたこと、思ったことなど
    28
    Day3 クロージング
    今日学んだことのまとめ・アウトプットの時間にします〜

    View Slide