Instructions to use fechevic/slm-autonomo-lora with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- PEFT
How to use fechevic/slm-autonomo-lora with PEFT:
from peft import PeftModel from transformers import AutoModelForCausalLM base_model = AutoModelForCausalLM.from_pretrained("nvidia/Llama-3.1-Nemotron-Nano-4B-v1.1") model = PeftModel.from_pretrained(base_model, "fechevic/slm-autonomo-lora") - Transformers
How to use fechevic/slm-autonomo-lora with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="fechevic/slm-autonomo-lora")# pip install -U transformers accelerate # Load model directly from transformers import AutoModel model = AutoModel.from_pretrained("fechevic/slm-autonomo-lora", device_map="auto") - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use fechevic/slm-autonomo-lora with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "fechevic/slm-autonomo-lora" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "fechevic/slm-autonomo-lora", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'Use Docker
docker model run hf.co/fechevic/slm-autonomo-lora
- SGLang
How to use fechevic/slm-autonomo-lora with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "fechevic/slm-autonomo-lora" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "fechevic/slm-autonomo-lora", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "fechevic/slm-autonomo-lora" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "fechevic/slm-autonomo-lora", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }' - Docker Model Runner
How to use fechevic/slm-autonomo-lora with Docker Model Runner:
docker model run hf.co/fechevic/slm-autonomo-lora
slm-autonomo-lora
Adaptador LoRA para nvidia/Llama-3.1-Nemotron-Nano-4B-v1.1,
entrenado con un pipeline autónomo de destilación: un LLM de OpenAI actúa como profesor
(genera el currículo y las respuestas de referencia) y como juez (evalúa cada versión con una rúbrica),
mientras el modelo pequeño (SLM) se ajusta localmente ronda a ronda.
Built with Llama.
Detalles del modelo
- Developed by: Francisco Echeverría
- Contexto: Trabajo académico — Magíster en Inteligencia Artificial, Universidad Adolfo Ibáñez (UAI), curso Tópicos Avanzados 2
- Model type: Adaptador LoRA para modelo de lenguaje causal (decoder-only)
- Language(s): Español (neutro, Chile)
- License: NVIDIA Open Model License + Llama 3.1 Community License (heredadas del modelo base)
- Finetuned from model:
nvidia/Llama-3.1-Nemotron-Nano-4B-v1.1(4,5 B parámetros)
Dominio
Asistente experto en inteligencia artificial generativa aplicada a empresas en Chile y Latinoamérica. Temas del currículo:
- Fundamentos de LLM
- RAG y búsqueda semántica
- Ajuste fino y destilación
- Evaluación y LLMOps
Cómo usarlo
from peft import AutoPeftModelForCausalLM
from transformers import AutoTokenizer
repo = "fechevic/slm-autonomo-lora"
model = AutoPeftModelForCausalLM.from_pretrained(repo, dtype="auto", device_map="auto")
tok = AutoTokenizer.from_pretrained("nvidia/Llama-3.1-Nemotron-Nano-4B-v1.1")
messages = [
{"role": "system", "content": "detailed thinking off"}, # así se entrenó: sin razonamiento largo
{"role": "user", "content": "¿Qué es RAG y cuándo conviene usarlo en una empresa?"},
]
inputs = tok.apply_chat_template(messages, add_generation_prompt=True, return_tensors="pt").to(model.device)
out = model.generate(inputs, max_new_tokens=200, repetition_penalty=1.05)
print(tok.decode(out[0][inputs.shape[-1]:], skip_special_tokens=True))
El modelo base (~9 GB) se descarga automáticamente desde Hugging Face la primera vez.
Entrenamiento
Procedimiento (ciclo autónomo)
| Ronda | Qué ocurre |
|---|---|
| 0 | Taxonomía de temas → set de evaluación fijo (nunca se entrena con él) → nota base |
| r ≥ 1 | Currículo adaptativo (más tareas en los temas débiles) → el profesor responde → entrenamiento LoRA con datos nuevos + repaso → el juez califica → se promueve, acepta o revierte el checkpoint |
Datos
Pares instrucción–respuesta sintéticos generados por la API de OpenAI (profesor), con deduplicación y filtro de calidad: 40 tareas nuevas por ronda (30 % básicas, 50 % intermedias, 20 % avanzadas). El checkpoint publicado (ronda 2) se entrenó con 60 ejemplos (datos nuevos + 50 % de repaso).
Hiperparámetros
| Parámetro | Valor |
|---|---|
| LoRA r / alpha / dropout | 16 / 32 / 0,05 |
| Módulos | q, k, v, o, gate, up, down (proyecciones) |
| Parámetros entrenables | 30,4 M (0,67 % de 4,54 B) |
| Learning rate | 2e-4 (warmup 5 %) |
| Batch efectivo | 8 (4 × 2 de acumulación) |
| Épocas por ronda | 1 |
| Largo máximo de secuencia | 512 tokens |
| Precisión | bf16 |
Hardware y costo
- Apple Silicon (MPS), 25,8 GB de memoria unificada; pico de 9,8 GB durante el entrenamiento
- Tiempo de entrenamiento: 73 s · corrida completa: ~3 min
- Costo total de la API de OpenAI: US$ 0,27 (125 llamadas)
Evaluación
Juez LLM con rúbrica de 4 criterios (1–10) contra la respuesta de referencia, sobre un set fijo de 8 preguntas.
| Ronda | Decisión | Nota media | Δ |
|---|---|---|---|
| 0 (modelo base) | — | 2,13 | — |
| 1 | promovido | 2,50 | +0,38 |
| 2 (este checkpoint) | promovido | 3,50 | +1,00 |
Detalle de la ronda 2 por criterio: corrección 3,9 · completitud 2,4 · claridad 4,9 · idioma y formato 8,0.
Limitaciones
- Es una corrida de demostración corta (2 rondas, 60 ejemplos, 8 preguntas de evaluación), con un presupuesto de US$ 2. La nota mejora de forma sostenida (+65 % sobre la base), pero sigue lejos del umbral de aprobación (7/10): no debe usarse en producción.
- Debilidades que detectó el juez: respuestas incompletas o truncadas (límite de 160 tokens de generación) y confusiones conceptuales en destilación y en métricas de evaluación de RAG.
- El set de evaluación es pequeño (n = 8), así que las notas tienen una varianza alta.
- Hereda los sesgos y limitaciones del modelo base y del modelo profesor.
Uso responsable
- Uso educativo. Los datos de entrenamiento se generaron con la API de OpenAI. Los términos de OpenAI restringen usar sus salidas para desarrollar modelos que compitan con OpenAI.
- Distribuido bajo las licencias del modelo base: NVIDIA Open Model License y Llama 3.1 Community License.
- No se usaron datos personales ni confidenciales.
Framework versions
- PEFT 0.21.2 · Transformers 5.18.0 · PyTorch 2.14.1
- Downloads last month
- 16
Model tree for fechevic/slm-autonomo-lora
Base model
nvidia/Llama-3.1-Minitron-4B-Width-Base