新たな最高スコア: BIRD ベンチマークでの Text-to-SQL の進歩

Mohammadreza Pourreza
Software Developer
Tom Kubik
Group Product Manager
※この投稿は米国時間 2025 年 11 月 15 日に、Google Cloud blog に投稿されたものの抄訳です。
エージェント開発の世界は急速に進化しており、自然言語がインタラクションの標準になりつつあります。この変化は、運用データベースの力と深く結びついています。より正確なテキストから SQL への変換機能は、より優れた、より有能なエージェントを構築するための大きな触媒となります。技術者ではないユーザーがデータをセルフサービスで利用できるようにすることから、アナリストの生産性を向上させることまで、自然言語の質問を正確に SQL に変換できることは、大きな変革をもたらします。エンドユーザーとのやり取りがチャットで行われることが増えるにつれ、会話は企業と顧客を結び付ける基本的なつながりとなっています。
以前の投稿「AI を使って優れた SQL を作成する: Text-to-SQL 手法の説明」では、Text-to-SQL の主な課題(複雑なビジネス コンテキスト、曖昧なユーザーの意図、微妙な SQL 言語の処理)と、それらを解決するために使用される一般的な手法について説明しました。
本日は、理論から実践に移ります。Google Cloud は BIRD ベンチマークの単一トレーニング済みモデル トラックにおいて新たに最先端のスコアを獲得することができました。76.13 というスコアは、他の単一モデル ソリューションを上回っているものです(スコアが高いほど優れています)。一般的に、人間のパフォーマンスのベンチマーク(92.96)に近づくほど、スコアを上げるのが難しくなります。
BIRD(BIg Bench for LaRge-scale Database Grounded Text-to-SQL Evaluation)は、Text-to-SQL ソリューションをテストするための業界標準です。BIRD は、合計サイズ 33 GB の 95 個のデータベースから 12,500 を超える固有の質問と SQL のペアを網羅しています。単一のトレーニング済みモデル トラックは、モデルの精度を高めるためによく使用される複雑な前処理、検索、エージェント フレームワークの使用を制限し、モデル自体の生の、本質的な能力を測定するように設計されています。つまり、このテストの成功は、SQL を生成するというモデルのコア機能の向上を反映しています。


Gemini が BIRD で 1 位を獲得(2025 年 10 月)
研究から業界をリードするプロダクトへ
NL2SQL と呼ばれるより正確な自然言語から SQL への変換機能の飛躍は、社内の研究やエンジニアリングの成果にとどまりません。いくつかの主要なデータサービス全体でカスタマー エクスペリエンスを根本的に向上させます。また、この分野における最先端の研究により、お客様がエージェント AI でデータを活用するために使用する、業界をリードするプロダクトを作成できるようになります。
AlloyDB AI の自然言語機能は、エンドユーザーが最新の運用データをクエリする際に自然言語を使って使用できるツールです。たとえば、Echostar Corporation の Hughes のような企業は、通話分析などの重要なタスクに AlloyDB の NL2SQL を利用しています。小売、テクノロジー、業界の他の多くの企業が、この機能を顧客向けアプリケーションに統合しています。ほぼ 100% の精度を誇る NL2SQL を使用することで、リアルタイムのデータアクセスに依存する本番環境ワークロードにおいて、お客様は自信を持ってアプリケーションを構築、デプロイすることができるようになります。
NL2SQL のメリットは分析にも及びます。その例が BigQuery の会話分析です。このサービスによりビジネス ユーザーとデータ アナリストは自然言語を使用してデータを探索し、レポートを実行し、膨大な履歴データセットからビジネス インテリジェンスを抽出することができるようになります。マルチターン チャット エクスペリエンスの導入と、高精度の NL2SQL エンジンを組み合わせることで、BigQuery ベースのアプリケーションからのレスポンスが常に正確であるという確信を根拠にした情報に基づく意思決定を行うことができます。
ついに、デベロッパーは新たな効率性を獲得することになります。長年の間、デベロッパーはコード生成に Google Code Assist(GCA)を利用し、Spanner、AlloyDB、Cloud SQL Studio 全体でデータベースを使用したアプリケーション開発を支援しています。より正確な NL2SQL が利用可能になることで、デベロッパーは AI のコーディング支援を使用して SQL コードも生成できるようになります。
BIRD: コアモデルの能力を実証する場
BIRD ベンチマーク は、テキストから SQL への分野で最も一般的に使用されているベンチマークの一つです。このベンチマークは単純な単一テーブルのクエリにとどまらず、モデルが処理する必要がある現実世界の課題をカバーしています。たとえば、非常に大きなスキーマに対する推論、曖昧な値の処理、外部のビジネス知識の組み込みなどです。重要なのは、BIRD が重要な基準である実行検証済み精度を測定することです。つまり、クエリは正しく見えるだけでは「正しい」とは見なされず、正常に実行されて正しいデータを返す必要があります。
特に「単一のトレーニング済みモデル」トラックを対象としたのは、テキストから SQL へのタスクを解決するモデルのコア能力を(アンサンブルではなく)分離して測定できるからです。アンサンブルとは、複数の並列モデル、リランカーなど、複数のコンポーネントを持つシステムのことです。この区別は重要です。テキストから SQL への変換の精度は、動的な少数ショット検索やスキーマの事前処理などの手法で向上させることができます。このトラックは、モデルの真の推論能力を反映しています。単一モデルのソリューションに焦点を当てた BIRD の結果は、コアモデルを強化することで、その上に構築されたシステムの基盤がより強固になることを示しています。
Google の手法: モデルの特化
最先端のスコアを達成するには、強力なベースモデルを使用するだけでは不十分です。重要なのは、モデルを特化させることです。汎用的な推論エンジンから、高度に専門化された SQL 生成エキスパートにモデルを変換するように設計されたレシピを開発しました。
このレシピは、推論の前に適用される 3 つの重要なフェーズで構成されていました。
-
厳格なデータフィルタリング: モデルが完璧な「ゴールド スタンダード」のデータセットから学習できるようにします。
-
マルチタスク学習: モデルに変換するだけでなく、正しい SQL クエリを記述するために必要な暗黙的なサブタスクを理解させる。
-
テスト時のスケーリング: 「自己整合性」、つまり最適な回答を選択する。
各ステップを詳しく見ていきましょう。


SOTA の結果を達成するためのプロセス
ステップ 1: クリーンな基盤から始める(データフィルタリング)
ファインチューニングの重要な原則の一つに「garbage in, garbage out(ゴミを入れたら、ゴミが出てくる)」があります。不正確、非効率的、または曖昧なクエリを含むデータセットでトレーニングされたモデルは、不適切なパターンを学習する可能性があります。BIRD ベンチマークで提供されるトレーニング データは強力ですが、ほとんどの大規模データセットと同様に、完璧ではありません。
モデルを SQL のエキスパートにするには、まずゴールドスタンダードのデータセットをキュレートする必要がありました。厳格な 2 段階のパイプラインを使用しました。まず、実行ベースの検証で、すべてのクエリを実行し、失敗したクエリ、エラーを返したクエリ、空の結果を返したクエリを破棄しました。2 つ目は、LLM ベースの検証です。複数の LLM が「審査員」として機能し、質問と SQL のセマンティック アライメントを検証して、実行はされるもののユーザーの質問に実際には回答しないクエリを検出します。この積極的なフィルタリングにより、より小さく、よりクリーンで、より信頼性の高いデータセットが作成され、モデルはノイズではなく純粋な品質のシグナルから学習できるようになりました。
ステップ 2: モデルを SQL スペシャリストにする(マルチタスク学習)
クリーンなデータセットが用意できたので、教師ありファインチューニングに進むことができます。これは、大規模な汎用モデル(Google の場合は Gemini 2.5-pro)を取り上げ、狭い範囲の専門的なデータセットでさらにトレーニングして、特定のタスクの専門家にするプロセスです。
これらのスキルをモデルに直接組み込むために、公開されている Vertex AI の Gemini 用教師ありチューニング API を活用しました。このサービスは、マルチタスクの教師ありファインチューニング(SFT)アプローチの基盤となりました。このアプローチでは、Gemini-2.5-pro を複数の異なるが関連するタスクで同時にトレーニングしました。
また、トレーニング データを拡張して、Text-to-SQL の主な領域以外のタスクもカバーし、モデルの推論、計画、自己修正機能を強化しました。
この組み合わせのタスクで並行してトレーニングすることで、モデルはより豊富で堅牢なスキルセットを学習します。単純な質問からクエリへのマッピングにとどまらず、問題を深く分析し、アプローチを計画し、独自のロジックを洗練させることを学習するため、精度が大幅に向上し、エラーが減少します。
ステップ 3: 自己整合性による推論精度とテスト時のスケーリング
最後のステップは、テスト時にモデルの最良の回答を確実に選択できるようにすることでした。これには、自己整合性と呼ばれる手法を使用しました。
自己整合性では、モデルに 1 つの回答を求めるのではなく、同じ質問に対して複数のクエリ候補を生成するように求めます。次に、これらのクエリを実行し、実行結果でクラスタリングして、最大のクラスタから代表的なクエリを選択します。モデルが異なる推論パスを通じて同じ答えにたどり着いた場合にその答えが正しい可能性がはるかに高くなるためこのアプローチは効果的です。
自己整合性は標準的で効率的な方法ですが、クエリを選択する唯一の方法ではないことに注意してください。より複雑なエージェント フレームワークでは、さらに高い精度を実現できます。たとえば、CHASE-SQL(Google の最先端のアンサンブル手法)に関する Google のチーム独自の研究では、多様な候補ジェネレーターとトレーニング済みの選択エージェントを使用することで、一貫性ベースの手法を大幅に上回るパフォーマンスを実現できることが示されています。
このベンチマークでは、モデルのコア パフォーマンスに焦点を当てたいと考えました。そこで、より直接的な自己整合性手法を使用しました。複数のクエリを生成して実行し、最も一般的な結果を生成したクエリをグループから選択しました。このアプローチで、より複雑なフィルタリングや再ランキング システムの影響を最小限に抑え、モデルのテキストから SQL への変換能力を測定できました。
BIRD シングルモデル トラックでは、モデル自身の内部能力を反映する自己整合性が明示的に許可されています。ベンチマークでは、使用する候補の数(「少数」、「多数」、「スケール」)に基づいて提出物を分類します。「少数」(1 ~ 7 人の候補者)のカテゴリが「スイート スポット」でした。
このアプローチにより、実行精度が最終的に大幅に向上し、モデルがランキングのトップに躍り出ました。さらに重要なのは、この結果が Google のコアとなる主張を証明していることです。高品質のデータと指示チューニングに投資することで、重く高レイテンシの推論フレームワークを必要とせずに、本番環境に対応できるほど強力な単一のモデルを構築できます。
Text-to-SQL 用に Gemini をカスタマイズするレシピ
クリーンなデータ、マルチタスク学習、効率的な自己整合性の組み合わせにより、 強力な Gemini 2.5-pro モデルを基に、BIRD 単一モデル ベンチマークで最高ランクのスコアを達成したスペシャリストを構築できました。
ファインチューニングされたモデルは、Text-to-SQL のベースラインを大幅に強化しています。ただし、このスコアは精度の上限ではないことに注意してください。そうではなく、制約のある設定におけるコアモデルの能力について、Google が新たに確立したより高いベースラインです。これらの結果は次のいずれかにより増幅されます。
-
アンサンブルを作成する(つまり、この専門モデルを前処理(例: 例の検索)やエージェントのスキャフォールディング(例: Google の CHASE-SQL 研究)を採用するより広範なシステムに統合する)、または
-
メタデータやクエリの例を強化して、独自のデータベースのモデル品質を最適化する(お客様が通常、本番環境のワークロードをデプロイする方法です)。
それでも、この調査から得られた知見は、Google データクラウド向けの次世代 AI 搭載プロダクトの構築方法に積極的に反映されており、Google は今後もデータサービスでこれらの機能強化を提供していきます。
高度な Text-to-SQL 機能を今すぐお試しください
Google は、最先端の機能をプロダクトに組み込むことに常に取り組んでおり、その第一歩として、AlloyDB と BigQuery 上に構築されたアプリケーションに自然言語クエリを導入しています。AI で強化された検索では、お客様は特に AlloyDB とその AI 機能を高く評価しています。AlloyDB は AI 機能をデータベースに直接統合しているため、デベロッパーはデータを移動することなく、標準 SQL クエリを使用して強力な AI モデルを実行できます。インテリジェントなフィルタリングのための AI.IF()、検索結果のセマンティックな再ランキングのための AI.RANK()、データベース内のテキスト生成とデータ変換のための AI.GENERATE() などの特殊な演算子を提供します。
SQL を自分で記述したい場合は、Gemini Code Assist が役立ちます。簡単なプロンプトで、作成したいクエリを Gemini に指示できます。Gemini がコードを生成するので、データベースに対して実行してすぐにテストできます。皆様がどのようなものを構築されるか楽しみにしております。


-ソフトウェア デベロッパー Mohammadreza Pourreza
-グループ プロダクト マネージャー、Tom Kubik

