2019.4.10に行われたAWSのイベント"ML@Loft" での登壇スライドです。 https://awsmlatloft20190410tokyo.splashthat.com/
こちらのスライド↓で話しきれなかった部分をまとめた内容です。 https://speakerdeck.com/ysdyt/to-incorporate-deep-learning-into-actual-operation-system
April.10.2019 ML@Loft株式会社ブレインパッド吉田勇太機械学習システム開発プロジェクトの予算・予定・人情
View Slide
© BrainPad Inc. 2自己紹介- 吉田 勇太/Yuta Yoshida(@yutatatatata)- 株式会社ブレインパッド- リードデータサイエンティスト- 業務: 画像分析・機械学習システムの導入- 東洋大学 連携情報学部 非常勤講師
© BrainPad Inc. 3ラウンドテーブルファシリテーター- 上総 虎智/Taketoshi Kazusa (@tkazusa)- 株式会社ブレインパッド- シニアリードデータサイエンティスト- 業務: 製薬・自動車・土木などの業界で機械学習システム開発プロジェクトを支援
- DSがたくさんいる会社です- 受託分析の老舗(創業15周年)- あるあらゆる業界を支援- 1案件3ヶ月~- PM1名, メンバー1~2名, 営業1名,技術アドバイザー1名が一般的なチーム構成- 2015年後半くらいから深層学習(AI)のビジネス活用が出始めるhttps://ai.brainpad.co.jp/people/list/
このスライドの副題
期待値調整観点からの機械学習PJの予算・予定・人情
- 世の中に機械学習PJの知見・ケーススタディーはたくさん溜まってきました。(弊社もたくさんスライド&書籍出していますのでゼヒ)- それでもまだまだ機械学習PJは難しいと思われています。なぜか?
機械学習PJでよく聞く言葉“機械学習はやってみないとわからないことがある”
- 機械学習PJでは各社の課題, データ, 仕様が異なることが常- (現状では) 汎用的なベストプラクティスを言語化・網羅化することが難しい- 専門家以外ぼんやりと「AI」を理解している&ブームで期待値が上がってしまっている- そのため、機械学習PJは「経験するほどわかってくる」「経験しないと理解できない部分がある」状態なのが現実
- 経験によって掴めてくるもの?- ノウハウもさることながら、- 「実行力・判断力」という腕力- 機械学習PJ的「期待値調整」のしどころ
期待値調整観点からの機械学習PJの予算・予定・人情※受託の機械学習PJ視点で話しますが、事業会社でも同じだと思ってます
機械学習PJの予算はどこからやってくる?(続くツイートをまとめると)- 機械学習システムはPoCが必要- PoC費用はR&D費から出ることが多く、一般的にR&D費は少額でかつ真っ先に削られる予算- 継続的開発が難しい- 各社の課題, データ, 仕様が違うので技術的にもアセットになりにくい- SaaSにしにくい- SaaSパッケージにしたり技術特化しないと, 分析・AIの技術はレッドオーシャンになる一方
PJ継続のためにPJ中に予算を取ってくる必要がでてくる- PoCの結果をもって予算(ステークホルダーの実施判断)を取る- 「良いPoCの結果」?- 精度もそこそこ出て、現場導入の可能性が見えるもの- 「現場導入の可能性が見えるもの」?- つまり、試作機(プロトタイプ)を作ってほしい- 機能は最低限で良いので「実際に動くもの」を作ってほしい- なので、多くの場合「試作機の制作」までがPoCの範囲となる- 動くものを見て初めて期待値が高くなる- 動くものを見せれば”上”も予算をつけてくれる!
いつの時代も人は動くものにトキメク- PoCなので最低限の機能で動くものが欲しい- 「最低限の機能で動くもの」?- Minimum Viable Product (実用最小限の製品)- 「Minimum」とは?- 現場, 対象に寄る- DS, エンジニア, 現場の人で話し合う必要ありMVP完成機
MVP的プロトタイプ制作- 関係者- MLモデルを考えるDS- システムエンジニア- ハードウェアエンジニア(※対象によっては不参加)- 実際にシステムを動かす現場の人- プロジェクト責任者
MVP的プロトタイプ制作- 関係者- MLモデルを考えるDS- システムエンジニア- ハードウェアエンジニア(※対象によっては不参加)- 実際にシステムを動かす現場の人- プロジェクト責任者注!- PoCで精度だけ考えていると「プロジェクト責任者」と「DS」のみのPJになりがち。そういったPJは失敗確率高め
MVP的プロトタイプ制作- 関係者- MLモデルを考えるDS- In/Outするデータ形式を考える- 根幹となるアルゴリズム作成- システムエンジニア- ハードウェアエンジニア- 実際にシステムを動かす現場の人- プロジェクト責任者
MVP的プロトタイプ制作- 関係者- MLモデルを考えるDS- システムエンジニア- DSが想定するデータのIn/Outの安定稼働- 他のデバイスとの繋ぎ込み(ex.カメラ)- 非技術者が操作する画面の設計- ハードウェアエンジニア- 実際にシステムを動かす現場の人- プロジェクト責任者
MVP的プロトタイプ制作- 関係者- MLモデルを考えるDS- システムエンジニア- ハードウェアエンジニア(※対象によっては不参加)- カメラの選定- 撮影環境の作成- 実際にシステムを動かす現場の人- プロジェクト責任者
MVP的プロトタイプ制作- 関係者- MLモデルを考えるDS- システムエンジニア- ハードウェアエンジニア- 実際にシステムを動かす現場の人- 現場にfitするシステムかどうかワークフローの確認など- プロジェクト責任者
MVP的プロトタイプ制作- 関係者- MLモデルを考えるDS- システムエンジニア- ハードウェアエンジニア- 実際にシステムを動かす現場の人- プロジェクト責任者- MLシステムを入れるビジネスインパクトの試算など
MVP的プロトタイプ制作- 関係者- MLモデルを考えるDS- システムエンジニア- (ハードウェアエンジニア)- 実際にシステムを動かす現場の人- プロジェクト責任者MVPと言いつつ、すでに「小ライス大盛り」状態しかし、上の期待を高めて予算を引き出すにはここまでがミニマム (PJをPoCの次に繋げる)
機械学習PJはもちろんPoCだけでは終わらないPoC期間だけではなく、システム化・運用までを含めた全体のスケジュールをPJオーナー達に見せられていますか?
こういう全体図最初のPoCだけではなく, 「運用保守」までの全工程試作機のお披露目※PoCは内容を切り分けて何度か行うのが吉※実際はPoCやプロトタイピングに試行錯誤が入るのでアジャイルなループで進んでいく
PoC以降の予定を見せてないと何が起こるか『PoCで意外に良い精度が出た!一旦社内のお披露目会を前倒しでやろう!』となるここのスケジュール感が見えていないと、、、試作機のお披露目
PoC以降の予定を見せてないと何が起こるか『PoCで意外に良い精度が出た!一旦社内のお披露目会を前倒しでやろう!』となるここのスケジュール感が見えていないと、、、試作機のお披露目- 年度で予算額が決まっている場合、いつまでに計画をすれば次年度の予算が取れるか?- そのスケジュールと開発スケジュールの摺り合わせができているか?(受託企業や部署外からはそういったところが見えないが調整は必須)
お披露目会に間に合うように開発を圧縮チーム内で想定していたシステム化フェーズを無茶な形で前倒し実施することになり大変な目にあう(メテオフォール型開発へのルート分岐点になったりもするかも?)一部PoC内容を後回しにし、試作機作成のために開発フェーズをやや詰め気味に再スケジュールすることに。前倒しされた試作機のお披露目急いで設計&開発
PoC前の想定予定は変わるものと覚悟する- 動くものができると意思決定者の温度感に変化が出てくる事は常- 試作機をお披露目してPJを続けるための予算獲得に活かそう!- 予算取り時期に間に合わせるために試作機開発時期を前倒そう!
- PoC以降にも必要な作業が多数あることを先にしっかり示す- なぜ各工程が必要なのか説明を怠らない- 「長引きそうだ・大変そうだ」と思わせたくないからボカす、は後々自分に返ってくる...- 期待値を正しく調整する必要がある対策
PoCの前にも地道な作業がたくさんある- 機械学習PJではPoCの前に、- 現状の作業フローを現場の人達と洗い出しましょう- 漏れなく要求整理を行いましょう- 想定されうる課題の検討を行いましょう etc...が推奨されています。
PoCの前に開発計画を立てる全てのステップの前に、計画を立てることが推奨されている
正しいやり方とモチベーションは両立しないこともある- しかし現実は「AIプロジェクトをやるぞ!」というクライアントに「では業務フローの洗い出しから…」とお願いするとプロジェクト全体の士気が下がることも。
チーム内のモチベーションにも意識を向ける- 機械学習PJでは長い期間に渡って泥臭い作業が沢山発生するので、チーム全体のモチベーションを高く保てるかどうかも重要なポイント- PoCで良い結果を出したり、試作機など動くものを作ってチームの熱量が高まったところでお願いをするというのも一つのやり方。(※何かと連携することが決まっているor工場ラインのように後から修正が難しいものものはそれでも早めに要件要求・定義が必要)- AIなどの言葉を(正しく)掲げ、PJに色気を付けるのも方法の一つ。
現実的にはこういった感じが良さそうPoCで良さそうな結果が出た頃に地味で大変な作業をお願いする。現実的には、PoCとやや並走する形で計画を立てていく
最後に
人情?期待値調整?ちょっとポエム過ぎない?(笑)おそらく機械学習社会実装の一番の障壁は「人間の感情」- 各家庭に繋がる古い水道管で汚染水問題が発生→掘り出して交換が必要- 機械学習で交換必要性が高い水道管を予想。交換優先度をつける。- 優先度が低い住民がクレーム。「なぜ自分は後回しなんだ!」- 機械学習の内容や結果を住民にわかりやすく説明できない実施側- 機械学習の結果を無視し、 ”平等に”パイプを調べて交換するようになる- 結果、交換対応が遅れて被害が拡大https://note.mu/datascience/n/nde5bd9d68afe
43『機械学習というよくわからんものに大金を出すのか?』『これほんとに使えるの?従来オペレーションの方がよくない?』はたまた『これは良い!すぐ投入しよう!』という「人間の気持ちの動き」を適切に調整し続け、チームを鼓舞し続けながら、MLシステム開発を続ける必要がある
まとめ- 予算- 最初から結構大変ではあるが、動く試作機を作ることでステークホルダーを動かすPoCで勝ち取る(期待値を上げる)- 予定- 動くものが出来た!→早くお披露目しよう!を正しく抑止する(正しい予定を期待させるためにすり合わせる)- 人情- 杓子定規なやり方だけでは進まないかも(期待値を上げる・時に煽る)
ではデータ分析や、機械学習の社会実装を通じて社会を良くしていく仲間を大募集中です!分析のことでも会社のことでも、超気軽に話しかけてくださいー!Follow Us! @yutatatatata, @tkazusa