8
12

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

フェイルファスト - 面倒な技術負債を負わずに素早く失敗する話

Last updated at Posted at 2023-11-06

最近、ある企業が「AIイニシアチブは大成功だった」と話してくれました。3年間、プロジェクトの失敗は「ゼロ」で、7人からなるデータサイエンティストチームが毎年2つのAIユースケースを本番稼動させているとのことです。この失敗率は低すぎると思いませんか?

仮に、あなたの組織に1000のAIユースケース候補があり、そのうちの25%はROIが大きくプラスになる可能性があるとしましょう。適切なコストで、良いユースケースを見つけるにはどうすればよいでしょう?多くの企業は、成功を確信できる少数のユースケースから始めますが、その確信を正当化するためには経験が不足しています。その結果、少数のユースケースに全リソースを注ぎ込み、ROIを見出すのに何年もかかっています。

一方、AIに成功している多くの企業では、リーンで(無駄を省いた)フェイルファストな(早く失敗する)別のアプローチをとっています。興味深い例として、過去の(第3次)産業革命時に行われたIEEEの「マイクロマウス競技会」を見てみましょう。

1970年代のマイクロマウス競技会

Screenshot 2023-10-16 at 10.27.11 PM.png

1970年代後半、マイクロプロセッサーは、ちょうど今日のAIのように、多くの産業やユースケースで自動化を可能にしました。イノベーションを促進するため、米国電気電子学会(IEEE)は、マイクロマウスと呼ばれる自律型の小型ロボットを作り、見たこともない迷路を走らせ、最も速く走ったチームが優勝するという競技会を開催しました。このイベントには、産官学の6,000人が参加し、各チームは複数回マウスを走らせました。(マイクロマウスの迷路競技は、45年たった今でも開催されていて、YouTubeで勝利者の勇姿を拝むことができます。)

IEEEは「初期の走行で迷路を『学習』し、その後の走行で最短経路を通る」マウスが開発され、マイクロプロセッサーの威力が示されることを期待していました。しかし、そうはならなかったのです・・。

バテル研究所(Battelle Institute)の「お間抜けな」マウスが、ただ右側の壁にへばりついて、非常に速く進むことで勝利したのでした。上の迷路をみてください。右側の壁のアプローチでは、8回「間違った」道を曲がり、最短経路よりも120%長く移動します。しかし、「間違った道を通らないことを8回決定する」方が、「間違った道を通ること」よりも時間がかかるのであれば、この勝者の選択は最適だったと言えます。AIのユースケースについても同じことが言えます。つまり 「最良だが、ほんの数個」を学習するよりも、「数多く」試した方が速いということです。Dataikuは、このアプローチをサポートする多くのプラットフォーム機能を提供します。

フェイルファスト(Fail-Fast)な開発

AIをいち早く取り入れた企業(アーリーアダプター)は、Crawl - Walk - Run(ハイハイ - 歩く - 走る)のアプローチで計画し、すでに何百ものユースケースを本番運用しています。
私たちは最近、現実的なレイトアダプター企業と仕事をすることが増えているのですが、ある人は「Crawl - Walk - Run では、自分には速すぎる」と言って、ユースケースに「Roll-over - Crawl - Stand-up - Walk - Run(寝返り - ハイハイ - つかまり立ち - 歩く - 走る)」を使っていると言っていました。Dataikuは、高価で不透明なコードをたくさん書くことなく、このようなアプローチをサポートするプラットフォーム機能を備えています。以下に例を示します。

Roll - Over(寝返りを打つ):ユースケースに関連して、よく聞かれる最初の質問は「トレーニング用データセットの開発は、どの程度可能ですか?」です。
Dataikuのデータカタログフィーチャーストアでデータセットを探し、統計処理、チャート、ダッシュボードをノーコードで利用できます。数分でデータを探索し、数回クリックするだけで、将来の再利用のために保存できます。データの所有者や利用者とチャットして情報を確認したり、十分なデータがあれば、品質やパフォーマンス(データ行数、特徴量の数、ラベル付けされた行数など)はいったん無視して、データ・パイプラインをノーコードで素早く開発し、トレーニング・データセットに集約できます。AutoMLで実験して、正確なモデルを実現可能かどうか確認します。

Dataikuは、実験用にいくつかのアルゴリズム(Lasso回帰、ランダムフォレスト、XGBoostなど)を自動的に選びます。モデルの精度が低すぎる場合、ドメインの専門家(SME)と協力して、特徴量を追加・削減できます。ドメインの専門家はR、Python、SQLを知らなくても、簡単にノーコード・パイプラインに参加できます。それでも精度が低い場合は、より多くの行にラベル付けを行うコストを見積ります。最後に、特徴量重要度チャートでモデルの結果をレビュー・検討し、GoかNoGoか(次のフェーズに進むかどうか)を判断します。

Crawl(ハイハイする):モデルを実際のユーザーに使ってもらいます。モデルを説明するWikiを書いて、モデルカタログに登録したり、リアルタイムの実行結果を見たいユーザーには、APIを作成して数分で実行環境にプッシュできます。インタラクティブなアプリを好むユーザーには、誰もが利用可能なアプリケーションをノーコードで作成します。利用状況をモニターし、ユーザーからのフィードバックを得て、生み出される価値を計算します。再び、Go / NoGoの判断を行います。

Stand Up(つかまり立ちする):かなりのROIが見込めそうなので、これまでに開発したものをシステム化して、導入を促進します。データ集計とパイプライン処理を自動化し、定期・もしくは新しいトレーニングデータが利用可能になった際に自動実行されるようにします。
品質を保証するためのメトリクスやチェック(トレーニングデータ内のMax 年齢、Min 行数、Null値率など)をパイプラインに追加します。チェックに失敗した場合、メール、Slack、Teams等経由で送信されるアラートを設定します。統計シートやダッシュボードをプロジェクトに追加し、新しいユーザーが参加した場合すぐに理解できるようにします。組織内への周知と使用状況のトラッキングを行い、生成される価値が有望であれば、次のフェーズに進みます。

Walk(歩く):より多くのメトリクスとチェックを追加して、パイプラインを強化します。モデルの精度を向上させるために新しい特徴量を試したり、いくつかのハイパーパラメータを手動で設定してモデルを調整します。
本番環境でA/Bテストやチャンピオン/チャレンジャーテストを実施し、実データを使ったモデルの改善効果を測定します。許容可能なROIを生み出しているかどうか、あらためて価値見積りを行います。

Run(走る): Webアプリ(Dash、Shiny、Bokeh、Streamlet、Custom Flash + HTMLまたはJavascript などを利用)を開発して、利用を促進します。データソースとの同期処理を追加し、利用インフラ(Spark、Snowflake、Snowpark・・など)を選択して、処理効率の向上・コスト管理を行います。

入力データのドリフトやモデル精度を継続的に監視し、しきい値を超えた場合、アラート通知やモデルの再トレーニングを実行します。注意が必要なサブグループを指定してモデルバイアスを発見したり、サブグループのモデル精度と特徴量重要度を監視して、しきい値を超えた場合には、アラートや再トレーニングを行います。新しいユーザにモデルを理解してもらうため、分かりやすいダッシュボードを作成したり、提供価値をモデルカタログ上で文書化して、普及をさらに促進します。

バテル研究所のマイクロマウスのように高速に

Dataikuのフルライフサイクル・プラットフォームでAIをシステム化することで、技術的負債をあらゆる段階で管理し、コストが提供価値を大きく超えないように制御できます。結果として、チームはプロジェクト中心ではなく成果中心になり、「価値を生み出すために開発リソースを得る」のではなく、「価値を生み出すことで開発リソースを得る」マインドに変化します。この驚くほどシンプルな切り替えが、AIの大きなROIを生み出すことになります。

AIプロジェクトの失敗についてさらに詳しく

AIプロジェクトの失敗につながる組織・技術上の理由を確認し、状況を改善するための解決策を発見しましょう。詳細はこちらの記事を読む。

原文はこちら:Fail Fast Without All the Annoying Technical Debt

8
12
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
12

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?