Оглавление

Исследователи представили SQaLe — массивный датасет для обучения моделей преобразования естественного языка в SQL-запросы. Этот ресурс содержит более 135 тысяч схем баз данных и свыше 500 тысяч проверенных комбинаций схемы, вопроса и запроса.

Проблема существующих решений

Несмотря на впечатляющие успехи больших языковых моделей в генерации SQL-кода из текста, большинство доступных датасетов содержат всего несколько тысяч примеров. Это серьезно ограничивает способность моделей обобщать знания для работы с новыми базами данных. Кроме того, многие существующие наборы данных используют упрощенные академические схемы с небольшим количеством таблиц и стандартизированными названиями, тогда как реальные производственные базы данных значительно сложнее и разнообразнее.

SQaLe создан для преодоления этих ограничений. Он предоставляет ресурс, достаточно большой для обучения языковых моделей, реалистичный для отражения реальной вариативности схем и тщательно проверенный, чтобы гарантировать выполнимость каждого SQL-запроса и его соответствие естественно-языковому вопросу.

Методология создания

Обзор процесса генерации датасета SQaLe для преобразования текста в SQL

Источник: huggingface.co

Процесс создания SQaLe состоял из трех основных этапов:

  1. Сбор и расширение схем: Исходные 22 989 схем из SchemaPile были расширены с помощью большой языковой модели с сохранением реалистичных названий, нормализации и структур внешних ключей. В результате получено 135 875 индивидуальных схем.
  2. Синтез вопросов: Для каждой схемы генерировались разнообразные вопросы на естественном языке на основе примеров из Spider 2.0 и BIRD. Вопросы варьировались по стилю и сложности.
  3. Генерация и валидация SQL: Кандидатные SQL-запросы создавались и проверялись через выполнение против соответствующих схем. Сохранялись только запросы, которые успешно выполнялись и семантически соответствовали вопросу.

Этот конвейер, выполнявшийся на сотнях GPU, произвел 517 676 проверенных триплетов, объединяющих информацию о схемах, вопросах и запросах.

Сравнительная характеристика

SQaLe значительно превосходит существующие датасеты по ключевым параметрам:

  • 135 875 схем против 236 в Spider 2.0 и 80 в BIRD
  • Медианное количество таблиц на схему: 91 против 7 в Spider 2.0
  • Медианное количество колонок: 435 против 89 в Spider 2.0
  • Более 13 миллионов внешних ключей
  • 76% запросов содержат JOIN
Диаграмма распределения количества столбцов в базе данных

Источник: huggingface.co

Диаграмма распределения количества задействованных таблиц в SQL-запросах

Источник: huggingface.co

Ключевые особенности

  • Реалистичная сложность схем — от небольших однодоменных структур до крупных корпоративных систем
  • Разнообразный состав запросов — агрегации, вложенные подзапросы, операции с множествами и сравнения
  • Естественные вариации формулировок — вопросы отражают повседневный аналитический язык
  • Выполняемые SQL-запросы — гарантируют соответствие между вопросом, схемой и запросом

Пример использования

Датасет можно загрузить непосредственно из библиотеки Hugging Face Datasets:

from datasets import load_dataset

dataset = load_dataset("trl-lab/SQaLe-text-to-SQL-dataset", split="train")

example = dataset[0]
print(example["schema"], example["question"], example["query"])

Каждая запись содержит полную схему базы данных, вопрос на естественном языке, соответствующий SQL-запрос и метаданные, такие как количество соединений и длина токенов.

Области применения

  • Обучение и оценка моделей преобразования текста в SQL
  • Исследования по пониманию схем, композиционному обобщению и анализу соединений
  • Бенчмаркинг языковых моделей в реалистичных контекстах баз данных
  • Создание поднаборов данных для фокусированных экспериментов

Появление SQaLe — это долгожданный шаг в решении фундаментальной проблемы text-to-SQL: недостатка реалистичных данных для обучения. Существующие датасеты давно стали слишком простыми для современных моделей, создавая иллюзию компетентности, которая разбивается о реальные производственные базы. Особенно впечатляет масштаб — более 135 тысяч схем против нескольких сотен в конкурентах. Однако стоит помнить, что даже такой объем — лишь начало. Настоящие enterprise-системы часто содержат тысячи таблиц со сложными бизнес-правилами, которые пока остаются за пределами доступных датасетов.

SQaLe представляет значительный прогресс в направлении реалистичных исследований text-to-SQL в крупных масштабах, но не является окончательным решением. Хотя его объем и разнообразие схем значительно превосходят существующие бенчмарки, он все еще не соответствует истинным требованиям к данным, необходимым для обучения и оценки следующего поколения очень больших моделей.

По материалам Hugging Face