license: mit
datasets:
- sahil2801/CodeAlpaca-20k
- code_instructions_122k
base_model:
- mistralai/Mistral-7B-Instruct-v0.3
tags:
- code
Code Specialist 7B
Descripción
Code Specialist 7B es un modelo de lenguaje basado en Mistral-7B-Instruct-v0.3, adaptado mediante SFT (Supervised Fine-Tuning) con datasets especializados en Python y SQL.
El entrenamiento fue realizado por Ricardo Urdaneta, con el objetivo de mejorar la capacidad del modelo en resolución de problemas de programación, data science y desarrollo de software.
Este modelo mantiene la arquitectura original de 7B parámetros, pero incorpora un ajuste fino orientado a código, lo que lo hace más robusto en generación de funciones, queries SQL y respuestas técnicas.
Modelo base
- Mistral-7B-Instruct-v0.3
- Arquitectura: Transformer Decoder-only
- Parámetros: ~7B
Dataset utilizado para SFT
Ambos datasets fueron filtrados a ejemplos de Python y SQL, con formato de prompts estilo Alpaca/Mistral.
Ejemplo de formato aplicado:
[INST] Escribe una función en Python que sume dos números. [/INST]
def add(a, b):
return a + b
Entrenamiento
- Método: LoRA + QLoRA → Merge final de pesos (merge_and_unload)
- Frameworks: transformers, trl, peft, bitsandbytes
- Hardware: GPU 12GB VRAM (cuantización en 4-bit para entrenamiento)
- Hiperparámetros principales:
- per_device_train_batch_size=2
- gradient_accumulation_steps=4
- learning_rate=2e-4
- num_train_epochs=1
- max_seq_length=1024
Uso
from transformers import AutoTokenizer, AutoModelForCausalLM
model_id = "Ricardouchub/Code-Specialist-7B"
tok = AutoTokenizer.from_pretrained(model_id)
mdl = AutoModelForCausalLM.from_pretrained(model_id, device_map="auto")
prompt = "[INST] Escribe una función en Python que calcule la media de una lista. [/INST]"
inputs = tok(prompt, return_tensors="pt").to(mdl.device)
out = mdl.generate(**inputs, max_new_tokens=256)
print(tok.decode(out[0], skip_special_tokens=True))
Benchmarks iniciales
- Eval simple (Python tasks): mejora en tareas básicas de programación comparado con el modelo base.
- Diseñado para uso en data analysis, SQL queries y snippets Python.
- Se recomienda evaluar en HumanEval / MBPP para métricas reproducibles.
Autor
Ricardo Urdaneta
Limitaciones
- El modelo no garantiza exactitud 100% en código complejo.
- Puede generar respuestas incoherentes en prompts ambiguos.
- No ha sido entrenado para seguridad/ciberseguridad.
Licencia
El modelo se publica con la misma licencia que Mistral-7B-Instruct-v0.3: MIT