Personalizando la IA para su aplicación

Creado: Abril 8, 2020
Actualizado: Abril 9, 2020
Personalizando la IA para su aplicación

La tecnología de IA está cambiando rápidamente la forma en que los dispositivos interactúan con el mundo. Tradicionalmente, un programador tiene que predefinir cómo un sistema reaccionará ante las diversas y impredecibles circunstancias que pueden surgir en escenarios del mundo real. Con la IA, se puede entrenar un modelo que captura las reacciones deseadas de tal manera que el modelo pueda proporcionar de manera confiable reacciones deseadas a circunstancias que nunca se anticiparon.

Un desafío para los desarrolladores nuevos en IA es personalizar una implementación de IA para su aplicación. A menos que una aplicación específica tenga suficiente volumen para justificar su propia implementación de placa, las placas de IA de venta libre tienden a centrarse en la eficacia de propósito general. Tendrán recursos e interfaces que no son necesarios para cada aplicación, aumentando así el costo innecesariamente.

Por ejemplo, kits de desarrollo como el Jetson Nano Developer Kit son una excelente manera de familiarizarse con la creación de una implementación básica de IA. El Jetson Nano viene con una variedad de interfaces, lo que facilita mucho la puesta en marcha de un sistema de prueba en muy poco tiempo. El kit sirve como un excelente punto de partida para una amplia gama de aplicaciones diversas, desde el procesamiento de sensores hasta el análisis de video, el procesamiento de sonido y más allá.

Sin embargo, una vez que entiendas cómo construir un sistema de IA general, querrás comenzar el desarrollo de tu aplicación usando un prototipo que se parezca lo más posible al hardware de producción final. Esto es particularmente importante cuando se traslada la IA al borde.

El costo, la disponibilidad y la escalabilidad de las GPU en la nube son extremadamente flexibles. Si no estás obteniendo la capacidad de respuesta que necesitas o descubres que tu modelo necesita más datos de los originalmente pensados para procesar de manera efectiva, puedes asignar fácilmente más recursos en la nube.

No es así en el borde. En el borde necesitas determinar la mezcla óptima de recursos si quieres equilibrar costo, rendimiento y precisión. Idealmente, necesitas un sistema que se reduzca fácilmente sin forzar cambios extensos en el hardware como resultado.

Nota que componentes como sensores, cámaras, interfaces, memoria y MCUs que componen el resto de la aplicación impactan también en la facilidad de diseño. Esto se debe a que, en algún momento, necesitas integrar tu sistema de IA con el resto de la aplicación.
Considere los cambios en cascada necesarios si descubre que necesita aumentar el tamaño de la imagen de video para lograr lo que desea. El modelo de IA ahora tiene que trabajar con una imagen de tamaño diferente, cambiando completamente el rendimiento y los requisitos de memoria de todo el sistema. Además, necesitará integrar una nueva cámara de manera fluida con su firmware existente, esperando evitar la necesidad de reescribir el firmware. Equilibrar y luego optimizar esta nueva combinación de recursos también llevará tiempo. Ahora imagine que necesita agregar una segunda cámara e incrementar la tasa de cuadros efectiva.

Esta etapa de integración puede ser extremadamente lenta y frustrante si tiene que hacerlo manualmente. Por ejemplo, los controladores de cámara, incluso de un mismo proveedor, a menudo no son intercambiables; aún necesitará hacer pruebas extensivas para confirmar que el nuevo controlador funciona exactamente como lo hacía el anterior.

Un enfoque de plataforma personalizada para el diseño como Geppetto puede reducir enormemente tu tiempo de desarrollo. Con Geppetto, puedes arrastrar y soltar bloques de funcionalidad probados en tu placa personalizada. Para aplicaciones de IA, puedes comenzar con el Jetson Nano y eliminar cualquier funcionalidad que no necesites. Luego, puedes agregar sensores, interfaces, procesadores y otros circuitos de extensas bibliotecas de módulos para construir un módulo personalizado optimizado para tu aplicación.

Una ventaja clave de este enfoque es que puedes producir de manera rentable unas pocas placas para el desarrollo y las pruebas iniciales. Si determinas que necesitas más procesamiento – o menos – puedes ajustar fácilmente tu diseño sin tener que diseñar un sistema completamente nuevo.

Además, tu placa personalizada viene con el sistema operativo y los controladores preintegrados. No tienes que hacer que todos los componentes funcionen juntos porque nosotros ya lo hemos hecho por ti.

La tecnología de IA está verdaderamente a solo unos clics de distancia. Visita Gumstix para saber más.

Recursos Relacionados

Volver a la Pàgina de Inicio
Thank you, you are now subscribed to updates.