機械学習システム開発プロジェクトの予算・予定・人情 / Budget, schedule and humanity of ML system dev PJ

機械学習システム開発プロジェクトの予算・予定・人情 / Budget, schedule and humanity of ML system dev PJ

2019.4.10に行われたAWSのイベント"ML@Loft" での登壇スライドです。
https://awsmlatloft20190410tokyo.splashthat.com/

こちらのスライド↓で話しきれなかった部分をまとめた内容です。
https://speakerdeck.com/ysdyt/to-incorporate-deep-learning-into-actual-operation-system

4d4fbbd8ec5f9393b90d510782818fbb?s=128

吉田勇太 / ysdyt

April 10, 2019
Tweet

Transcript

  1. April.10.2019 ML@Loft 株式会社ブレインパッド 吉田勇太 機械学習システム開発プロジェクトの 予算・予定・人情

  2. © BrainPad Inc. 2 自己紹介 - 吉田 勇太/Yuta Yoshida(@yutatatatata) -

    株式会社ブレインパッド - リードデータサイエンティスト - 業務: 画像分析・機械学習システムの導入 - 東洋大学 連携情報学部 非常勤講師
  3. © BrainPad Inc. 3 ラウンドテーブルファシリテーター - 上総 虎智/Taketoshi Kazusa (@tkazusa)

    - 株式会社ブレインパッド - シニアリードデータサイエンティスト - 業務: 製薬・自動車・土木などの業界で機械学 習システム開発プロジェクトを支援
  4. - DSがたくさんいる会社です - 受託分析の老舗(創業15周年) - あるあらゆる業界を支援 - 1案件3ヶ月~ - PM1名,

    メンバー1~2名, 営業1名, 技術アドバイザー1名が一般的な チーム構成 - 2015年後半くらいから深層学習(AI) のビジネス活用が出始める https://ai.brainpad.co.jp/people/list/
  5. このスライドの副題

  6. 期待値調整観点からの 機械学習PJの予算・予定・人情

  7. - 世の中に機械学習PJの知見・ケーススタディーはたくさん溜まってきまし た。(弊社もたくさんスライド&書籍出していますのでゼヒ) - それでもまだまだ機械学習PJは難しいと思われています。なぜか?

  8. None
  9. None
  10. 機械学習PJでよく聞く言葉 “機械学習はやってみないとわからないことがある”

  11. - 機械学習PJでは各社の課題, データ, 仕様が異なることが常 - (現状では) 汎用的なベストプラクティスを言語化・網羅化するこ とが難しい - 専門家以外ぼんやりと「AI」を理解している&ブームで期待値が

    上がってしまっている - そのため、機械学習PJは「経験するほどわかってくる」「経験し ないと理解できない部分がある」状態なのが現実
  12. - 経験によって掴めてくるもの? - ノウハウもさることながら、 - 「実行力・判断力」という腕力 - 機械学習PJ的「期待値調整」のしどころ

  13. - 経験によって掴めてくるもの? - ノウハウもさることながら、 - 「実行力・判断力」という腕力 - 機械学習PJ的「期待値調整」のしどころ

  14. 期待値調整観点からの 機械学習PJの予算・予定・人情 ※受託の機械学習PJ視点で話しますが、事業会社でも同じだと思ってます

  15. 期待値調整観点からの 機械学習PJの予算・予定・人情

  16. 機械学習PJの予算はどこからやってくる? (続くツイートをまとめると) - 機械学習システムはPoCが必要 - PoC費用はR&D費から出ることが多く、一 般的にR&D費は少額でかつ真っ先に削ら れる予算 - 継続的開発が難しい

    - 各社の課題, データ, 仕様が違うので技術 的にもアセットになりにくい - SaaSにしにくい - SaaSパッケージにしたり技術特化しない と, 分析・AIの技術はレッドオーシャンにな る一方
  17. PJ継続のためにPJ中に予算を取ってくる必要がでてくる - PoCの結果をもって予算(ステークホルダーの実施判断)を取る - 「良いPoCの結果」? - 精度もそこそこ出て、現場導入の可能性が見えるもの - 「現場導入の可能性が見えるもの」? -

    つまり、試作機(プロトタイプ)を作ってほしい - 機能は最低限で良いので「実際に動くもの」を作ってほしい - なので、多くの場合「試作機の制作」までがPoCの範囲となる - 動くものを見て初めて期待値が高くなる - 動くものを見せれば”上”も予算をつけてくれる!
  18. いつの時代も人は動くものにトキメク - PoCなので最低限の機能で動くものが欲しい - 「最低限の機能で動くもの」? - Minimum Viable Product (実用最小限の製品)

    - 「Minimum」とは? - 現場, 対象に寄る - DS, エンジニア, 現場の人で話し合う必要あり MVP 完成機
  19. MVP的プロトタイプ制作 - 関係者 - MLモデルを考えるDS - システムエンジニア - ハードウェアエンジニア(※対象によっては不参加) -

    実際にシステムを動かす現場の人 - プロジェクト責任者
  20. MVP的プロトタイプ制作 - 関係者 - MLモデルを考えるDS - システムエンジニア - ハードウェアエンジニア(※対象によっては不参加) -

    実際にシステムを動かす現場の人 - プロジェクト責任者 注! - PoCで精度だけ考えていると「プロジェクト責任者」と「DS」のみのPJになりがち。 そういったPJは失敗確率高め
  21. MVP的プロトタイプ制作 - 関係者 - MLモデルを考えるDS - In/Outするデータ形式を考える - 根幹となるアルゴリズム作成 -

    システムエンジニア - ハードウェアエンジニア - 実際にシステムを動かす現場の人 - プロジェクト責任者
  22. MVP的プロトタイプ制作 - 関係者 - MLモデルを考えるDS - システムエンジニア - DSが想定するデータのIn/Outの安定稼働 -

    他のデバイスとの繋ぎ込み(ex.カメラ) - 非技術者が操作する画面の設計 - ハードウェアエンジニア - 実際にシステムを動かす現場の人 - プロジェクト責任者
  23. MVP的プロトタイプ制作 - 関係者 - MLモデルを考えるDS - システムエンジニア - ハードウェアエンジニア(※対象によっては不参加) -

    カメラの選定 - 撮影環境の作成 - 実際にシステムを動かす現場の人 - プロジェクト責任者
  24. MVP的プロトタイプ制作 - 関係者 - MLモデルを考えるDS - システムエンジニア - ハードウェアエンジニア -

    実際にシステムを動かす現場の人 - 現場にfitするシステムかどうかワークフローの確認など - プロジェクト責任者
  25. MVP的プロトタイプ制作 - 関係者 - MLモデルを考えるDS - システムエンジニア - ハードウェアエンジニア -

    実際にシステムを動かす現場の人 - プロジェクト責任者 - MLシステムを入れるビジネスインパクトの試算など
  26. MVP的プロトタイプ制作 - 関係者 - MLモデルを考えるDS - システムエンジニア - (ハードウェアエンジニア) -

    実際にシステムを動かす現場の人 - プロジェクト責任者 MVPと言いつつ、すでに「小ライス大盛り」状態 しかし、上の期待を高めて予算を引き出すにはここまでがミニマム  (PJをPoCの次に繋げる)
  27. 期待値調整観点からの 機械学習PJの予算・予定・人情

  28. 機械学習PJはもちろんPoCだけでは終わらない PoC期間だけではなく、システム化・運用までを含めた全体のスケジュールをPJ オーナー達に見せられていますか?

  29. こういう全体図 最初のPoCだけではなく, 「運用保守」までの全工程 試作機のお披露目 ※PoCは内容を切り分けて何度か行うのが吉 ※ 実際はPoCやプロトタイピングに試行錯誤が入るのでアジャイルなループで進んでいく

  30. PoC以降の予定を見せてないと何が起こるか 『PoCで意外に良い精度が出た!一旦社内のお披露目会を前倒しでやろう!』となる ここのスケジュール感が見えていないと、、、 試作機のお披露目

  31. PoC以降の予定を見せてないと何が起こるか 『PoCで意外に良い精度が出た!一旦社内のお披露目会を前倒しでやろう!』となる ここのスケジュール感が見えていないと、、、 試作機のお披露目 - 年度で予算額が決まっている場合、いつまでに計画をすれば次年度の予算 が取れるか? - そのスケジュールと開発スケジュールの摺り合わせができているか? (受託企業や部署外からはそういったところが見えないが調整は必須)

  32. お披露目会に間に合うように開発を圧縮 チーム内で想定していたシステム化フェーズを無茶な形で前倒し実施することになり 大変な目にあう(メテオフォール型開発へのルート分岐点になったりもするかも?) 一部PoC内容を後回しにし、試作機作成のために開発フェー ズをやや詰め気味に再スケジュールすることに。 前倒しされた 試作機のお披露目 急いで設計&開発

  33. PoC前の想定予定は変わるものと覚悟する - 動くものができると意思決定者の温度感に変化が出てくる事は常 - 試作機をお披露目してPJを続けるための予算獲得に活かそう! - 予算取り時期に間に合わせるために試作機開発時期を前倒そう!

  34. - PoC以降にも必要な作業が多数あることを先にしっかり示す - なぜ各工程が必要なのか説明を怠らない - 「長引きそうだ・大変そうだ」と思わせたくないからボカす、は後々自分 に返ってくる... - 期待値を正しく調整する必要がある 対策

  35. 期待値調整観点からの 機械学習PJの予算・予定・人情

  36. PoCの前にも地道な作業がたくさんある - 機械学習PJではPoCの前に、 - 現状の作業フローを現場の人達と洗い出しましょう - 漏れなく要求整理を行いましょう - 想定されうる課題の検討を行いましょう etc...

    が推奨されています。
  37. PoCの前に開発計画を立てる 全てのステップの前に、計画を立てることが推奨されている

  38. 正しいやり方とモチベーションは両立しないこともある - しかし現実は「AIプロジェクトをやるぞ!」というクライアントに「では業務フ ローの洗い出しから…」とお願いするとプロジェクト全体の士気が下がるこ とも。

  39. チーム内のモチベーションにも意識を向ける - 機械学習PJでは長い期間に渡って泥臭い作業が沢山発生するので、チー ム全体のモチベーションを高く保てるかどうかも重要なポイント - PoCで良い結果を出したり、試作機など動くものを作ってチームの熱量が高 まったところでお願いをするというのも一つのやり方。 (※何かと連携することが決まっているor工場ラインのように後から修正が難しいものもの はそれでも早めに要件要求・定義が必要) -

    AIなどの言葉を(正しく)掲げ、PJに色気を付けるのも方法の一つ。
  40. 現実的にはこういった感じが良さそう PoCで良さそうな結果が出た頃に地味で大変な作業をお願いする。 現実的には、PoCとやや並走する形で計画を立てていく

  41. 最後に

  42. 人情?期待値調整?ちょっとポエム過ぎない?(笑) おそらく機械学習社会実装の一番の障壁は「人間の感情」 - 各家庭に繋がる古い水道管で汚染水問題 が発生→掘り出して交換が必要 - 機械学習で交換必要性が高い水道管を予 想。交換優先度をつける。 - 優先度が低い住民がクレーム。「なぜ自分

    は後回しなんだ!」 - 機械学習の内容や結果を住民にわかりや すく説明できない実施側 - 機械学習の結果を無視し、 ”平等に”パイプ を調べて交換するようになる - 結果、交換対応が遅れて被害が拡大 https://note.mu/datascience/n/nde5bd9d68afe
  43. 43 『機械学習というよくわからんものに大金を出すのか?』 『これほんとに使えるの?従来オペレーションの方がよくない?』 はたまた 『これは良い!すぐ投入しよう!』 という 「人間の気持ちの動き」 を適切に調整し続け、 チームを鼓舞し続けながら、 MLシステム開発を続ける必要がある

  44. 期待値調整観点からの 機械学習PJの予算・予定・人情

  45. まとめ - 予算 - 最初から結構大変ではあるが、動く試作機を作ることで ステークホルダーを動かすPoCで勝ち取る(期待値を上げる) - 予定 - 動くものが出来た!→早くお披露目しよう!を正しく抑止する

    (正しい予定を期待させるためにすり合わせる) - 人情 - 杓子定規なやり方だけでは進まないかも(期待値を上げる・ 時に煽る)
  46. では データ分析や、機械学習の社会実装を通じて 社会を良くしていく仲間を大募集中です! 分析のことでも会社のことでも、超気軽に話しかけてくださいー! Follow Us! @yutatatatata, @tkazusa