Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ビジネス利用における長期的な学習モデルの評価
Search
Intel0tw5727
November 16, 2019
Technology
0
260
ビジネス利用における長期的な学習モデルの評価
Intel0tw5727
November 16, 2019
Tweet
Share
More Decks by Intel0tw5727
See All by Intel0tw5727
PyConJP2021に行ってきたログ.pdf
intel0tw5727
0
15
読みやすいコードを書く技術
intel0tw5727
1
100
Other Decks in Technology
See All in Technology
Optuna DashboardにおけるPLaMo2連携機能の紹介 / PFN LLM セミナー
pfn
PRO
1
870
「AI駆動PO」を考えてみる - 作る速さから価値のスループットへ:検査・適応で未来を開発 / AI-driven product owner. scrummat2025
yosuke_nagai
4
580
業務自動化プラットフォーム Google Agentspace に入門してみる #devio2025
maroon1st
0
190
FastAPIの魔法をgRPC/Connect RPCへ
monotaro
PRO
1
730
実装で解き明かす並行処理の歴史
zozotech
PRO
1
320
それでも私はContextに値を詰めたい | Go Conference 2025 / go conference 2025 fill context
budougumi0617
4
1.2k
Modern_Data_Stack最新動向クイズ_買収_AI_激動の2025年_.pdf
sagara
0
200
いま注目しているデータエンジニアリングの論点
ikkimiyazaki
0
590
From Prompt to Product @ How to Web 2025, Bucharest, Romania
janwerner
0
120
研究開発部メンバーの働き⽅ / Sansan R&D Profile
sansan33
PRO
3
20k
自動テストのコストと向き合ってみた
qa
0
110
AWSにおけるTrend Vision Oneの効果について
shimak
0
120
Featured
See All Featured
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
19
1.2k
How GitHub (no longer) Works
holman
315
140k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.1k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.1k
Rebuilding a faster, lazier Slack
samanthasiow
84
9.2k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
127
53k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Context Engineering - Making Every Token Count
addyosmani
5
180
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
890
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.5k
Transcript
ビジネス利⽤における ⻑期的な学習モデルの評価 いんてる(@Intel0tw5727) © 2019 Chura DATA inc. PROPRIETARY &
CONFIDENTIAL.
Who am I?(お前誰) • いんてる(@Intel0tw5727) です。 • 県内⼩中⾼⼤を経て今年新卒で⼊社 • ちゅらデータの筋⾁アナリスト
• バーベル110kgスクワットできます • ダンベルプレス⽚⼿20kgできます • ⾃分の好きな筋⾁は上腕三頭筋 です © 2019 Chura DATA inc. PROPRIETARY & CONFIDENTIAL.
AGENDA © 2019 Chura DATA inc. PROPRIETARY & CONFIDENTIAL. •
⻑期的な学習モデル開発に必要なもの • モデルをいろんな⽅⾯から評価する • ⾯倒なモデル評価を楽にする⽅法 今⽇話す内容
© 2019 Chura DATA inc. PROPRIETARY & CONFIDENTIAL. ⻑期的な学習モデル開発に必要なもの
趣味開発だとやりがちな評価例 • とりあえず精度指標だけを表⽰して判断する • 学習⽤・テスト⽤・評価⽤でデータを分割してればOK © 2019 Chura DATA inc.
PROPRIETARY & CONFIDENTIAL.
趣味開発だとやりがちな評価例 • とりあえず精度指標だけを表⽰して判断する • 学習⽤・テスト⽤・評価⽤でデータを分割してればOK © 2019 Chura DATA inc.
PROPRIETARY & CONFIDENTIAL. モデルは︖
ブラックボックスで済ませてはいけない • ビジネスでは作成したモデルが妥当である説明が必要 • なぜこのアルゴリズムが問題に適しているのか︖ • 予測結果は期待したものになっているのか︖ • 実サービスで収集されて増加するデータにも対応できるのか︖ •
ただ⾼精度なモデルを作るだけではいけない(戒め) © 2019 Chura DATA inc. PROPRIETARY & CONFIDENTIAL.
正しいフローで分析を回す • ⼀般的なモデル開発案件では納品で完了するが、⻑期的なモデル 開発では、増えたデータに対して継続的に更新を⾏う必要が、 ある。 © 2019 Chura DATA inc.
PROPRIETARY & CONFIDENTIAL.
⻑期的なモデル開発に必要なもの • モデルの問題を早期に発⾒できて改善できる仕組み • 学習データが偏っている可能性 • 前処理が適切に⾏われていない • 学習⼿法が悪い •
パラメータチューニングに失敗している • 各フローでの評価するポイントについて話します。 © 2019 Chura DATA inc. PROPRIETARY & CONFIDENTIAL.
© 2019 Chura DATA inc. PROPRIETARY & CONFIDENTIAL. モデルをいろんな⽅⾯から評価する
(機械学習)特徴量に注⽬した評価 • 基本的な前処理を⾏った特徴量をベースに、新しい特徴量を 加える前後で精度変化を⾒る。 • 例: 体重を予測するために「炭⽔化物」の特徴量の有無で精度変化を⾒る © 2019 Chura
DATA inc. PROPRIETARY & CONFIDENTIAL. 精度:50% 精度:80% 精度が向上︕
(機械学習)特徴量に注⽬した評価 • 決定⽊アルゴリズムなどでは特徴量が分岐する⽊に何回 使⽤されたかを数えることで寄与度を測る⽅法もある。 © 2019 Chura DATA inc. PROPRIETARY
& CONFIDENTIAL. 決定⽊の学習結果を可視化 分岐に使⽤された回数
⼿法に注⽬した評価 • 学習に使⽤する⼿法を複数⽤意し、それぞれに最適化された ハイパーパラメータとその結果を同じ精度指標で⽐較する。 © 2019 Chura DATA inc. PROPRIETARY
& CONFIDENTIAL.
⼿法に注⽬した評価のポイント • 学習とチューニングに時間がかかるため、開発時間が限られている 場合はミニマムな環境でサイクルを回す必要がある。 • データを最⼩限にして事前にどれくらいの精度が出せるかを確認する (数万あるデータを数百程度で回してみる) • 学習回数を制限する (数⼗回程度を最⼤として学習を回す)
• グリッド・ランダムサーチを制限する (試⾏するパラメータを減らす・ランダムサーチの試⾏回数を減らす) © 2019 Chura DATA inc. PROPRIETARY & CONFIDENTIAL.
パラメータに注⽬した評価 • 学習に使⽤する⼿法を統⼀して、複数のパラメータチューニング 結果を⽐較する⽅法 © 2019 Chura DATA inc. PROPRIETARY
& CONFIDENTIAL. 学習率(learning_late) 分岐する⽊の数(n_estimators) に注⽬してパラメータ評価を ⾏うことで、サイクルを回す 過程で局所解に陥ることを 避けるような働きがある
パラメータに注⽬した評価のポイント • 収集して増え続けるデータでの学習に対して、データの異常検知を ⾏うことができる。 • 最適化されたパラメータを固定して、データを増える前後で学習させる ことで予期しない情報を含んだデータが増えているかを検知できる © 2019 Chura
DATA inc. PROPRIETARY & CONFIDENTIAL. 学習率 = 0.05 分岐⽊数 = 1024 データ数 = 10000 学習⽇ = 2019-10-15 学習率 = 0.05 分岐⽊数 = 1024 データ数 = 15000 学習⽇ = 2019-11-15 学習率 = 0.05 分岐⽊数 = 1024 データ数 = 20000 学習⽇ = 2019-12-15 精度: 85% 精度: 87% 精度: 69%
© 2019 Chura DATA inc. PROPRIETARY & CONFIDENTIAL. ⾯倒なモデル評価を楽にする⽅法
MLFlowがおすすめ • 機械・深層学習フローにおいて実⾏環境・パラメータ・評価結果 などの管理を⾏うライブラリ © 2019 Chura DATA inc. PROPRIETARY
& CONFIDENTIAL. 今回の話はTrackingの機能
パッとみてパラメータの変化を知ることができる © 2019 Chura DATA inc. PROPRIETARY & CONFIDENTIAL. ・試⾏内容
・使⽤パラメータ ・評価指標 が表で⼀⽬ みるだけで わかる︕
理想的な開発環境 • これをDockerでドカドカしたい (希望・これからやる・コーナーで差をつけろ) © 2019 Chura DATA inc. PROPRIETARY
& CONFIDENTIAL. 分析環境 コード管理 ワークフロー管理 学習モデル・パラメータ保存 モデル・パラメータ管理
© 2019 Chura DATA inc. PROPRIETARY & CONFIDENTIAL. まとめ
⻑期的にモデルを評価すること • モデルの問題を早期に発⾒できて改善 • 経験則ではなくデータやモデルに基づいて修正できる • モデルの性能が良い・悪い根拠を様々なフローから解き明かす • ブラックボックスを少しでも解き明かすことで、⾃分の作ったモデルに ⾃信が⽣まれる
• MLFlowを使うことでグラフィカルに性能評価ができる • 現状MLFlowを使っているだけなので、もっと便利な学習マネジメント ライブラリが出たら触ってみたいな © 2019 Chura DATA inc. PROPRIETARY & CONFIDENTIAL.
⼒がほしいか・・・ • ちゅらデータでは筋⾁アナリストを募集中︕((( • 健康的な体を⼿に⼊れながら、データ分析もできる︕ • もれなくintelが⾷事から運動まで全⾯サポートします • データ分析に興味があるなら、⾃分の⾝体のデータを集めて 分析してみませんか︖
• 不定期ですがだいたい隔週⽊曜⽇に筋トレ会をしているので、 興味がある⽅は懇親会でお声がけください︕ © 2019 Chura DATA inc. PROPRIETARY & CONFIDENTIAL.
ビジネス利⽤における ⻑期的な学習モデルの評価 ご清聴ありがとうございました © 2019 Chura DATA inc. PROPRIETARY &
CONFIDENTIAL.
Appendix • 超細かく説明してくれる神参考リンク • mlflowを使ってデータ分析サイクルの効率化する⽅法を考える • https://qiita.com/masa26hiro/items/574c48d523ed76e76a3b • MLflow 1.0.0
リリース︕機械学習ライフサイクルを始めよう︕ • https://qiita.com/fam_taro/items/155912068ff475a53e44 • 機械学習で泣かないためのコード設計 • https://www.slideshare.net/takahirokubo7792/2018-97367311 © 2019 Chura DATA inc. PROPRIETARY & CONFIDENTIAL.