Instructions to use Fofiguer/finbot-slm with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- PEFT
How to use Fofiguer/finbot-slm with PEFT:
from peft import PeftModel from transformers import AutoModelForCausalLM base_model = AutoModelForCausalLM.from_pretrained("HuggingFaceTB/SmolLM2-1.7B-Instruct") model = PeftModel.from_pretrained(base_model, "Fofiguer/finbot-slm") - Notebooks
- Google Colab
- Kaggle
finbot-slm
Modelo pequeño destilado en el taller Destilación en pequeño (Máster en IA · UAI · Tópicos Avanzados en IA 2): adaptador LoRA de HuggingFaceTB/SmolLM2-1.7B-Instruct entrenado con las respuestas de un LLM profesor (destilación de caja negra).
Dominio
Asistente que explica conceptos de inteligencia artificial generativa (fundamentos de LLM, ingeniería de prompts, RAG, agentes, ajuste fino y LLMOps) a ejecutivos de empresas chilenas, con ejemplos de negocio como bancos y retail. Responde en inglés de EE. UU.: con los mismos datos en español el estudiante llegó solo a 2,9/10, y en inglés a 6,0/10, porque SmolLM2 se preentrenó principalmente en inglés.
Datos de entrenamiento
- 200 pares pregunta-respuesta escritos por el profesor
gpt-6-luna(API de OpenAI), en inglés de Estados Unidos (US English), con respuestas de máximo 50 palabras. - 12 preguntas de examen fijo, separadas del entrenamiento (nunca se entrenó con ellas).
| Tema | Entrenamiento | Examen |
|---|---|---|
| Fundamentos de LLM | 32 | 2 |
| Ingeniería de prompts | 32 | 3 |
| RAG | 33 | 2 |
| Agentes de IA | 34 | 3 |
| Ajuste fino | 34 | 2 |
| Evaluación y LLMOps | 35 | 0 |
Entrenamiento
SFT con LoRA (solo se aprende la respuesta; la pregunta se enmascara): rango r = 16, alpha = 32,
dropout = 0.05, módulos down_proj, gate_proj, k_proj, o_proj, q_proj, up_proj, v_proj · 3 épocas · lote 4 ·
tasa de aprendizaje 0.001 · pérdida 2.9918 → 0.6351.
Resultados en el examen fijo
Juez gpt-6-luna con rúbrica 1–10 contra la respuesta de referencia del profesor, sobre las 12 preguntas del examen fijo.
| Antes (modelo base) | Después (destilado) | |
|---|---|---|
| Nota media | 4.50 | 7.08 |
| Aprobación (nota ≥ 7) | 2/12 | 9/12 |
Uso
from peft import PeftModel
from transformers import AutoModelForCausalLM, AutoTokenizer
tok = AutoTokenizer.from_pretrained("HuggingFaceTB/SmolLM2-1.7B-Instruct")
modelo = PeftModel.from_pretrained(AutoModelForCausalLM.from_pretrained("HuggingFaceTB/SmolLM2-1.7B-Instruct"), "Fofiguer/finbot-slm")
mensajes = [{"role": "system", "content": "You are an expert assistant in generative AI. Answer in English, clearly and briefly."},
{"role": "user", "content": "How can RAG help a Chilean bank answer questions with internal documents?"}]
enc = tok.apply_chat_template(mensajes, add_generation_prompt=True, return_tensors="pt", return_dict=True)
salida = modelo.generate(**enc, max_new_tokens=120, do_sample=False, repetition_penalty=1.15)
print(tok.decode(salida[0, enc["input_ids"].shape[1]:], skip_special_tokens=True))
Limitaciones y uso responsable
- Inventa siglas y definiciones con seguridad: en la demostración definió LoRA como "Language-Oriented Recurrent Architecture" y RAG como "Reoutheastern Asia Gross Domestic Product".
- Fuera del dominio inventa detalles (recomendó un restaurante inexistente); ahí el modelo base respondió mejor.
- Responde en inglés aunque se le pregunte en español.
- El examen es pequeño (12 preguntas) y el juez es otro LLM: la nota varía ≈ ±0,25 entre ejecuciones.
- Uso educativo e interno: no usar para decisiones reales de negocio sin revisión humana.
- Licencias: el modelo base SmolLM2 es Apache 2.0. Los datos de entrenamiento son salidas de la API de OpenAI, cuyos términos restringen usarlas para desarrollar modelos que compitan con OpenAI; revisar los términos vigentes antes de cualquier uso fuera del curso.
- Downloads last month
- 19
Model tree for Fofiguer/finbot-slm
Base model
HuggingFaceTB/SmolLM2-1.7B