Языковые моделиbimal2004
SQL-GRPO 0.5B
LoRA-адаптер для перевода вопросов в SQLite-запросы
2 мин чтения
SQL-GRPO 0.5B — LoRA-адаптер для Qwen2.5-0.5B-Instruct, обученный через GRPO превращать вопросы на естественном языке в SQLite-запросы. Награда считается по исполнению сгенерированного SQL на реальной базе: человеческая разметка не нужна, судья — сама БД. Адаптер обучает около 3,4% параметров; базовая модель — 0.5B.
🔎 Ключевые особенности
- ⚡ GRPO: +1.0 за совпадение строк с эталонным SQL, +0.2 за исполнение без ошибки, +0.1 за формат <sql> и −0.1 за слишком длинный вывод.
- 🔎 На Spider dev execution accuracy выросла с 18.18% до 41.68%; valid SQL — с 35.40% до 73.21%.
- 🧭 Обученный 0.5B обходит нетренированный Qwen2.5-1.5B-Instruct по accuracy: 41.68% против 40.72%.
- ⌨ Формат важен: system prompt, схема в CREATE TABLE и ответ внутри <sql></sql>.
- 🚀 Есть версия 1.5B с accuracy 57.74%.
- 💻 0.5B достаточно для запуска на ноутбучном CPU.
📸 Пример
from transformers import AutoModelForCausalLM
from peft import PeftModel
base = AutoModelForCausalLM.from_pretrained('Qwen/Qwen2.5-0.5B-Instruct')
model = PeftModel.from_pretrained(base, 'bimal2004/sql-grpo-0.5b')
# system prompt + schema в CREATE TABLE + вопрос
# ответ извлекается из <sql>...</sql>
Подробнее
Spider dev: execution accuracy 41.68%, valid SQL 73.21%, correct format 99.81%.Обучение: GRPO + TRL GRPOTrainer + Unsloth, LoRA rank 32, 400 шагов (~2 часа) на одной Kaggle T4.
Ограничения: только Spider/SQLite; ~42% accuracy, сложные JOIN и вложенные запросы часто ошибочны; версия 1.5B даёт 57.74%.
Всегда проверяйте сгенерированный SQL перед запуском на важных данных.








Комментарии
Без регистрации: достаточно имени.