Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
How to break the Machine Learning
system barrier?
@hurutoriya
#MLCT 5 2018/07/13
Outline
● 機械学習システムバリアの破壊方法
● Better Machine Learning Workflow
$ whoami
● 上田隼也 :: @hurutoriya
● Machine Learning Engineer in Mercari, Inc.
● Machine Learning Casual Talks Co-Organizer
●...
機械学習システムバリアの破壊方法
● 機械学習システムを構築するために立ちはだかバリア
○ 継続的再学習 (Continuous Learning)
○ システムに必ずヒトが介在する (Human-in-the-loop)
○ データは不変の存...
継続的なモデルの学習
● なぜ必要?
○ データは水物
○ 一度モデルを学習して終わりではない
○ 継続的なモデルの再学習は必須
柔軟なモデル設計
● 問題: 流通する商品から特定のn種類の商品を検出したい
○ Bad: (n+1)値分類によるアプローチ
○ Good: 2値分類モデルをn個用意する
■ 問題の切り分け
■ モデルのスイッチングが容易
■ タスク変更時にも...
Data Versioning
● 学習データのアノテーションにはヒトが介在
● 異変が起きる前提で考える
○ データのバージョン管理
■ AWS: S3 Versioning , GCP: GCS Versioning
○ 学習データも日付ご...
余談: Annotation tips
● ちょっとした学習データ欲しい際に
Google Spread Sheetsを愛用
○ ImageURL()でCellの中に画像表示
○ 1時間で4000回くらいアノテーションができる
ImageURL...
Metricsを誰でも見れる環境へ
● 従来: モデル推論結果をBQから叩いてSpreadSheetsで確認
● 現在: BIツールのlookerで確認できるように移行中
○ 利点
■ 閲覧のみ可能で編集不可
■ 誰でも気軽に閲覧可能
■ 属人...
Machine Learning Workflow
● Cookiecutterによる標準化されたプロジェクトの生成
● Better Machine Learning Code by PeerReview
○ 2段階に分けてレビューを行う
■...
Cookiecutterによる標準化されたプロジェクトの生成
● CLIで機械学習のプロジェクトテンプレート作成
● CircleCIによる UnitTest, Lint を自動化
● make replication
○ モデル再学習
○ 精...
Making Pipeline, Not Imperative
Ref: mercari-solution
Making Pipeline, Not Imperative
Ref: mercari-solution
Unit Test for Machine Learning Code
● 想定していないデータによって即死するケース
○ NaN-Trap
● 沢山の罠が存在するが、ある程度はUnitTestで排除可能
● e.g. 文書の前処理が想定通り行...
問題を包括的に解決するための個人的な注目
● TFX: TensorFlow Extend
○ プロダクションレベルの信頼性とスケーラビリティを提供す
る
● Kubeflow
○ k8sベースの機械学習toolkit
Jupyter Hub,...
Reference
★ Strategy
○ TFX: A TensorFlow-Based Production-Scale Machine Learning Platform
○ Applied Machine Learning at Fa...
Another Story
Upcoming SlideShare
Loading in …5
×

How to break the machine learning system barrier ?

586 views

Published on

MLCT #5
https://mlct.connpass.com/event/88797/

Published in: Internet
  • Be the first to comment

  • Be the first to like this

How to break the machine learning system barrier ?

  1. 1. How to break the Machine Learning system barrier? @hurutoriya #MLCT 5 2018/07/13
  2. 2. Outline ● 機械学習システムバリアの破壊方法 ● Better Machine Learning Workflow
  3. 3. $ whoami ● 上田隼也 :: @hurutoriya ● Machine Learning Engineer in Mercari, Inc. ● Machine Learning Casual Talks Co-Organizer ● https://shunyaueta.com/
  4. 4. 機械学習システムバリアの破壊方法 ● 機械学習システムを構築するために立ちはだかバリア ○ 継続的再学習 (Continuous Learning) ○ システムに必ずヒトが介在する (Human-in-the-loop) ○ データは不変の存在ではない (Data is mutable)
  5. 5. 継続的なモデルの学習 ● なぜ必要? ○ データは水物 ○ 一度モデルを学習して終わりではない ○ 継続的なモデルの再学習は必須
  6. 6. 柔軟なモデル設計 ● 問題: 流通する商品から特定のn種類の商品を検出したい ○ Bad: (n+1)値分類によるアプローチ ○ Good: 2値分類モデルをn個用意する ■ 問題の切り分け ■ モデルのスイッチングが容易 ■ タスク変更時にも柔軟性を持つ
  7. 7. Data Versioning ● 学習データのアノテーションにはヒトが介在 ● 異変が起きる前提で考える ○ データのバージョン管理 ■ AWS: S3 Versioning , GCP: GCS Versioning ○ 学習データも日付ごとに分割して管理 ■ モデルの精度をモニタリング、低下した際に 学習データのロールバックが可能
  8. 8. 余談: Annotation tips ● ちょっとした学習データ欲しい際に Google Spread Sheetsを愛用 ○ ImageURL()でCellの中に画像表示 ○ 1時間で4000回くらいアノテーションができる ImageURL()CDN URL Annoation
  9. 9. Metricsを誰でも見れる環境へ ● 従来: モデル推論結果をBQから叩いてSpreadSheetsで確認 ● 現在: BIツールのlookerで確認できるように移行中 ○ 利点 ■ 閲覧のみ可能で編集不可 ■ 誰でも気軽に閲覧可能 ■ 属人性を排除できる
  10. 10. Machine Learning Workflow ● Cookiecutterによる標準化されたプロジェクトの生成 ● Better Machine Learning Code by PeerReview ○ 2段階に分けてレビューを行う ■ Better Model (より良いモデルか?) ■ Better & Clean Code (より良いコードか?)
  11. 11. Cookiecutterによる標準化されたプロジェクトの生成 ● CLIで機械学習のプロジェクトテンプレート作成 ● CircleCIによる UnitTest, Lint を自動化 ● make replication ○ モデル再学習 ○ 精度可視化 (AUC など) $ pip3 install cookiecutter $ cookiecutter https://github.com/{mercari-ml-skeleton}
  12. 12. Making Pipeline, Not Imperative Ref: mercari-solution
  13. 13. Making Pipeline, Not Imperative Ref: mercari-solution
  14. 14. Unit Test for Machine Learning Code ● 想定していないデータによって即死するケース ○ NaN-Trap ● 沢山の罠が存在するが、ある程度はUnitTestで排除可能 ● e.g. 文書の前処理が想定通り行われているか assert "おお" == normalize("おお “) assert “自分 は ペンパイナッポーアッポーペン" == func(“自分はペンパイナッポーアッポーペン”)
  15. 15. 問題を包括的に解決するための個人的な注目 ● TFX: TensorFlow Extend ○ プロダクションレベルの信頼性とスケーラビリティを提供す る ● Kubeflow ○ k8sベースの機械学習toolkit Jupyter Hub, TF, TF Serving, Argo, Katib, ~Operator, etc.
  16. 16. Reference ★ Strategy ○ TFX: A TensorFlow-Based Production-Scale Machine Learning Platform ○ Applied Machine Learning at Facebook: A Datacenter Infrastructure Perspective ○ Introducing FBLearner Flow: Facebook’s AI backbone ○ Machine Learning in Uber's Data Science Platforms ○ Rules os ML: EN, JP ○ Machine Learning Glossary ○ CVPR 2018: Software Engineering in Computer Vision System ○ Machine Learning That Matters ○ TRAIN AI 2018- Building Software 2.0 Stack ★ Code & Tools ○ Mercari 1st winners solution ○ Cookiecutter Data Science ○ Kubeflow
  17. 17. Another Story

×