Adaptadores QLoRA para Text-to-SQL en Spider

Resultados guardados de una práctica de la asignatura Deep Learning for NLP (curso 2026-2027). Ajustamos con QLoRA dos modelos pequeños, Qwen2.5-Coder-1.5B-Instruct y Gemma 4 E2B, para traducir preguntas en inglés a consultas SQL sobre el dataset Spider, con el mismo procedimiento para los dos. El notebook de la práctica descarga este repositorio para poder ejecutarse en Google Colab sin entrenar de nuevo.

Contenido

Ruta Contenido
qwen/train/adapter/, gemma/train/adapter/ Adaptadores LoRA tras 2 épocas (r = 16, α = 32, dropout 0,05, en las proyecciones de atención y del MLP)
qwen/train/checkpoint-930/, gemma/train/checkpoint-930/ Adaptadores tras la primera época (solo hacen falta para repetir la selección de épocas)
*/train/log_history.json Historial de pérdidas del entrenamiento
*/validation_{base,epoch1,epoch2}.jsonl Predicciones en la validación interna (1.221 preguntas, separadas de train por base de datos)
*/dev_{base,epoch2}.jsonl Predicciones en el dev oficial de Spider (1.034 preguntas)
*/test_{base,epoch2}.jsonl Predicciones en el test oficial de Spider (2.147 preguntas)

Cada línea de los .jsonl tiene la pregunta, la consulta de referencia, la consulta generada y si al ejecutarla en SQLite devuelve el mismo resultado que la referencia (execution_match).

Resultados (execution accuracy)

Modelo dev base dev ajustado test base test ajustado
Qwen2.5-Coder-1.5B 55,6 % 67,8 % 54,4 % 67,4 %
Gemma 4 E2B 62,7 % 69,6 % 64,0 % 71,6 %

Sobre 1.024 preguntas de dev y 2.139 de test: se quitan las 10 y 8 preguntas cuya consulta de referencia supera los límites del evaluador (tiempo, filas o instrucciones). La EX es la de una sola base de datos por pregunta, no la test-suite accuracy oficial.

Uso

import torch
from peft import PeftModel
from transformers import AutoModelForCausalLM, AutoTokenizer, BitsAndBytesConfig

base_id = "Qwen/Qwen2.5-Coder-1.5B-Instruct"
quantization = BitsAndBytesConfig(load_in_4bit=True, bnb_4bit_quant_type="nf4",
                                  bnb_4bit_use_double_quant=True, bnb_4bit_compute_dtype=torch.bfloat16)
tokenizer = AutoTokenizer.from_pretrained(base_id)
model = AutoModelForCausalLM.from_pretrained(base_id, quantization_config=quantization, device_map={"": 0})
model = PeftModel.from_pretrained(model, "Chenyue10/dl4nlp-text2sql-qlora", subfolder="qwen/train/adapter")

El prompt usado en el entrenamiento (mensaje de sistema y esquema como sentencias CREATE TABLE) está en el notebook de la práctica.

Licencias

  • Adaptadores: Apache 2.0, igual que los modelos base.
  • Predicciones (*.jsonl): contienen preguntas y consultas de Spider (Yu et al., 2018), con licencia CC BY-SA 4.0, y se distribuyen con esa misma licencia.
Downloads last month
-
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for Chenyue10/dl4nlp-text2sql-qlora

Adapter
(229)
this model