Impacto empresarial

Lo que debe saber, como cliente, antes de iniciar un proyecto de aprendizaje automático

Share

¿Está pensando en utilizar el aprendizaje automático (ML) en su organización, pero no está seguro de para qué ni cómo? ¿O tal vez se está dando a la idea del aprendizaje automático y se ha dado cuenta de que no sabe lo suficiente sobre él como para tomar una decisión informada? Si es así, esta entrada de blog es para ti. Descargo de responsabilidad para los expertos en tecnología: lo siento chicos y chicas... ¡no voy a entrar en temas técnicos aquí! Esta publicación está especialmente dirigida a personas sin conocimientos técnicos. Además, los expertos en tecnología tal vez quieran perdonarme un par de licencias poéticas que tomé en aras de la claridad. En esta publicación, abordaré algunas de las preguntas y temas que surgen cuando los clientes comienzan a plantearse seriamente el uso del aprendizaje automático para sus organizaciones, basándome en nuestra experiencia aquí en Marvik, y en las cosas que debe saber antes de iniciar un proyecto de aprendizaje automático. En primer lugar, abordaremos algunos aspectos básicos sobre el aprendizaje automático y los casos de uso, así como algunas diferencias importantes entre los proyectos de aprendizaje automático y los proyectos de software «tradicionales». Aprendizaje automático 101 Empecemos con algunos elementos fundamentales y de contexto. En primer lugar, el aprendizaje automático ya no es una exageración. Según Gartner (véase la figura siguiente), está entrando en el «abismo de la desilusión», que es la última fase antes de entrar en la «cuesta de la iluminación». Teniendo en cuenta que este gráfico es de mediados de 2020 y que se espera que el nivel de productividad se alcance en 2 o 5 años, el escenario está listo para que el aprendizaje automático se generalice muy pronto.

Otro punto de vista de este mismo análisis es que la ventana de oportunidad sigue abierta para entrar en el aprendizaje automático desde el principio y, a medida que esta ventana se cierre, más se generalizará, lo que significa que sus competidores estarán por delante de usted. Ahora que (espero) he captado su atención, reflexionemos un poco sobre lo que significa el aprendizaje automático desde la perspectiva más laica posible. Una de las características fundamentales es que el aprendizaje automático cambia la forma en que solíamos pensar acerca de los algoritmos. En pocas palabras, un algoritmo es un conjunto de reglas que convierten las entradas en salidas procesables. Por lo tanto, las reglas están integradas en el algoritmo (reglas como IF X HAPPENS THEN DO Y). Este modelo funcionó muy bien durante décadas, aunque tenía una limitación fundamental que reconocimos recientemente: había que poder incruste completamente todas las reglas en el algoritmo de antemano. Es decir, el algoritmo era bastante estúpido y necesitaba conocer todas las posibilidades de antemano y no podía aprender nada nuevo. Y entonces apareció el aprendizaje automático, proponiendo un enfoque muy diferente y audaz: ¿y si no integramos las reglas en el algoritmo, sino que dejamos que el algoritmo las deduzca? Esto es bastante innovador, ya que significa que el algoritmo será capaz de establecer realmente las reglas como salida en lugar de algo integrado en él. Esto también significa que podrá aprender, ya que ahora las reglas pueden cambiar (porque son una salida). ¿Cómo puede ser esto? ¿Dónde está el truco? En los datos. Todo gira en torno a los datos. Ahora, el algoritmo ML tomará miles y miles de rostros humanos, por ejemplo, y deducirá internamente qué reglas son necesarias para determinar cuándo una persona parece feliz o triste. Esas reglas se deducirán con la ayuda de la metáfora del palo y la zanahoria: debemos entrenar el modelo de aprendizaje automático con muchos datos (rostros humanos en este ejemplo) que deben ser anotado para que sepa cuándo alguien se ve feliz o triste, de modo que el modelo ML pueda empezar a deducir las reglas para determinar cuándo alguien está feliz o triste. Después de esta formación, el modelo seguirá funcionando de forma autónoma, seguir aprendiendo y mejorando por sí solo, lo que se conoce como aprendizaje supervisado.

En caso de que se pregunte por qué se tardó tanto (décadas) en lograr este avance, no es que los científicos informáticos fueran tontos. Como he señalado, la clave está en los datos, es decir, en primer lugar, en la disponibilidad de gran cantidad de datos, y en segundo lugar, la capacidad de proceso todos estos datos. Si no tenemos miles o incluso millones de imágenes para analizar, los modelos de aprendizaje automático arrojarán resultados poco fiables; o si tardamos dos días en determinar si una persona está feliz o triste debido a la gran cantidad de trabajo informático, es probable que esto disminuya la posibilidad de que el aprendizaje automático ayude a las empresas y a los problemas del mundo real. Por eso, hoy en día, gracias a los avances en la producción de datos (por ejemplo, IoT, cámaras, herramientas de análisis), el almacenamiento y el procesamiento (por ejemplo, la computación en la nube), podemos implementar modelos de aprendizaje automático que consumen y procesan enormes cantidades de datos en segundos. Vale, pero ¿para qué sirve? ¿Cómo puedo usarlo para mejorar mi negocio? ¡Me alegro de que hayas preguntado! Ahora veamos algunos de los problemas típicos que ayudamos a nuestros clientes a resolver con el aprendizaje automático. Antes de esto, permítanme hacer una breve aclaración: el aprendizaje automático puede ayudar en problemas y situaciones muy específicos, así que no tome esto como una explicación exhaustiva de los casos de uso:

  • Mejorar un proceso: las organizaciones son básicamente un grupo de personas que ejecutan los procesos de la forma más óptima posible. Cualquier mejora en un proceso clave se traducirá en una enorme ganancia empresarial. Este es el caso cuando trabajar a nivel operativo ayuda a mejorar el negocio en su conjunto. Ya sea para reducir el tiempo o la precisión de ciertos procesos clave o incluso para aprovechar los datos no utilizados que la organización produce pero no sabe cómo usarlos, mejorar un proceso con modelos de aprendizaje automático siempre es un buen punto de partida. Por ejemplo, hemos desarrollado un motor de recomendaciones para un cliente que recomienda al mejor candidato para un puesto de entre miles de personas, lo que reduce considerablemente el tiempo necesario para hacer una recomendación significativa.
  • Automatiza las tareas manuales: Andrew Ng, uno de los gurús más respetados de la IA, dijo que si una persona tarda menos de un segundo en hacer algo, probablemente ese algo pueda automatizarse con la IA. La automatización (total o parcial) fue el santo grial del desarrollo de software tradicional durante décadas. Ahora este impulso recupera fuerza, ya que los modelos de aprendizaje automático son capaces de automatizar tareas que no eran posibles con los algoritmos tradicionales. Un ejemplo es un proyecto de visión artificial que implementamos para un cliente minorista que escanea las estanterías y analiza la proporción de ciertos productos en la tienda, sustituyendo el ojo humano que antes se necesitaba.
  • Obtenga una ventaja competitiva: este es el caso cuando trabajamos a nivel de estrategia empresarial en lugar de a nivel operativo (como era el caso de las mejoras de procesos). En este caso, el aprendizaje automático posibilita nuevos modelos de negocio y elementos diferenciadores que permitirán a su empresa obtener una ventaja competitiva. Como comentamos anteriormente, la ventana de oportunidad sigue abierta. Como ejemplo de este tipo de solución, hemos ayudado a una empresa educativa a obtener una ventaja competitiva al generar vídeos en varios idiomas a un costo casi nulo, una característica que es exclusiva de nuestro cliente dentro de su segmento (por lo tanto, ayuda a diferenciarlo).

Estos son los casos de uso típicos que vemos en varios de nuestros clientes en Marvik, pero como se señaló, no se considerarán todas las formas posibles en las que el aprendizaje automático puede ayudar a su empresa. Además, en muchos casos, nuestros clientes no saben realmente cómo el aprendizaje automático puede (o no) mejorar sus negocios. Y esa es una pregunta perfectamente válida, ya que no lo es que tienen que saber cómo (si es que lo hacen) el ML puede ser de ayuda. En estas situaciones, proponemos una fase de descubrimiento de productos en la que analizaremos a fondo su negocio, los problemas y los beneficios para aprender cómo puede aprovechar el aprendizaje automático en su beneficio. Algunas consideraciones importantes sobre el aprendizaje automático Ahora que sabe en qué consiste el aprendizaje automático y cómo puede ayudar a su empresa, abordemos algunas consideraciones importantes que debe tener en cuenta antes de comenzar su primer proyecto de aprendizaje automático:

  • Datos: como hemos visto antes, los datos son probablemente lo más importante a tener en cuenta al considerar un proyecto de aprendizaje automático. Ya sea la disponibilidad de los datos o la necesidad de anotarlos (por ejemplo, para determinar si la persona de la imagen está feliz o triste, ¡y hacerlo miles de veces!) Los datos son sin duda una consideración importante. En algunos casos, la anotación de datos también se puede realizar mediante un modelo de aprendizaje automático (es como aplicar el aprendizaje automático antes de aplicar el aprendizaje automático), pero a veces el trabajo manual es la mejor opción, por lo que centrarse en los datos es una de las primeras cosas que hay que hacer.
  • Incertidumbre: en algunos proyectos no podemos saber de antemano si podremos obtener la precisión y el tiempo que nuestro cliente desea. Esto puede suceder porque es posible que estemos buscando un patrón que no existe en los datos de nuestro cliente, o puede darse el caso de que no haya suficientes datos para buscar patrones en ellos.
  • Humanos: El aprendizaje automático no siempre consiste en reemplazar a las personas. En muchos casos, no es más que una herramienta fenomenal para mejorar lo que hacemos los humanos, ya que implica todo el trabajo repetitivo y deja en manos de los expertos (humanos) solo aquellos casos en los que realmente se necesitan. Esto puede consistir, por ejemplo, en automatizar el 80% de las tareas que realiza un trabajador cualificado, de modo que pueda centrarse en el 20% restante para realmente añadir valor y poder procesar más de esas tareas por unidad de tiempo (ya que el modelo ML se ocupa del 80%).
  • Agilidad: afortunadamente, el aprendizaje automático no cambió todas las reglas de software tradicionales. Afortunadamente, el desarrollo ágil de software está muy presente en el ámbito del aprendizaje automático. Ser capaz de crear prototipos rápidos para validar/refutar hipótesis y cuestiones empresariales es fundamental, como ya se ha presentado. A veces sugerimos a nuestros clientes que empiecen con algo pequeño y prueben el terreno (ya sea un producto mínimo viable o una prueba de concepto), que aprendan de esa experiencia y, si es adecuado, que sigan creando el producto. Esto es especialmente cierto (aunque no exclusivo) cuando se introduce el aprendizaje automático para obtener una ventaja competitiva para su empresa, ya que el tiempo (es decir, el tiempo de comercialización) es fundamental.

Estas consideraciones se denominan comúnmente «DUHA» y puede encontrar mucha información en Internet. La verdad es que no. Acabo de inventar este término. Dicen que el humor es una buena herramienta para mantener a la audiencia comprometida, ¿verdad?

Algunas diferencias entre el aprendizaje automático y el desarrollo de software tradicional Suponiendo que tiene un conocimiento básico del desarrollo de software tradicional, aquí hay algunas diferencias importantes entre eso y el desarrollo de ML. Por cierto... puedes usarlas como una forma de juzgar cuando alguien del sector de TI intente venderte algo sobre el aprendizaje automático (eres bienvenido):

  • Datos: sí... una vez más... ¡datos! Si no dedicas bastante tiempo a hablar de datos en la primera conversación sobre el aprendizaje automático, probablemente no vayas en la dirección correcta.
  • Consultores: los consultores (incluidos los desarrolladores) del mundo del aprendizaje automático suelen tener perfiles diferentes a los de los consultores y desarrolladores de software habituales. No solo tienen que conocer la disciplina (por ejemplo, sobre las diferentes arquitecturas de aprendizaje automático, sus ventajas y desventajas, cómo implementarlas, capacitarlas e implementarlas), sino que también deben comprender las metas y los objetivos empresariales; deben ser capaces de cerrar la brecha entre las necesidades empresariales y las alternativas de software, y trabajar en estrecha colaboración con el cliente para medir con precisión estas alternativas y el impacto que tienen en la empresa.
  • Recursos: en el desarrollo de software tradicional se utilizan la mayoría de los recursos informáticos después el producto se pone en producción. En el aprendizaje automático, esto suele ser lo contrario: necesitamos más potencia de cálculo y recursos para entrenar los modelos y no tanto después de que los modelos se implementen en producción.
  • Ciclo vital: los datos están integrados en el ciclo de vida del sistema. Normalmente se entrena con datos recopilados en el pasado, pero a veces los usuarios cambian su comportamiento y el modelo de aprendizaje automático necesita aprender constantemente de ello. Piensa en el comportamiento de los usuarios antes y después de la COVID y en cómo aceleró las tendencias del comercio electrónico. La nueva palabra de moda que tiene esto en cuenta para el desarrollo es MLOps y puedes leer más sobre ella aquí.

No, no es broma sobre acrónimos, odio repetirme. Algunas reflexiones finales Sí, estamos llegando al final de esta publicación, así que espero que ahora comprendáis mejor este nuevo y valiente mundo del aprendizaje automático y la IA. En particular, el aprendizaje automático ya no es una exageración sino una alternativa muy real para casi todas las organizaciones e industrias. Además, el aprendizaje automático es, de hecho, un animal diferente en comparación con el desarrollo de software tradicional (y espero que ahora comprenda por qué es así) y que la ventana sigue abierta, pero no por mucho tiempo, por lo que si no quiere quedarse atrás de sus competidores, comience ahora, al menos a aprender cómo el aprendizaje automático puede mejorar su negocio y quizás dedicar un pequeño presupuesto a ejecutar algunos prototipos y aprender a avanzar con confianza en esta nueva era. Ah... y los datos... ¡no olvides todo lo que hablamos al respecto!

Cada viaje de IA comienza con una conversación

Hablemos
Hablemos