Cuando era niño me encantaba un dibujo animado llamado “Los Jetsons”. Este programa era sobre una familia futurista que vivía en un mundo futurista usando aparatos y artilugios futuristas. Su mundo estaba lleno de una gran cantidad de máquinas. Algunas de estas máquinas eran simples pero bastantes de ellas eran robóticas. La más prominente de ellas era la doncella de los Jetson, Rosie. Gran parte del humor de este programa surgió de estas máquinas “inteligentes” que intentan lidiar con todas las cosas extrañas e impredecibles que pueden suceder en el curso de tratar con los humanos y la experiencia humana.
Cuando era niño sólo veía el programa para entretenerme y nunca pensé en las implicaciones de lo que estaba viendo. Nunca consideré que estas máquinas recibían cantidades masivas de información, tratando de darle sentido a todos esos datos, y luego tratando de seleccionar una respuesta apropiada basada en algún algoritmo que estaban ejecutando y luego posiblemente almacenando los datos y su respuesta para su futura consideración.
Cuando estaba en la escuela de ingeniería uno de mis profesores favoritos le dijo a mi clase que las computadoras son esencialmente muy estúpidas. Sólo hacen una cosa a la vez. Sólo hacen lo que se les dice. Pero lo hacen muy rápido y no se distraen como lo hace la gente.
Desde entonces los ordenadores han crecido a pasos agigantados, en sofisticación. Hoy llevo un celular en mi bolsillo que puede dar vueltas alrededor de la primera computadora que tuve que pesaba 30 libras y cubría un escritorio entero. Sin embargo, la premisa básica de que las computadoras son estúpidas y sólo hacen lo que están programadas para hacer sigue siendo verdad… ¿o no?
Hasta hace poco, las computadoras eran, en su mayoría, gobernadas por su unidad central de procesamiento o CPU. La CPU es el cerebro de un ordenador y su velocidad y capacidad es lo que, principalmente, determina la utilidad del ordenador. La CPU es lo que se utiliza para tareas generales como el procesamiento de textos, la navegación por la web, la lectura y el envío de correos electrónicos, y otras cosas básicas como eso.
En los últimos años las unidades de procesamiento gráfico, o GPU, han pasado a primer plano. En la superficie, las GPU son simplemente controladores de vídeo de segunda mano. Se encargan de renderizar los gráficos en las pantallas para que el usuario los vea. Muchos de los juegos de hoy en día requieren intensos cálculos gráficos que tratan con cálculos de física avanzada y representaciones y rotaciones tridimensionales. Todas estas son cosas en las que las GPU sobresalen. Sin embargo, no todo es diversión y juegos, hay otros programas como las imágenes médicas y las aplicaciones de diseño asistido por ordenador que también utilizan las capacidades de las GPU.
Resulta que las GPU no se limitan a trabajar con datos gráficos. Debido a su capacidad para manejar cantidades masivas de datos y, al mismo tiempo, realizar operaciones complejas con esos datos a velocidades ridículas, las GPU han surgido como herramientas sorprendentes en el campo de la inteligencia artificial (o IA) y el aprendizaje automático. La GPU es el corazón de la mayoría de los aparatos tecnológicos automatizados que vemos hoy en día. Los coches que se conducen solos, las aplicaciones para compartir viajes, el reconocimiento facial, el reconocimiento de voz, el reconocimiento de huellas dactilares, el filtrado de spam, y los anuncios de destino en Facebook y otros sitios, todos utilizan la IA y el aprendizaje automático.
NVIDIA se ha hecho un nombre en esta área. Se ha establecido como líder indiscutible en el mercado de las GPU. Los productos GEFORCE de NVIDIA son muy apreciados por los jugadores de todo el mundo. Los productos NVIDIA Quadro son utilizados por profesionales de todo el mundo. NVIDIA Titan y Tesla son los reyes de la IA y el aprendizaje automático. Sin embargo, quiero hablar de un producto de la línea AGX que NVIDIA lanzó en diciembre de 2018. NVIDIA lo llama Jetson AGX Xavier, pero los que se dedican a la IA y el aprendizaje automático lo llaman el “Santo Grial”.
No supera a NVIDIA Titan/Tesla en potencia de GPU, pero Jetson es mucho más que una GPU. NVIDIA lo llama un módulo, pero en realidad es una solución. Es una entidad autónoma que está destinada a ser utilizada como una máquina autónoma en cualquier aplicación que un cliente pueda pensar en colocarla. Se está convirtiendo rápidamente en el estándar de oro para la IA y las soluciones de aprendizaje automático.
En cuanto a hardware, NVIDIA ha llenado este bebé con todo, excepto el fregadero de la cocina. Puede ejecutar Linux en la CPU Carmel de 64 bits ARM de 8 núcleos. Para la IA de alto rendimiento y el trabajo de aprendizaje de la máquina tienes una GPU Volta de 512 núcleos con 64 núcleos Tensor. Hay dos opciones de memoria disponibles, una con 8G y otra con 16G. En cualquier caso, la memoria es una memoria de 256 bits LPDDR4x de gran velocidad. La solución completa es capaz de 32TOPs de rendimiento mientras que consume tan sólo 10W. Todo esto viene en un mísero factor de forma de 105 mm por 105 mm. En resumen, se obtiene un rendimiento de nivel de estación de trabajo en un paquete diminuto.
Otra de las características de NVIDIA son sus herramientas. Saben que proporcionar el mejor hardware no significa nada si los clientes no pueden utilizarlo eficazmente. El SDK JetPack de NVIDIA permite a los clientes de Jetson ponerse en marcha en un tiempo récord, lo que supone un enorme ahorro en tiempo y costes de desarrollo. El SDK incluye todas las imágenes, librerías y API del sistema operativo, herramientas de desarrollo, muestras y documentación necesarias para desarrollar, depurar e implantar rápidamente soluciones sofisticadas. Python, CUDA, OpenCL, OpenCV, C, y C++ son todos compatibles.
Jetson está diseñado específicamente para los robots y la informática de punta. Como tal, está diseñado para manejar todo tipo de entradas sensoriales en tiempo real y para hacer funcionar todo tipo de motores de inferencia con total autonomía y sin intervención humana. La conectividad en la nube, la navegación con planificación de rutas y evitación de colisiones y el seguimiento de terrenos complejos, la entrega de paquetes y la inspección industrial son sólo algunos ejemplos de lo que Jetson podría ser programado para hacer. El cielo es realmente el límite.
Esto nos trae de vuelta a la caricatura de Jetson. Mientras pienso en el pasado y considero todas las locuras que ocurrieron, concluyo que o bien algo ocurrió en la línea de tiempo que impidió a NVIDIA inventar el Jetson AGX Xavier, o bien los ingenieros de esa época eran idiotas. Llego a esta conclusión porque si NVIDIA lo hubiera inventado y hubiera habido ingenieros con alguna habilidad, Rosie y sus amigos robots podrían haber cometido errores locos una vez, pero no los habrían cometido una segunda vez. Habrían aprendido de su primer error. Además, si estaban conectados en red como deberían haber estado, entonces sólo uno de ellos habría cometido ese error permitiendo que todos los demás aprendieran de él. Después de todo no es eso de lo que se trata la IA y el aprendizaje profundo… eliminar las decisiones de baja calidad y reemplazarlas por otras de mayor calidad.