Recursos/Entrenamiento de modelos/El panorama general

Concepto

El pipeline de entrenamiento

Las etapas por las que pasa un proyecto de entrenamiento en Scalata, qué produce cada una y por qué cada etapa se conserva como un registro propio e inspeccionable.

Capítulo 14 min de lectura4 referencias

Qué es el pipeline

El ajuste fino rara vez es una acción aislada. Un resultado útil necesita los ejemplos adecuados, preparados en el formato correcto, entrenados con parámetros sensatos y, a continuación, verificados frente al modelo de partida. Scalata divide este proceso en etapas, cada una de las cuales toma el resultado de la anterior y produce algo que usted puede abrir e inspeccionar.

  1. 01Sesionesseleccionar chats
  2. 02Conjunto de datosrecopilar ejemplos
  3. 03Proveedordónde se entrena
  4. 04Preparación de datoslimpiar + convertir
  5. 05Entrenamientoejecutar el trabajo
  6. 06Evaluacióndemostrar que mejoró
  7. 07Chat de pruebapruébelo usted mismo
  8. 08Usopóngalo a trabajar
El pipeline de entrenamiento. Cada etapa entrega un artefacto congelado e inspeccionable a la siguiente, por lo que cualquier ejecución puede rastrearse hasta los chats exactos de los que aprendió.

Las etapas, una por una

EtapaQué entraQué sale
SesionesSus chats en Scalata, o chats importados desde otras aplicacionesLas conversaciones de las que aprender
Conjunto de datosChats seleccionados, ejemplos sintéticos o importados, documentos opcionales y las respuestas elegidas como objetivosUna instantánea inalterable de ejemplos
ProveedorDónde se entrenará y desplegará el modeloUna plataforma y los modelos que ofrece
Preparación de datosUn conjunto de datos y configuraciones de limpiezaArchivos JSONL limpios, anonimizados y divididos en el formato del proveedor
EntrenamientoArchivos preparados, un modelo base, un método y configuracionesUn modelo entrenado, sus curvas de pérdida y su coste
EvaluaciónEl modelo entrenado, su modelo de partida y las preguntas reservadasRespuestas en paralelo, puntuaciones del juez y una tasa de victorias
Chat de pruebaUn modelo entrenadoUn despliegue temporal con el que puede conversar
UsoUn modelo que superó la evaluaciónEl modelo en funcionamiento en Scalata (próximamente)

Por qué cada etapa es un registro independiente

Cada etapa genera un registro que el trabajo posterior no altera. Un conjunto de datos es una copia de los chats, no un enlace a ellos. Una preparación de datos conserva los archivos exactos que produjo. Una ejecución de entrenamiento guarda la preparación que utilizó, su configuración y el precio cotizado al inicio. Esto hace que los resultados sean reproducibles —meses después, aún podrá determinar qué chats, qué ajustes de limpieza y qué hiperparámetros produjeron un modelo específico— y garantiza que las comparaciones sean justas, ya que dos ejecuciones entrenadas con la misma preparación realmente procesaron los mismos datos.

También le permite crear ramificaciones. Un conjunto de datos puede prepararse dos veces con configuraciones distintas, una preparación puede entrenar varios modelos y un modelo entrenado puede ser el punto de partida para otra ejecución.

De dónde suelen provenir los problemas

Los resultados decepcionantes suelen tener su origen en las primeras etapas, más que en la configuración de entrenamiento:

  • Objetivos incorrectos o incoherentes en el conjunto de datos: el modelo los aprende fielmente.
  • No se retiene nada en la preparación de datos, por lo que la evaluación mide la memoria en lugar de la capacidad.
  • Un desajuste entre el entrenamiento y el uso: un prompt de sistema diferente, o preguntas reales que no se parecen en nada a los chats de entrenamiento.
  • Varios cambios a la vez entre ejecuciones, por lo que no se puede saber cuál de ellos ha servido de ayuda.
Un primer proyecto típico
  1. Sesiones → Conjunto de datos: se revisan 400 chats de soporte; 320 contienen respuestas lo suficientemente buenas como para ser objetivos.
  2. Proveedor → Preparación de datos: la limpieza elimina las respuestas de error y los duplicados, se redactan los datos personales, el 10 % de las conversaciones se reserva como conjunto de prueba para la evaluación y el 10 % del resto se retiene para la validación.
  3. Entrenamiento: ajuste fino supervisado con configuración automática, como línea base.
  4. Evaluación: el modelo entrenado y el modelo base responden a las preguntas de prueba retenidas. Un juez prefiere el modelo entrenado en la mayoría de ellas, y sus motivos señalan una debilidad en las preguntas sobre facturación.
  5. Siguiente ronda: se añaden más chats de facturación a un nuevo conjunto de datos y el ciclo se repite. Solo ha cambiado una cosa, por lo que la siguiente evaluación mostrará si ha servido de ayuda.

Errores comunes

  • Ajustar la configuración de entrenamiento antes de comprobar el conjunto de datos.
  • Cambiar el conjunto de datos, la configuración de preparación y los hiperparámetros en la misma ejecución.
  • Omitir la evaluación porque la pérdida de entrenamiento disminuyó.
  • Eliminar las ejecuciones antiguas en lugar de archivarlas, lo que supone perder el registro de lo que se probó y por qué falló.

Referencias y lecturas adicionales

Las fuentes externas se abren en una pestaña nueva.

  1. 01Datasheets for DatasetsGebru et al., 2018 · arXiv · arxiv.orgPor qué cada conjunto de datos debe incluir un registro de su procedencia y de cómo se creó.
  2. 02Model Cards for Model ReportingMitchell et al., 2018 · arXiv · arxiv.orgLa misma idea aplicada a los modelos entrenados: documentar con qué se entrenaron y evaluaron.
  3. 03Supervised fine-tuningOpenAI API docs · developers.openai.comLa versión de este mismo pipeline según un proveedor de alojamiento: preparar datos, entrenar, evaluar.
  4. 04Customize your model to improve its performance for your use caseAmazon Bedrock User Guide · docs.aws.amazon.comCómo estructura otro proveedor los trabajos de personalización.

Convierta semanas de trabajo experto en minutos

Vea cómo Scalata se adapta a su equipo, a sus datos y a sus Controles.

Contactar con ventas