--- language: - es license: other base_model: LiquidAI/LFM2.5-350M library_name: peft pipeline_tag: text-generation tags: - base_model:adapter:LiquidAI/LFM2.5-350M - lora - sft - transformers - trl - unsloth --- # simon-fcyt-umss-v2 Modelo de IA ajustado para la Facultad de Ciencias y Tecnología de la Universidad Mayor de San Simón (UMSS), diseñado para la aplicación **TecnoTime**. Su objetivo es ayudar a estudiantes a mantenerse organizados, motivados y conectados con sus actividades académicas mediante respuestas breves, consistentes y parseables. Este modelo es un fine-tuning de `LiquidAI/LFM2.5-350M` con SFT + LoRA usando Unsloth. Está orientado a producir salidas compatibles con la estructura `SimonResponse` usada por el sistema Android. Repositorio destino: ```text Smith-3/simon-fcyt-umss-v2 ``` ## Propósito Académico El modelo está orientado a: - Recordatorios de clases y horarios. - Mensajes motivacionales para mejorar continuidad académica. - Check-ins cortos para acompañamiento del progreso diario. - Estímulo positivo en momentos clave del semestre. Está pensado para reforzar hábitos de constancia, asistencia, estado de ánimo y autocuidado académico. ## Formato Estructurado de Respuesta La salida esperada no es texto libre. El modelo debe generar un único objeto JSON válido, sin Markdown alrededor, con campos compatibles con TecnoTime. Campos base: ```json { "why": "...", "opening_tag": "...", "icon_tag": "..." } ``` Campos por tipo de notificación: | Tipo de notificación | Requiere | No debe incluir | | --- | --- | --- | | `MOTIVATIONAL_CHECK_IN` | `question`, `choices` con 2 opciones | - | | `CLASS_REMINDER` | `question`, `choices` con 2 opciones | - | | `CHECK_IN_CLOSURE` | `message` o `reminder_copy` | `choices` | | `REMINDER_CLOSURE` | `reminder_copy` | `choices` | ## Ejemplos Reales Usados en TecnoTime ### Recordatorio de Clase ```json { "why": "Para que no pierdas tu ritmo académico", "opening_tag": "¡Atención, estudiante FCyT!", "question": "¿Listo para tu clase de hoy?", "icon_tag": "info", "choices": [ {"id": "yes", "label": "Llego en un momento"}, {"id": "no", "label": "Estoy terminando algo"} ] } ``` ### Check-in Motivacional ```json { "why": "Para reforzar tu constancia", "opening_tag": "¡Vamos con toda, ingeniería!", "question": "¿Cómo te sientes con lo que has avanzado hoy?", "icon_tag": "focus", "choices": [ {"id": "yes", "label": "Bien, sigo avanzando"}, {"id": "no", "label": "Hoy fue complicado"} ] } ``` ## Modelo Base y Entrenamiento - Modelo base: `LiquidAI/LFM2.5-350M` - Tokenizer usado en el notebook: `unsloth/LFM2.5-1.2B-Instruct` - Método: SFT + LoRA - Framework: Unsloth + TRL + PEFT - Dataset: `data/processed/train_data.jsonl` - Formato del dataset: LiquidAI `messages` Configuración de entrenamiento v2: | Parámetro | Valor | | --- | --- | | Épocas | 3 | | Batch por dispositivo | 4 | | Acumulación de gradiente | 4 | | Batch efectivo | 16 | | Learning rate | `2e-4` | | Scheduler | `cosine` | | Warmup ratio | `0.03` | | LoRA rank | `16` | | LoRA alpha | `32` | | LoRA dropout | `0.05` | ## Archivos Esperados Este repositorio está preparado para incluir: | Archivo o variante | Uso recomendado | | --- | --- | | Adaptadores LoRA | Respaldo reproducible del fine-tuning | | Modelo fusionado 16-bit | Versión principal para despliegue o conversión | | `F16` GGUF | Referencia de mayor tamaño | | `Q8_0` GGUF | Alta calidad, requiere más RAM | | `Q6_K` GGUF | Buen equilibrio con alta calidad | | `Q5_K_M` GGUF | Mejor equilibrio calidad/rendimiento | | `Q4_K_M` GGUF | Equipos de bajos recursos, laboratorios o laptops modestas | | `Q3_K_M` GGUF | Variante más liviana | ## Uso con llama.cpp Ejemplo con una cuantización GGUF: ```bash llama-cli -m simon-fcyt-umss-v2-Q5_K_M.gguf -p "GENERAR: CLASS_REMINDER para clase de Física" ``` ## Uso con Transformers ```python from transformers import AutoTokenizer, AutoModelForCausalLM repo_id = "Smith-3/simon-fcyt-umss-v2" tokenizer = AutoTokenizer.from_pretrained(repo_id) model = AutoModelForCausalLM.from_pretrained(repo_id, torch_dtype="auto") messages = [ { "role": "user", "content": "GENERAR: MOTIVATIONAL_CHECK_IN para estudiante de Ingeniería de Sistemas" } ] prompt = tokenizer.apply_chat_template( messages, tokenize=False, add_generation_prompt=True, ) inputs = tokenizer(prompt, return_tensors="pt") outputs = model.generate(**inputs, max_new_tokens=180) print(tokenizer.decode(outputs[0], skip_special_tokens=True)) ``` ## Uso Previsto Uso previsto: - Integración en TecnoTime. - Generación de respuestas JSON para notificaciones académicas. - Apoyo motivacional breve para estudiantes. - Inferencia local o de bajo costo con GGUF. Fuera de alcance: - Información académica oficial sin validación externa. - Consejería psicológica, médica o legal. - Decisiones administrativas o académicas automatizadas. ## Licencia Este modelo deriva de `LiquidAI/LFM2.5-350M`. Revisa la licencia del modelo base en Hugging Face antes de redistribuir o usar comercialmente: https://huggingface.co/LiquidAI/LFM2.5-350M ## Estado - Adaptadores LoRA v2: preparados para publicación. - Modelo fusionado: debe generarse desde el notebook antes de subir. - GGUF completo: debe generarse desde el notebook antes de subir. - Próxima etapa: publicación e integración final en TecnoTime. ### Framework versions - PEFT 0.17.1