Simple Science

最先端の科学をわかりやすく解説

# コンピューターサイエンス# ソフトウェア工学# データベース

SQLクエリ作成のためのAIの進歩

生成AIがデータのプロたちのSQLクエリの書き方を改善してるよ。

― 1 分で読む


AIがSQLの書き方を向上AIがSQLの書き方を向上させるQLクエリ作成を変革してるよ。生成系AIはデータプロフェッショナルのS
目次

生成AIはデータ分析の重要なツールになりつつあって、特にSQLクエリを書くのに役立ってるんだ。SQLは構造化クエリ言語の略で、データベースとコミュニケーションを取るために使われるよ。特定のルールがあって、いろんな書き方ができるから、少し難しいところもあるんだ。この記事では、新しいモデルがAIを使ってSQLを書く方法を改善していることについて話すよ。

SQLの課題

SQLを書くのは、いくつかの理由で難しいことがある。まず、SQLはしばしば線形ではなく書かれるんだ。これって、著者がクエリの一部を順番に書かずに、例えばどのカラムを選ぶか決める前にWHERE句を書いたりすることがあるってこと。これが、人間や機械がSQL文を生成したり完成させたりするのを混乱させることがあるんだ。

次の課題は、SQLが正確なフォーマットを必要とすること。テーブルやカラムには特定の名前があって、それを正しく使わなきゃいけない。もしSQLを書くのを手伝うために設計されているモデルがこれらの名前を間違えると、クエリ全体がうまく動かないかもしれない。

最後に、SQLは宣言型言語なんだ。これは、データをどうやって取得するかではなく、何のデータを取得するかを説明するんだ。他のプログラミング言語はもっと具体的な手順があるから、これがモデルにとって良いSQL提案を生み出すのが複雑にすることがある。

より良いSQLモデルの開発

これらの問題に対処するために、研究者や開発者たちは、クエリのコンテキストを考慮したSQLモデルを作ったんだ。彼らはモデルが異なるシナリオでどれだけうまく機能するかをテストするためにベンチマークを作った。

まず、既存の公開モデルを使って内部テストを行ったんだ。このベンチマークは、モデルがどのように動くべきかの基準を提供した。テストの結果、モデルは単行予測で53%、多行予測で24%のBLEUスコアを持っていることがわかった。BLEUスコアは、生成したテキストが参照テキストとどれだけ似ているかを測るのに使われることが多い。

より良い結果を得るためのファインチューニング

初期テストの後、開発者たちは内部データを使ってモデルをファインチューニングした。これには、実際のSQLクエリやデータベースの構造が含まれていた。ファインチューニングはモデルの予測と精度を大幅に改善した。実際、改訂されたモデルは元のモデルよりもBLEUスコアで16パーセントポイント上回った。

新しいアプローチとして、「ミドルを埋めるモデル」が導入されたんだ。このモデルは、完成させる必要があるコードの部分の前後にコンテキストを提供することができる。これは特に多行クエリにおいて、より良い予測を可能にする重要な改善だった。ミドルを埋めるモデルは、前のモデルに比べて35パーセントポイントの向上を示した。

ユーザーフィードバックと採用

モデルが開発されるにつれて、エンジニアやデータサイエンティストの実際の使用のために展開された。ユーザーからのフィードバックは、何がうまくいっていて何がダメなのかを特定するのに役立った。ユーザーは、AIツールが特に繰り返しのSQLタスクを処理するのに優れていて、ボイラープレートコードを提供するのが良いと報告した。また、複雑なSQL構文を覚える必要が減るのにも役立った。

全体的に、AIシステムは好意的な反応を受け取った。多くのユーザーが毎週そのモデルを積極的に使っていることが確認できて、日常の仕事に統合されていることを示している。

成功の測定

新しいAIモデルの成功を測るために、いくつかの指標が設定された。指標には、ユーザーが提案を受け入れる頻度、生成されたSQLコードの文字数、正しく完成したクエリの割合が含まれている。

革新的な測定基準の一つは、「機会あたりの受け入れ文字数(CPO)」だった。この指標は、AIが提案を提供する機会と質の高い提案がどれくらいあったかを理解するのに役立つ。

問題への対処

成功があった一方で、ユーザーが体験した課題もあった。一般的な不満は、間違ったテーブル名やカラム名についてで、「幻覚」と呼ばれるこれらのエラーは、改善後も依然として存在していた。

別のフィードバックの領域は、ユーザーエクスペリエンスに焦点を当てていた。開発者は自分たちのSQLクエリのフォーマットの好みを持っていて、AIが既存のツールと統合される際にいくつかの摩擦が生じていた。

結論

結論として、生成AIはSQLクエリの書き方を改善することで、データ分析の分野で進展を遂げている。非線形の書き方や正確性の必要性といったSQLの課題が、AIツールの開発に対する応答的なアプローチを促している。継続的なファインチューニングとユーザーからのフィードバックにより、これらのツールはより効率的になり、最終的にはその分野のプロフェッショナルたちの時間と労力を節約することにつながっている。

AI技術が進化するにつれて、SQLの記述やデータ管理がさらに簡単になるようなさらなる改善と革新が期待できるよ。生成AIツールが生産性と精度を高めることで、データ分析の未来は明るいように思えるね。

オリジナルソース

タイトル: AI-Assisted SQL Authoring at Industry Scale

概要: SqlCompose brings generative AI into the data analytics domain. SQL is declarative, has formal table schemas, and is often written in a non-linear manner. We address each of these challenges and develop a set of models that shows the importance of each problem. We first develop an internal SQL benchmark to perform offline tests at Meta. We evaluate how well the Public Llama model performs. We attain a BLEU score of 53% and 24% for single- and multi-line predictions, respectively. This performance is consistent with prior works on imperative languages. We then fine-tune Llama on our internal data and database schemas. SqlComposeSA substantially outperforms Llama by 16 percentage points on BLEU score. SQL is often written with multiple sub queries and in a non-sequential manner. We develop SqlComposeFIM which is aware of the context before and after the line(s) that need to be completed. This fill-in-the-middle model outperform SqlComposeFIM by 35 percentage points. We also measure how often the models get the correct table names, and SqlComposeFIM is able to do this 75% of the time. Aside from our scientific research, we also roll out SqlComposeFIM at Meta. SqlCompose is used on a weekly basis by over 10k users including data scientists and software engineers, less than 1% of users have disabled SqlCompose. We use the feedback from users to improve SqlCompose. Interesting positive themes include completing tedious or repetitive SQL clauses, suggesting boilerplate coding, and help in eliminate the need to remember difficult SQL syntax. The most significant negative themes was table and column name hallucinations, which has been reduced with the release of SqlComposeFIM. The SqlCompose models consistently outperform public and internal LLMs, despite being smaller (7 bn and 13 bn), which provides early indications that smaller specialist models can outperform larger general purpose models.

著者: Chandra Maddila, Negar Ghorbani, Kosay Jabre, Vijayaraghavan Murali, Edwin Kim, Parth Thakkar, Nikolay Pavlovich Laptev, Olivia Harman, Diana Hsu, Rui Abreu, Peter C. Rigby

最終更新: 2024-07-19 00:00:00

言語: English

ソースURL: https://arxiv.org/abs/2407.13280

ソースPDF: https://arxiv.org/pdf/2407.13280

ライセンス: https://creativecommons.org/licenses/by/4.0/

変更点: この要約はAIの助けを借りて作成されており、不正確な場合があります。正確な情報については、ここにリンクされている元のソース文書を参照してください。

オープンアクセスの相互運用性を利用させていただいた arxiv に感謝します。

類似の記事