Volver a Guía de Fine-tuning
Guía de Datasets
Guía Completa de Datasets para Fine-tuning
Aprende a crear, estructurar y preparar datasets para entrenar modelos de lenguaje con AstrApp.
¿Qué es un Dataset?
Para los LLMs, los datasets son colecciones de datos que pueden usarse para entrenar modelos. Para ser útiles, los datos de texto necesitan estar en un formato que pueda ser tokenizado.
Flujo de Datos
Tus DatosFormateo + TokenizationEntrenamiento
Formatos de Datos
| Formato | Descripción | Tipo de Entrenamiento |
|---|---|---|
| Raw Corpus | Texto crudo de fuentes como libros o artículos | Continued Pretraining (CPT) |
| Instruct (Alpaca) | Instrucciones + input + output esperado | Supervised Fine-tuning (SFT) |
| Conversation (ChatML) | Conversación multi-turno entre usuario y asistente | Supervised Fine-tuning (SFT) |
| RLHF | Conversaciones con respuestas rankeadas | Reinforcement Learning (RL) |
Ejemplos de Formatos
ChatML (OpenAI) - Más Popular
{
"messages": [
{ "role": "user", "content": "¿Cuál es tu política de devoluciones?" },
{ "role": "assistant", "content": "Nuestra política permite devoluciones dentro de 30 días..." }
]
}ShareGPT - Multi-turno
{
"conversations": [
{ "from": "human", "value": "¿Puedes ayudarme a hacer pasta carbonara?" },
{ "from": "gpt", "value": "¿Quieres la receta tradicional romana?" },
{ "from": "human", "value": "Sí, la tradicional" },
{ "from": "gpt", "value": "La carbonara auténtica usa: pasta, guanciale, huevos, Pecorino Romano y pimienta negra..." }
]
}Alpaca - Instrucciones
{
"instruction": "Clasifica el sentimiento del siguiente texto.",
"input": "El servicio fue excelente, pero el producto llegó dañado.",
"output": "neutral"
}Chat Templates
Los chat templates definen cómo se estructuran las conversaciones para el modelo.
| Template | Keys | Roles |
|---|---|---|
| ChatML (OpenAI)Popular | role, content | user, assistant, system |
| ShareGPTPopular | from, value | human, gpt |
| Alpaca | instruction, input, output | N/A |
Generación de Datos Sintéticos
Puedes usar LLMs como Llama 3.3 (70B) o GPT-4 para generar datos sintéticos.
Producir datos nuevos
Crear desde cero o desde tu dataset existente
Diversificar
Evitar overfitting con más variedad
Aumentar datos
Estructurar automáticamente en el formato correcto
Ejemplo de Prompt para Generar Datos
Estructura mi dataset para que esté en formato QA ChatML para fine-tuning. Luego genera 5 ejemplos de datos sintéticos con el mismo tema y formato.
Formatos Soportados por AstrApp
| Formato | Extensión | Mejor Para | Límite |
|---|---|---|---|
| JSONL | .jsonl | Recomendado | 500MB |
| CSV | .csv | Datos simples | 500MB |
| Parquet | .parquet | Datasets grandes | 1GB |
| JSON | .json | Arrays de objetos | 100MB |
¿Qué Tan Grande Debe Ser Mi Dataset?
< 100
⚠️ Resultados limitados
Agregar más datos o sintéticos
100-500
🔶 Resultados razonables
Bueno para pruebas iniciales
500-1,000
✅ Buenos resultados
Recomendado para producción
1,000-10,000
✅✅ Muy buenos
Ideal para la mayoría de casos
10,000+
✅✅✅ Excelentes
Perfecto para dominios complejos
Validación Automática
AstrApp valida automáticamente tu dataset al subirlo:
Formato correcto de las keys
Encoding UTF-8
Balance del dataset
Longitud de los ejemplos
Detección de duplicados
Estructura de conversaciones