DataPilot · Tiny Aya SQL (LoRA sft-extra)

LoRA-адаптер к CohereLabs/tiny-aya-global (3,35 млрд параметров). Обучен вести агентный цикл по базе PostgreSQL: list_tables → describe_table → execute_sql → finish. Проект для трека 3 Lexsi. Код и воспроизведение: https://github.com/prprprmk12/datapilot-ai

Лицензия и условия. Адаптер производный от Tiny Aya Global, поэтому действуют условия базовой модели: CC BY-NC 4.0 (только некоммерческое использование) и Acceptable Use Policy Cohere Labs. Для загрузки базовой модели нужно принять условия на её странице.

Как использовать

Адаптер надо подключить к базовой модели (PEFT) или слить с ней. Для vLLM мы сливаем веса (scripts/merge_adapter.py) и запускаем OpenAI-совместимый сервер, к которому обращается приложение DataPilot (MODEL_PROVIDER=model_api, MODEL_SCHEMA_STYLE=json_schema).

from transformers import AutoModelForCausalLM, AutoTokenizer
from peft import PeftModel
base = AutoModelForCausalLM.from_pretrained("CohereLabs/tiny-aya-global", dtype="float16", device_map="auto")
model = PeftModel.from_pretrained(base, "Ilirt/datapilot-tiny-aya-sql-sft-extra")
tok = AutoTokenizer.from_pretrained("CohereLabs/tiny-aya-global")

Формат запроса и ответов (JSON-действия) задан в datapilot/integrations/protocol.py репозитория; без него модель не получит правильный промпт.

Обучение

Параметр Значение
Метод SFT, LoRA (TRL + PEFT), потери только по ответу
LoRA r=16, alpha=32, dropout=0, все линейные слои
Эпохи / lr 2 / 1e-4, batch 1 × accumulation 8, seed 42
Точность / длина float16, max_length 2048
Данные 69 train-задач v1 + 51 дополнительная train-задача (12 семейств), траектории строятся реальными инструментами
Железо Kaggle, T4

Данные и отчёты: https://huggingface.co/datasets/Ilirt/datapilot-ecommerce-sql

Результаты

Тест: 18 задач из 3 семейств, не входящих в обучение. Критерий: результат SQL агента равен результату эталонного запроса (значения и имена столбцов). Один замер на модель. Рецепт выполнен дважды: этот адаптер относится к запуску 1, запуск 2 и GRPO лежат в experiments/.

Вариант Запуск 1 Запуск 2
Базовая модель 0/18 0/18
SFT на исходных данных (v1) 2/18 1/18
SFT v1 + доп. задачи 12/18 (этот адаптер) 10/18 (experiments/run2-sft-extra-adapter)
+ повтор SQL ×3 (настройка приложения, не адаптер) 13/18 не измерялся
+ GRPO 60 шагов (experiments/run2-grpo-adapter, накладывается на слитую модель запуска 2) не измерялся 11/18

Разброс между запусками (две задачи) сопоставим с эффектом повтора SQL и GRPO, поэтому они не считаются доказанным улучшением. По семействам запуск 1: revenue-by-country 6/6, payment-status-counts 6/6, paid-profit 0/6.

Ограничения

  • Малая оценка. 18 задач, три семейства, нет доверительных интервалов. Результат не доказывает обобщающую способность.
  • Тест не совсем чистый. Дополнительные обучающие семейства придуманы после просмотра ошибок на тесте.
  • Нестабильность обучения. Два запуска одного рецепта дали 12/18 и 10/18.
  • Известная ошибка. В paid-profit модель считает прибыль по ценам каталога, а не по ценам позиции заказа. «Успех» с повтором объясняется LIMIT 1.
  • Повтор SQL убирает явные ошибки, но не неверные значения.
  • GRPO (награда по выполненному SQL, AgentTune) не дал надёжного улучшения: в формате AgentTune модель выдумывает результаты инструментов, в 171 из 240 траекторий награда 0.
  • Текст итогового ответа не проверялся. Правильность проверена по строкам SQL.
  • Безопасность (отказ на изменяющие запросы) обеспечивает защитный слой приложения.
  • Одна учебная схема интернет-магазина (5 таблиц), русскоязычные вопросы.

Не предназначено для

Работы с реальными или конфиденциальными данными без собственной проверки; коммерческого использования (лицензия базовой модели).

Downloads last month
29
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for Ilirt/datapilot-tiny-aya-sql-sft-extra

Adapter
(99)
this model

Dataset used to train Ilirt/datapilot-tiny-aya-sql-sft-extra