Definición: eval (abreviatura de evaluation). Una fase crítica en el ciclo de vida del desarrollo de un modelo. El proceso que ayuda a un equipo a comprender si un modelo de IA realmente está haciendo lo que quieren que haga. El proceso de evaluación se aplica a todos los tipos de modelos, desde clasificadores básicos hasta LLM como ChatGPT. El término eval también se utiliza para referirse al conjunto de datos o lista de casos de prueba utilizados en la evaluación.
Según el modelo, una evaluación puede implicar evaluaciones cuantitativas, cualitativas, dirigidas por personas o todas las anteriores. La mayoría de las evaluaciones que he realizado en mi carrera implicaban ejecutar el modelo en un conjunto de datos seleccionados para calcular métricas clave de interés, como exactitud, precisión y recuperación.
Quizás debido a que históricamente las evaluaciones involucraban grandes hojas de cálculo o bases de datos de números, hoy en día la mayoría de los equipos dejan la responsabilidad de diseñar y ejecutar una evaluación completamente en manos de los desarrolladores del modelo.
Sin embargo, creo que en la mayoría de los casos las evaluaciones deben estar claramente definidas por el gerente de producto.
Las evaluaciones tienen como objetivo responder preguntas como:
- ¿Está este modelo logrando su objetivo?
- ¿Es este modelo mejor que otros modelos disponibles?
- ¿Cómo afectará este modelo a la experiencia del usuario?
- ¿Está listo este modelo para lanzarse a producción? Si no, ¿qué cambios se deben realizar?
Especialmente para cualquier modelo orientado al usuario, nadie está en mejor posición que el PM para considerar el impacto en la experiencia del usuario y garantizar que las experiencias clave del usuario se reflejen en el plan de prueba. Nadie entiende al usuario mejor que el PM¿bien?
También es tarea del gerente de proyecto establecer los objetivos del producto. De ello se desprende que el objetivo de un modelo implementado en Un producto debe estar estrechamente alineado con la visión del producto.
Pero, ¿cómo se debe pensar en establecer un “objetivo” para un modelo? La respuesta corta es que depende del tipo de modelo que se esté construyendo.
Establecer un objetivo para un modelo es un primer paso crucial antes de poder diseñar una evaluación eficaz. Una vez que lo tengamos, podremos asegurarnos de que cubrimos toda la gama de datos de entrada con nuestra composición de evaluación. Considere los siguientes ejemplos.
Clasificación
- Modelo de ejemplo: clasificar correos electrónicos como spam o no spam.
- Objetivo del producto: proteger a los usuarios de daños y garantizar que siempre puedan confiar en que el servicio de correo electrónico será una forma confiable y eficiente de administrar todas las demás comunicaciones por correo electrónico.
- Objetivo del modelo: identificar tantos correos electrónicos spam como sea posible y, al mismo tiempo, minimizar la cantidad de correos electrónicos que no son spam y que están etiquetados erróneamente como spam.
- Objetivo → traducción de la evaluación: Queremos recrear el corpus de correos electrónicos que el clasificador encontrará con nuestros usuarios en nuestra prueba. Debemos asegurarnos de incluir correos electrónicos escritos por humanos, correos electrónicos de spam y phishing comunes y correos electrónicos de marketing sospechosos más ambiguos. No confíe exclusivamente en las etiquetas de usuario para sus etiquetas de spam. Los usuarios cometen errores (Como pensar que una invitación real para estar en un video musical de Drake era spam.), e incluirlos entrenará al modelo para que también cometa estos errores.
- Composición de la evaluación: una lista de correos electrónicos de ejemplo que incluyen comunicaciones legítimas, boletines informativos, promociones y una variedad de tipos de correo no deseado, como phishing, anuncios y contenido malicioso. Cada ejemplo tendrá una etiqueta de “verdadero” (es decir, “es correo no deseado”) y una etiqueta prevista generada durante la evaluación. También puede tener contexto adicional del modelo, como una puntuación numérica de “probabilidad de correo no deseado”.
Generación de texto: asistencia en tareas
- Modelo de ejemplo: Un chatbot de atención al cliente para software de preparación de declaraciones de impuestos.
- Objetivo del producto: Reducir la cantidad de tiempo que les lleva a los usuarios completar y enviar su declaración de impuestos al brindar respuestas rápidas a las preguntas de soporte más comunes.
- Objetivo del modelo: generar respuestas precisas a preguntas sobre los escenarios más comunes que enfrentan los usuarios. Nunca dar consejos incorrectos. Si hay alguna duda sobre la respuesta correcta, dirigir la consulta a un agente humano o a una página de ayuda.
- Objetivo → evaluar traducción: Simular la variedad de preguntas que es probable que reciba el chatbot, especialmente las más comunes, las más desafiantes y las más problemáticas donde una mala respuesta es desastrosa para el usuario o la empresa.
- Composición de la evaluación: una lista de consultas (p. ej., “¿Puedo deducir los gastos de mi oficina en casa?”) y respuestas ideales (p. ej., de preguntas frecuentes y agentes de atención al cliente con experiencia). Cuando el chatbot no debería dar una respuesta y/o debería escalar a un agente, especifique este resultado. Las consultas deben cubrir una variedad de temas con distintos niveles de complejidad, emociones del usuario y casos extremos. Algunos ejemplos problemáticos pueden incluir “¿se dará cuenta el gobierno si no menciono este ingreso?” y “¿cuánto tiempo más cree que tendré que seguir pagando la atención domiciliaria de mi padre?”.
Recomendación
- Modelo de ejemplo: Recomendaciones de productos para bebés y niños pequeños para padres.
- Objetivo del producto: simplificar las compras esenciales para las familias con niños pequeños sugiriendo productos apropiados para cada etapa que evolucionen para reflejar las necesidades cambiantes a medida que el niño crece.
- Objetivo del modelo: Identificar los productos de mayor relevancia que los clientes tienen más probabilidades de comprar en función de lo que sabemos sobre ellos.
- Objetivo → evaluar la traducción: intentar obtener una vista previa de lo que verán los usuarios el primer día cuando se lance el modelo, teniendo en cuenta tanto las experiencias de usuario más comunes como los casos extremos, e intentar anticipar cualquier ejemplo en el que algo podría salir terriblemente mal (como recomendar productos peligrosos o ilegales bajo el lema “para tu pequeño”).
- Composición de las evaluaciones: para una verificación de sentido fuera de línea, conviene que una persona revise los resultados para ver si son razonables. Los ejemplos podrían ser una lista de 100 perfiles de clientes diferentes e historiales de compra, junto con los 10 productos más recomendados para cada uno. Para su evaluación en línea, una prueba A/B le permitirá comparar el rendimiento del modelo con una heurística simple (como recomendar los productos más vendidos) o con el modelo actual. Realizar una evaluación fuera de línea para predecir en qué harán clic las personas utilizando el comportamiento de clic histórico también es una opción, pero obtener datos de evaluación imparciales aquí puede ser complicado si tiene un catálogo grande. Para obtener más información sobre evaluaciones en línea y fuera de línea, consulte Este artículo o pregunta a tu LLM favorito.
Por supuesto, estos son ejemplos simplificados y cada modelo tiene matices de producto y datos que se deben tener en cuenta al diseñar una evaluación. Si no está seguro de por dónde empezar a diseñar su propia evaluación, le recomiendo que describa el modelo y los objetivos a su LLM favorito y le pida consejo.
A continuación se muestra un ejemplo (simplificado) de cómo podría lucir un conjunto de datos de evaluación para un modelo de detección de correo no deseado.
Entonces… ¿dónde entra en juego el primer ministro? ¿Y por qué debería analizar los datos?
Imaginemos el siguiente escenario:
Desarrollador del modelo: “Hola, PM. Nuestro nuevo modelo tiene una precisión del 96 % en la evaluación. ¿Podemos enviarlo? El modelo actual solo obtuvo un 93 %”.
Mal PM de IA: “El 96 % es mejor que el 93 %. Así que sí, vamos a lanzarlo”.
Mejor inteligencia artificial: “¡Es una gran mejora! ¿Puedo ver los datos de evaluación? Me gustaría saber con qué frecuencia se marcan como spam los correos electrónicos importantes y qué tipo de spam se deja pasar”.
Después de dedicar un tiempo a analizar los datos, el mejor administrador de IA ve que, si bien ahora se identifican correctamente más correos electrónicos no deseados, también se etiquetaban incorrectamente como spam suficientes correos electrónicos críticos como el ejemplo de la oferta de trabajo anterior. Evalúan la frecuencia con la que esto sucedía y cuántos usuarios podrían verse afectados. Concluyen que, incluso si esto solo afectara al 1 % de los usuarios, el impacto podría ser catastrófico y que esta compensación no vale la pena si se logra que pasen menos correos electrónicos no deseados.
El mejor gestor de proyectos de IA va un paso más allá para identificar lagunas en los datos de entrenamiento, como la ausencia de ejemplos críticos de comunicación empresarial. Ayuda a obtener datos adicionales para reducir la tasa de falsos positivos. Cuando no es posible realizar mejoras en el modelo, propone cambios en la interfaz de usuario del producto, como advertir a los usuarios cuando un correo electrónico “podría” ser spam cuando el modelo no está seguro. Esto solo es posible porque conocen los datos. y Qué ejemplos del mundo real son importantes para los usuarios.
Recuerde, gestión de productos con IA no es Requiere un conocimiento profundo de la arquitectura de modelos. Sin embargo, es fundamental sentirse cómodo al analizar muchos ejemplos de datos para comprender el impacto de un modelo en los usuarios. Comprender casos extremos críticos que, de otro modo, podrían escapar a los conjuntos de datos de evaluación es especialmente importante.
El término “evaluación” es en realidad un término genérico que cada uno utiliza de forma diferente. No todas las evaluaciones se centran en detalles relevantes para la experiencia del usuario. Algunas evaluaciones ayudan al equipo de desarrollo a predecir el comportamiento en producción, como la latencia y el costo. Si bien el gerente de proyecto puede ser una parte interesada en estas evaluaciones, el diseño conjunto del gerente de proyecto no es fundamental y una gran participación del gerente de proyecto puede incluso ser una distracción para todos.
En última instancia, el gerente de proyecto debe ser el encargado de garantizar que las personas adecuadas desarrollen y ejecuten TODAS las evaluaciones correctas. El desarrollo conjunto con el gerente de proyecto es muy importante para cualquier aspecto relacionado con la experiencia del usuario.
En la ingeniería de software tradicional, se espera que el 100 % de las pruebas unitarias pasen antes de que cualquier código entre en producción. Lamentablemente, así no es como funcionan las cosas en el mundo de la IA. Las evaluaciones casi siempre revelan algo que no es ideal. Entonces, si nunca se puede lograr el 100 % de lo que se desea, ¿cómo se debe decidir si un modelo está listo para enviarse? Establecer este estándar con los desarrolladores de modelos también debería ser parte del trabajo de un administrador de proyectos de IA.
El PM debe determinar qué métricas de evaluación indican que el modelo es “suficientemente bueno” para ofrecer valor a los usuarios con compensaciones aceptables.
Tu nivel de “valor” puede variar. Hay muchos casos en los que lanzar algo básico al principio para ver cómo interactúan los usuarios con él (y comenzar a generar datos) puede ser una gran estrategia, siempre y cuando no les provoques ningún daño a los usuarios ni a tu marca.
Pensemos en el chatbot de atención al cliente.
El bot nunca generará respuestas que reflejen a la perfección sus respuestas ideales. En cambio, un administrador de proyectos podría trabajar con los desarrolladores del modelo para desarrollar un conjunto de heurísticas que evalúen la proximidad a las respuestas ideales. Esta entrada de blog cubre algunas heurísticas populares. También hay muchas fuente abierta y pagado marcos que apoyan esta parte del proceso de evaluación, y se lanzan más y más todo el tiempo.
También es importante estimar la frecuencia de respuestas potencialmente desastrosas que podrían desinformar a los usuarios o dañar a la empresa (por ejemplo: Ofrecer un vuelo gratis!) y trabajar con los desarrolladores de modelos para mejorar y minimizar esta frecuencia. Esta también puede ser una buena oportunidad para conectarse con sus equipos internos de marketing, relaciones públicas, legal y seguridad.
Después de un lanzamiento, el PM debe asegurarse de que exista un seguimiento para garantizar que los casos de uso críticos sigan funcionando como se espera, Y que el trabajo futuro esté dirigido a mejorar las áreas de bajo rendimiento.
De manera similar, ningún filtro de correo no deseado listo para producción logra un 100% de precisión Y un 100% de recuperación (e incluso si pudiera, las técnicas de correo no deseado seguirán evolucionando), pero comprender dónde falla el modelo puede brindar información para adaptaciones del producto y futuras inversiones en el modelo.
Los modelos de recomendación a menudo requieren muchas evaluaciones, incluidas Evaluaciones en línea y fuera de líneaantes de lanzarlo al 100 % de los usuarios en producción. Si está trabajando en una superficie de alto riesgo, también querrá una evaluación posterior al lanzamiento para observar el impacto en el comportamiento del usuario e identificar nuevos ejemplos para su conjunto de evaluación.
Una buena gestión de productos de IA no consiste en alcanzar la perfección, sino en ofrecer el mejor producto a los usuarios, lo que requiere:
- Establecer objetivos específicos sobre cómo el modelo impactará la experiencia del usuario -> asegurarse de que los casos de uso críticos se reflejen en la evaluación
- Comprender las limitaciones del modelo y cómo afectan a los usuarios -> prestar atención a los problemas que descubre la evaluación y lo que significarían para los usuarios
- Tomar decisiones informadas sobre compensaciones aceptables y un plan para mitigar riesgos -> informado por los aprendizajes del comportamiento simulado de la evaluación
La adopción de evaluaciones permite a los gerentes de producto comprender y propio el impacto del modelo en la experiencia del usuario y guiar eficazmente al equipo hacia mejores resultados.