12 Pasos para Inteligencia Artificial Aplicada

Una hoja de ruta para cada proyecto de machine learning

Cassie Kozyrkov
Ciencia y Datos
Published in
10 min readAug 27, 2020

--

Traducido por Carlos Secada del original por Cassie Kozyrkov

Para aquellos que han estado en busca de un programa de 12 pasos para deshacerse de los malos hábitos con datos, aquí hay una útil hoja de ruta para proyectos de machine learning aplicado e inteligencia artificial. Bueno, deberían ser 13 pasos, así que comenzaremos a contar desde cero para que nos funcione.

(Todos los enlaces llevan a artículos del mismo autor).

En la práctica, deberás iterar y volver atrás mucho, PERO nunca debes comenzar un paso sin al menos haber intentado cada uno de los pasos anteriores.

Paso 0: Validación de realidad y configuración

Valida que realmente necesitas el ML/IA. ¿Puedes identificar muchas pequeñas decisiones con las que necesitas ayuda? ¿Ya se ha demostrado que el enfoque que no es ML/IA no tiene valor? ¿Tienes datos de donde aprender? ¿Tienes acceso a hardware? Si no, no pases la línea de partida.

Consejo profesional: además de parecer un grupo de aficionados alborotados, los líderes que intentan empujar los enfoques de IA donde no corresponde, usualmente terminan con soluciones que son demasiado costosas de mantener en producción. Por el contrario, encuentra un buen problema a ser resuelto y que gane la mejor solución. Si puedes hacerlo sin IA, mucho mejor. ML/IA es para aquellas situaciones en las que los otros enfoques no te brindan el rendimiento que necesitas. Es útil y está aquí para quedarse, pero no es para todo.

Recursos:

Paso 1: Define tus objetivos

Expresa claramente lo que significa el éxito para tu proyecto. Tu sistema de ML/IA producirá un montón de etiquetas para ti: ¿cómo calificarías su rendimiento para la tarea que le asignaste? ¿Qué tan prometedor debe ser para que valga la pena ponerlo en producción? ¿Cuál es el rendimiento mínimo aceptable para que valga la pena lanzarlo?

Consejo profesional: asegúrate de que esta parte la realice quien mejor conozca el negocio y tenga las mejores habilidades para la toma de decisiones, no el que sea mejor en ecuaciones o tecnología. Omitir este paso o hacerlo fuera de secuencia es la causa principal de fracasos en proyectos de ciencia de datos. No.Se.Te.Ocurra.Siquiera.Pensar.En.Saltar.Este.Paso.

Recursos:

  • Guía detallada del Paso 1.

Paso 2: Obtén acceso a los datos

Crea el proceso y el código para recopilar identificadores de instancias y algunos atributos que van con esos identificadores. También necesitarás las etiquetas correctas si estás haciendo un aprendizaje supervisado o semi-supervisado; en la práctica, esto es a menudo hecho por humanos realizando la tarea una y otra vez.

Consejo profesional: considera un ensayo general con datos simulados antes de comprar datos o salir al mundo real para recopilar los tuyos.

Recursos:

Paso 3: Divide tus datos

Separa a un lado algunos de tus datos para que tengas la oportunidad de verificar qué tan bien funcionan tus recetas basadas-en-patrones, más allá de los datos desde donde los regeneraste. Es crucial que evalúes el rendimiento donde importa: en nuevos y relevantes datos que no hayas usado para nada más.

Divide tus datos en 3 conjuntos de datos: entrenamiento, validación y prueba. (Luego dividirás tu conjunto de datos de entrenamiento en dos partes para ajustar y depurar el modelo, pero no te preocupes por eso todavía).

Consejo profesional: implementa la división a nivel de infraestructura si puedes, y ten un control de acceso estricto para que tus datos de prueba no sean accidentalmente usados de forma incorrecta.

Recursos:

Paso 4: Explora tus datos

¡Es hora de analítica! Mira algunos (¡no todos!) de tus datos. Usa tu conjunto de datos de entrenamiento para graficar tus datos, completar controles y verificaciones, y realizar ingeniería de nuevos atributos. Nunca olvides que los datos del mundo real son desordenados, así que no confíes en nadie y no confíes en nada. En cambio, imagina tu conjunto de datos como un libro de texto que estás utilizando para enseñar a tus máquinas estudiantes. Solo un profesor tonto asigna un libro de texto que no lo haya ojeado previamente.

Consejo profesional: no olvides aplicar el código que has escrito para limpiar tus datos, y crear nuevas funciones para tus conjuntos de datos de validación y prueba … sin hurgar en ellos.

Recursos:

Paso 5: Prepara tus herramientas

Aquí es donde te haces amigo de tu caja de herramientas de ML/IA y conoces todos los algoritmos de búsqueda de patrones que intentarás ejecutar. No esperes que tus datos estén en un formato que esos paquetes de algoritmos aceptarán; es probable que necesites hacer un montón de configuraciones y entreveros de código para que esos algoritmos acepten tus datos.

Consejo profesional: siempre intenta ejecutar paquetes existentes antes de permitirte pensar en reinventar la rueda. Esto es lo opuesto al instinto que te enseñan en las clases de IA dirigidas a investigadores (cuyo trabajo consiste en inventar nuevas ruedas), así que prepárate para luchar contra tus propios hábitos si eres del tipo académico.

Recursos:

  • La importante diferencia entre la investigación de IA y la IA aplicada.
  • ¿Cómo funcionan los algoritmos de ML/IA?
  • Todo el mundo parece estar hablando de TensorFlow, pero ¿qué es?

Paso 6: usa tus herramientas para entrenar algunos modelos

Encuentra y explota patrones en tus datos para hacer recetas. Divide tus datos de entrenamiento y ejecútalos a través de los algoritmos que preparaste en el Paso 4 para ajustar algunos modelos candidatos al encontrar patrones y convertir esos patrones en recetas. Evalúa el rendimiento en el resto de tus datos de entrenamiento. Juega todo lo que quieras, iterando en la dirección de los algoritmos más prometedores y retrocediendo para preparar a sus primos para recibir sus datos.

Consejo profesional: ponte un poco más sofisticado usando la validación cruzada en lugar de un solo conjunto de reserva.

Recursos:

(Próximamente).

Paso 7: depurar, analizar y ajustar

Si deseas saber por qué tu modelo te está dando un mal rendimiento, recurre a analítica avanzada en tu conjunto de datos de reserva (de depuración). Así es como encuentras inspiración para saber qué probar a continuación. La señal que obtendrás aquí generalmente te indica que debes retroceder para hacer ingeniería de diferentes atributos o preparar nuevos paquetes de algoritmos para correr tus datos en ellos.

Consejo profesional: aborda el ajuste de hiperparámetros en este paso. “Hiperparámetro” es para “algoritmo” lo que “dial de temperatura” es para “tostador”. No te preocupes demasiado por ese dial la primera vez que intentes tostar pan, pero una vez que estés seguro de que el tostador es definitivamente para ti, invierte algo de tiempo en jugar con ese dial.

Recursos:

Paso 8: Valida tus modelos

Si bien puedes hacer lo que quieras con tus datos de depuración, no puedes hurgar en tu conjunto de datos de validación porque al hacerlo erosionas su confiabilidad en su lucha contra el sobreajuste. Solo se te permite mirar la métrica de rendimiento. Piensa en la validación como un espacio seguro para tener una idea de cómo sería el brutal examen final del modelo … pero con espacio para la redención en caso de que necesites comenzar de nuevo. Sólo pasa el paso de validación cuando estés seguro de que tu modelo candidato es EL Modelo.

Consejo profesional: muchos vaqueros de ML/IA piensan que están validando cuando en realidad están depurando. Esta mala práctica dispara la probabilidad de que falle la prueba. Eso es lindo para proyectos escolares donde no hay nada en juego, pero es doloroso cuando la ignorancia del proceso torpedea tu proyecto empresarial. Ten cuidado con los ingenieros inexpertos que no entienden que depurar con datos de validación equivale a jugar a la ruleta rusa.

Recursos:

  • La validación es el avance en la historia de la ciencia de datos que provocó la revolución ML/AI.

Paso 9: !Prueba tu modelo¡

¡El momento de la verdad! La prueba es donde descubres si tu mejor es lo suficientemente bueno en datos 100% prístinos. Debido a que ni los ingenieros ni el modelo han visto estos datos, no hay forma de que hayan hecho trampa para crear una solución que gane sin generalizar al mundo real. Una prueba estadística de rendimiento en estos datos es la señal de calidad más limpia y confiable que puedes obtener. La desventaja es que sólo puedes usar datos de prueba una vez. Es por eso que primero usa los datos de validación como una señal sucia.

Si pasas las pruebas, invertirás los recursos de ingeniería para construir una versión en vivo y digna de producción de tu modelo prototipo. Si fallas, se te acaba la tinta del bolígrafo.

Consejo profesional: si fallan tus pruebas significa que debes abortar tu proyecto de ML/IA. Sin problemas. Sin lloriqueos. Sin mendigar. Todo ese alboroto sobre la depuración adecuada y la validación estaba ahí para darte tu oportunidad de redención, así que cállate y acepta los resultados de las pruebas. La única excepción a esta regla es la situación obscenamente privilegiada donde es muy barato recopilar más datos. Eso te permite continuar tu proyecto con un nuevo conjunto de datos de prueba no contaminado. Sin embargo, el modelo que falló la prueba debe morir. Ten la fuerza de carácter para matarlo.

Recursos:

Paso 10: Pon tu sistema en producción

En este paso, convertirás tu prototipo en un sistema de ML/IA que tiene la capacidad de funcionar y jugar bien con tu código en producción. Esto podría ser tan simple como escribir la receta en una servilleta y usarla para ayudarte a decidir, o tan complicado como desarrollar un modelo escalable con capacidades de reentrenamiento automatizado que juegue muy bien con una base de código gigante, que tiene incorporadas redes de seguridad y está diseñado para resistir ataques adversos. Ninguno de estos placeres se cubrió en la fase de entrenamiento del prototipo, por lo que hay mucho trabajo por delante.

Consejo profesional: es probable que tu modelo no exista de forma aislada, así que busca sistemas y procesos con el potencial de verse afectados por el tuyo de maneras sorprendentes. Piensa detenidamente sobre su fiabilidad y relevancia. (En otras palabras, si está a punto de construir un muy confiable elefante en medio de una tienda de porcelana, considera alguna gestión de cambios para la tienda de porcelana.)

Recursos:

(Próximamente).

Paso 11: Ejecuta experimentos en vivo para un lanzamiento de forma segura

Una vez que hayas hecho que tu modelo sea capaz de funcionar en vivo, no lo dejes salir por la puerta de una sola vez. Aumenta gradualmente y haz experimentos para verificar que soltarlo por el mundo es una buena idea. Si el experimento te dice que lo dejes encerrado, eso es lo que debes hacer. (Todos hemos visto esa película de terror).

¿Nervioso de que todo tu trabajo esté a punto de desperdiciarse? Deberías estarlo. Ya te has esforzado lo suficiente para estar enamorado de tu proyecto y los pasos 9 y 11 existen para aplastar tus sueños. Bien. Ahora serás más cuidadoso en los pasos anteriores.

No quisiéramos que tus sentimientos paternales hacia tu sistema ML/AI nos impongan una basura venenosa muy querida. Estos obstáculos están ahí para asegurar que se mantengan los estándares de alta calidad.

Consejo profesional: es posible que primero necesites construir una infraestructura que te permita ejecutar experimentos estadísticos en vivo, de lo contrario no podrás lanzarlo de forma segura. Parte de esto es escribir un código que te permita aleatorizar qué casos son atendidos por tu sistema de ML/AI y cuáles son atendidos por tu siguiente mejor alternativa (que podría ser manual).

Recursos:

(Próximamente).

Paso 12: Monitorea y mantenlo… por siempre

Una vez que te has lanzado, no puedes alejarte y dejar tu sistema libre al viento. Tendrás que seguir esforzándote por mantenerlo seguro y fiable a medida que el tiempo avanza y el universo cambia. Es el regalo que te siguen dando (más trabajo).

Un buen comienzo es tener analíticas para el monitoreo del sistema más un plan de mantenimiento, que incluye un estándar aún mejor de documentación y el recuento para mantener esta cosa confiable durante su vida útil.

Consejo profesional: si construyes un sistema de ML/IA de producción masiva, no cometas el error de novato de no contratar analistas para monitorear la falta de estabilidad de las entradas y otras sorpresas.

Recursos:

(Próximamente).

El machine learning y la inteligencia artificial son mucho más que un montón de algoritmos.

Resumen

Espero que puedas ver que hay mucho más en el machine learning que un montón de algoritmos matemáticos, así que no te dejes engañar por cursos que solo enseñan cosas del algoritmo. El arte de aplicar IA para resolver problemas de negocios se resume en:

Paso 0–1 Hacer las preguntas correctas

Paso 2–4 Obtener y preparar datos útiles

Paso 5–7 Encontrar patrones en datos desechables

Paso 8–9 Verificar que los patrones funcionan en nuevos datos

Paso 10 Construir un sistema listo para la producción

Paso 11 Asegurarse de que el lanzamiento sea una buena idea

Paso 12 Mantener un sistema ML de producción confiable a lo largo del tiempo

¿Ansioso por profundizar en estos temas? ¡Yo te cuido la espalda! Esta lista también es una tabla de contenido para los temas del blog de inmersión profunda que priorizaré para escribir durante el 2020 (también conocida como Hindsight Year). Cuanto más compartas las publicaciones de mi blog con tus amigos, más tiempo dedicaré a escribir otras nuevas para traerte nuevos capítulos antes. ¡Mantente al tanto!

--

--

Ciencia y Datos
Ciencia y Datos

Published in Ciencia y Datos

Publicación de Ciencia de Datos, Machine Learning, Deep Learning, Inteligencia Artificial y mucho más en Español. Compartiendo conocimiento para hacer de este mundo un lugar mejor :)

Cassie Kozyrkov
Cassie Kozyrkov

Written by Cassie Kozyrkov

Head of Decision Intelligence, Google. Hello (multilingual) world! This account is for translated versions of my English language articles. twitter.com/quaesita

No responses yet