Dataflow ML スターター プロジェクトの紹介: Dataflow ML ジョブの開発およびデプロイに便利なテンプレート
Google Cloud Japan Team
※この投稿は米国時間 2024 年 1 月 9 日に、Google Cloud blog に投稿されたものの抄訳です。
BigQuery の統合スイートの一部である Dataflow ML は、バッチ パイプラインおよびストリーミング パイプラインの両方に対応し、ローカルまたはリモートでスケーラブルな推論を行えるようにします。また、モデルのトレーニング用のデータ準備や、モデルの予測結果の処理にも役立ちます。このたび新しく公開された Dataflow ML スターター プロジェクトは、Beam パイプラインをすばやく簡単に作成してリリースするために必要となる基本的なスキャフォールディングおよびボイラープレートをすべて提供しています。具体的には、Dataflow ML スターター プロジェクトには、画像分類モデルをデプロイする簡素な Beam RunInference パイプラインが含まれており、入力された画像を分類することができます。図 1 に示すように、このパイプラインはまず、画像の GCS パスを含むCloud Storage(GCS)ファイルを読み取るか、Pub/Sub ソースをサブスクライブすることによって画像の GCS パスを受け取ります。続けて、入力画像を前処理してから、PyTorch または TensorFlow の画像分類モデルを実行し、結果を後処理します。最後に、予測をすべて GCS の出力ファイルに書き込みます。
このプロジェクトは、Dataflow ML の開発プロセス全体を以下の各工程に分けてわかりやすく示しています。
- ローカルの Python 環境で Beam パイプラインを開発する、単体テストを作成してパイプラインを検証する
- DataflowRunner を使って CPU で Beam RunInference を実行する
- GPU を使って推論速度を向上する、GCE VM 上でカスタム コンテナを構築してテストする、Dockerfile サンプルを作成する
- Pub/Sub をストリーミング ソースとして使用して画像を分類する方法を示す
- 全コードをパッケージ化し、Dataflow Flex テンプレートを適用する
簡単に言うと、このプロジェクトから標準テンプレートを生成し、それをボイラープレートとして使って、特定のニーズに合わせて簡単に編集することができます。
使用を開始するには、GitHub リポジトリにアクセスし、記載されている手順を実施してください。このスターター プロジェクトは、Dataflow ML を使用するあらゆる人にとって貴重なリソースとなります。このリソースを通じてコミュニティの皆様に知識を共有できることを嬉しく思うとともに、開発者およびデータ エンジニアの皆様の目標達成に役立つものと期待しております。このスターター プロジェクトが役立った場合は、ぜひスターを付けていただくようお願いいたします。
-エンジニアリング マネージャー Xiangqian(XQ)Hu