Slide 1

Slide 1 text

Introduction to Practical Machine Learning Asei Sugiyama

Slide 2

Slide 2 text

⽬的 機械学習を実⽤するにあたり必要になった、機械学習アルゴリズム以外 の知識を共有します

Slide 3

Slide 3 text

要旨 機械学習アルゴリズム以外にも Human in the Loop なサービス設計, Experimental Design (実験デザイン), Data Processing, Data Management に関するスキルが必要 必然的にチーム戦になるものの ML は複雑なため DevOps との対⽴が⽣ じる、MLOps はこの対⽴を解消する試みの総称 機械学習にいきなり⾶びつくのではなく、そこまでの段階を計画 ⼈から継続的にフィードバックを受けられる Human in the Loop な仕組 みを構築することが重要

Slide 4

Slide 4 text

TOC Data Science for Software Engineers <- Introduction to MLOps Human in the Loop Recap Appendix

Slide 5

Slide 5 text

Data Science for Software Engineers データを⽤いて取り組むタスクには、記述・予測・因果推論がある 機械学習は、収集されたデータセットをもとにした観察研究と位置づけ られる 集めたデータの品質はデータの収集・集計で決まる 交絡の制御は実験デザインで⾏う 介⼊効果の推定には A/B テスト (ランダム化⽐較試験) が必要

Slide 6

Slide 6 text

TOC Types of Machine Learning Tasks Types of Data Science Tasks Types of Studies Clinical Research vs Social Epidemiology Hard Problems of Data Science Recap

Slide 7

Slide 7 text

Types of Machine Learning Tasks Types 教師あり 教師なし 強化学習 コードだけではなく、コードとデータが振る 舞いを決める 有賀 康顕, 中⼭ ⼼太, ⻄林 孝著「仕事ではじめる機械学習 第2版」 オライリー・ジャパン 2021年 https://www.oreilly.co.jp/books/9784873119472/

Slide 8

Slide 8 text

Types of Data Science Tasks Types 記述 予測 因果推論 画像認識は記述 機械翻訳は予測 + 探索 マーケティングの効果の推定は因果推論 因果推論はデータだけでは困難 (後述) Miguel A. Hernán, John Hsu & Brian Healy (2019) A Second Chance to Get Causal Inference Right: A Classification of Data Science Tasks, CHANCE, 321, 42-49, DOI: 10.1080/09332480.2019.1579578

Slide 9

Slide 9 text

Types of Studies (1/3) 観察研究 記述研究 分析研究 横断研究 縦断研究 介⼊研究 系統的メタアナリシス 佐々⽊ 敏 著 2018年度夏学期「疫学研究と実践」 第1回講義資料 p.8 http://www.nutrepi.m.u-tokyo.ac.jp/lecture/180406SPH.pdf

Slide 10

Slide 10 text

Types of Studies (2/3) 分析研究: ⼤規模な調査を⾏ ってデータを収集し、集計 を⾏って変化を追跡 機械学習モデルの訓練は基 本的に観察研究 オフラインのデータセット を⽤いる場合、⾏っている のは分析研究 佐々⽊ 敏 著 2018年度夏学期「疫学研究と実践」 第1回講義資料 p.8 http://www.nutrepi.m.u-tokyo.ac.jp/lecture/180406SPH.pdf

Slide 11

Slide 11 text

Types of Studies (3/3) 機械学習の効果測定には、 介⼊研究 (A/B テスト) が必 要 機械学習は関連・原因の仮 説⽴案を楽にするもの 機械学習の効果は未知、あ くまでも予測 (Uplift modeling でも同じ) 佐々⽊ 敏 著 2018年度夏学期「疫学研究と実践」 第1回講義資料 p.8 http://www.nutrepi.m.u-tokyo.ac.jp/lecture/180406SPH.pdf

Slide 12

Slide 12 text

相関 ≠ 因果 ⼈出が多いと列⾞ の本数は多い ⼈出が少ないと列 ⾞の本数は少ない 列⾞の本数を減ら しても⼈出は減ら ない 「【速報】減便の⼭⼿線など あすは通常ダイヤに JR東⽇本 などの混雑を受けて(NHKニュース)」 - Twitter https://twitter.com/livedoornews/status/1390167796340776 s=20

Slide 13

Slide 13 text

Clinical Research vs Social Epidemiology (1/3) 疫学の次の 2 つの分野を取り上げる 臨床試験 特定の疾患をもつ患者に対する特定の治療効果の推定 狭い対象領域であっても社会的な意義につながることがある 公衆栄養学 ⽣活習慣や⾷⽂化の健康に及ぼす影響を知る 広く改善を⾏うことが社会的な意義につながる 重症患者に対する効果的な栄養補給はここでは臨床試験に含める

Slide 14

Slide 14 text

Clinical Research vs Social Epidemiology (2/3) 公衆栄養学のほうがはっきりとした結論にな りにくい 「重度の糖尿病患者」よりも「⽇々の⽣活を 健康的に過ごしている成⼈(20 歳〜70 歳)」 のほうが多様 多様な患者に対する介⼊ははっきりとした効 果が出にくい 対照群の設定 (着⽬する集団の定義) が重要 佐々⽊ 敏 著「佐々⽊敏の栄養データはこう読む! 第2版」 ⼥⼦栄養⼤学出版部 2020年 https://eiyo21.com/book/9784789554596/

Slide 15

Slide 15 text

Clinical Research vs Social Epidemiology (3/3) ⼀定期間経過後の⽣存/死亡よりも、⼀⽇の総 摂取塩分のほうが測定困難 前者は公的に収集する仕組みがある、後者は 2 ⽇間 (24h x 2) の尿中⾷塩量から測定 ⼀⼈ひとりに「丁寧にお願い」するデータの 品質向上が必要 データの測定⽅法に注意が必要 佐々⽊ 敏 著「佐々⽊敏の栄養データはこう読む! 第2版」 ⼥⼦栄養⼤学出版部 2020年 https://eiyo21.com/book/9784789554596/

Slide 16

Slide 16 text

Hard Problems of Data Science 交絡 因果推論の根本問題 image from Why Metaflow - Metaflow

Slide 17

Slide 17 text

交絡 集めたデータに交絡がない ことは保証できない 後から調整する場合でも、 収集していない特徴に基づ く調整はできない 交絡の制御は集計対象と集 計⽅法の設計が必要 京都⼤学 ⼤学院医学研究科 聴講コース 臨床研究者のための⽣物統計学「交絡と その調整」佐藤 俊哉(医学研究科教授) - YouTube https://youtu.be/ybdkQFEdCPM

Slide 18

Slide 18 text

因果推論の根本問題 反事実そのものは観測する ことができない データから介⼊効果の推定 するためには検証困難な仮 定が必要 介⼊効果の推定にはランダ ム化⽐較試験 (A/B テスト) が必要 因果探索⼊⾨ (2/4). 清⽔昌平 (滋賀⼤学データサイエンス学系) - YouTube https://youtu.be/qP2hgkd5ohk

Slide 19

Slide 19 text

Recap データを⽤いて取り組むタスクには、記述・予測・因果推論がある 機械学習は、収集されたデータセットをもとにした観察研究と位置づけ られる 集めたデータの品質はデータの収集・集計で決まる 交絡の制御は実験デザインで⾏う 介⼊効果の推定には A/B テスト (ランダム化⽐較試験) が必要

Slide 20

Slide 20 text

TOC Data Science for Software Engineers Introduction to MLOps <- Human in the Loop Recap Appendix

Slide 21

Slide 21 text

Introduction to MLOps MLOps: ML と DevOps の対⽴の解消 バージョン管理の対象はコード + データ (IaC + データ管理) DevOps に加えて次の 4 つの分野のスキルが必要 Human in the Loop なサービス設計 Experimental Design Data Management Data Processing

Slide 22

Slide 22 text

ToC What is the MLOps? Why MLOps? MLOps Team Roles and Responsibilities Additional Skill sets for MLOps

Slide 23

Slide 23 text

What is the MLOps? Google Cloud のドキュメントより引⽤ MLOps は、ML システム開発(Dev)と ML システム オペレーション (Ops)の統合を⽬的とする ML エンジニアリングの⽂化と⼿法です。 MLOps を実践すると、統合、テスト、リリース、デプロイ、インフラ ストラクチャ管理など、ML システム構築のすべてのステップで⾃動化 とモニタリングを推進できます。 ざっくりと DevOps + ML なものの、CI/CD に Continuous Training が 加わる点は異なる MLOps: 機械学習における継続的デリバリーと⾃動化のパイプライン - Google Cloud https://cloud.google.com/architecture/mlops-continuous-delivery-and- automation-pipelines-in-machine-learning

Slide 24

Slide 24 text

Continuous Training 機械学習モデルの訓練・デ プロイを⾃動化 コード だけでなくデータの バージョン管理が必要 時系列データではデプロイ の基準を決めやすい (とりあ えず最新が可能) MLOps: 機械学習における継続的デリバリーと⾃動化のパイプライン - Google Cloud https://cloud.google.com/architecture/mlops-continuous-delivery- and-automation-pipelines-in-machine-learning

Slide 25

Slide 25 text

Why MLOps? Why DevOps? Machine Learning vs DevOps Machine Learning vs Product Management MLOps: Defeat conflicts to provide values

Slide 26

Slide 26 text

Why DevOps? (1/2) Dev vs Ops Dev: 顧客に新しい価値を早く提供し たい、多少不安定になるかもしれな いが運⽤が頑張れば良い Ops: 顧客に安定的に価値を提供した い、新機能の追加で不安定になるこ とは受け⼊れられない 10+ Deploys Per Day: Dev and Ops Cooperation at Flickr - Slideshare https://www.slideshare.net/jallspaw/10-deploys-per-day-dev-and-ops-cooperation-at-flickr

Slide 27

Slide 27 text

Why DevOps? (2/2) Dev vs Ops から Dev & Ops に移⾏ しようという提案 (2008) 「顧客に価値をすばやく安定的に提 供しよう」という提案 この提案に基づくのが DevOps DevOps: Dev と Ops の協調 10+ Deploys Per Day: Dev and Ops Cooperation at Flickr - Slideshare https://www.slideshare.net/jallspaw/10-deploys-per-day-dev-and-ops-cooperation-at-flickr

Slide 28

Slide 28 text

Machine Learning vs DevOps (1/2) 機械学習はシステムに新たな複雑さをもたらす Sculley, D. and Holt, Gary and Golovin, Daniel and Davydov, Eugene and Phillips, Todd and Ebner, Dietmar and Chaudhary, Vinay and Young, Michael and Crespo, Jean-Fran\c{c}ois and Dennison, Dan (2015) Hidden Technical Debt in Machine Learning Systems, Advances in Neural Information Processing Systems 28 (NIPS 2015) https://proceedings.neurips.cc/paper/2015/hash/86df7dcfd896fcaf2674f757a2463eba-Abstract.html

Slide 29

Slide 29 text

Machine Learning vs DevOps (2/2) データサイエンティストと開発者の間の新たな対⽴ ML: 顧客にデータを使って価値を提供したい、システムが複雑にな るのは仕⽅がない DevOps: 顧客にシンプルな⽅法で価値を提供したい、システムの複 雑化はコストが嵩むので避けたい 究極的には両者の⽬的は同じなので対⽴は解消できる 「顧客にデータを使って安定的に素早く価値を提供したい」というよう に対⽴を解消する

Slide 30

Slide 30 text

Machine Learning vs Product Management (1/2) Product Manager (PdM) との間にも価値観の 対⽴がある PdM: ユーザーに素早く価値を提供し、プロダ クトを徐々に作り込みながらデータドリブン ですすめる ML: ⼗分な質のデータがすでにあり、そこか ら機械学習により価値を提供する Melissa Perri 著, 吉⽻ ⿓太郎 訳 「プロダクトマネジメント―― ビルドトラップを避け顧客に価値を届ける」 オラ イリー・ジャパン 2020年 https://www.oreilly.co.jp/books/9784873119250/

Slide 31

Slide 31 text

Machine Learning vs Product Management (2/2) データがなくても機械学習を適⽤す るワークフローが⽣み出す価値の検 証は可能 Wizard-of-Oz (オズの魔法使い) サービスを成⻑させてスケールメリ ットをデータで強化する Peter Wang, Srinath Sibi, Brian Mok, and Wendy Ju. 2017. Marionette: Enabling On-Road Wizard-of-Oz Autonomous Driving Studies. In Proceedings of the 2017 ACM/IEEE International Conference on Human-Robot Interaction (HRI '17). Association for Computing Machinery, New York, NY, USA, 234–243. DOI:https://doi.org/10.1145/2909824.3020256

Slide 32

Slide 32 text

MLOps: Defeat conflicts to provide values MLOps は ML とソフトウェア開発の間の対⽴を解消する取り組み 具体的なプラクティスはいくつか出てきたものの、プラクティスに従う ことではなく⾃分たちの問題解決が重要 (⾃分たちが考える MLOps で良 い) ⾔い換えると、機械学習により顧客に価値提供ができるチーム作りだと ⾔える

Slide 33

Slide 33 text

ものづくりは⼈づくり ⾹川編集⻑ トヨタ⽣産⽅式 取材フル (⽣産量を「100倍」にしたトヨタ⽣産⽅式の秘密) | トヨタイムズ - YouTube https://youtu.be/GGJt8VUu4cc

Slide 34

Slide 34 text

MLOps Team Roles and Responsibilities Product Manager (Product Owner) 機械学習システムで⽣み出す価値について責任を追う Software Engineer 機械学習システムが動作することについて責任を追う Data Engineer, DevOps Engineer, Application Engineer を含む Data Scientist 機械学習システムの動作状況について、意思決定に資する情報提供 へ責任を追う

Slide 35

Slide 35 text

Skills for MLOps DevOps Skills Product Management Software Development + IoC, CI/CD, Monitoring, etc. Data Science Human in the loop なエコシステムの設計 Experimental Design Data Management Data Processing

Slide 36

Slide 36 text

Human in the loop システムの中⼼に⼈間を据 えるシステム設計 システムのコンポーネント の 1 つとして⼈を置く 本資料での以降の中⼼的な 話題 Robert (Munro) Monarch 著, 「Human-in-the-Loop Machine Learning」 MANNING PUBLICATIONS https://www.manning.com/books/human-in-the- loop-machine-learning 堀⽥ 創, 尾原 和啓 著「ダブルハーベスト」ダイヤモンド社 2021年 https://www.diamond.co.jp/book/9784478111017.html

Slide 37

Slide 37 text

Experimental Design データの利⽤前に次を決めておくこ とで、データ分析の妥当性を向上さ せる技術 収集対象と⽐較対象 収集⽅法 集計⽅法と分析⽅法 さまざまな知識と経験の集合体で、 上にとどまらない G. D. ラクストン, N. コルグレイヴ 著 ⿇⽣⼀枝, 南條郁⼦ 訳「⽣命科学の実験デザイン[第4 版]」名古屋⼤学出版会 2019年 https://www.unp.or.jp/ISBN/ISBN978-4-8158-0950-8.html

Slide 38

Slide 38 text

Data Management データを資産と捉え、体系的に価値 を引き出すための⼿法 狭義では⼊⼒されたデータを解析で きる状態にするまでの品質管理 ゆずたそ, はせりょ 著「データマネジメントが30分でわかる本」オンデマンド 2020年 https://www.amazon.co.jp/dp/B087R6P8NZ/

Slide 39

Slide 39 text

Recap MLOps: ML と DevOps の対⽴の解消 バージョン管理の対象はコード + データ (IaC + データ管理) DevOps に加えて次の 4 つの分野のスキルが必要 Human in the Loop なサービス設計 Experimental Design Data Management Data Processing

Slide 40

Slide 40 text

TOC Data Science for Software Engineers Introduction to MLOps Human in the Loop <- Recap Appendix

Slide 41

Slide 41 text

Human in the Loop Human in the Loop は⼈間をシステムのコンポーネントの 1 つとして配 置し、フィードバックループを作ることで継続的に品質の⾼いデータが ⼊⼿できるようにするサービス設計パターン 背景にあるのはスケールメリット、スケールしない⼈間というリソース を機械学習の⼒でスケールさせる ユーザーがサービスを使っていると⾃然に学習データを⼊⼒するような UX デザインが必要 いきなり機械学習から始めるのではなく、ステップを踏んでサービスを 成⻑させることが⼤事

Slide 42

Slide 42 text

TOC Background Purpose of this section Human in the Loop Case Study Technologies behind the Human in the Loop Considerations Recommendations Recap

Slide 43

Slide 43 text

Background 機械学習は実世界への適⽤が難しいことが知られている 経験上うまくいった機械学習の活⽤⽅法に、Active Learning を参考にし たワークフローがある mercari と cookpad でも類似のパターンを⽤いており再現性がある Google は How Google Does Machine Learning で Human in the Loop とこれを呼び、活⽤を推奨している 最近では仕事ではじめる機械学習 第 2 版や機械学習による実⽤アプリケ ーション構築、ダブルハーベストといった書籍でも触れらており、重要 性が増している

Slide 44

Slide 44 text

Purpose of This Section 機械学習のサービス設計パターンの 1 つである Human in the Loop を知 ることで、機械学習サービスの⽴ち上げに関する検討を開始できるよう にする

Slide 45

Slide 45 text

Human in the Loop (1/2) ⼈間は AI のサポートによって潜在能⼒を開花させ、AI は⼈間の教育によってさらに賢くなる。(中略)このよ うな⼈間と AI のコラボレーションは「ヒューマン・ イン・ザ・ループ(HITLHuman-in-the-Loop)」と呼 ばれ、単なる「⾃動化(Automation)」とは区別されて いる。 技術者向けの記述ではないため割り引いて読む必要がある もの、コンセプトは説明されている 堀⽥ 創, 尾原 和啓 著「ダブルハーベスト」ダイヤモンド社 2021年 ヒューマン・イン・ザ・ループのアプローチ https://www.diamond.co.jp/book/9784478111017.html

Slide 46

Slide 46 text

Human in the Loop (2/2) データからモデル を作成 モデルのアウトプ ットを⼈が修正 修正結果をデータ セットに蓄積し、 再学習 堀⽥ 創, 尾原 和啓 著「ダブルハーベスト」ダイヤモンド社 2021年 ヒューマン・イン・ザ・ループのアプローチ https://www.diamond.co.jp/book/9784478111017.html

Slide 47

Slide 47 text

Case Study 事例 1. mercari 事例 2. cookpad 事例 3. TESLA 事例 4. Google 翻訳

Slide 48

Slide 48 text

事例 1. mercari 違反出品検知システムで Human in the Loop を利⽤ 違反出品に該当するアイテ ムはさまざまな事情で更新 される (例: マスク) ⼈間の判断をもとにデータ セットを更新し、再学習さ せている 機械学習とHuman-in-the-Loopで優勝する違反検知の話 - メルカリエンジニア リング https://engineering.mercari.com/blog/entry/2020-03-25-180000/

Slide 49

Slide 49 text

事例 2. cookpad (1/2) 問い合わせ窓⼝での利⽤ ユーザーからの問い合わせ をサポートスタッフが⼿動 でカテゴリーに分類 カテゴリーは 100 種類以上 機械学習を⽤いてユーザーのご意⾒分類業務を効率化した話 - クックパッド開発 者ブログ https://techlife.cookpad.com/entry/2018/08/08/170000

Slide 50

Slide 50 text

事例 2. cookpad (2/2) カテゴリーを推薦 ⼈⼿で選択、結果を保存 再学習してモデルを更新 機械学習を⽤いてユーザーのご意⾒分類業務を効率化した話 - クックパッド開発者ブログ https://techlife.cookpad.com/entry/2018/08/08/170000

Slide 51

Slide 51 text

事例 3. TESLA ⾃動運転 判定結果と運 転操作が⽭盾 した画像を⾃ 動的に収集 学習データと テストデータ に追加 Tesla Autonomy Day - YouTube https://youtu.be/Ucp0TTmvqOE?t=7714

Slide 52

Slide 52 text

事例 4. Google 翻訳 ユーザーが翻訳結果にフィードバックを加えられる フィードバックした結果は翻訳結果の向上に⽤いられる (おそらく直接 ではない)

Slide 53

Slide 53 text

Technologies behind the Human in the Loop Product Management UX Design Data Management Algorithm

Slide 54

Slide 54 text

Product Management (1/2) いきなり機械学習を前提にするのは 典型的な悪⼿ (Rule #1) プロダクトの状態を監視できるよう な指標をまず設計し監視できるよう にする (Rule #2) ヒューリスティックが複雑になり、 ⼿に負えなくなってきたら機械学習 を⼊れる (Rule #3) Rules of Machine Learning - Google Developers https://developers.google.com/machine- learning/guides/rules-of- ml/#rule_1_donʼt_be_afraid_to_launch_a_product_without_machine_learning

Slide 55

Slide 55 text

ML pitfalls データがない のに検討 使えるデータ があると思い 込む ⼈を配置し忘 れる etc... 機械学習の秘訣 (How Google Does Machin Coursera https://coursera.org/share/f8057e32329c

Slide 56

Slide 56 text

Product Management (2/2) データ活⽤の Step . ⼩さく始める . 標準化 . システム化 . データ分析 . 機械学習 機械学習とビジネス プロセス (How Google Does Machine Learning ⽇本語版) - Coursera https://www.coursera.org/learn/google-machine-learning- jp/lecture/G8qKf/ji-jie-xue-xi-tobizinesu-purosesu

Slide 57

Slide 57 text

プロダクトを成⻑させる、道を踏み外さない 各フェーズを掘り下げる (How Google Does Machine Learning ⽇本語版) - Coursera https://coursera.org/share/faf9215a37a5a12c0e3653225f7020d6

Slide 58

Slide 58 text

UX Design (1/2) Human interface guideline by Apple Machine Learning の中で Explicit Feedback と Implicit Feedback につ いて触れられている 右はブラウザでの Explicit なフィー ドバックの例 Bad だけをフィードバックの対象と して Bad でなければ Good とみなす 点が特徴的

Slide 59

Slide 59 text

UX Design (2/2) People + AI Guidebook by Google (PAIR) Data Collection + Evaluation でデータの収 集、Feedback + Controlで フィードバックについて 右図で述べられているユー ザーへのお礼の表⽰⽅法は 経験上かなり重要 Feedback + Control - People + AI Guidebook https://pair.withgoogle.com/chapter/feedback-controls/#section2

Slide 60

Slide 60 text

Data Management (1/2) データ品質の管理が必要 疫学調査の取り組みが参考 になる ⼿順書の配備 ⼊⼒値のバリデーション サンプリングによるダブル チェック 京都⼤学⼤学院医学研究科 聴講コース 臨床研究者のための⽣物統計学「データマ ネジメントとは」 - YouTube https://youtu.be/bDLgduWWpms

Slide 61

Slide 61 text

Data Management (2/2) データのバージョン管理が必要 モデルを更新する場合、各時点でのデータがないとモデルの不具合の再 現ができなくなる 各時点での評価⽤データを残さないとモデルが改善されたのかどうか判 断できなくなる リグレッションテストを⾏う必要があることに注意、評価データの更新 ルールも検討する

Slide 62

Slide 62 text

Algorithm (1/3) Human in the loop はデータ の探索、評価、再学習と定 式化できる この枠組は強化学習や Bandit アルゴリズムで取り 組まれるものに同⼀ Robert (Munro) Monarch 著, 「Human-in-the-Loop Machine Learning」 MANNING PUBLICATIONS https://www.manning.com/books/human-in-the- loop-machine-learning

Slide 63

Slide 63 text

Algorithm (2/3) アルゴリズムは「いかに効 率的にアノテーションする か」に注⼒している いかに継続的に⾼品質なデ ータを得るワークフローを 構築するかに注⼒するほう が(経験上)良い Robert (Munro) Monarch 著, 「Human-in-the-Loop Machine Learning」 MANNING PUBLICATIONS https://www.manning.com/books/human-in-the- loop-machine-learning

Slide 64

Slide 64 text

Algorithm (3/3) アノテーターが回答しやす いように問題を置き換える ことも⼤事 回帰 → ランキング 分類 → 距離学習 (triplet- loss) Robert (Munro) Monarch 著, 「Human-in-the-Loop Machine Learning」 MANNING PUBLICATIONS https://www.manning.com/books/human-in-the- loop-machine-learning

Slide 65

Slide 65 text

Considerations Echo chamber & Filter bubble Training / Serving Skew Fairness

Slide 66

Slide 66 text

Echo chamber & Filter bubble (1/2) エコーチェンバー ソーシャルメディアを利⽤する際、 ⾃分と似た興味関⼼をもつユーザー をフォローする結果、意⾒を SNS で発信すると⾃分と似た意⾒が返っ てくるという状況を、閉じた⼩部屋 で⾳が反響する物理現象にたとえた もの インターネット上での情報流通の特徴と⾔われているもの - 令和元年版 情報通信⽩書 https://www.soumu.go.jp/johotsusintokei/whitepaper/ja/r01/html/nd114210.html

Slide 67

Slide 67 text

Echo chamber & Filter bubble (2/2) フィルターバブル アルゴリズムがネット利⽤者個⼈の検索履歴やクリック履歴を分析し学 習することで、個々のユーザーにとっては望むと望まざるとにかかわら ず⾒たい情報が優先的に表⽰され、利⽤者の観点に合わない情報からは 隔離され、⾃⾝の考え⽅や価値観の「バブル(泡)」の中に孤⽴すると いう情報環境 インターネット上での情報流通の特徴と⾔われているもの - 令和元年版 情報通信⽩書 https://www.soumu.go.jp/johotsusintokei/whitepaper/ja/r01/html/nd114210.html

Slide 68

Slide 68 text

Training / Serving Skew Type 説明 Schema Skew 訓練⽤データと本番⽤データのスキーマが異なる Feature Skew 特徴量の値が訓練時と本番環境とで異なる Distribution Skew 特徴量の分布が本番環境のデータの分布と著しく異なる Scoring/Serving Skew スコア付されたデータの⼀部しか本番環境に提供されず ラベル付けされない A brief introduction to Training/Serving Skew - zenn https://zenn.dev/asei/articles/e593da33c53ee4

Slide 69

Slide 69 text

Scoring/Serving Skew トップ 10 件の広告を提⽰するような広告システムを考えます。これら の 10 件の広告のうち、1 つのみがユーザーにクリックされる可能性が あります。10 件の提⽰された標本データが次の⽇の訓練データに使わ れます。1 件はポジティブで、9 件はネガティブです。 ⼀⽅、本番環境ではそのモデルは 100 件の広告をスコア付するために使 われます。他の 90 件の提⽰されなかった広告は、暗黙的に訓練データ から取り除かれます。これは、下位にランク付けされたものについて誤 予測するように、暗黙的なフィードバックループを引き起こします。下 位にランク付けされたデータは訓練データに現れないからです。 A brief introduction to Training/Serving Skew - zenn https://zenn.dev/asei/articles/e593da33c53ee4

Slide 70

Slide 70 text

Fairness (1/2) データにバイアスがあるとモデルの 出⼒が不公平になる 右はデータが⽩⼈に偏っていた例 Apple Card の与信枠の性差も話題 @tg_bomze https://t.co/LG2cimkCFm - Twitter https://twitter.com/Chicken3gg/status/1274314622447820801?s=20

Slide 71

Slide 71 text

Fairness (2/2) 評価指標を⼯夫することに よる軽減の取り組み ユーザー群間での出⼒に制 約を設ける例 (右図) Fairness-Aware Ranking in Search & Recommendation Systems with Application to LinkedIn Talent Search Fairness Indicators for TensorFlow (TF Dev Summit '20) - YouTube https://youtu.be/JF4TbOw_32k

Slide 72

Slide 72 text

Recommendations 予備実験 アノテーターの訓練 計測 & モニタリング

Slide 73

Slide 73 text

予備実験 実験を⼩規模に⾏い、求める結果が得られそうか⾒込みを⽴てる 実験デザインで定めた⼿順にしたがってデータを収集、集計して実験デ ザインのテストを⾏う データが集計できないことに後で気がつくと取り返しがつかない Human in the Loop なシステムで改善が⾒られるか⾃分たちで⼀度試し てみる オズの魔法使いパターンを⽤いて、ユーザーからフィードバックが得ら れるか試してみる

Slide 74

Slide 74 text

アノテーターの訓練 エンドユーザーからデータ を得られるのが⼀番 そうでない場合、⼈⼿でア ノテーションが必要 チームを⽴ち上げてデータ を蓄積できるようになるま でには数週間かかる Robert (Munro) Monarch 著, 「Human-in-the-Loop Machine Learning」 MANNING PUBLICATIONS https://www.manning.com/books/human-in-the- loop-machine-learning

Slide 75

Slide 75 text

計測 & モニタリング ビジネス指標とシステム運 ⽤指標のモニタリング 機械学習システムは機械学 習以外の箇所で壊れる 体験談: ボットが変なことを ⾔うという問い合わせ タイムアウトのエラーメッ セージが表⽰されていた Daniel Papasian and Todd Underwood, How ML Breaks: A Decade of Outages for One Large ML Pipeline, USENIX Association 2020 https://www.usenix.org/conference/opml20/presentation/papasian

Slide 76

Slide 76 text

Recap Human in the Loop は⼈間をシステムのコンポーネントの 1 つとして配 置し、フィードバックループを作ることで継続的に品質の⾼いデータが ⼊⼿できるようにするサービス設計パターン 背景にあるのはスケールメリット、スケールしない⼈間というリソース を機械学習の⼒でスケールさせる ユーザーがサービスを使っていると⾃然に学習データを⼊⼒するような UX デザインが必要 いきなり機械学習から始めるのではなく、ステップを踏んでサービスを 成⻑させることが⼤事

Slide 77

Slide 77 text

TOC Data Science for Software Engineers Introduction to MLOps Human in the Loop Recap <- Appendix

Slide 78

Slide 78 text

Recap 機械学習アルゴリズム以外にも Human in the Loop なサービス設計, Experimental Design (実験デザイン), Data Processing, Data Management に関するスキルが必要 必然的にチーム戦になるものの ML は複雑なため DevOps との対⽴が⽣ じる、MLOps はこの対⽴を解消する試みの総称 機械学習にいきなり⾶びつくのではなく、そこまでの段階を計画 ⼈から継続的にフィードバックを受けられる Human in the Loop な仕組 みを構築することが重要

Slide 79

Slide 79 text

Appendix: Skills of MLOps Team

Slide 80

Slide 80 text

Appendix: MLOps Skills of Product Manager Product Management Data Science (Fundamental) Human in the loop なエコシステムの設計

Slide 81

Slide 81 text

Appendix: MLOps Skills of Software Engineer IoC, CI/CD, Software Development Data Science (Fundamental) Data Management Data Processing

Slide 82

Slide 82 text

Appendix: MLOps Skills of Data Scientist Applied Data Science Data Processing Experimental Design IoC, CI/CD, Software Development (Fundamental)

Slide 83

Slide 83 text

Appendix: Types of Data Scientist (1/2) Analyst, Consultant データ分析で⽣きてきた⼈たち Excel と PowerPoint のエキスパートで、経営的な意思決定に強い Software Engineer ソフトウェア開発をやってたらいつの間にかデータサイエンスをやるこ とになった⼈たち 機械学習システムの開発に強みを持つ

Slide 84

Slide 84 text

Appendix: Types of Data Scientist (2/2) Kaggler Kaggle から⼊ってきた⼈たち どちらかというと Product Manager に向いているものの、⼈による Scientist 研究していたら産業側に流れてきた⼈たち 特殊スキルに特化しているため、何に向くかは⼈による

Slide 85

Slide 85 text

Appendix: Data Scientist in Spotify データサイエンスだけでは なく次のスキルも要求され ている Experimental Design Product management Data Processing Jonathan Rasmusson 著, 島⽥ 浩⼆, ⾓⾕ 信太郎 訳「ユニコーン企業のひみつ」 オライリー・ジャパン 2021年 https://www.oreilly.co.jp/books/9784873119465/