File size: 3,503 Bytes
642ef3d | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 | ---
license: mit
datasets:
- sahil2801/CodeAlpaca-20k
- code_instructions_122k
base_model:
- mistralai/Mistral-7B-Instruct-v0.3
tags:
- code
---
# Code Specialist 7B
[](https://huggingface.co/) [](https://www.python.org/) [](https://huggingface.co/docs/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
- [Mistral-7B-Instruct-v0.3](https://huggingface.co/mistralai/Mistral-7B-Instruct-v0.3)
- Arquitectura: Transformer Decoder-only
- Parámetros: ~7B
---
## Dataset utilizado para SFT
- [CodeAlpaca-20k](https://huggingface.co/datasets/sahil2801/CodeAlpaca-20k)
- [code_instructions_122k (alpaca-style)](https://huggingface.co/datasets/TokenBender/code_instructions_122k_alpaca_style)
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
```python
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**
- [LinkedIn](https://www.linkedin.com/in/ricardourdanetacastro/)
- [GitHub](https://github.com/Ricardouchub)
---
## 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** |