コンテンツに移動
データ分析

BigQuery DataFrames を使用して Python で AI / ML および生成 AI アプリケーションを構築する

2023年10月23日
Google Cloud Japan Team

※この投稿は米国時間 2023 年 10 月 13 日に、Google Cloud blog に投稿されたものの抄訳です。

生成 AI、分散ストレージ システム、非構造化データ形式、MLOps、膨大なサイズのデータセットなどのデータスペースのトレンドにより、本当の意味でデータを分析して理解するには、SQL 言語を超えて拡張する必要があります。

コーディング言語の自由度をさらに高めるために、Next '23 で BigQuery DataFrames を発表しました。現在プレビュー版のこの新しいオープンソース ライブラリは、BigQuery エンジンによるコア処理を可能にしながら、Python による生産性を実現しますPython での処理をクラウドにオフロードすることで、大規模なデータ分析が可能になり、データから AI への移行に沿って、シームレスな運用展開が可能になります。

BigQuery DataFrames は、BigQuery のマネージド ストレージと BigLake テーブル上の統合 Python API です。BigQuery サイズのデータセットに自動的にスケールできる Python 互換インターフェースにより、開発者は BigQuery のデータを見つけ、説明し、理解できるようになります。また、BigQuery DataFrames を使用して、BigQuery ML の推論モデルリモート関数などの SQL オブジェクトを自動的に作成することで、完全な本番環境アプリケーションへの移行が容易に行えます。

これらがすべて、BigQuery のユーザー権限モデルと統合された新しい BigQuery DataFrames パッケージから行われ、Python 開発者は BigQuery 上で自身のスキルと知識を直接活用できるようになります。bigframes.DataFrame プログラミング オブジェクトは Vertex AI SDK に引き渡すことができ、BigQuery DataFrames Python パッケージは BigQuery StudioColab Enterprise などの Google Cloud ノートブック環境、HexDeepnote などのパートナー ソリューションと統合されます。シンプルな「pip install BigQuery DataFrames」コマンドを使用して、任意の Python 環境にインストールすることもできます。

大規模な処理は Google Cloud 側で行われるので、小型のノートパソコンでも十分に始められます。BigQuery DataFrames には、BigQuery を動かすための 2 つの API、bigframes.pandas と bigframes.ml が含まれています。このブログ投稿では、これら 2 つの API で何ができるかを見ていきます。

bigframes.pandas

オープンソースの pandas API を大まかにベースとしている bigframes.pandas API は、主に探索的なデータ分析、高度なデータ操作、データ準備のために設計されています。

pandas API の BigQuery DataFrames バージョンであり、pandas ユーザーが使い慣れている DataFrame や Series などのプログラミング抽象化を提供します。さらにこの API には、大規模なデータセットの操作を容易にするいくつかの特徴があります。現在の bigframes.pandas のコア機能は次のとおりです:

統合されたデータ入出力(IO): データ サイエンティストが直面する主な課題の一つは、さまざまなソースにわたるデータの断片化です。BigQuery DataFrame は、堅牢な IO メソッドで、この課題に対応します。データがローカル ファイル、S3、GCS など、どんな場所に保存されていても、それらにシームレスにアクセスして BigQuery DataFrame に組み込めます。この相互運用性により、アクセスが容易になるだけでなく、効果的にデータサイロが解消され、統一されたプラットフォーム上で異なるデータソースを相互に使用できるようになり、一貫したデータ分析が可能になります。

読み込んでいます...

データ操作: 従来のワークフローでは、大規模なデータセットを、SQL を使用して pandas が管理できるサイズに前処理することが多く、場合によっては重要なデータのニュアンスが失われます。BigQuery DataFrames は、このワークフローを根本から変えます。200 を超える pandas 関数にアクセスできるため、データ サイエンティストは、BigQuery 内で直接 Python を使用して、マルチレベル インデックスの処理や順序付けなどの複雑な操作に取り組むことができます。

読み込んでいます...

pandas へのシームレスな移行: 開発者は、bigframes.pandas を使用して大規模な処理を行い、操作したいデータのセットを取得した後、従来の pandas に戻って、処理されたデータセットの詳細な分析を行うことができます。BigQuery DataFrames を使用すれば、従来の pandas DataFrames にスムーズに移行できます。pandas との互換性により、高度な統計手法、ML 手法、データ可視化のいずれにおいても、データ サイエンティストは使い慣れた環境で作業できます。

読み込んでいます...

bigframes.ml

大規模な ML トレーニング: Python でアクセス可能なバージョンの BigQuery ML を導入することにより、ML API は BigQuery の ML 機能を強化します。大規模な生成 AI プロジェクトを合理化し、scikit-learn の様なアクセスしやすいインターフェースを提供します。注目すべきは、BigQuery DataFrames には Vertex AI の最新の基盤モデルも統合されていることです。詳細については、BigQuery DataFrames を使用した生成 AI の適用に関するこちらのブログ記事をご覧ください。

読み込んでいます...

スケーラブルな Python 関数: BigQuery DataFrame からリモート関数をデプロイすることで、ML アルゴリズム、ビジネス ロジック、ライブラリを導入することもできます。ユーザーが開発した Python 関数を大規模に作り直すことは、データ サイエンスのワークフローにおけるボトルネックになりやすいです。BigQuery DataFrames は、シンプルなデコレータでこの問題に対応し、データ サイエンティストが BigQuery のスケールでスカラー Python 関数を実行できるようにします。

読み込んでいます...

完全なサンプルはこちらをご覧ください。

Vertex AI のインテグレーション: さらに、BigQuery DataFrames では、高度なモデリングのために Vertex AI SDK へのハンドオフができます。最新バージョンの Vertex AI SDK では、開発者がデータの移動や配布方法を気にすることなく、bigframes.DataFrame を入力として直接受け取ることができます。

読み込んでいます...

Hex のインテグレーション

Hex の多言語サポート(SQL + Python)により、BigQuery で、より多くの方法で BigQuery データを操作できます。ユーザーは BigQuery インスタンスに認証を行い、SQL と Python の間をシームレスに移行できます。

Hex は、新しい BigQuery DataFrames 機能で Google Cloud と提携できることを嬉しく思っています。新しいサポートにより、お客様は従来のノートブックのメモリ制限をバイパスして、BigQuery ウェアハウスに計算を push できるようになります。

Hex、パートナーシップ担当責任者、Ariel Harnik 氏

https://storage.googleapis.com/gweb-cloudblog-publish/images/image1_F1Fn4fj.max-1600x1600.png

Deepnote のインテグレーション

Deepnote のノートブックに接続すれば、BigQuery SQL クエリを使用してデータを直接、読み取り、更新、削除できます。クエリ結果はデータフレームとして保存でき、後で Python で分析または変換したり、コードを記述せずに Deepnote の可視化セルを使用してプロットしたりできます。Deepnote と BigQuery のインテグレーションについての詳細はこちら

「BigQuery の新しい DataFrame のおかげで、データ分析と ML タスクの実行がかつてないほど簡単になりました。Deepnote のお客様は、データセットのサイズを気にすることなく、BigQuery DataFrame で分析を実行するための新しい Pandas のような API に快適にアクセスできます。」 -Deepnote、CEO、Jakub Jurovych 氏

https://storage.googleapis.com/gweb-cloudblog-publish/images/image2_AFi2VQo.max-2000x2000.png

使ってみる

BigQuery DataFrames の詳細とデモを確認するには、Google Cloud Next ‘23 のこのブレイクアウト セッションをご覧くださいBigQuery DataFrames クイックスタートサンプル ノートブックを使用して開始できます。

-Google、テクニカル リード マネージャー Jiaxun Wu

-Google、グループ プロダクト マネージャー Christopher Crosbie

投稿先