takapy0210 / paper

論文や海外ブログについてまとめるリポジトリ
6 stars 0 forks source link

TFX: A TensorFlow-Based Production-Scale Machine Learning Platform #25

Open takapy0210 opened 3 years ago

takapy0210 commented 3 years ago

Meta

どんなもの?(3行ぐらいで)

TensorFlow Extended (TFX) is ...

機械学習パイプラインの設計思想がかなり参考になると思い読んだ。

機械学習の運用フレームワークに必要なもの

キモはどこ?

image

1. Data Analysis

ここでは機械学習パイプラインに投入するデータにについて、様々な分析を行う。データに含まれる特徴量の数や、特徴量ごとの欠損値の有無、各特徴量の各種統計量を計算し記録することで、入力されたデータがどのような分布をしているのかを把握する

2. Data Transformation

ここではいわゆる前処理で、例えば、カテゴリカルな値にIDを割り振るといった処理はここに含まれる。このコンポーネントを学習時と推論時に使うことで、推論時には学習時と違う処理が行われてしまってうまく動かないことを防げる。

3. Data Validation

入力されているデータに対しての検証を行う。機械学習パイプラインにはデータが継続的に投入されるので、様々な事情でデータの形式や分布は変わってくる。このコンポーネントでは予めデータのスキーマを定めておくことで、新たに投入されたデータがそのスキーマに合致しているかどうかを検証する。 image

4. Trainer

ここでは機械学習モデルを訓練させる。

5. Model Evaluation & Validation

ここではモデルの評価と妥当性の確認を行う。過去データを対象にしたオフラインテストを行い AUC などの指標が適切な範疇にあるかを評価する。また、カナリアリリースを行い、モデルが適切な振る舞いをしているかモニタリングする。

6. Serving

ここではモデルを本番環境にデプロイする。

どうやって有効だと検証した?

TFXをGoogle Playアプリストアに導入し、デプロイまでの時間を短縮することで、アプリのインストール率を2%向上させることに成功しています。(たくさん実験できた結果、ってことかな)

自分なりのアウトプット・どんなことに使えそうか

takapy0210 commented 3 years ago

ABSTRACT

機械学習モデルを確実に生成し、展開するためのプラットフォームを作成し、維持するには、学習データに基づいてモデルを生成するための学習者、データとモデルの両方を分析し、評価するためのモジュール、そして最終的には本番でモデルを提供するためのインフラストラクチャなど、多くのコンポーネントを慎重に、または協調させる必要があります。 これは、データが時間の経過とともに変化し、新しいモデルを継続的に生成する必要がある場合に特に重要になります。 残念なことに、このようなオーケストレーションは、特定のユースケースのために個々のチームが開発したグルーコードやカスタムスクリプトを使用してアドホックに行われることが多く、重複した作業や、技術的な負債を抱えた脆弱なシステムにつながっています。 前述のコンポーネントを1つのプラットフォームに統合することで、構成要素の標準化、プラットフォーム構成の簡素化、本番までの時間を数ヶ月から数週間に短縮することができ、中断を最小限に抑えるプラットフォームの安定性を実現しました。 TFXを導入することで、カスタムコードの削減、実験サイクルの短縮、データとモデル解析の改善によりアプリのインストール数が2%増加するなどの効果が得られました。

takapy0210 commented 3 years ago

INTRODUCTION

現代のコンピューティングにおける機械学習の重要性を強調するのは難しい。 推薦システム[6,7]から広告のクリックスルー予測[13,15]、さらには絶滅危惧種の保護[5]に至るまで、幅広いユースケースや製品のデータから知識を得るためのツールとして機械学習を採用する組織が増えています。 しかし、実際のワークフローは、機械学習を本番環境に導入する必要がある場合には、より複雑になる。 この場合、学習者とモデルとともに機械学習プラットフォームを構成するコンポーネントが必要となる。 これらのコンポーネントは、本番で起こりうる多様な障害に対処し、モデルのトレーニングとサービスが確実に行われるようにするためのオートメーションを提供します。 このタイプの自動化を構築することは容易ではなく、次のような複雑な問題を考慮すると、さらに困難になります。

このようなタイプのプラットフォームを持つことで、チームは本番環境に機械学習を簡単に導入することができ、プラットフォームのさまざまなコンポーネントのベストプラクティスを保証し、異なるコンテキストで再利用できない単発の実装に起因する技術的な負債を制限することができます。

本稿では、エンドツーエンドの機械学習プラットフォームの解剖学を紹介し、前述の課題に対処するためにGoogleで構築したTensorFlow Extended(TFX)を紹介する。 プラットフォームの主要な構成要素とその設計・機能の特徴を説明する。 また、10億人以上のアクティブユーザーと100万本以上のアプリを持つ商用モバイルアプリストアであるGoogle Playにプラットフォームを導入した事例を紹介し、このプロセスで得られた教訓について議論する。 これらの教訓は、多様な文脈での機械学習プラットフォームのベストプラクティスを反映しており、この分野の研究者や実務家にとっては一般的な関心事である。