tensorflow/transform

Input pipeline framework

何を解決するか

TensorFlow Transform (TFT) は、機械学習モデルのデータ前処理に関する問題に対処します。特に、データセット全体を1回のパスで処理して定数(平均や語彙など)を計算する必要がある操作に特化しています。また、トレーニングとサービングの両方で同じ前処理ロジックを TensorFlow グラフとしてエクスポートすることで、"トレーニング-サービングのずれ"を防ぎます。

動作方法

TFT は TensorFlow の標準的なバッチ処理を、データセット全体に対する処理をサポートするように拡張します。効率的な分散計算には Apache Beam を使用し、内部データ表現には Apache Arrow を活用してベクトル化された numpy 関数を活用します。結果として得られる変換は TensorFlow グラフとしてエクスポートされ、前処理ステップがモデルのデプロイパイプラインの一部として利用可能になります。

対象ユーザー

TensorFlow を使用し、大規模データに対して複雑なデータセット全体の前処理(正規化やバケット化など)が必要な機械学習エンジニアやデータサイエンティスト。

特徴

  • ずれの防止: トレーニングとサービングの両方で同じ TensorFlow グラフを使用し、一貫性を確保します。
  • 分散処理: 大規模データセットを分散システム上で処理するため、Apache Beam を駆動源としています。
  • フルパス操作: 正規化のための平均/標準偏差の計算、文字列から整数への変換のための語彙の生成、データ分布に基づくバケットの作成など、フルパス操作をサポートします。
  • ベクトル化されたパフォーマンス: 内部データ処理の効率化に Apache Arrow を活用しています。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト