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
Formatos de Datos
Texto crudo de fuentes como libros o artículos
Instrucciones + input + output esperado
Conversación multi-turno entre usuario y asistente
Conversaciones con respuestas rankeadas
| 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
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?
Validación Automática
AstrApp valida automáticamente tu dataset al subirlo: