Uso previsto
Experimento académico para medir si el fine-tuning mejora el tono, el formato y las políticas del asistente. No está pensado para producción: en la evaluación inventó datos con seguridad (por ejemplo, "envío gratis" cuando el envío cuesta $30). DulceBot en producción obtiene los datos de RAG y de la base de datos, no de este modelo.
Entrenamiento
- Modelo base:
TinyLlama/TinyLlama-1.1B-Chat-v1.0 (arquitectura Llama).
- LoRA: rango 16, alfa 32, dropout 0.05, sobre
q_proj, k_proj, v_proj y o_proj (~4.5 M de parámetros entrenables, 0.41 %).
- Datos: 56 ejemplos (14 temas del negocio × 4 paráfrasis), con el contexto RAG de los documentos reales en el prompt.
- 5 épocas, tasa de aprendizaje 1e-4, lote efectivo 4, pérdida calculada solo sobre la respuesta.
Evaluación
14 preguntas no vistas en el entrenamiento, el mismo prompt para ambos modelos (instrucciones + 3 fragmentos de contexto RAG), métrica objetiva de datos clave y LLM como juez.
Table with columns: Criterio, TinyLlama base, Con LoRA| Criterio | TinyLlama base | Con LoRA |
|---|
| Exactitud (1 a 5) | 2.07 | 3.00 |
| Tono (1 a 5) | 3.07 | 4.00 |
| Formato (1 a 5) | 2.29 | 5.00 |
| Datos clave mencionados | 50 % | 57 % |
Métricas de la corrida 2 documentada en el proyecto (juez openai/gpt-oss-120b). Estos pesos se reentrenaron con la misma configuración y semilla, sin repetir la evaluación.
Limitaciones
- Fluidez no es exactitud: suena como DulceBot aunque se equivoque.
- Plantillas cruzadas: repite la frase de un tema en preguntas de otros temas.
- No aprendió a negarse: responde preguntas ajenas a la panadería.
- Úsalo solo para estilo y siempre detrás de RAG o herramientas que aporten los datos.
Cómo cargarlo
from transformers import AutoModelForCausalLM, AutoTokenizerfrom peft import PeftModel base = AutoModelForCausalLM.from_pretrained("TinyLlama/TinyLlama-1.1B-Chat-v1.0")modelo = PeftModel.from_pretrained(base, "Simbroncas/dulcebot-tinyllama-lora")tokenizer = AutoTokenizer.from_pretrained("Simbroncas/dulcebot-tinyllama-lora")
Autor: Mario Simbron Gonzalez.