Un entrenamiento falla con el primer registro malformado, y normalmente lo encuentra cuando ya te has ido a casa. Las comprobaciones que merece la pena hacer antes son poco vistosas y rápidas: cada registro un objeto con un array de mensajes, cada mensaje con rol y contenido, la conversación empezando donde debe y —la que se le escapa a todo el mundo— terminando en un mensaje del asistente, porque ese es el turno que el registro enseña. También se señalan dos mensajes de usuario seguidos, porque suelen significar que se fusionaron dos registros. Junto a los errores, la distribución de tamaños del archivo muestra la cola que no cabrá antes de que sea la razón de que el entrenamiento pare.
Características
Cada hallazgo señalado en la línea de la que salió
Comprueba que cada registro analice, y sigue más allá de los que no
Roles comprobados contra el conjunto conocido, los raros señalados
Detecta un registro que no termina en un mensaje del asistente
Detecta dos turnos seguidos del mismo lado
Detecta contenido vacío, que valida y no enseña nada
Distribución de tamaños: mediana, percentil 90 y máximo
Clave de mensajes configurable para formatos que la llaman de otro modo
Cómo usar Validador de datasets
Suelta el conjunto .jsonl o pégalo
Ajusta la clave de mensajes si tu formato es distinto
Corrige los errores y luego mira los avisos
Compara la distribución de tamaños con tu límite de contexto
Ejemplo
Entrada
line 3: two user messages in a row
Salida
Records: 3 · Errors: 0 · Warnings: 1
Normalmente indica que dos registros se unieron por accidente.
Errores comunes y solución de problemas
Un registro no termina con un mensaje del asistente. — Ese registro no tiene nada que enseñar: el turno final del asistente es el objetivo. Por eso es un error y no un aviso.
No encuentra el array de mensajes. — Ajusta la clave de mensajes a como la llame tu formato. Conversation y turns son ambas habituales.
Señala dos mensajes de usuario seguidos. — Suelen ser dos registros concatenados por error. Si el turno doble es deliberado, es un aviso y no un error.
Algunos registros son enormes. — Los percentiles muestran la cola. Todo lo que supere el límite de contexto fallará, y es muchísimo más barato descubrirlo aquí que a mitad de un entrenamiento.
Preguntas frecuentes
¿Qué formato espera?
El formato de chat: un objeto JSON por línea, cada uno con un array de mensajes de pares rol y contenido. El nombre de la clave es configurable, porque las convenciones difieren, pero la forma interior es la misma en todas partes.
¿Por qué un registro debe terminar en un mensaje del asistente?
Porque ese turno es lo que el registro enseña. Una conversación que acaba en un mensaje de usuario tiene una pregunta y ninguna respuesta, así que no hay nada de lo que aprender.
¿Los recuentos de tokens son exactos?
No, son estimaciones por caracteres. Sirven para detectar el caso extremo que no cabrá, que no necesita precisión: el recuento exacto sale del tokenizador del proveedor.
¿Un resultado limpio significa que los datos son buenos?
Significa que el archivo está bien formado. Si los ejemplos enseñan lo correcto es una pregunta sobre tus datos, y ningún validador la responde.
¿Se sube mi conjunto de datos?
No. Los datos de entrenamiento suelen ser el archivo más sensible de un equipo, y todo esto corre en el navegador.