Dataproc Hub により機械学習でノートブックの使用がより簡単に
Google Cloud Japan Team
※この投稿は米国時間 2020 年 12 月 12 日に、Google Cloud blog に投稿されたものの抄訳です。
Dataproc は、Apache Spark クラスタ、Presto クラスタ、Apache Hadoop クラスタなどのオープンソースを簡単かつコスト効率よく実行できるようにする、高速で使いやすいフルマネージド クラウド サービスです。本日、Dataproc Hub を一般提供し、機械学習の初期化アクションをリリースしました。Spark による水平スケーリングが可能なコンピューティングにより、データ サイエンティストが、IT で制御されたオープンソース ノートブック ベースの機械学習を簡単に使用できるようになります。
Dataproc で機械学習を運用する企業のお客様は、IT とデータ サイエンティストのロールを分離する必要があります。また、IT 管理者は Dataproc Hub を使用して、Dataproc の構成をコストおよびガバナンス上の制約に合わせて事前承認および作成できます。さらにデータ サイエンティストは、IT 管理者が事前承認した構成によるパーソナル ワークスペースを作成して、スケーラブルな分散型 Dataproc クラスタを 1 クリックで実行できるようになります。また、Jupyter Notebook で Spark と追加の OSS の機械学習ライブラリを使用して、インタラクティブにデータを探索および準備し、モデルのトレーニングを行えます。こうしたオンデマンドの Dataproc クラスタは、自動スケーリング ポリシーと自動削除ポリシーを使用して構成し、自動または手動で開始および終了できます。すでに企業のお客様からは、特にロールの分離に関して高い評価をいただいていますが、新しい機械学習の初期化アクションを使用して、今後も Dataproc をさらに簡単に設定できるようにしてまいります。
Google はさまざまな業界の企業のお客様と協力してきました。機械学習の初期化アクションには、そうした経験を通じて発見した Dataproc のデータ サイエンス構成の共通要件がパッケージ化されています。初期化アクションをさらにカスタマイズし、独自ライブラリを追加してカスタム イメージを作成すると、Dataproc の ML クラスタの作成プロセスが簡素化され、データ サイエンティストはクラスタで以下を使用できるようになります。
TensorFlow、PyTorch、MxNet、Scikit Learn、Keras などの Python パッケージ
XGBoost、Caret、randomForest、sparklyr などの R パッケージ
Spark-BigQuery コネクタ: BigQuery との間でデータの読み取りと書き込みを行う Spark コネクタ
Dask と Dask-Yarn: Dask は並列コンピューティング用の Python ライブラリで、Pandas、NumPy、Scikit Learn などの広く一般的な Python データ サイエンス ライブラリと同様の API を備え、スタンダードな Python を大規模に使用できます(Dataproc 用に Dask を初期化できます)。
Spark 上の RAPIDS(必要に応じて): Apache Spark 用の RAPIDS Accelerator は、RAPIDS cuDF ライブラリのパワーと Spark 分散型コンピューティング フレームワークのスケールを併せ持ちます。GPU 間の通信と RDMA 機能を活用した高速シャッフル構成が、特定の ML ワークロードのレイテンシを短縮し、コストを削減します
Nvidia 製 GPU(K80、P100、V100、P4、T4)とドライバ(必要に応じて)
機械学習用の Dataproc クラスタを構築する際に考慮する点
データ サイエンティストは、主にデータイベントからビジネス イベントを推測し、ビジネス オーナーと共同で仮説を立て、機械学習を活用してモデルを構築し、行動につながるインサイトを導き出します。成功には、さまざまなビジネス イベントがどのようにデータイベントとなって表れるのかを理解する能力が欠かせません。Google の企業ユーザーは、最適な Dataproc OSS 機械学習環境を選択するために、さまざまな要素を検討する必要があります。以下は、考慮すべき点の例です。
データアクセス: データ サイエンティストは、ビジネス イベントに関する推論を行い、行動につながるインサイトを導き出すために、長期的な過去のデータにアクセスする必要があります。大規模な分析と機械学習のためには、処理環境に近いところからの大規模なデータアクセスが不可欠です。
Dataproc には、事前定義されたオープンソースのコネクタが含まれており、Cloud Storage と BigQuery ストレージ上のデータにアクセスできます。このコネクタを使用することで、Cloud Storage 上のさまざまなオープンソースのデータ フォーマット(Avro、Parquet、CSV など多数)のデータと、BigQuery ストレージ上の BigQuery のネイティブ形式のデータに、Dataproc Spark ジョブがシームレスにアクセスできるようになります。
インフラストラクチャ: データ サイエンティストは、機械学習に合ったコンピューティング インフラストラクチャを選択できる柔軟性を必要としています。このコンピューティング インフラストラクチャは、さまざまな VM タイプ、関連メモリ、高速処理用に接続された GPU と TPU で構成されます。パフォーマンス、成果、コストを最適化するために、幅広いオプションから選択できることが重要です。
Dataproc では、Dataproc コンピューティング VM に Nvidia 製の K80、P100、V100、P4、T4 GPU を接続できます。RAPIDs のライブラリはこれらの GPU を活用して、一部の Spark ワークロードのパフォーマンス向上を実現します。
処理環境: Spark ML、DASK、RAPIDs、Python、R、TensorFlow など多くのオープンソースの機械学習処理環境があります。Google Cloud では、データ サイエンティストごとに異なる好みに対応するために、なるべく数多くのオープンソースの処理環境に対応することに力を入れています。また、通常データ サイエンティストは、データ処理能力と機械学習能力の強化のためにカスタム ライブラリを追加します。
Dataproc は、機械学習を大規模に実行するために、Spark と DASK の処理フレームワークに対応しています。Spark ML にはスタンダードな機械学習アルゴリズムが実装されており、Cloud Storage または BigQuery にすでに保存されているデータセットでこのアルゴリズムを活用できます。データ サイエンティストによっては、モデルの構築用に Python ライブラリから ML を実装する方を好む場合がありますが、基本的には、ステートメントを 2、3 入れ替えることで、スタンダードな Python ライブラリを DASK に切り替えることができます。また、それぞれの機械学習のニーズに合った、適切な処理環境を選択できます。
オーケストレーション: モデルの改良や調整を行うために、ML ワークフローでは多数の反復処理を行う必要があります。データ サイエンティストは、データ処理と機械学習グラフを自動化するシンプルなアプローチを必要としています。こうした設計パターンの一つに挙げられるのが、モデリングに使用できる機械学習パイプラインの構築です。また、その他のアプローチとして、インタラクティブ モデリングに使用されるノートブックのスケジュール設定があります。
Dataproc のワークフロー テンプレートを使用すると、シンプルなワークフローを作成できます。また、複雑な機械学習パイプラインのオーケストレーションには Cloud Composer を使用できます。
メタデータ管理: Dataproc Metastore を使用して、関連するビジネス メタデータをテーブルのメタデータとともに保存すると、検出と通信が簡単になります。現在非公開プレビューの Dataproc Metastore は、Google Cloud 全体のオープンソース テーブルの統合ビューを実現します。
ノートブックのユーザー エクスペリエンス: ノートブックを使用して、Dataproc クラスタでワークロードをインタラクティブに実行できます。Dataproc でノートブックを使用するには、以下の 2 つの方法があります。
IT 管理者が事前に承認した構成を 1 クリックで使用し、Jupyter Notebook を通じて Dataproc Hub を使用して個人用クラスタを起動できます。IT 管理者は適切な処理環境(Spark または DASK)と、コンピューティング環境(VM タイプ、コア、メモリ構成)を選択できます。また、必要に応じて、一部の機械学習ワークロードでパフォーマンス向上を図るために GPU アクセラレータを RAPIDs とともに接続できます。コストを最適化する場合、IT 管理者は自動スケーリングと自動削除ポリシーを構成できます。同時に、データ サイエンティストは使用されていないクラスタを手動で停止できます。
コンポーネント ゲートウェイを使用して、Dataproc クラスタを独自に構成し、ノートブック(Jupyter と Zeppelin)とともに適切な処理環境とコンピューティング環境を選択することができます。
データ サイエンティストは、ビジネス トランザクションとビジネス イベントがどのようにデータに表れるかを深く理解する必要があります。また、行動につながるインサイトを得るために、機械学習とディープ ラーニングにおける OSS のイノベーション、ノートブック、Dataproc Hub を活用する能力が必要です。Google は、基本フレームワーク、OSS、インフラストラクチャ機能の複雑さや制限を理解することに注力しています。また、行動につながるインサイトを得るためのツールや機能の管理にかかる手間を軽減して、お客様が自らのビジネスを理解して行動につながるインサイトを導き出すことに集中できるよう、OSS 機械学習の使用方法の簡素化に積極的に取り組んでいます。
Dataproc をお試しのうえ、ぜひご意見をお寄せください。次世代の OSS 機械学習エクスペリエンスを、よりシンプルで、柔軟にカスタマイズでき、使いやすいものにするためにご協力いただければ幸いです。
-データ分析担当プロダクト マネージャー Susheel Kaushik