16 сентября 2026 г.
Тяжёлые запросы Postgres можно ускорять моделью: QORL дал 1,81× на JOB
16 сентября 2026 года QORL снизил суммарную задержку на 113 запросах JOB на 44,7%. После SFT и RL модель выбирала лучшую обратную связь из 3 траекторий, максимум из 15 кандидатов на запрос, и получила 68 побед без регрессий. Эксперимент стоил около $1 200: $800 за 95 часов аренды узла с 2×H100 и $400 за OpenAI API.

Нетренированная 4B-модель не смогла построить план для 99 из 113 запросов JOB. Набор содержит 113 запросов из 33 шаблонов на IMDb dataset, поэтому замер относится к join-heavy нагрузке.
QORL не заменяет SQL. Модель выдаёт JSON `PlanAction`, а `qo-agent` превращает его в hints `pg_hint_plan` и добавляет их перед исходным запросом.
Для управления планами на Debian/Ubuntu ставят `postgresql-<postgres version>-pg-hint-plan`, затем загружают расширение командой `LOAD 'pg_hint_plan';`.
QORL требует Python 3.12 и Linux x86-64. README от 16 сентября предлагает установить проект командой `uv sync --frozen`, а для GPU использовать `uv sync --frozen --extra gpu`.
Эксперимент создаётся командой `uv run qorl experiment create` с флагом `--method`, набором задач, конфигурацией PostgreSQL и worker pool.
Базовую модель `empero-ai/Qwen3.8-4B-Distill` берут на Hugging Face. Для запуска нужны `pip install vllm` и `vllm serve 'empero-ai/Qwen3.8-4B-Distill'`. Лицензия модели Apache-2.0.
Автор рассчитывает QORL прежде всего на повторяющиеся тяжёлые аналитические запросы. Обучение может потребовать десятки или сотни предварительных запусков одного запроса, после чего затраты амортизируются на повторных выполнениях.
Дальше QORL целится в повторяющиеся тяжёлые аналитические запросы, где стоимость обучения распределяется на серию одинаковых запусков.
Первоисточник
