AstrApp
Docs
Volver a Documentación
Guía Técnica

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

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.

ChatML (OpenAI)Popular
Keys: role, content
Roles: user, assistant, system
ShareGPTPopular
Keys: from, value
Roles: human, gpt
Alpaca
Keys: instruction, input, output
Roles: 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

JSONL.jsonl
RecomendadoLímite: 500MB
CSV.csv
Datos simplesLímite: 500MB
Parquet.parquet
Datasets grandesLímite: 1GB
JSON.json
Arrays de objetosLímite: 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