メインコンテンツへジャンプ

高品質な機械学習モデルの訓練には、慎重なデータと特徴量の準備が必要です。Databricksにテーブルとして保存された生データをフルに活用するためには、ETLパイプラインの実行や特徴量エンジニアリングが必要となり、生データを有用な特徴量テーブルに変換することが求められます。テーブルが大きい場合、このステップは非常に時間がかかることがあります。今回、Databricks Machine Learning RuntimeでPhoton Engineを有効にできることを発表できることを嬉しく思います。これにより、Sparkジョブや特徴量エンジニアリングのワークロードを2倍以上高速化することが可能になります。

フィーチャーエンジニアリングをフォトンで加速する
「Photonを有効にし、新しいPITジョインを使用することで、私たちのフィーチャーストアを使用してトレーニングデータセットを生成するための時間が20倍以上短縮されました。」 - Sem Sinchenko, Advanced Analytics Expert Data Engineer, Raiffeisen Bank International AG

Photon とは何ですか?

Photon Engineは、Spark SQLやSpark DataFrameをより高速に実行できる高性能クエリエンジンで、ワークロードごとの総コストを削減します。内部的には、PhotonはC++で実装されており、特定のSpark実行ユニットはPhotonのネイティブエンジン実装に置き換えられています。

 

Photonは機械学習のワークロードにどのように役立つのか?

PhotonがDatabricks Machine Learning Runtimeで有効にできるようになった今、機械学習開発ワークフローにおいてPhoton対応クラスタを統合するのはいつが適切でしょうか?

以下はいくつかの主な考慮事項です:

  1. 高速なETL: Photonは、データ準備のためのSpark SQLとSpark DataFrameのワークロードを高速化します。Photonの初期の顧客は、SQLクエリの平均速度向上を2倍から4倍観察しました。
  2. 特徴量エンジニアリングの高速化: DatabricksのFeature Engineering Python APIを使用して時系列特徴量テーブルを扱う際、Photonを有効にすると、特定時点の結合(point-in-time join)がより速くなります。

Photonによる高速な特徴量エンジニアリング

Databricks Feature Engineeringライブラリは、時系列データのための新しいバージョンのポイントインタイム結合(point-in-time join)を実装しました。この新しい実装は、Databricksの顧客であるRaiffeisen Bank InternationalのSemyon Sinchenko氏からの提案に基づいており、以前のバージョンよりもネイティブSparkを使用することで、よりスケーラブルで堅牢なものになっています。さらに、このネイティブSpark実装はPhotonエンジンから大きな恩恵を受けます。テーブルが大きければ大きいほど、Photonによる改善が顕著になります。

  • 特徴量テーブル(行数1,000万、ユニークID数1万、各IDに対してタイムスタンプ数1,000)とラベルテーブル(ユニークID数10万、各IDに対してタイムスタンプ数100)の結合では、Photonはポイントインタイム結合を2.0倍に高速化します。
  • 特徴量テーブル(行数1億、ユニークID数10万)の結合では、Photonはポイントインタイム結合を2.1倍に高速化します。
  • 特徴量テーブル(行数10億、ユニークID数100万)の結合では、Photonはポイントインタイム結合を2.4倍に高速化します。

 

フォトン特徴表

上記の図は、同じラベル表を持つ3つの異なるサイズの特徴表の結合実行時間を比較しています。各実験は、r6id.xlargeインスタンスタイプと1つのワーカーノードを持つDatabricks AWSクラスター上で実行されました。平均実行時間を計算するために、このセットアップは5回繰り返されました。

 

Databricks Machine Learning RuntimeクラスターでPhotonを選択

PhotonのクエリパフォーマンスとDatabricks ML Runtimeの事前構築されたAIインフラにより、機械学習モデルの構築がこれまでよりも高速かつ容易になります。Databricks Machine Learning Runtime 15.2以降では、「Photon Accelerationを使用する」を選択することで、Photon対応のML Runtimeクラスタを作成できます。また、ネイティブSpark版のポイントインタイム結合は、ML Runtime 15.4 LTS以降で利用可能です。

MLランタイムクラスター

PhotonやDatabricksを用いた特徴量エンジニアリングについて詳しく知りたい方は、以下のドキュメンテーションページをご覧ください。

Databricks 無料トライアル

関連記事

Engineering Interviews — A Hiring Manager's Guide to Standing Out

January 22, 2020 テッド・トムリンソン による投稿 in
Ask any engineering leader at a growth stage company what their top priority is, and they’ll likely say hiring. When we think about...

Azure Databricks, industry-leading analytics platform powered by Apache Spark™

March 22, 2018 Ali GhodsiRohan Kumar による投稿 in
The confluence of cloud, data, and AI is driving unprecedented change. The ability to utilize data and turn it into breakthrough insights is...

A Guide to Innovative Retail Talks at Spark + AI Summit 2019

April 17, 2019 Navin Albert による投稿 in
The retail industry has been leading the pack in harnessing the power of big data and AI to drive customer engagement. By analyzing...
生成 AI一覧へ