La guía definitiva para el desarrollo de la inteligencia artificial
El proceso de desarrollo de productos de inteligencia artificial no es tarea fácil. Se necesita un equipo (y, si se nos permite añadir, uno bien informado, con experiencia y creativo). Entonces, ¿cómo abordamos los nuevos retos en el ámbito de la tecnología de visión artificial? A continuación, presentamos cinco preguntas clave que utilizamos para orientar todos los nuevos proyectos.
1. ¿Qué producto concreto queremos desarrollar? ¿Y realmente necesitamos la IA?
La primera y más básica pregunta que nos hacemos es qué solución queremos desarrollar y si los usuarios realmente la necesitan. Cuando tenemos una respuesta clara a esa pregunta, determinamos si debemos abordarla mediante la IA y de qué manera.
En general, la IA es la mejor opción en estas circunstancias:
- El problema que nos propusimos resolver es muy difícil, o incluso imposible, de abordar con un enfoque de desarrollo clásico o tradicional.
- Deberíamos poder modelar el problema utilizando un método o enfoque concreto de inteligencia artificial.
- Hay un conjunto de datos lo suficientemente bueno como para que podamos utilizarlo en nuestra 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 en la que vamos a utilizar la IA, el siguiente paso es determinar cómo modelarla. A veces es una tarea bastante sencilla, pero otras veces no queda claro qué enfoque daría los mejores resultados. Por ejemplo, en esta fase del proceso de desarrollo, debemos evaluar si un problema de visión artificial 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 un papel fundamental a la hora de responder a esta pregunta.
3. ¿Cómo encontramos un buen conjunto de datos?
Una vez que tenemos una idea de cómo resolver un problema concreto con la IA, tenemos que encontrar un conjunto de datos lo suficientemente bueno con el que podamos trabajar. Muy a menudo, este es un punto decisivo, ya que si no conseguimos encontrar un conjunto de datos lo suficientemente bueno como para que el equipo de investigación pueda experimentar con él, no podremos ofrecer la mejor solución para el problema que nos propusimos resolver inicialmente.
Hay varias formas de acceder a los datos. En este proceso, es muy importante comprender las diferencias en cuanto al contenido y la calidad de los conjuntos de datos.
Nuestro equipo de ventas colabora muy estrechamente con socios y clientes. Nos ayudan a mejorar nuestra tecnología y desarrollamos nuevas funcionalidades que se aplican a sus soluciones para resolver problemas muy específicos.
A veces, la otra forma de abordar el tema es empezar por desarrollar nuestros propios conjuntos de datos a nivel interno, que es precisamente la tarea de nuestro equipo de datos.
4. ¿Cómo preparamos los datos para el proceso de aprendizaje?
Los datos brutos recopilados no son suficientes para entrenar modelos de IA. Por eso hemos establecido procesos específicos de anotación de datos.
Con ese fin concreto, nuestro equipo web ha desarrollado un sistema al que internamente denominamos MLS (Machine Learning System). El MLS lo utiliza 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 agilizar continuamente el proceso de anotación.
El proceso es exigente y prolongado, pero nos enorgullece poder decir que, en menos de tres años, nuestro equipo de datos ha anotado decenas de millones de imágenes con diversos fines de entrenamiento. El equipo colabora estrechamente con el equipo de investigación para garantizar que los ingenieros de aprendizaje automático desarrollen modelos que realmente den respuesta al problema planteado inicialmente.
5. ¿Cómo integrar el modelo en el producto final?
El modelo de aprendizaje automático creado es solo una pieza del rompecabezas. Para que el producto final resulte útil, se necesita un gran conocimiento técnico y de experiencia de usuario (UX) que permita integrar todas sus partes.
Nuestro equipo de Herramientas e Infraestructura se encarga de desarrollar componentes especializados para la implementación y el funcionamiento de redes neuronales. Estos 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 corre a cargo de nuestros equipos de Desarrollo de Producto, Móvil y Web. Son los responsables de garantizar que el producto final resuelva realmente el problema de los usuarios, que el software sea rápido y robusto, y que la experiencia de 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 y experiencia de usuario, además de mucha perseverancia. Pero bueno, quien no arriesga, no gana.
Este enfoque nos permite tener siempre presente el panorama general y, en última instancia, ofrecer el máximo valor posible en nuestros productos. Creemos que así es como deberían crearse todos los productos de IA: con el objetivo de alcanzar la máxima calidad.
Esta es la segunda parte de nuestra breve serie sobre el desarrollo de productos de IA para empresas. Lee la primera parte: ¿Cómo es realmente el desarrollo de la IA?