マルチモーダル LLM を使って BigQuery でのデータ モデリングとスキーマ生成を簡素化する
Adam Paternostro
Technical Lead Demos, Google Cloud
Firat Tekiner
Product Management
マルチモーダル入力を Gemini に渡して、データ ウェアハウスのデータモデルを作成することが可能に
※この投稿は米国時間 2024 年 5 月 4 日に、Google Cloud blog に投稿されたものの抄訳です。
さまざまなオリジンから取得されたデータ ウェアハウスやデータレイク内の複雑な階層型データ構造が原因で、データ モデリングが長期化し、エラーが発生しやすいプロセスになることがあります。大幅にやり直しをしなくても、すばやく適応して、進化するビジネス要件を満たすデータモデルを作成するには、多くの要件に対応できる柔軟性、モジュール性、適応性を備えたデータモデルが必要です。これには、高度なテクノロジー、熟練した人材、堅牢な方法論が必要です。
生成 AI の進歩により、このような課題に対処する機会が数多く生じています。マルチモーダル大規模言語モデル(LLM)は、テキストの説明、コード、さらには既存のデータベースのイメージなど、データレイク内のデータの例を分析することができます。LLM は、このデータとその関係を理解することにより、スキーマ レイアウトを提案したり、自動的に生成したりすることもできるため、データベース内でデータモデルを実装する面倒なプロセスが簡素化され、開発者はより価値の高いデータ マネジメント タスクに集中できるようになります。
このブログでは、BigQuery でマルチモーダル LLM を使用してデータベース スキーマを作成する方法について説明していきます。そのために、実際のエンティティ リレーションシップ(ER)図とデータ定義言語(DDL)の例を取り上げ、3 つのステップでデータベース スキーマを作成します。
このデモンストレーションでは、コーヒー販売業者に SaaS プラットフォームを提供する、BigQuery 上に構築された架空のテクノロジー企業 Data Beans を使用します。Data Beans は、BigQuery と Vertex AI の統合を活用して、Gemini Vision Pro 1.0 などの Google AI モデルにアクセスし、非構造化データを分析して構造化データと統合しているだけでなく、BigQuery を使用して、データ モデリングと分析情報の生成をサポートしています。
ステップ 1: エンティティ リレーションシップ図を作成する
最初のステップとして、お気に入りのモデリング ツールを使って ER 図を作成するか、既存の ER 図のスクリーンショットを取得します。ER 図には主キーと外部キーの関係を含めることができます。これは、関連する BigQuery DDL を作成するため、Gemini Vision Pro 1.0 モデルへの入力として使用されます。


ステップ 2: 入力として ER イメージを受け取るプロンプトを作成する
次に、BigQuery で DDL ステートメントを作成するため、入力として ER イメージを受け取るプロンプトを記述します。プロンプトには、Gemini モデルが従うべき、詳細で関連性の高いルールを含める必要があります。加えて、それまでの反復から学習した内容をプロンプトに確実に取り込んでください。つまり、テストと反復を行うときは必ずプロンプトを更新してください。これらは、BigQuery の有効なスキーマ記述など、モデルの例として提供することができます。モデルが従うべき実用的な例を提供すると、モデルは、必要なルールに沿ったデータ定義 DDL を作成できるようになります。
これで、LLM に示す ER 図のイメージが完成しました。
ステップ 3: Gemini Pro 1.0 Vision モデルを呼び出す
ステップ 2 でプロンプトを作成すると、ER 図のイメージを入力として使用することにより、Gemini Pro 1.0 Vision モデルを呼び出して出力を生成する準備が整います(図 1 の左側)。これは、Python を使用して Colab ノートブックから直接行ったり、Vertex AI との統合を利用して BigQuery ML を通じて行ったりなど、さまざまな方法で行うことができます。
まとめとリソース
このデモンストレーションでは、マルチモーダル Gemini モデルによって、データとスキーマの作成がどのように効率化されるかを確認しました。プロンプトを手動で記述するのは問題ありませんが、エンタープライズ規模でそれを行って、DDL などのアセットを何千個も作成する必要がある場合、大変な作業になる可能性があります。上記のプロセスを利用することにより、プロンプト生成をパラメータ化して自動化できるため、ワークフローが大幅にスピードアップし、生成される何千個ものアーティファクト間で一貫性を保つことができます。完全な Colab Enterprise ノートブックのソースコードは、こちらでご覧いただけます。
BigQuery ML には、Gemini Pro の機能を活用可能にする多くの新機能が追加されています。詳しくは、ドキュメントをご覧ください。その後、こちらのチュートリアルで、BigQuery からデータを移動しなくても、Google のモデルをデータに適用して、モデルをデプロイし、ML ワークフローを運用化する方法をチェックしてください。最後に、このデモを作成した際の舞台裏については、BigQuery から直接 Gemini などの高度なモデルを使ってエンドツーエンドのデータ分析と AI アプリケーションを構築する方法について扱っているこちらの動画をご覧ください。
このブログ投稿の執筆には、Google 社員である Luis Velasco、Navjot Singh、Skander Larbi、Manoj Gunti が協力してくれました。多くの Google 社員の尽力によって、これらの機能が実現しています。
ー Google Cloud、テクニカル リードAdam Paternostro
ー Google Cloud、シニア スタッフ プロダクト マネージャーFirat Tekiner