La guía definitiva para el desarrollo de la IA

3 steps in the AI ​​development process cycle

El proceso de desarrollo de productos de IA no es una tarea sencilla. Se necesita una aldea (si se nos permite añadir: una aldea bien informada, experimentada y creativa). Entonces, ¿cómo afrontamos los nuevos retos de la tecnología de visión por ordenador? He aquí cinco preguntas clave que utilizamos para guiar todos los nuevos proyectos.

1. ¿Qué producto exacto queremos construir y si siquiera necesitamos IA?

La primera y más básica pregunta que nos hacemos es qué solución queremos construir y si los usuarios realmente la necesitan. Cuando tenemos una respuesta clara a esa pregunta, averiguamos si debemos abordarla con IA y de qué manera.

En general, la IA es el camino correcto en estas condiciones:

  1. El problema que nos proponemos resolver es muy difícil o imposible de abordar con un enfoque de desarrollo clásico o tradicional.
  2. Deberíamos ser capaces de modelar el problema utilizando un método/enfoque de IA concreto.
  3. Hay un conjunto de datos suficientemente bueno que podemos utilizar para la investigación.

Este paso forma parte integrante de nuestra gestión de productos e implica a todos los miembros de nuestra organización.

2. ¿Cómo modelar el problema de la IA?

Una vez que hemos identificado la parte del producto para la que utilizaremos la IA, el siguiente paso es determinar cómo modelarla. A veces es una tarea bastante sencilla, pero otras veces no está claro qué enfoque daría los mejores resultados. Por ejemplo, en esta parte del proceso de desarrollo, tenemos que evaluar si algún problema de visión por ordenador se resolvería mejor con un modelo de segmentación semántica o con un modelo de detección de objetos. Nuestro equipo de Investigación desempeña el papel más importante a la hora de responder a esta pregunta.

3. ¿Cómo encontramos un buen conjunto de datos?

Cuando tenemos una idea de cómo resolver un determinado problema con IA, tenemos que encontrar un conjunto de datos lo suficientemente bueno con el que podamos trabajar. Muy a menudo, éste es un punto decisivo, porque si no podemos encontrar un conjunto de datos lo suficientemente bueno para que el equipo de Investigación experimente con él, entonces no podremos ofrecer la mejor solución para el problema que nos propusimos resolver inicialmente.

Hay varias formas de llegar a los datos. En el proceso, es muy importante comprender las diferencias en el contenido y la calidad de los conjuntos de datos.

Nuestro equipo de Ventas mantiene una colaboración muy estrecha con socios y clientes. Nos ayudan a mejorar nuestra tecnología y desarrollamos nuevas funciones para aplicarlas en sus soluciones a problemas muy específicos.

A veces, el otro enfoque consiste en empezar por desarrollar internamente nuestros propios conjuntos de datos, tarea que corresponde a nuestro equipo de Datos.

4. ¿Cómo preparamos los datos para el proceso de aprendizaje?

Los datos recopilados en bruto no son lo suficientemente buenos para entrenar modelos de IA. Por eso hemos establecido procesos específicos de anotación de datos.

Para ese fin concreto, nuestro equipo Web ha desarrollado un sistema que internamente llamamos MLS (Sistema de Aprendizaje Automático). El MLS es utilizado por nuestro equipo de Datos, que se encarga de la anotación de datos. El MLS es una parte esencial del desarrollo de nuestros productos. Nos permite tener el máximo control sobre la calidad de los datos anotados, así como mejorar y acelerar continuamente el proceso de anotación.

El proceso es exigente y de larga duración, pero nos enorgullece decir que en menos de tres años, nuestro equipo de Datos ha anotado decenas de millones de imágenes para diversos fines de entrenamiento. El equipo coopera estrechamente con el equipo de Investigación para garantizar que los ingenieros de ML produzcan modelos que respondan realmente al problema establecido inicialmente.

5. ¿Cómo integrar el modelo en el producto final?

El modelo ML producido es sólo una parte del rompecabezas. Para que el producto final sea útil, se necesita una gran cantidad de conocimientos técnicos y de UX para unir todas sus partes.

Nuestro equipo de Herramientas e Infraestructura se encarga de construir componentes especializados para la implementación y ejecución de redes neuronales. Esos componentes permiten una integración mucho más sencilla y rápida en dispositivos móviles que cualquier alternativa de código abierto.

La integración final del modelo la realizan nuestros equipos de Desarrollo de Producto, Móvil y Web. Son responsables de que el producto final resuelva realmente el problema para los usuarios, de que el software sea rápido y robusto, y de que la experiencia del usuario se adapte a cada plataforma (iOS, Android o web).

Por qué lo hacemos así

Este proceso requiere conocimientos y creatividad en ingeniería de software, aprendizaje automático, UX, y bastante persistencia. Pero oye, sin dolor no hay ganancia.

Este enfoque nos permite tener siempre presente el panorama general y, en última instancia, ofrecer el mayor valor de producto que podamos. Así es como creemos que deben fabricarse todos los productos de IA: con el objetivo de la calidad suprema.

Esta es la parte II de nuestra breve serie sobre la creación de productos de IA para empresas. Lee la parte I: ¿Cómo es realmente el desarrollo de la IA?

9 de mayo de 2019

Descubre nuestras soluciones

Explorar nuestras soluciones está a un clic de distancia. Prueba nuestros productos o habla con nosotros con uno de nuestros expertos para profundizar en lo que ofrecemos.