Qué es
Un dataset es una colección con nombre de ejemplos de entrenamiento. En Scalata, la mayoría de los ejemplos son chats: la conversación, más la elección de qué respuestas del asistente son los objetivos. Un dataset también puede contener documentos de los cuales aprender hechos. Todo el proceso posterior hace referencia a él: usted prepara un dataset, entrena con los archivos preparados y evalúa el modelo resultante.
Instantánea, no enlace
Cuando se añade un chat a un dataset, sus mensajes se copian en él. A partir de ese momento, el dataset y el chat son independientes: continuar el chat, editarlo o eliminarlo no cambia nada en el dataset.
Esto es deliberado. Una ejecución de entrenamiento puede tardar horas, una evaluación se lee días después y un modelo puede permanecer en uso durante meses. Si el dataset pudiera cambiar de forma subyacente, ya no se podría afirmar con qué se entrenó un modelo; dos ejecuciones del «mismo» dataset podrían haber visto datos diferentes; y eliminar un chat podría suprimir silenciosamente ejemplos de los que usted dependía.
Correcciones dentro del dataset
Puede corregir una respuesta dentro de un dataset. El texto corregido es lo que se entrena, y el original se conserva a su lado. Mantener ambos es útil más allá del mantenimiento de registros: el original y la corrección forman un par de preferencias listo para usar, donde se prefiere la corrección. Una corrección es una de las señales más fuertes que puede darle a un modelo, porque es una persona indicando exactamente qué estaba mal.
- Respuesta original: «Vaya a configuración».
- Su corrección: «Abra Configuración → Notificaciones y desactive 'Resumen semanal'».
- El ajuste fino supervisado aprende la corrección.
- El ajuste de preferencias puede utilizar el par: se prefiere la corrección, la original no.
Conversaciones importadas
También se pueden importar conversaciones exportadas desde otras aplicaciones de chat. Volver a importar la misma exportación no añade nada dos veces. Los duplicados importan más de lo que parece: una conversación que aparece dos veces cuenta el doble en el entrenamiento, y sus copias podrían terminar en ambos lados de la división de validación, lo que sobrestimaría la evaluación.
Otras fuentes de ejemplos
- Chats sintéticos. El Creador de conjuntos de datos cuenta con un modelo capaz de elaborar un plan de escenarios variados a partir de un resumen y escribir conversaciones de ejemplo. Usted las revisa antes de añadirlas, y se marcan como Sintéticas para poder distinguirlas de los chats reales.
- Conjuntos de datos públicos. Las filas de un conjunto de datos de Hugging Face se pueden importar como chats una vez que Scalata ha determinado qué columnas contienen la pregunta y la respuesta. Las importaciones de gran tamaño se ejecutan en segundo plano.
- Comentarios del chat. Los pulgares hacia arriba y hacia abajo otorgados en el chat se convierten en ejemplos: una respuesta que ha gustado se convierte en una respuesta de la cual aprender, y una respuesta que ha gustado junto con una que no ha gustado para la misma pregunta se convierten en un par de preferencia.
- Documentos. Archivos subidos, archivos que ya se encuentran en Scalata, páginas web públicas, las filas de texto sin formato de un conjunto de datos de Hugging Face o archivos de una fuente de datos conectada. Su texto se lee una sola vez; a continuación, un modelo puede escribir ejemplos de preguntas y respuestas a partir de él, o los modelos abiertos pueden entrenarse directamente con el texto (entrenamiento previo continuo).
Cada fuente tiene su propia trampa. Los chats sintéticos son más limpios que los reales, así que mézclelos con datos reales siempre que pueda y reserve los chats reales para las pruebas. Las filas importadas son tan buenas como su fuente. Los documentos enseñan lo que es cierto, no cómo responder, por lo que suelen preceder o acompañar al entrenamiento con chats.
Nuevas versiones en lugar de cambios interminables
Para un cambio sustancial —una nueva área de producto, un nuevo lote de chats, un estilo diferente— suele ser más claro crear un nuevo dataset que seguir modificando uno antiguo. Nombre las versiones para que la diferencia sea obvia («Soporte v2 — facturación añadida») y archive el antiguo en lugar de eliminarlo, para que los modelos anteriores sigan apuntando a aquello con lo que fueron entrenados.
Errores comunes
- Esperar que una corrección realizada en el chat original llegue a un dataset creado anteriormente.
- Eliminar un dataset antiguo que entrenó un modelo que aún utiliza, perdiendo el registro de lo que aprendió.
- Mezclar tareas no relacionadas en un solo dataset sin suficientes ejemplos de cada una.
- Dejar una respuesta incorrecta como objetivo en lugar de corregirla en el dataset.
Referencias y lecturas adicionales
Las fuentes externas se abren en una pestaña nueva.
- 01Datasheets for DatasetsGebru et al., 2018 · arXiv · arxiv.orgLa importancia de registrar cómo se recopiló cada conjunto de datos y qué contiene.
- 02DatasetsHugging Face docs · huggingface.coCómo el ecosistema de código abierto almacena, versiona y comparte los datos de entrenamiento.
- 03Deduplicating Training Data Makes Language Models BetterLee et al., 2021 · arXiv · arxiv.orgPor qué vale la pena eliminar los ejemplos duplicados.