Experimentos

Los experimentos impulsan un proyecto hacia la viabilidad. Son hipótesis que se pueden probar y reproducir. Cuando se ejecutan experimentos, el objetivo es realizar mejoras incrementales y continuas mediante la evaluación de una variedad de arquitecturas y características del modelo. Cuando experimentes, debes hacer lo siguiente:

  • Determina el rendimiento del modelo de referencia. Para comenzar, establece una métrica de modelo de referencia. El modelo de referencia actúa como un indicador de medición para comparar los experimentos.

    En algunos casos, la solución actual que no es de AA puede proporcionar la primera métrica de referencia. Si no existe una solución en la actualidad, crea un modelo de AA con una arquitectura simple, algunas características y usa sus métricas como modelo de referencia.

  • Haga cambios pequeños y únicos. Haz un solo cambio pequeño a la vez, por ejemplo, en los hiperparámetros, la arquitectura o los atributos. Si el cambio mejora el modelo, sus métricas se convierten en el modelo de referencia nuevo para comparar experimentos futuros.

    A continuación, presentamos ejemplos de experimentos que realizan un solo cambio pequeño:

    • incluir el atributo X.
    • usa una extracción de 0.5 en la primera capa oculta.
    • toma la transformación logarítmica del atributo Y.
    • cambiar la tasa de aprendizaje a 0.001
  • Registra el progreso de los experimentos. Lo más probable es que debas hacer muchos experimentos. Los experimentos con una calidad de predicción deficiente (o neutral) en comparación con el modelo de referencia aún son útiles para hacer un seguimiento. Indican qué enfoques no funcionarán. Debido a que el progreso no suele ser lineal, es importante mostrar que estás trabajando en el problema destacando todas las formas en las que descubriste que no funcionan, además de tu progreso en el aumento de la calidad del modelo de referencia.

Debido a que cada entrenamiento completo en un conjunto de datos del mundo real puede tardar horas (o días), considera ejecutar varios experimentos independientes de manera simultánea para explorar el espacio con rapidez. A medida que sigas iterando, te acercarás más al nivel de calidad que necesitas para la producción.

Ruido en los resultados experimentales

Ten en cuenta que puedes encontrar ruido en los resultados experimentales que no sean de cambios en el modelo o en los datos, lo que dificulta determinar si un cambio que realizaste mejoró el modelo. Los siguientes son ejemplos de qué cosas pueden producir ruido en los resultados experimentales:

  • Redistribución de datos: el orden en el que se presentan los datos al modelo puede afectar su rendimiento.

  • Inicialización de variables: La forma en que se inicializan las variables del modelo también puede afectar su rendimiento.

  • Paralelismo asíncrono: Si el modelo se entrena con paralelismo asíncrono, el orden en que se actualizan las diferentes partes del modelo también puede afectar su rendimiento.

  • Conjuntos de evaluación pequeños: si el conjunto de evaluación es demasiado pequeño, es posible que no represente el rendimiento general del modelo, lo que produce variaciones desiguales en la calidad del modelo.

Ejecutar un experimento varias veces ayuda a confirmar los resultados experimentales.

Alinearse con las prácticas de experimentación

Tu equipo debe tener una comprensión clara de qué es exactamente un "experimento", con un conjunto definido de prácticas y artefactos. Te convendrá documentación que describa los siguientes puntos:

  • Artefactos. ¿Cuáles son los artefactos de un experimento? En la mayoría de los casos, un experimento es una hipótesis probada que se puede reproducir, por lo general, mediante el registro de los metadatos (como los hiperparámetros y las características) que indican los cambios entre los experimentos y cómo afectan la calidad del modelo.

  • Prácticas de programación: ¿Cada uno usará sus propios entornos experimentales? ¿Qué tan fácil (o fácil) será unificar el trabajo de todos en bibliotecas compartidas?

  • Reproducibilidad y seguimiento. ¿Cuáles son los estándares de reproducibilidad? Por ejemplo, ¿el equipo debería usar la misma canalización de datos y las mismas prácticas de control de versiones, ¿Cómo se guardarán los datos experimentales: como consultas en SQL o como instantáneas de modelos? ¿Dónde se documentarán los registros de cada experimento: en un documento, una hoja de cálculo o un CMS para administrar experimentos?

Predicciones incorrectas

Ningún modelo del mundo real es perfecto. ¿Cómo manejará tu sistema las predicciones incorrectas? Comienza a pensar desde el principio en cómo lidiar con ellos.

Una estrategia de prácticas recomendadas incentiva a los usuarios a etiquetar de forma correcta las predicciones incorrectas. Por ejemplo, para capturar correos electrónicos mal clasificados, las apps de correo electrónico registran el correo que los usuarios mueven a su carpeta de spam, y viceversa. Cuando capturas etiquetas de verdad fundamental de los usuarios, puedes diseñar ciclos de comentarios automatizados para la recopilación de datos y el reentrenamiento de modelos.

Ten en cuenta que, aunque las encuestas incorporadas en la IU recopilan los comentarios de los usuarios, los datos suelen ser cualitativos y no se pueden incorporar a los datos de reentrenamiento.

Implementar una solución de extremo a extremo

Mientras el equipo experimenta con el modelo, es una buena idea comenzar a compilar partes de la canalización final (si tienes los recursos para hacerlo).

Establecer diferentes partes de la canalización, como la entrada de datos y el reentrenamiento de modelos, facilita el traslado del modelo final a producción. Por ejemplo, obtener una canalización de extremo a extremo para transferir datos y entregar predicciones puede ayudar al equipo a comenzar a integrar el modelo en el producto y comenzar a realizar pruebas de usuario en la etapa inicial.

Soluciona problemas de proyectos detenidos

Es posible que te encuentres en situaciones en las que se detenga el progreso de un proyecto. Tal vez tu equipo haya estado trabajando en un experimento prometedor, pero no ha tenido éxito en la mejora del modelo durante semanas. ¿Qué deberías hacer? A continuación, se muestran algunos enfoques posibles:

  • Estratégica. Es posible que debas replantear el problema. Después de dedicar tiempo a la fase de experimentación, es probable que comprendas mejor el problema, los datos y las posibles soluciones. Con un conocimiento más profundo del dominio, quizás puedas formular el problema con mayor precisión.

    Por ejemplo, quizás en un principio quisiste usar la regresión lineal para predecir un valor numérico. Por desgracia, los datos no fueron lo suficientemente buenos para entrenar un modelo de regresión lineal viable. Tal vez un análisis más detallado revele que el problema se puede resolver prediciendo si un ejemplo está por encima o por debajo de un valor específico. Esto te permite reformular el problema como uno de clasificación binaria.

    Si el progreso es más lento de lo esperado, no te rindas. Las mejoras incrementales a lo largo del tiempo podrían ser la única forma de resolver el problema. Como se mencionó antes, no esperes la misma cantidad de progreso semana tras semana. A menudo, obtener una versión lista para la producción de un modelo requiere mucho tiempo. La mejora del modelo puede ser impredecible y irregular. Los períodos de progreso lento pueden estar seguidos de aumentos repentinos de mejora o viceversa.

  • Técnicas. Dedica tiempo a diagnosticar y analizar predicciones incorrectas. En algunos casos, puedes encontrar el problema si aíslas algunas predicciones incorrectas y diagnosticas el comportamiento del modelo en esas instancias. Por ejemplo, podrías descubrir problemas con la arquitectura o los datos. En otros casos, obtener más datos puede ayudar. Es posible que obtengas una señal más clara que sugiera que estás en el camino correcto o que produzca más ruido, lo que indica que existen otros problemas en el enfoque.

    Si trabajas en un problema que requiere conjuntos de datos etiquetados manualmente, puede ser difícil obtener un conjunto de datos etiquetados para la evaluación de modelos. Busca recursos con el fin de obtener los conjuntos de datos que necesitarás para la evaluación.

Quizás no hay una solución posible. Organiza tu enfoque en el tiempo y detente si no has progresado dentro del plazo. Sin embargo, si tienes un planteamiento del problema sólido, es probable que amerita una solución.