Coda

論文メモ 150 Successful Machine Learning Models: 6 Lessons Learned at Booking.com

December 14, 2019

概要

宿泊予約サービスBooking.comにおけるモデルの開発運用でえられた教訓を6つにまとめたKDD2019の論文である。 教訓の主眼を収益におき、6つの教訓を通して、実運用環境における仮説と実験を反復する重要性を強調する。

Machine learning as a swiss knife for production development

はじめに、機械学習によって収益をあげられることを確認している。 次のグラフは、収益性を測る指標の中央値を示す。 fig2 Benchmarkは機械学習と無関係なものを含む成功した全プロジェクトの中央値である。 Content Augumentation以下は、個別の機械学習のプロジェクトの中央値を示す。 機械学習をつかうプロジェクトはつかわないプロジェクトよりも全般的に収益をあげている。

Offline model performance is just a health check

モデルの予測性能を上げても、収益につながらないこともある。 次の散布図は、コンバージョン率とモデルの相関関係を示す。 最もコンバージョン率の低いモデルは、右下の最も予測性能の高いモデルである。 fig4

Befere solving a problem, design it

上のグラフが示唆するように、テストデータで測れる予測性能だけはモデルの収益への貢献を保証できない。 適切な問題設計でなくして、予測性能と収益は連動しない。 ここでの設計は、ビジネスケースを教師あり学習をはじめとする機械学習の問題にとらえなおす作業である。

Time is Money

コンバージョン率とレイテンシには負の相関がある。 次の散布図は、コンバージョン率とレイテンシの関係を示す。 30%のレイテンシの増加が0.5%のコンバージョン率を低下を招いている。 fig6 予測時の処理性能をあげるために、モデルのインスタンスを増やす、内製のアルゴリズムをつかう、モデルのパラメタ数を減らす、事前計算やキャッシュ、リクエストのバルク処理、データの変換処理を減らす、という一連の対策がとられている。

Unsupervised red flags

一般に、予測データの正解をすぐに手にいれることはできないので、正解データによらない運用中のモデルの監視を考える必要がある。 Booking.comでは、Response Distribution Chart(RDC)が使われている。 RDCは、モデルの予測結果のヒストグラムであり、形状によってモデルの予測性能を示す。 以下にRDCの一例を示す。左上の単峰形はモデルの偏りを、右上は特徴のスケールの誤りや訓練データにある外れ値、左下はモデルがスパースであることを示唆する。 右下の滑らかな二つの山は、二値分類モデルの予測結果のよい状態を示す。 fig7

Experiment design sophistication pays off

Booking.comでは、ランダム化比較試験(Randomized Controlled Trials, RCT)でモデルを評価する。 モデルを適用できないデータを使わず、適用できるデータの集合を2群に分け、モデルの影響を評価することをすすめている。