SQL-R1 / grpo-hard /README.md
j2521402's picture
Upload folder using huggingface_hub
3b4b411 verified
|
Raw
History Blame Contribute Delete
3.35 kB
---
base_model: Qwen/Qwen3-4B-Base
library_name: peft
pipeline_tag: text-generation
language:
- en
tags:
- base_model:adapter:Qwen/Qwen3-4B-Base
- peft
- lora
- text-to-sql
- sql
- grpo
- rlvr
- curriculum-learning
- trl
---
# SQL-R1-GRPO-Hard
SQL-R1-GRPO-Hard is a curriculum-learning ablation of SQL-R1. It continues
GRPO training from SQL-R1-GRPO on BIRD moderate and challenging examples mixed
with stratified replay data.
This repository contains a LoRA adapter for
[`Qwen/Qwen3-4B-Base`](https://huggingface.co/Qwen/Qwen3-4B-Base).
For the best overall balance across BIRD and Spider, use SQL-R1-GRPO; this
checkpoint is published primarily for analysis and reproducibility.
## Curriculum data
- Total records: 2,522
- BIRD moderate/challenging focus records: 1,891
- Stratified replay records: 631
- Spider replay records: 316
- Validation database overlap: 0
The replay subset preserves easier examples and cross-dataset coverage while
the curriculum emphasizes harder BIRD queries.
## Training
- Starting checkpoint: SQL-R1-GRPO
- Optimization steps: 300
- Candidates per prompt: 4
- Approximate generated rollouts: 1,200
- Learning rate: 2e-6
- Precision: BF16
- Reward: SQL validity, read-only safety, executability, and result equivalence
under parallel SQLite execution
Gold SQL is used only to compute verifiable execution rewards and is never
included in the model prompt.
## Evaluation
| Checkpoint | BIRD Dev EX | BIRD execution-valid | Spider Dev EX | Spider execution-valid |
|---|---:|---:|---:|---:|
| SQL-R1-GRPO | 42.37% | 87.35% | **79.59%** | 97.00% |
| **SQL-R1-GRPO-Hard** | **42.50%** | **88.79%** | 78.92% | **97.20%** |
Hard-sample curriculum training slightly improves BIRD execution accuracy and
execution validity, but Spider EX decreases mildly. This result illustrates the
specialization–retention trade-off and motivates the replay ablation.
These are project-side measurements on the complete public development splits,
not hidden-test leaderboard submissions.
## Usage
```python
import torch
from peft import PeftModel
from transformers import AutoModelForCausalLM, AutoTokenizer
base_model_id = "Qwen/Qwen3-4B-Base"
repo_id = "j2521402/SQL-R1"
adapter_subfolder = "grpo-hard"
tokenizer = AutoTokenizer.from_pretrained(
repo_id,
subfolder=adapter_subfolder,
)
model = AutoModelForCausalLM.from_pretrained(
base_model_id,
torch_dtype=torch.bfloat16,
device_map="auto",
)
model = PeftModel.from_pretrained(
model,
repo_id,
subfolder=adapter_subfolder,
)
model.eval()
```
Use the same SQL-only ChatML prompt format documented in the
[SQL-R1 repository](https://github.com/j2521402/SQL-R1).
## Limitations
- This checkpoint deliberately specializes toward harder BIRD examples and
shows mild Spider forgetting.
- Training and evaluation focus on English Text-to-SQL and SQLite.
- Database contents are not automatically retrieved for the prompt.
- Generated SQL should be executed only in a read-only sandbox with resource
limits.
- This is an ablation checkpoint rather than the recommended general model.
## Project
Training, curriculum-data construction, reward, and evaluation code:
[j2521402/SQL-R1](https://github.com/j2521402/SQL-R1).
Core libraries: PyTorch 2.8.0, Transformers 5.14.1, PEFT 0.19.1,
TRL 1.8.0, Datasets 5.0.0, and Accelerate 1.14.0.