Safetensors
mistral
code
python
sql
data-science
code-specialist-7b / README.md
Ricardouchub's picture
Update README.md
642ef3d verified
|
Raw
History Blame
3.5 kB
metadata
license: mit
datasets:
  - sahil2801/CodeAlpaca-20k
  - code_instructions_122k
base_model:
  - mistralai/Mistral-7B-Instruct-v0.3
tags:
  - code

Code Specialist 7B

Hugging Face Python Transformers

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


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