Instructions to use ijcv-ai/finbot-slm with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- PEFT
How to use ijcv-ai/finbot-slm with PEFT:
from peft import PeftModel from transformers import AutoModelForCausalLM base_model = AutoModelForCausalLM.from_pretrained("HuggingFaceTB/SmolLM2-360M-Instruct") model = PeftModel.from_pretrained(base_model, "ijcv-ai/finbot-slm") - Notebooks
- Google Colab
- Kaggle
finbot-slm
Modelo pequeño destilado en el Taller de destilación en pequeño del curso Tópicos Avanzados en IA 2 (Máster en IA, UAI). Un LLM grande (profesor, API de OpenAI) escribió pares pregunta-respuesta y un modelo de SmolLM2-360M-Instruct (estudiante) aprendió a imitarlos con LoRA, entrenado en CPU.
Autora: Inés Canales · Uso educativo.
Dominio
asistente que explica conceptos de inteligencia artificial generativa a ejecutivos de empresas chilenas, con ejemplos de negocio. Temas: Fundamentos de LLM, Ingeniería de prompts, RAG, Agentes de IA, Ajuste fino, Evaluación y LLMOps.
Es el dominio base del taller, definido por el profesor. El objetivo fue estudiar el ciclo de destilación (datos del profesor → examen antes → LoRA → examen después) y el efecto de cada hiperparámetro, no construir un asistente para producción.
Datos de entrenamiento
- 60 pares pregunta-respuesta generados por el modelo profesor (
OpenAI), en español. - Examen fijo de 12 preguntas que nunca se usó para entrenar.
- Los datos no se publican en este repositorio.
Entrenamiento
| Parámetro | Valor |
|---|---|
| Modelo base | HuggingFaceTB/SmolLM2-360M-Instruct |
| Método | LoRA (r=16, alpha=32, dropout=0.05) |
| Módulos | down_proj, gate_proj, k_proj, o_proj, q_proj, up_proj, v_proj |
| Épocas · lote · tasa de aprendizaje | 3 · 4 · 0.001 |
| Pasos | 45 |
| Pérdida inicial → final | 2.7737 → 1.6909 |
Es la mejor de 5 corridas (cada una cambiaba una sola variable: tamaño del estudiante, épocas y tasa de aprendizaje).
Resultados en el examen fijo
Notas de 1 a 10 asignadas por un modelo juez (OpenAI) comparando con la referencia del profesor.
| Antes (base) | Después (destilado) | |
|---|---|---|
| Nota media | 1.25 | 2.42 |
| Aprobación (nota ≥ 7) | 0% | 0% |
| Tema | Antes | Después |
|---|---|---|
| Ajuste fino | 1.00 | 2.00 |
| Ingeniería de prompts | 1.33 | 3.00 |
| RAG | 1.00 | 3.00 |
| Agentes de IA | 1.67 | 2.33 |
| Fundamentos de LLM | 1.00 | 1.50 |
Uso
from transformers import AutoModelForCausalLM, AutoTokenizer
from peft import PeftModel
base = "HuggingFaceTB/SmolLM2-360M-Instruct"
tok = AutoTokenizer.from_pretrained(base)
m = PeftModel.from_pretrained(AutoModelForCausalLM.from_pretrained(base), "ijcv-ai/finbot-slm")
msgs = [{"role": "system", "content": "Eres un asistente experto en IA generativa. Responde en español, de forma clara y breve."},
{"role": "user", "content": "¿Qué es RAG y cuándo le conviene a una empresa?"}]
enc = tok.apply_chat_template(msgs, add_generation_prompt=True, return_tensors="pt", return_dict=True)
out = m.generate(**enc, max_new_tokens=120)
print(tok.decode(out[0][enc["input_ids"].shape[1]:], skip_special_tokens=True))
Limitaciones y uso responsable
- Tiene 360 M parámetros y se entrenó con 60 ejemplos. Repite, se equivoca e inventa: la nota media después de entrenar es 2.42/10 y ninguna respuesta del examen alcanzó la aprobación.
- No usar para decisiones reales ni como fuente de información sobre IA para ejecutivos.
- Las notas provienen de un juez automático (un LLM) sobre 12 preguntas: son ruidosas y no reemplazan una evaluación humana.
- Los datos de entrenamiento los generó un LLM comercial (OpenAI). Sus términos restringen usar sus salidas para desarrollar modelos que compitan con OpenAI: este modelo es solo para fines educativos.
- Licencia Apache 2.0, heredada de SmolLM2.
- Downloads last month
- 24
Model tree for ijcv-ai/finbot-slm
Base model
HuggingFaceTB/SmolLM2-360M