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
Livesense Inc.
PRO
August 22, 2018
Technology
0
4.3k
事業会社における機械学習システム開発・運用 課題と展望
機械学習工学研究会 現場を交えた勉強会 #1 (2018/08/21)
https://mlxse.connpass.com/event/97131/
Livesense Inc.
PRO
August 22, 2018
Tweet
Share
More Decks by Livesense Inc.
See All by Livesense Inc.
27新卒_Webエンジニア職採用_会社説明資料
livesense
PRO
0
1.5k
株式会社リブセンス・転職会議 採用候補者様向け資料
livesense
PRO
0
40
株式会社リブセンス 会社説明資料(報道関係者様向け)
livesense
PRO
0
1.5k
データ基盤の負債解消のためのリプレイス
livesense
PRO
0
430
26新卒_総合職採用_会社説明資料
livesense
PRO
0
10k
株式会社リブセンス会社紹介資料 / Invent the next common.
livesense
PRO
1
33k
26新卒_Webエンジニア職採用_会社説明資料
livesense
PRO
1
13k
中途セールス職_会社説明資料
livesense
PRO
0
260
EM候補者向け転職会議説明資料
livesense
PRO
0
130
Other Decks in Technology
See All in Technology
o11yツールを乗り換えた話
tak0x00
2
1.7k
Amazon Bedrock AgentCore でプロモーション用動画生成エージェントを開発する
nasuvitz
6
250
AIに頼りすぎない新人育成術
cuebic9bic
3
340
薬屋のひとりごとにみるトラブルシューティング
tomokusaba
0
390
ウォンテッドリーのアラート設計と Datadog 移行での知見
donkomura
0
210
AIドリブンのソフトウェア開発 - うまいやり方とまずいやり方
okdt
PRO
7
190
Mackerel in さくらのクラウド
cubicdaiya
1
340
歴代のWeb Speed Hackathonの出題から考えるデグレしないパフォーマンス改善
shuta13
6
550
プロダクトエンジニアリングで開発の楽しさを拡張する話
barometrica
0
210
ABEMAにおける 生成AI活用の現在地 / The Current Status of Generative AI at ABEMA
dekatotoro
0
430
サービスロボット最前線:ugoが挑むPhysical AI活用
kmatsuiugo
0
140
人を動かすことについて考える
ichimichi
2
120
Featured
See All Featured
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
6k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
How to Ace a Technical Interview
jacobian
279
23k
Faster Mobile Websites
deanohume
309
31k
Being A Developer After 40
akosma
90
590k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
30
9.6k
Navigating Team Friction
lara
188
15k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
21k
Why Our Code Smells
bkeepers
PRO
338
57k
YesSQL, Process and Tooling at Scale
rocio
173
14k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Automating Front-end Workflow
addyosmani
1370
200k
Transcript
事業会社における 機械学習システム開発・運用の課題と展望 株式会社リブセンス 田中 祥太郎
• 事業会社において、Webサービスに組み込まれ実際に収益を挙げることを 目的とした機械学習 (ML) システムについて述べる • MLアルゴリズムそのものより、MLを利用するシステムの特徴や 開発・運用の体制、組織・プロジェクト管理に着目 • 実際の課題の列挙とそれに対する考察・展望の共有が目的であり、
特定の課題に対する詳細な解決手法の提案は行わない ※実際の取組みは https://analytics.livesense.co.jp/ で紹介 内容について
自己紹介 田中 祥太郎 / @yubessy • 株式会社リブセンス テクノロジカルマーケティング部 データプラットフォームグループ •
データ分析基盤・機械学習基盤の開発・運用に従事 • 修士 (社会情報学) 経歴 2010 - 2014 京都大学工学部情報学科 2014 - 2016 京都大学大学院情報学研究科 2016 - 株式会社リブセンス
リブセンスのサービス 求人・不動産領域を中心に大小複数のサービスを運営
成功報酬型ビジネスモデルが主流 リブセンスのビジネスモデル
求人サービスの例 • 求人票の掲載:無料 • 応募者の採用:課金 掲載無料 = 営業努力だけでは収益を上げにくい データ活用によるマーケティング・UX向上施策に注力 →
機械学習をはじめとする最適化手法の導入 • コンテンツと行動ログによる求人レコメンド • CVR予測に基づく検索ランキング最適化 成功報酬型ビジネスモデルとデータ活用
例 コンテンツと行動ログによる求人レコメンド • 求人コンテンツの類似度に基づく Contents-Based Filtering • ユーザフィードバックに基づく Collaborative Filtering
例 CVR予測に基づく検索ランキング最適化 • 求人のCVR (応募率・採用率) を予測し検索順位制御に利用
MLシステムの開発・運用課題 これらのシステムの開発・運用において多くの課題に直面 • システムの負荷が高い • 実環境での検証が困難 • … 以前は個別に対処してきたが、限界も見えてきた →
これまで直面した課題を列挙し、今後の議論の一助としたい 今回は2つの観点から整理を試みる • システムの構造や計算の特性に関わる課題 • 開発・運用の工程や組織体制に関わる課題
システムの構造や計算の特性に関わる課題
MLシステムの一般的特徴 • 入出力を決定する関数 (=モデル) がデータに依存 • ロジックがコードではなく数理モデル → ブラックボックス化の懸念 •
学習処理はスループット志向 ↔ 予測処理はレイテンシ志向
課題 学習のリソース消費量が大きい • スループットを出すために大量の CPU, GPU, RAM が必要 • 学習は一時的・定期的に発生
→ リソースを常に確保するのは無駄 ◦ 事業会社ではハードウェア買い切りがコストに見合わないことも アイデアと展望 • コンテナ技術等によるインフラの共通化・再利用 • ジョブスケジューリングによるリソースシェアリング • 従量課金型の IaaS / PaaS の利用
課題 予測のレイテンシを向上させにくい • Web利用に耐えうるオンライン予測の実現はハードルが高い ◦ 例 ユーザ特徴に基づいて動的に推薦アイテムを決定 • 処理のボトルネックが通常のシステムと異なる ◦
通常:データベースI/O, ネットワーク ◦ ML:画像・テキストなどの前処理,モデル内部の数値計算 アイデアと展望 • 一部の処理を queue-worker などで非同期化 • 部分的な事前計算・インデックス技術の活用
課題 処理の再現性が担保しづらい • データの時間・環境差異やノイズの混入により再現性が失われる ◦ 通常:開発環境と本番環境のDBは異なる ◦ ML:開発・検証時にも本番と同等のデータが必要 • 試験実行時のコンピューティング環境も同一が望ましい
アイデアと展望 • データウェアハウスの整備とデータソースの一元化 • クラウドサービスのアイドリングリソース活用 ◦ GCP: Preemptible Instance / AWS: Spot Instance
課題 コード実行を伴うテストや検証が大変 • 構造上、単体テストによる検証がしづらい ◦ Webサーバ:実行時間の短い関数を独立・並行実行 ◦ MLジョブ:実行時間の長い関数を依存・直列実行 • テストケースの整備にMLの専門知識が必要
◦ データのサイズや分布が異なると挙動が変わる ◦ アルゴリズムに対する数理的な理解が要求される • 一度のテスト実行に多大な時間とリソースが必要 アイデアと展望 • ソフトウェアの静的解析手法の応用 ◦ 出力の値域や計算量を実行前にある程度知りたい ◦ アルゴリズム実装の正しさの検証ができないか? • 現状は動的型言語 (Python, R, ...) が主流なので難しさも
開発・運用の工程や組織体制に関わる課題
Webサービス運営事業の一般的特徴 サービスのローンチ後に継続的なモニタリングと改善を行う • システムの運用と並行して開発とリリースが繰り返される • 拡張性・スケーラビリティを強く意識する必要がある ※ • ウォータフォールモデルよりアジャイル的手法が好まれやすい ※もちろん安定性・堅牢性を軽視してはならない
業態 Webサービス運営 システムインテグレーション 提供するもの サービス ソリューション 売上の発生 利用 納品・保守 顧客単価 比較的小 比較的大 顧客数 比較的多 比較的少
課題 実環境下でのオンライン評価が必要 • オフライン評価では精度指標は算出できてもビジネス効果は不明 • 実環境ではフィードバックループにより学習データ自体が変化 ◦ 例 レコメンドによる一部商品へのコンバージョンの偏り •
→ オフライン評価の結果が常に有用とは限らない アイデアと展望 • 実環境でのオンライン評価の仕組みの整備 ◦ スプリットテストによる統制実験 ◦ 段階的ロールアウトによる変化傾向の把握
課題 ソフトウェア品質が低くなりやすい • PoCでも実環境検証が必要 ↔ PoCではコードや設計に気を使えない ◦ MLの専門性 ≠ ソフトウェアエンジニアリングの専門性
• → 品質の低いソフトウェアの実環境投入による運用負荷 ◦ アプリケーション・インフラエンジニアが対応に追われる • → クリティカルな機能でのML利用が進みにくい ◦ 例 検索ランキングの動的制御, A/Bテストのパターン配信 アイデアと展望 • フェイルオーバーの仕組みの整備 ◦ MLが要求を満たせない → ヒューリスティクスでリカバリ • SLI / SLO / SLA の導入によるサービスレベルの明確化 ◦ 客観的指標があれば問題をトリアージしやすい
課題 モデル精度とビジネス収益の関係が不透明 • 精度がX%向上するとどの程度のビジネス収益につながるか? • みかけの精度向上の裏に重要な機会損失が潜むことも ◦ 例 検索の適合率が向上するも一部の高収益商品の順位が低下 アイデアと展望
• 実際のユースケースに即した評価指標の選定 ◦ 適合率 vs 再現率 ◦ ペアワイズ評価 vs リストワイズ評価 • 精度指標とビジネス指標の統合的なモニタリング
課題 プロジェクト・組織管理の方法論が未整備 • 異なるバックグラウンドのメンバーからなる混成チーム ◦ 高度な専門性が必要 ⇔ 属人化しやすい • 適当なプロジェクト管理の方法論が存在しない
◦ CRISP-DM※ はシステム開発・運用の観点が薄い アイデアと展望 • 組織・事業に応じた体制づくりはどこも模索中 • → まずは事例共有から ※https://en.wikipedia.org/wiki/Cross-industry_standard_process_for_data_mining
まとめ 事業会社でのMLシステムの開発・運用における課題を列挙・整理 • システムの構造や計算の特徴に関わる課題 ◦ 学習のリソース消費が大きい ◦ 予測のレイテンシを向上させにくい ◦ 処理の再現性が担保しづらい
◦ コード実行を伴うテストや検証が大変 • 開発・運用の工程や組織体制に関わる課題 ◦ 実環境下でのオンライン評価が必要 ◦ ソフトウェア品質が低くなりやすい ◦ モデル精度とビジネス収益の関係が不透明 ◦ プロジェクト・組織管理の方法論が未整備 今後の議論の一助になれば