SlideShare uma empresa Scribd logo
1 de 19
MLOps Yearning
~ 実運⽤システムを構築する前にデータサイエンティストが考えておきたいこと
May 14, 2019
Wataru Miura
Data Science Dept.
Rakuten, Inc.
2
⾃⼰紹介
• ⽒名: 三浦 航
• 略歴:
• 2014/03: 東京⼯業⼤学⼤学院総合理⼯学研究科知能システム科学専攻
• ⽇本企業100万社の取引ネットワークの解析
• 2014/04 ~ 2018/06: 株式会社ブレインパッド
• 機械学習を⽤いた各種プロジェクトの推進
• 2018/07 ~ : 楽天株式会社
• 機械学習を⽤いた楽天における各種サービスの改善
最近の興味
• 機械学習を⽤いたシステムの開発・運⽤ (MLOps)
• 機械学習モデルの継続的な改善
お話しすること
• ⾃然⾔語処理のバッチ予測システムを構築した際に取り組んだこと・反省など
• 事業会社のデータサイエンティストの役割やワークスタイルなど
3
機械学習システムの開発・運⽤における最近のナレッジ
MLOps, 機械学習プロジェクトのナレッジは蓄積されてきたものの、データサイエンスにおける継続的な
モデル改善部分のナレッジは薄い (という個⼈的な)印象。
Business
(機械学習
プロジェクト)
Analytics
(データサイエンス)
Engineering
(MLOps)
• 機械学習システム開発プロジェクトの予算・予定・⼈情
• 深層学習を実運⽤システムに組み込むということ
• 機械学習システムを受託開発する時に気をつけておきたい事
• 機械学習システム開発案件の事例紹介
• 機械学習システムのアーキテクチャアラカルト
4
本⽇のアジェンダ
データサイエンスがメインフィールドのデータサイエンティストが、機械学習システムを構築する際に
考えておくべきことは何なのか︖
1. ⾃然⾔語処理タスクの紹介
2. データサイエンティストが考えておきたいこと
• MLOps
• データサイエンス
• 機械学習プロジェクト
3. まとめ
5
⾃然⾔語処理タスクの紹介
6
アイテム名, 店舗名に対する⾃然⾔語処理
アイテム名, 店舗名に対する⾃然⾔語処理は様々なタスクが考えられ、⼀般的にその需要も⾼いと考えられる。
• 家計簿アプリにおけるアイテム名, 店舗名の費⽬分類
→ OCRで読み込んだレシートを、⾃動で費⽬の登録まで完了してくれる
• ショッピング・オークションサイトにおける同⼀アイテムのマッチング1
→ ユーザが付与した同⼀のアイテム名称を認識できることで、価格を⽐較できるようになる
• アイテム名からの型番・ブランド名などの固有表現抽出2
→ 検索時に⾊やメーカーなど、属性を指定した検索が可能となる
• レシピサイトにおける材料名の正規化3
→ 材料名の表記ゆれに対する、カロリー登録のコストの削減
本⽇は店舗名のカテゴリ分類というタスクについて考え、その予測システムを構築する際の話をします。
店舗名のカテゴリ分類タスクのイメージ
様々な特徴量が存在するものの、基本的には店舗名のみから業種カテゴリを予測する。
店舗ID 店舗名称
100000 ミウラ薬局
100001 ミウラストア
カテゴリ スコア
ドラッグストア 0.8
スーパーマーケット 0.6
1. A. Kannan et al., Matching Unstructured Product Offers to Structured Product Specifications, KDD 2011
2. M. Joshi et al., Distributed Word Representations Improve NER for e-Commerce, NAACL-HLT 2015
3. Encoder-Decoder でレシピの材料名を正規化する - クックパッド開発者ブログ
https://techlife.cookpad.com/entry/2017/10/30/080102
7
MLOps⾯で考えておきたいこと
8
MLOps: 予測システムフローの概要
学習パート
予測パート
受領学習⽤
ファイル
機械学習⽤
データセット
機械学習⽤
データマート
作成
(⼀度のみ)
前処理
機械学習
モデル
各種ルール
連携学習⽤
追加ファイル
連携予測対象
ファイル
名称参照⽤
データセット
蓄積
更新
前処理
学習 (次回実⾏時に反映)
カテゴリ付与
ロジック
連携予測結果
ファイル
予測
適⽤
⼀致時参照
出⼒
各種レポート
通知
定期的にファイルが連携されて
データが更新され、カテゴリ
付与からモデルの学習/更新まで
を実⾏する。
9
MLOps: 考えたことなど
1. 全体のワークフローは機械学習基盤上のAirflowで管理
• 前処理のパイプラインは学習・推論時で同⼀のコードを使⽤
2. 学習した機械学習モデルは次回実⾏時に更新させる
(予測時は前回学習時のモデルを⽤いる)
• 即時性が必要かどうかはケースバイケース
• 予測が⽉次なら1ヶ⽉、週次なら1週間の猶予ができる
3. 精度指標・集計結果をSlackに通知
4. 実際の実装はさておき、全体のフローはデータサイエンティスト
も考慮できると良いのでは
• どの段階でどの形式のデータを出⼒・保存すべきか︖
• 機械学習モデル以外の予測ロジックはどう追加/削除する︖
• 何をモニタリングするべきなのか︖
• 運⽤時に前処理⽅法を変えたくなった場合は︖
( )
( )
10
データサイエンス⾯で考えておきたいこと
11
データサイエンス: タスク及び機械学習システムの難しい点
そもそも店舗名のカテゴリ予測タスクは難しい。
• ナイーブな解釈としては、「ホテル」「薬局」などの単語から当てるが、ファッション系は特に難しい
• 固有名詞が多く、知識がないと⼈ですら当てられない
• 名称がカタカナ⼤⽂字表記の場合も多く、わかち書きが難しい
また機械学習システムとしては以下の問題も存在。
• 学習時と運⽤時のデータが異なる
• データ作成⽅法の違い
• 想定外のデータ
• アイテム、店舗トレンドの変化により、外界 (データ)の傾向が毎回変わる
• 新商品、新店舗
• 季節性の需要
→ タスク難易度の変化
→ カテゴリ⾃体の⾒直し
→ 毎回モデルの更新が必要
12
データサイエンス: 何を評価すべきなのか
データの傾向が変わると、ラベル付けされたデータ数が増加
していても精度が減少するということが起こりうる。
考えられる理由
1. タスクの難化
2. 評価指標がロバストでない
3. 学習/検証/テストデータの分割が毎回異なる
2.に関してはF1値のカテゴリ平均など (scikit-learnにおける
macro系指標) を採⽤していると、データ数の少ない
カテゴリでの精度変化の影響を受けやすい。
→ 指標⾃体がある程度ロバストである必要性
3.はデータ数が少ないと影響を受けがち。
1.に関しては学習データ数を変化させて、既存傾向のデータ
数が増加した場合の精度を外挿で⾒積もる。
データ数がいくつになれば精度がおよそ何%など試算も可能。
各回における学習データ数と精度
学習データ数
精度
この回の説明に困る
学習データ数と精度の関係
既存のデータ数
13
データサイエンス: 何をモニタリングすべきなのか
精度だけをトラッキングしていても、我々は⼀体何を観測しているのか…ということが起こる。
予測データの傾向の変化をどう把握するべきなのか︖
ü 定性的な把握
ü ラベル付けされたデータのカテゴリ分布変化
ü 予測されたデータのカテゴリ分布変化
ü 上記のスコアしきい値未満
ü 各カテゴリの精度変化
データを⼀つずつ丁寧に⾒ていくのがベストとは思うものの、教師データの分布が⼤幅に変化、予測スコアの
低いデータが特定カテゴリで増加、などの場合に何か発⽣していることが多い。
基本的にはデータ傾向の変化を把握するのは難しいので、模索中の領域。
14
データサイエンス: 外界の変化にどう対応するか
データ傾向の変化にどう対応するべきなのか。
1. ラベル付けされたデータを増やしてモデル任せ
2. ルールを新たに設定し、モデルとハイブリッド
基本的には1.だが、影響を無視できない場合に2.を設定。
• 条件の部分はパターンマッチングやIDの指定などが⼊る
• ルールが適⽤されるデータは、モデル作成からは除去
• メンテナンスや将来の変更など考慮すると、ルールはあまり
増やしたくないし複雑にしたくもないが、モデルに回す
データは極⼒減らしたい…というジレンマ
• ルール作成にあまり⼯数をかけられないという事情も
カテゴリ付与ロジックフローの例
条件1
カテゴリA
条件2
カテゴリB 機械学習
モデル
Yes No
Yes No
モデルベースルールベース
15
機械学習プロジェクト⾯で考えておきたいこと
16
機械学習プロジェクト: 実運⽤のためのPoCとバックテスト
⼤抵の場合、タスクの精度指標だけではPoCとしては不⼗分。モデルの正解率が90%あったとしても、それがビジネス的に
役に⽴つのかは不明な場合が多い。
またone-shotのPoCで、運⽤時に起こり得ることを事前に全て⾒積もるのは難しい。運⽤を⾒据えてヒストリカルデータを
⽤いた複数回のバックテストをしておけば、話したような⼤抵の問題は事前に洗い出せる。
実運⽤のためのPoC
• 機械学習タスクとビジネスの⽬的は⼤抵異なる
• 分類した結果に対して、集計など別のタスクを実施
• ⽬的は正解率ではなくコストの削減
• ビジネス上やりたいことに対して事前にテスト
• KPI・削減コストの⾒積もり・シミュレーション
→ 業務フローを事前に明確にしておく必要性
ヒストリカルデータを⽤いたバックテスト
• 例えば⽉次の予測システムであれば、2⽉, 3⽉, 4⽉などのデータを⽤いてどのような問題が発⽣するかを事前に⾒積もる
• データの安定性
• データに対する前処理・処理フロー
• モデルの取捨選択と評価基準
• モデル更新頻度の把握
→ (データ取得環境が存在しない場合) 実データの準備が必要
つまりモデル構築よりも先に、システム上でデータを取得できるようになっていることが好ましい
というようなことを⾃分だけではなく、ステークホルダーも理解していることが重要。
•
•
17
まとめ
18
まとめ
• データサイエンティストが考慮すべき問題の多くは、one-shotのPoCという時間軸と業務オペレーション
(業務フロー、活⽤⽅法)の⽋如した状態で、機械学習システムを構築することに起因
• これらの問題は、ヒストリカルデータを⽤いたバックテストを複数回実施することで事前に洗い出せるはず
• データサイエンティストだけが考えてどうなるものでもなく、データサイエンティスト、機械学習
エンジニア、PMがお互いの領域をカバーしあえる、相談できるようなチームの構築も⼤事
MLOps Yearning ~ 実運用システムを構築する前にデータサイエンティストが考えておきたいこと

Mais conteúdo relacionado

Mais procurados

Mais procurados (20)

MLOps に基づく AI/ML 実運用最前線 ~画像、動画データにおける MLOps 事例のご紹介~(映像情報メディア学会2021年冬季大会企画セッショ...
MLOps に基づく AI/ML 実運用最前線 ~画像、動画データにおける MLOps 事例のご紹介~(映像情報メディア学会2021年冬季大会企画セッショ...MLOps に基づく AI/ML 実運用最前線 ~画像、動画データにおける MLOps 事例のご紹介~(映像情報メディア学会2021年冬季大会企画セッショ...
MLOps に基づく AI/ML 実運用最前線 ~画像、動画データにおける MLOps 事例のご紹介~(映像情報メディア学会2021年冬季大会企画セッショ...
 
失敗から学ぶ機械学習応用
失敗から学ぶ機械学習応用失敗から学ぶ機械学習応用
失敗から学ぶ機械学習応用
 
機械学習で泣かないためのコード設計
機械学習で泣かないためのコード設計機械学習で泣かないためのコード設計
機械学習で泣かないためのコード設計
 
バンディットアルゴリズム入門と実践
バンディットアルゴリズム入門と実践バンディットアルゴリズム入門と実践
バンディットアルゴリズム入門と実践
 
データ基盤グループを支えるチームビルディング
データ基盤グループを支えるチームビルディングデータ基盤グループを支えるチームビルディング
データ基盤グループを支えるチームビルディング
 
楽天のデータサイエンス/AIによるビッグデータ活用
楽天のデータサイエンス/AIによるビッグデータ活用楽天のデータサイエンス/AIによるビッグデータ活用
楽天のデータサイエンス/AIによるビッグデータ活用
 
楽天のデータサイエンティスト@SAS Forum 2019
楽天のデータサイエンティスト@SAS Forum 2019楽天のデータサイエンティスト@SAS Forum 2019
楽天のデータサイエンティスト@SAS Forum 2019
 
全力解説!Transformer
全力解説!Transformer全力解説!Transformer
全力解説!Transformer
 
AbemaTVにおける推薦システム
AbemaTVにおける推薦システムAbemaTVにおける推薦システム
AbemaTVにおける推薦システム
 
ビジネスパーソンのためのDX入門講座エッセンス版
ビジネスパーソンのためのDX入門講座エッセンス版ビジネスパーソンのためのDX入門講座エッセンス版
ビジネスパーソンのためのDX入門講座エッセンス版
 
研究発表を準備する(2022年版)
研究発表を準備する(2022年版)研究発表を準備する(2022年版)
研究発表を準備する(2022年版)
 
Databricksを初めて使う人に向けて.pptx
Databricksを初めて使う人に向けて.pptxDatabricksを初めて使う人に向けて.pptx
Databricksを初めて使う人に向けて.pptx
 
ベイジアンネットとレコメンデーション -第5回データマイニング+WEB勉強会@東京
ベイジアンネットとレコメンデーション -第5回データマイニング+WEB勉強会@東京ベイジアンネットとレコメンデーション -第5回データマイニング+WEB勉強会@東京
ベイジアンネットとレコメンデーション -第5回データマイニング+WEB勉強会@東京
 
事業の進展とデータマネジメント体制の進歩(+プレトタイプの話)
事業の進展とデータマネジメント体制の進歩(+プレトタイプの話)事業の進展とデータマネジメント体制の進歩(+プレトタイプの話)
事業の進展とデータマネジメント体制の進歩(+プレトタイプの話)
 
Pythonではじめるロケーションデータ解析
Pythonではじめるロケーションデータ解析Pythonではじめるロケーションデータ解析
Pythonではじめるロケーションデータ解析
 
機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)
機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)
機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)
 
Data-centricなML開発
Data-centricなML開発Data-centricなML開発
Data-centricなML開発
 
ML Ops 実装の現場から
ML Ops 実装の現場からML Ops 実装の現場から
ML Ops 実装の現場から
 
MLOpsはバズワード
MLOpsはバズワードMLOpsはバズワード
MLOpsはバズワード
 
ChatGPT + LlamaIndex 0 .6 による チャットボット の実装
ChatGPT + LlamaIndex 0  .6 による チャットボット の実装ChatGPT + LlamaIndex 0  .6 による チャットボット の実装
ChatGPT + LlamaIndex 0 .6 による チャットボット の実装
 

Semelhante a MLOps Yearning ~ 実運用システムを構築する前にデータサイエンティストが考えておきたいこと

Semelhante a MLOps Yearning ~ 実運用システムを構築する前にデータサイエンティストが考えておきたいこと (20)

企業におけるデータ分析プロジェクトと求められるスキル
企業におけるデータ分析プロジェクトと求められるスキル企業におけるデータ分析プロジェクトと求められるスキル
企業におけるデータ分析プロジェクトと求められるスキル
 
BtoBマーケティングにおけるML/NLPの活用
BtoBマーケティングにおけるML/NLPの活用BtoBマーケティングにおけるML/NLPの活用
BtoBマーケティングにおけるML/NLPの活用
 
日本語データの活用までの道のり
日本語データの活用までの道のり日本語データの活用までの道のり
日本語データの活用までの道のり
 
メルペイの与信モデリングで安全・安心のために実践していること
メルペイの与信モデリングで安全・安心のために実践していることメルペイの与信モデリングで安全・安心のために実践していること
メルペイの与信モデリングで安全・安心のために実践していること
 
20190606_ml_and_buisiness
20190606_ml_and_buisiness20190606_ml_and_buisiness
20190606_ml_and_buisiness
 
データマイニングCROSS 第2部-機械学習・大規模分散処理
データマイニングCROSS 第2部-機械学習・大規模分散処理データマイニングCROSS 第2部-機械学習・大規模分散処理
データマイニングCROSS 第2部-機械学習・大規模分散処理
 
【Pm zen】pmはいつ学び始めるべきか? 20160311
【Pm zen】pmはいつ学び始めるべきか? 20160311【Pm zen】pmはいつ学び始めるべきか? 20160311
【Pm zen】pmはいつ学び始めるべきか? 20160311
 
20180920_【ヒカ☆ラボ】【データサイエンティストが教える 】 機械学習、人工知能を使った「ビジネスになる」アプリケーションの作り方
20180920_【ヒカ☆ラボ】【データサイエンティストが教える 】 機械学習、人工知能を使った「ビジネスになる」アプリケーションの作り方20180920_【ヒカ☆ラボ】【データサイエンティストが教える 】 機械学習、人工知能を使った「ビジネスになる」アプリケーションの作り方
20180920_【ヒカ☆ラボ】【データサイエンティストが教える 】 機械学習、人工知能を使った「ビジネスになる」アプリケーションの作り方
 
20180925_【サポーターズCoLab勉強会】【営業から運用まで】データサイエンティストという職業
20180925_【サポーターズCoLab勉強会】【営業から運用まで】データサイエンティストという職業20180925_【サポーターズCoLab勉強会】【営業から運用まで】データサイエンティストという職業
20180925_【サポーターズCoLab勉強会】【営業から運用まで】データサイエンティストという職業
 
20230216_Python機械学習プログラミング.pdf
20230216_Python機械学習プログラミング.pdf20230216_Python機械学習プログラミング.pdf
20230216_Python機械学習プログラミング.pdf
 
4.5G/5G環境でのECサイトの高速化 ― 変わるモバイル購買体験
4.5G/5G環境でのECサイトの高速化 ― 変わるモバイル購買体験4.5G/5G環境でのECサイトの高速化 ― 変わるモバイル購買体験
4.5G/5G環境でのECサイトの高速化 ― 変わるモバイル購買体験
 
【今日ジョブチェンジ】エンジニアからデータサイエンティストになる方法【サポーターズCoLab勉強会】
【今日ジョブチェンジ】エンジニアからデータサイエンティストになる方法【サポーターズCoLab勉強会】【今日ジョブチェンジ】エンジニアからデータサイエンティストになる方法【サポーターズCoLab勉強会】
【今日ジョブチェンジ】エンジニアからデータサイエンティストになる方法【サポーターズCoLab勉強会】
 
ディープラーニングによるユーザーの行動予測
ディープラーニングによるユーザーの行動予測ディープラーニングによるユーザーの行動予測
ディープラーニングによるユーザーの行動予測
 
今後10年の機械学習ビジネスの可能性
今後10年の機械学習ビジネスの可能性今後10年の機械学習ビジネスの可能性
今後10年の機械学習ビジネスの可能性
 
機械学習 - MNIST の次のステップ
機械学習 - MNIST の次のステップ機械学習 - MNIST の次のステップ
機械学習 - MNIST の次のステップ
 
エンジニアのキャリアを考える
エンジニアのキャリアを考えるエンジニアのキャリアを考える
エンジニアのキャリアを考える
 
できない学生向けの学習(修)支援サービス 田邊稔
できない学生向けの学習(修)支援サービス 田邊稔できない学生向けの学習(修)支援サービス 田邊稔
できない学生向けの学習(修)支援サービス 田邊稔
 
オープンソースで開くビッグデータの扉
オープンソースで開くビッグデータの扉オープンソースで開くビッグデータの扉
オープンソースで開くビッグデータの扉
 
Wing arc nest_20180510
Wing arc nest_20180510Wing arc nest_20180510
Wing arc nest_20180510
 
Retty recommendation project
Retty recommendation projectRetty recommendation project
Retty recommendation project
 

Mais de Rakuten Group, Inc.

Mais de Rakuten Group, Inc. (20)

コードレビュー改善のためにJenkinsとIntelliJ IDEAのプラグインを自作してみた話
コードレビュー改善のためにJenkinsとIntelliJ IDEAのプラグインを自作してみた話コードレビュー改善のためにJenkinsとIntelliJ IDEAのプラグインを自作してみた話
コードレビュー改善のためにJenkinsとIntelliJ IDEAのプラグインを自作してみた話
 
楽天における安全な秘匿情報管理への道のり
楽天における安全な秘匿情報管理への道のり楽天における安全な秘匿情報管理への道のり
楽天における安全な秘匿情報管理への道のり
 
What Makes Software Green?
What Makes Software Green?What Makes Software Green?
What Makes Software Green?
 
Simple and Effective Knowledge-Driven Query Expansion for QA-Based Product At...
Simple and Effective Knowledge-Driven Query Expansion for QA-Based Product At...Simple and Effective Knowledge-Driven Query Expansion for QA-Based Product At...
Simple and Effective Knowledge-Driven Query Expansion for QA-Based Product At...
 
DataSkillCultureを浸透させる楽天の取り組み
DataSkillCultureを浸透させる楽天の取り組みDataSkillCultureを浸透させる楽天の取り組み
DataSkillCultureを浸透させる楽天の取り組み
 
大規模なリアルタイム監視の導入と展開
大規模なリアルタイム監視の導入と展開大規模なリアルタイム監視の導入と展開
大規模なリアルタイム監視の導入と展開
 
楽天における大規模データベースの運用
楽天における大規模データベースの運用楽天における大規模データベースの運用
楽天における大規模データベースの運用
 
楽天サービスを支えるネットワークインフラストラクチャー
楽天サービスを支えるネットワークインフラストラクチャー楽天サービスを支えるネットワークインフラストラクチャー
楽天サービスを支えるネットワークインフラストラクチャー
 
楽天の規模とクラウドプラットフォーム統括部の役割
楽天の規模とクラウドプラットフォーム統括部の役割楽天の規模とクラウドプラットフォーム統括部の役割
楽天の規模とクラウドプラットフォーム統括部の役割
 
Rakuten Services and Infrastructure Team.pdf
Rakuten Services and Infrastructure Team.pdfRakuten Services and Infrastructure Team.pdf
Rakuten Services and Infrastructure Team.pdf
 
The Data Platform Administration Handling the 100 PB.pdf
The Data Platform Administration Handling the 100 PB.pdfThe Data Platform Administration Handling the 100 PB.pdf
The Data Platform Administration Handling the 100 PB.pdf
 
Supporting Internal Customers as Technical Account Managers.pdf
Supporting Internal Customers as Technical Account Managers.pdfSupporting Internal Customers as Technical Account Managers.pdf
Supporting Internal Customers as Technical Account Managers.pdf
 
Making Cloud Native CI_CD Services.pdf
Making Cloud Native CI_CD Services.pdfMaking Cloud Native CI_CD Services.pdf
Making Cloud Native CI_CD Services.pdf
 
How We Defined Our Own Cloud.pdf
How We Defined Our Own Cloud.pdfHow We Defined Our Own Cloud.pdf
How We Defined Our Own Cloud.pdf
 
Travel & Leisure Platform Department's tech info
Travel & Leisure Platform Department's tech infoTravel & Leisure Platform Department's tech info
Travel & Leisure Platform Department's tech info
 
Travel & Leisure Platform Department's tech info
Travel & Leisure Platform Department's tech infoTravel & Leisure Platform Department's tech info
Travel & Leisure Platform Department's tech info
 
OWASPTop10_Introduction
OWASPTop10_IntroductionOWASPTop10_Introduction
OWASPTop10_Introduction
 
Introduction of GORA API Group technology
Introduction of GORA API Group technologyIntroduction of GORA API Group technology
Introduction of GORA API Group technology
 
100PBを越えるデータプラットフォームの実情
100PBを越えるデータプラットフォームの実情100PBを越えるデータプラットフォームの実情
100PBを越えるデータプラットフォームの実情
 
社内エンジニアを支えるテクニカルアカウントマネージャー
社内エンジニアを支えるテクニカルアカウントマネージャー社内エンジニアを支えるテクニカルアカウントマネージャー
社内エンジニアを支えるテクニカルアカウントマネージャー
 

MLOps Yearning ~ 実運用システムを構築する前にデータサイエンティストが考えておきたいこと