File size: 7,017 Bytes
caa55e6 9e36b69 caa55e6 3805c3e caa55e6 9e36b69 3805c3e caa55e6 bc31cf3 018e42a bc31cf3 018e42a bc31cf3 b4dc183 bc31cf3 0a9b06d bc31cf3 caa55e6 |
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 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 |
---
license: mit
license_name: deepseek
license_link: LICENSE
datasets:
- miguelmejias0512/blockchain-smartcontracts-1000
language:
- es
- en
metrics:
- accuracy
- code_eval
base_model:
- deepseek-ai/deepseek-llm-7b-base
pipeline_tag: text-generation
library_name: transformers
---
# Model Card for QLoRA Fine-Tuned DeepSeek-LLM-7B-Base
## Model Details
### Model Description
Esta es una versión optimizada mediante QLoRA (Adaptación Cuantizada de Bajo Rango) del modelo DeepSeek-LLM-7B-Base. El modelo base es un modelo de lenguaje de 7 mil millones de parámetros desarrollado por DeepSeek AI. Esta versión optimizada se ha adaptado utilizando técnicas de QLoRA para optimizar el rendimiento en tareas específicas, manteniendo la eficiencia.
- **Desarrollado por:** [Miguel Moisés Mejías Hernández/Universidad Politécnica Territorial del Estado Aragua "Federico Brito Figueroa"]
- **Tipo de modelo:** Modelo de lenguaje basado en transformadores
- **Idioma(s):** Principalmente inglés y español
- **Licencia:** deepseek
- **Optimizado a partir del modelo:** [deepseek-ai/deepseek-llm-7b-base](https://huggingface.co/deepseek-ai/deepseek-llm-7b-base)
### Training Procedure
El modelo se ajustó con QLoRA (Adaptación Cuantizada de Bajo Rango), que permite un ajuste preciso y eficiente de modelos de lenguaje extensos mediante:
- La cuantificación de 4 bits del modelo base
- La adición de pequeños adaptadores de bajo rango entrenables
- La congelación de la mayoría de los parámetros del modelo original
#### Training Hyperparameters
- **Training regime:** QLoRA fine-tuning
- **Learning rate:** [2e-4]
- **Batch size:** [1]
- **Epochs:** [300]
- **LORA parameters:**
- Rank: [8]
- Alpha: [16]
- Dropout: [0.1]
- **Optimizer:** [Your optimizer]
## Uses
### Direct Use
Este modelo puede ser usado para clasificación de texto en dominios específicos como...
### Downstream Use
Este modelo podría ser fine-tuned para:
- Análisis de sentimiento en redes sociales
- Clasificación de tickets de soporte
- Detección de contenido inapropiado
### Out-of-Scope Use
El modelo no debe ser usado para:
- Textos en otros idiomas no incluidos en el entrenamiento
- Dominios muy diferentes a los datos de entrenamiento
- Toma de decisiones críticas sin supervisión humana
## Bias, Risks, and Limitations
**Sesgos identificados:**
- Puede presentar peor rendimiento en textos con jerga regional
- Sesgo hacia variedades dialectales presentes en los datos de entrenamiento
- Sensibilidad a textos con ortografía no convencional
**Limitaciones:**
- Tamaño máximo de entrada: 512 tokens
- Rendimiento disminuido en textos muy cortos (<10 palabras)
- No captura bien el sarcasmo o ironía
**Riesgos:**
- Posibles falsos positivos/negativos en casos críticos
- No debe usarse como único criterio para decisiones automatizadas
## Training Data
**Dataset utilizado:** Nombre del dataset
**Características:**
- Tamaño: X ejemplos de entrenamiento, Y de validación
- Distribución de clases:
- Clase A: 60%
- Clase B: 30%
- Clase C: 10%
- Fuente: Origen de los datos
**Preprocesamiento especial:**
1. Normalización de texto:
- Conversión a minúsculas
- Eliminación de caracteres especiales
- Corrección de acentos
2. Tokenización especial para términos del dominio
3. Balanceo de clases mediante oversampling para clases minoritarias
4. Eliminación de stopwords personalizada
### Training Procedure
- **Framework:** PyTorch + Transformers
- **Hardware:** 1x NVIDIA V100 GPU
- **Training Hyperparameters:**
- learning_rate: 2e-5
- batch_size: 16
- num_epochs: 3
- weight_decay: 0.01
- warmup_steps: 500
#### Training Results
{visualization}
| Metric | Train | Validation |
|--------|-------|------------|
| Loss | 0.123 | 0.156 |
| Accuracy | 0.956 | 0.932 |
| F1 | 0.953 | 0.928 |
## Evaluation
### Testing Data
- Dataset independiente de Z ejemplos
- Distribución balanceada
- Incluye casos edge recolectados específicamente
### Results
| Metric | Value |
|--------|-------|
| Accuracy | 0.925 |
| Precision | 0.928 |
| Recall | 0.923 |
| F1 | 0.925 |
**Ejemplos de errores comunes:**
- Confunde X con Y en casos de negaciones dobles
- Bajo rendimiento en textos con mezcla de idiomas
## Technical Specifications
### Model Architecture and Objective
El modelo sigue la arquitectura del transformador del modelo original DeepSeek-LLM-7B-Base con adaptadores QLoRA agregados durante el ajuste fino.
### Compute Infrastructure
- **Hardware:** [Your hardware]
- **Training time:** [Your training duration]
## How to Get Started with the Model
### Carga básica del modelo
```python
from transformers import AutoModelForSequenceClassification, AutoTokenizer
import torch
model = AutoModelForSequenceClassification.from_pretrained("miguelmejias0512/deepseek-solidity-coder-llm-7b-finetuned")
tokenizer = AutoTokenizer.from_pretrained("miguelmejias0512/deepseek-solidity-coder-llm-7b-finetuned")
# Ejemplo de inferencia
text = "Texto de ejemplo a clasificar"
inputs = tokenizer(text, return_tensors="pt", truncation=True, padding=True, max_length=512)
with torch.no_grad():
outputs = model(**inputs)
predictions = torch.softmax(outputs.logits, dim=-1)
print(f"Probabilidades por clase: {predictions.numpy()}")
Preprocesamiento necesario
python
def preprocess_text(text):
# Implementa aquí el mismo preprocesamiento usado en entrenamiento
text = text.lower()
# ... más pasos
return text
# Uso completo con preprocesamiento
raw_text = "TEXTO Crudo con MAYÚSCULAS y signos!"
processed_text = preprocess_text(raw_text)
inputs = tokenizer(processed_text, return_tensors="pt", truncation=True, padding=True)
# ... resto del código de inferencia
Ejemplo completo con post-procesamiento
python
import numpy as np
class_names = ["clase_A", "clase_B", "clase_C"] # Reemplaza con tus clases
def predict(text):
# Preprocesamiento
processed_text = preprocess_text(text)
# Tokenización
inputs = tokenizer(processed_text, return_tensors="pt", truncation=True, padding=True, max_length=512)
# Inferencia
with torch.no_grad():
outputs = model(**inputs)
probs = torch.softmax(outputs.logits, dim=-1).numpy()[0]
# Resultado
return {class_names[i]: float(probs[i]) for i in range(len(class_names))}
# Ejemplo de uso
result = predict("Este es un texto de ejemplo para clasificar")
print(result)
```
## Citation
BibTeX:
bibtex
@misc{deepseek-ai/deepseek-llm-7b-base},
author = miguelmejias0512,
title = deepseek-solidity-coder-llm-7b-finetuned,
year = datetime.now().year,
publisher = Hugging Face,
howpublished = \url{{https://huggingface.co/miguelmejias5012/deepseek-solidity-coder-llm-7b-finetuned,
APA Style:
miguelmejias5012. (datetime.now().year). deepseek-solidity-coder-llm-7b-finetuned} [Software]. Hugging Face. https://huggingface.co/miguelmejias5012/deepseek-solidity-coder-llm-7b-finetuned |