社員の誰もがAIを活用できる環境へ、ウーバーが社内プラットフォームを公式発表

社内の関係者の誰もが、機械学習を使ったサービス改善を実施できる。

こうした環境の実現に向けて、配車サービスのウーバーが社内システムを強化しています。

同社はこれまで各サービスで機械学習を活用した機能を実装してきました。

たとえばフードデリバリーサービス「UberEats」では、配達先までの距離や道路の混雑状況、調理時間などのデータをもとに、配達時間を予測するといった具合です。

こうした機能の開発・実装に向けて、ウーバーが活用しているのが、自社向け機械学習プラットフォームMichelangelo(ミケランジェロ)。HDFSやSpark、TensorFlowなどのオープンソースを中心に構築されています。

データの処理や学習モデルの構築、予測など、これまでチームによってバラバラだった一連のワークフローがこのプラットフォームによって標準化できたといいます。

過去1年にわたって社内のエンジニアやデータサイエンティスト向けに導入を進めていたといいますが、今回公式に発表されました。

機械学習を活用するにあたって、なぜ社内共通のプラットフォームが必要なのか?実際にどのように使われているのか?詳細をみていきましょう。

なぜ必要なのか?ウーバーの課題感

機械学習モデルを開発・実装するにあたって、ミケランジェロのような社内共通プラットフォームがなかった時代。ウーバーは予測モデルを備えたシステムが必要になるたびに、毎回ゼロベースで構築していたといいます。

そのため手間と時間が膨大にかかることから、オープンソースのツールを使って短期間で作れるものに限られていたそう。

またそれだけのことができるスキルやリソースを持った一部のデータサイエンティストやエンジニアが活用するにとどまっていました。

さらに機械学習モデルを学習させる際も、個々のデータサイエンティストが持つデスクトップで動く範囲のみ。そして学習結果を保存する共通の場所もないから、取り組みがサイロ化してしまう。

このような状態では、社内の誰もがより手軽に機械学習モデルに携われる状態にまでスケールさせることができないでいたのです。

代表例はUberEats

そこでウーバーが導入したシステムがミケランジェロ。サービスに機械学習モデルを実装するにあたって必要な次のワークフローを標準化することができるといいます。

1.データの処理
2.モデルの学習
3.モデルの評価
4.モデルの実装
5.予測
6.予測結果のモニタリング

ミケランジェロの操作画面例
ミケランジェロの操作画面例

ミケランジェロを使った機械学習実装の代表例として紹介されているサービスが、フードデリバリーのUberEats。配達時間の予測やレストランのランキング付けなどに活用されているとのこと。

「配達時間を正確に予測することは、思ったより複雑だ」とウーバーはブログ記事で述べています。ケースごとの不確定要素が非常に多いからです。

料理の調理時間は、注文内容やレストランの繁忙度によって異なります。またUberEatsの配達パートナーがレストランに到着するまでの時間や、配達先に到着するまでにかかる時間は、距離やルート、交通量、天気など、多くの要素に影響されます。

UberEatsがミケランジェロを通して目指すゴールは、こうした不確定要素が複雑にからみ合う状況かでも、正確な配達時間を表示すること。その実現のために同社のデータサイエンティストたちは、”Gradient boosted decision tree regression models”と呼ばれる手法を活用しているそうです。

UberEats

今後も向こう数カ月間で、機械学習を自動で最適化するAutoMLの導入を予定するなど、プラットフォームの改善活動を続けていくとしています。