Ricardouchub commited on
Commit
642ef3d
·
verified ·
1 Parent(s): 24b4952

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +107 -3
README.md CHANGED
@@ -1,3 +1,107 @@
1
- ---
2
- license: mit
3
- ---
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: mit
3
+ datasets:
4
+ - sahil2801/CodeAlpaca-20k
5
+ - code_instructions_122k
6
+ base_model:
7
+ - mistralai/Mistral-7B-Instruct-v0.3
8
+ tags:
9
+ - code
10
+ ---
11
+ # Code Specialist 7B
12
+
13
+ [![Hugging Face](https://img.shields.io/badge/🤗-Model%20Card-yellow.svg)](https://huggingface.co/) [![Python](https://img.shields.io/badge/Python-3.10+-blue.svg)](https://www.python.org/) [![Transformers](https://img.shields.io/badge/Transformers-4.56.0+-purple.svg)](https://huggingface.co/docs/transformers)
14
+
15
+ ## Descripción
16
+
17
+ **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**.
18
+ 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**.
19
+
20
+ 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.
21
+
22
+ ---
23
+
24
+ ## Modelo base
25
+
26
+ - [Mistral-7B-Instruct-v0.3](https://huggingface.co/mistralai/Mistral-7B-Instruct-v0.3)
27
+ - Arquitectura: Transformer Decoder-only
28
+ - Parámetros: ~7B
29
+
30
+ ---
31
+
32
+ ## Dataset utilizado para SFT
33
+
34
+ - [CodeAlpaca-20k](https://huggingface.co/datasets/sahil2801/CodeAlpaca-20k)
35
+ - [code_instructions_122k (alpaca-style)](https://huggingface.co/datasets/TokenBender/code_instructions_122k_alpaca_style)
36
+
37
+ Ambos datasets fueron **filtrados a ejemplos de Python y SQL**, con formato de prompts estilo **Alpaca/Mistral**.
38
+
39
+ Ejemplo de formato aplicado:
40
+
41
+ ```
42
+ [INST] Escribe una función en Python que sume dos números. [/INST]
43
+ def add(a, b):
44
+ return a + b
45
+ ```
46
+
47
+ ---
48
+
49
+ ## Entrenamiento
50
+
51
+ - **Método:** LoRA + QLoRA → Merge final de pesos (merge_and_unload)
52
+ - **Frameworks:** transformers, trl, peft, bitsandbytes
53
+ - **Hardware:** GPU 12GB VRAM (cuantización en 4-bit para entrenamiento)
54
+ - **Hiperparámetros principales:**
55
+ - per_device_train_batch_size=2
56
+ - gradient_accumulation_steps=4
57
+ - learning_rate=2e-4
58
+ - num_train_epochs=1
59
+ - max_seq_length=1024
60
+
61
+ ---
62
+
63
+ ## Uso
64
+
65
+ ```python
66
+ from transformers import AutoTokenizer, AutoModelForCausalLM
67
+
68
+ model_id = "Ricardouchub/Code-Specialist-7B"
69
+ tok = AutoTokenizer.from_pretrained(model_id)
70
+ mdl = AutoModelForCausalLM.from_pretrained(model_id, device_map="auto")
71
+
72
+ prompt = "[INST] Escribe una función en Python que calcule la media de una lista. [/INST]"
73
+ inputs = tok(prompt, return_tensors="pt").to(mdl.device)
74
+
75
+ out = mdl.generate(**inputs, max_new_tokens=256)
76
+ print(tok.decode(out[0], skip_special_tokens=True))
77
+ ```
78
+
79
+ ---
80
+
81
+ ## Benchmarks iniciales
82
+
83
+ - **Eval simple (Python tasks):** mejora en tareas básicas de programación comparado con el modelo base.
84
+ - Diseñado para uso en **data analysis, SQL queries y snippets Python**.
85
+ - Se recomienda evaluar en HumanEval / MBPP para métricas reproducibles.
86
+
87
+ ---
88
+
89
+ ## Autor
90
+
91
+ **Ricardo Urdaneta**
92
+ - [LinkedIn](https://www.linkedin.com/in/ricardourdanetacastro/)
93
+ - [GitHub](https://github.com/Ricardouchub)
94
+
95
+ ---
96
+
97
+ ## Limitaciones
98
+
99
+ - El modelo **no garantiza exactitud 100%** en código complejo.
100
+ - Puede generar respuestas incoherentes en prompts ambiguos.
101
+ - No ha sido entrenado para seguridad/ciberseguridad.
102
+
103
+ ---
104
+
105
+ ## Licencia
106
+
107
+ El modelo se publica con la misma licencia que **Mistral-7B-Instruct-v0.3**: **MIT**