Ray から Chronos へ

同カテゴリーの次の記事

NeurIPS 億単位の近似最近傍探索コンテストの優勝作品

この記事は、The Parallel Universe Magazine 47 号に掲載されている「From Ray to Chronos」の日本語参考訳です。原文は更新される可能性があります。原文と翻訳文の内容が異なる場合は原文を優先してください。


parallel_v47_07
[この記事は anyscale.com (英語) に掲載された記事を許可を得て掲載したものです。]

Ray (英語) は、革新的な AI アプリケーションを開発するシンプルなユニバーサル API を備えたフレームワークです。BigDL (英語) は、分散したビッグデータ上にスケーラブルなエンドツーエンドの AI を構築するオープンソースのフレームワークです。Ray とそのネイティブ・ライブラリーを活用して、AutoML や自動時系列解析などの高度な AI ユースケースをサポートします。この記事では、BigDL のコア・コンポーネントの一部を紹介し、Ray を活用して基礎となるインフラストラクチャー (RayOnSpark、AutoML など) を構築し、これらが Chronos (英語) プロジェクトを使用した AI アプリケーションの構築にどのように役立つかを説明します。

RayOnSpark: Apache Spark* 上で Ray アプリケーションをシームレスに実行

Ray (英語) は、深層強化学習 (英語) や自動マシンラーニング (AutoML) などの新しい AI アプリケーションを簡単に実行するためのオープンソースの分散型フレームワークです。BigDL は、RayOnSpark を利用して Ray をビッグデータの前処理パイプラインにシームレスに統合します。すでに、AutoML や Chronos などの特定分野において、複数の高度なエンドツーエンド AI アプリケーションの構築に使用されています。RayOnSpark は、ビッグデータ・クラスター (Apache Hadoop* や Kubernetes* クラスターなど) 上の Apache Spark* 上で Ray プログラムを実行します。その結果、インメモリー DataFrame などのオブジェクトを Ray アプリケーションに直接ストリーミングし、高度な AI アプリケーションを実現することが可能です。RayOnSpark を使用することで、ユーザーは新しい革新的な AI アプリケーションを本番環境にある既存のビッグデータ・クラスター上で直接試すことができます。また、Ray アプリケーションをビッグデータ処理パイプラインにシームレスに統合し、インメモリーDataFrame 上で直接実行できるようになります。


図 1. RayOnSpark アーキテクチャー

図 1 に RayOnSpark のアーキテクチャーを示します。Spark* の実装では、Spark* プログラムはドライバーノード上で実行し、Spark* ジョブを実行するためクラスター上で複数の Spark* エグゼキューターを起動する SparkContext オブジェクトを持つ SparkSession を作成します。RayOnSpark では、Spark* ドライバープログラムはさらに RayContext オブジェクトを作成し、同じクラスターで各 Spark* エグゼキューターとともに Ray プロセスを自動的に起動します。また、RayContext は各 Spark* エグゼキューター内に RayManager を作成し、Ray プロセスを管理します (例えば、プログラム終了時にプロセスを自動的にシャットダウンするなど)。図 2 は、RayOnSpark を初期化した後、標準的な Spark* アプリケーション内で Ray コードを直接記述する方法を示しています。


図 2. RayOnSpark のコード例

AutoML (orca.automl) : Ray Tune で AI アプリケーションを簡単にチューニング

マシンラーニング (ML) やディープラーニング (DL) モデルの精度やパフォーマンスなどを実現するには、ハイパーパラメーター最適化 (HPO) が重要です。しかし、手作業による HPO は時間がかかり、十分に最適化されない可能性があります。一方、分散環境での HPO は、実装が困難な場合があります。BigDL は、データ・サイエンティストを支援するため、Ray Tune (英語) 上に構築された AutoML 機能 (orca.automl を使用) を提供しています。


製品とパフォーマンス情報

1実際の性能は利用法、構成、その他の要因によって異なります。詳細については、www.Intel.com/PerformanceIndex (英語) を参照してください。

関連記事