Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Dive into TensorFlow Data Validation

Asei Sugiyama
November 22, 2021

Dive into TensorFlow Data Validation

TFDV (TensorFlow Data Validation) を中心に、Data Validation について現状の取り組みをまとめた資料です。

Reference

Data Validation For Machine Learning https://mlsys.org/Conferences/2019/doc/2019/167.pdf
TFDV Notebook https://colab.research.google.com/github/tensorflow/tfx/blob/master/docs/tutorials/data_validation/tfdv_basic.ipynb

Asei Sugiyama

November 22, 2021
Tweet

More Decks by Asei Sugiyama

Other Decks in Technology

Transcript

  1. TL;DR TensorFlow Data Validation は TFX の一部で、データの検証を行うコン ポーネントで用いられるライブラリ Google 社内では

    Data Validation に関してスキーマをもとにした実践的 な取り組みが進められている OSS として TFDV が公開されており、表形式のデータについて可視化や 異常値の検出が実装されている 非構造化データについての Data Validation はあまり整備されていないた め、自分たちで検討が必要
  2. Data Validation で取り組む問題 論文 Data Validation For Machine Learning を例に紹介

    導入 システム概要 単一バッチ内でのデータ検証 複数バッチ間でのデータ検証 モデルの単体テスト Google での実例
  3. Quantifying Distribution Distance (1/2) 訓練時と推論時の分布が異なっていることを検出するためには、2つの 分布の異なり方を距離として定量的に示す必要がある KL Divergence やコサイン類似度はプロダクトチームが理解しにくく、 偽陽性を防ぐためのしきい値の調整ができなかった

    統計的な手法、たとえば 検定はデータ数が多くなってしまうと機能 しなかった サンプル数が多くなりすぎると、小さな差しかなかったとしても検 定に書けると差が有意になる 解釈のしやすさと原因の切り分けやすさから 距離を採用した χ2 L ​ ∞
  4. Quantifying Distribution Distance (2/2) 検定について検証 から1億件をサンプリ ング から1億件をサンプリ ングし、1万件 (0.01%)

    を で置換 大した差ではないのに、検定を 10回行うと8回が有意 χ2 N(0, 1) N(0, 1) N(0, 2)
  5. モデルの単体テスト 機械学習モデルが内部で入力値に対して対数変換を行うとする int float といった型だけでは不十分 型として int が指定されていても -1 が入力されると落ちる

    このようなケースに対応するため、スキーマには値域や欠損の有無を記 述できるようにした また、スキーマに対応する入力値を生成し、モデルに入力するような fuzz testing (ファジング) を行うようにした 振る舞いが決定論的になるよう、生成時にはシードを指定できるように した
  6. Google での実例 (1/2) Data Validation を用いてい る 700 以上の機械学習パイ プラインを対象に調査

    パイプラインをデプロイし てからスキーマに変更を加 えた回数を調査 概して5回未満は変更が発生 していた
  7. Google での実例 (2/2) より詳細な使われ方を調査 Used: Validation が実装された Fired: アラートがあがった Fixed

    given Fired: アラートが上 がったあと修正された 修正されなかった理由は次 1. どうしようもなかった (データを 再生産できない) 2. アラート担当者に無視された
  8. Google での実例 (1/3) Google Play Store (再掲) 学習環境だと値が入るもの の、本番環境だと値が入ら ない特徴量が存在

    モデルのパフォーマンスに 影響 該当の特徴量を取り除いた ところ、2%の改善
  9. Google での実例 (3/3) Data Validation だけ使っていたチームの例 機械学習パイプラインはすでに作っていた システムによる Data Validation

    が行えていなかったので、ここまでに見 てきた問題に直面していた パイプラインに入力するデータを検証するといった使い方をしていた (ので、あとからでも追加できる)
  10. Facets の紹介 PAIR (People + AI Research) が作成している データ可視化用ツール 特徴量を可視化する

    Facets Overview 探索的データ分析を行う Facets Dive ライブデモ https://pair- code.github.io/facets/
  11. Recap TensorFlow Data Validation は TFX の一部で、データの検証を行うコン ポーネントで用いられるライブラリ Google 社内では

    Data Validation に関してスキーマをもとにした実践的 な取り組みが進められている OSS として TFDV が公開されており、表形式のデータについて可視化や 異常値の検出が実装されている 非構造化データについての Data Validation はあまり整備されていないた め、自分たちで検討が必要