Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial Internet of Things >> Sensor

El Cerebro de los Coches Autónomos: Cómo la IA Impulsa Vehículos Modernos

Los vehículos autónomos (AVs), o incluso vehículos con sistemas avanzados de asistencia al conductor (ADAS), dependen de datos de muchos sensores — múltiples cámaras, lidar, radar, y a veces incluso sonar. Lidiar con los flujos de datos que vienen de este array de sensores, es una tarea enorme y a la vez crítica. Todos esos datos tienen que convertirse en información en tiempo real para usarse para conducir el coche al menos tan bien como si un conductor humano perfecto estuviera al control. "En la carretera, conductores humanos necesitan estar atentos a su entorno actual, interactuar con otros conductores, y tomar decisiones. Como conductores humanos, AVs deberían percibir, interactuar, y tomar decisiones también. Además, AVs deberían construir una buena relación con sus pasajeros."1

Estas funciones dependen de inteligencia artificial (IA) para asimilar datos de los diferentes sensores y combinarlos para una imagen instantánea del vehículo y su entorno dinámico — el proceso llamado fusión de sensores. Óptimamente para uso automotriz, la IA emplea redes neuronales profundas (DNNs). Modeladas en la forma que la información es procesada por el cerebro humano, las DNNs aprenden cómo atravesar el mundo real de la conducción aprendiendo de experiencia, en lugar de ser dicho qué hacer por un programador. La DNN funciona aceptando múltiples entradas, asignando diferentes pesos a ellas e inferiendo conclusiones. Requiere una plataforma computacional extremadamente alto rendimiento pero eficiente energéticamente para hacer todo eso en "tiempo real". Esto puede acelerarse usando un acelerador de procesamiento.

Poniendo la IA en Acción: Entrevista a Gil Abraham (CEVA)

Para aprender qué entra en una plataforma de alto rendimiento para IA automotriz, entrevisté a Gil Abraham de CEVA, Inc. sobre sus herramientas para implementarla.

La unidad de negocio de Visión e IA de CEVA tiene lo que Abraham llamó tres pilares: NeuPro-M, que es el procesador de IA; SensPro, que es un hub de sensores procesador de señal digital (DSP) de alto rendimiento; y software CDNN-Invite. CDNN-Invite permite a fabricantes introducir sus propios aceleradores DNN propietarios para trabajar junto con el procesador de IA NeuPro-M de CEVA así como el DSP SensPro y disfrutar de un sistema unificado que puede ser gestionado centralmente por el mismo kit de desarrollo de software (SDK) de memoria y flujo.

SensPro DSP: Fusión de Sensores Multi-Modal

El DSP SensPro puede realizar procesamiento de señal en entradas de muchos sensores diferentes, incluyendo múltiples lidars, radares, y cámaras y convolucionarlas — un proceso llamado fusión de sensores, que reúne las entradas de muchos sensores. Esto es crítico para uso automotriz porque cada sensor tiene sus propias limitaciones.

Por ejemplo:

El DSP SensPro puede tomar entradas de estos, así como sensores de tiempo de vuelo (ToF), unidades de medición inercial (IMUs), procesar eficientemente algoritmos para localización y mapeo simultáneos (SLAM) y usándolos todos, puede crear "conciencia contextual" — una imagen completa de la situación del automóvil y su entorno. También puedes añadir un conjunto de instrucciones dedicado en el hardware para obtener aceleración adicional de otro procesamiento específico si se necesita.

NeuPro-M: Procesador de IA para Decisiones de Conducción

NeuPro-M aborda muchos de los desafíos clave de funciones de vehículos autónomos incluyendo operación escalable de alta velocidad y baja latencia, bajo consumo de energía, alta seguridad, y capacidad de cumplir requisitos funcionales del estándar ISO 26262 para sistemas eléctricos/electrónicos relacionados con seguridad en vehículos de producción. También es escalable, así que por ejemplo, puede usarse para sensores individuales, clusters de sensores en una zona, o incluso embebido como parte de la unidad de control del motor (ECU) del automóvil.

Arquitectura de Plataforma IA Automotriz de Alto Rendimiento

La función del procesador de IA CEVA NeuPro-M es tomar decisiones de conducción de alto nivel. Estas decisiones se basan en entradas DNN que proporcionan información situacional, como: ¿Hay coches que vienen en dirección contraria?; ¿El automóvil se mantiene en el carril?; ¿Cuál es la ubicación absoluta (SLAM)?

El procesador de IA NeuPro-M es el tomador de decisiones sobre qué acciones tomar, dada la información que recibe. La IA requiere un número masivo de cálculos para tomar decisiones, y estos deben hacerse en cerca de tiempo real. Por tanto, se necesita un procesador potente. Para aplicaciones automotrices, también es necesario minimizar consumo de energía — a medida que el número de cálculos aumenta y el tiempo para realizarlos disminuye, la energía consumida aumenta. La medida del rendimiento del procesador puede resumirse en un número: tera operaciones por segundo por vatio (TOPS/vatio) — cuanto mayor el número, mejor el rendimiento. La eficiencia energética del NeuPro-M es 24 TOPS/vatio, significativamente superior a la mayoría de otros procesadores de IA automotrices.

La seguridad es de suma importancia — de hecho, puedes decir que seguridad y seguridad son los requisitos más importantes para aplicaciones automotrices. El procesador de IA en un vehículo autónomo es el conductor a cargo. Las redes neuronales que realizan el procesamiento de IA asignan pesos a cada una de sus entradas, y esos pesos son vulnerables a manipulación maliciosa. Los sistemas de seguridad son por tanto una pieza integral del procesador para proteger contra esos ataques.

Optimización de Rendimiento: Ancho de Banda y Topología Adaptativa

Para optimizar rendimiento, es importante darse cuenta que no importa qué tan rápido sea el procesador, el sistema puede toparse con un cuello de botella por limitaciones de ancho de banda en el movimiento de información al procesador, principalmente por limitaciones de interfaz de sistema en términos de memoria. Las unidades de computación trabajan mucho más rápido que el tiempo que toma almacenar y recuperar las enormes cantidades de datos para informar la memoria. Una forma de abordar esto es dirigiendo un flujo continuo de datos al procesador en lugar de esperar suficiente información para realizar un cálculo particular.

Otra forma de optimizar rendimiento es ser adaptativo — usar una topología modular adaptativa. Las topologías del procesador pueden optimizarse para procesar diferentes tipos de sensores y realizar diferentes tipos de operaciones. Una función, por ejemplo, podría ser optimizar eficiencia del tren motriz, que requiere muchas matemáticas, o por otro lado podría ser solo procesar un solo sensor.

Si necesitas calcular algo muy precisamente, podrías usar aritmética de punto flotante en lugar de punto fijo, dentro de un procesador vectorial. Otra forma de abordar reducción de ancho de banda, es comprimir los datos, así no tienes que moverlos todos en el sistema. Estas son correcciones de software, pero también tienes que buscar optimizar los DSPs y el procesador de IA, también, haciendo inmersión profunda para abordar todos los cuellos de botella en cada una de estas áreas.

Procesamiento Paralelo de Dos Niveles

El procesador NeuPro-M (NPM) tiene tres partes: El controlador maestro; el subsistema común NPM; y el motor NPM. El procesador puede incluir de uno a ocho motores, que pueden seleccionarse para satisfacer necesidades de una aplicación particular. La operación del procesador puede escalarse eligiendo el número de motores. "Así es como obtienes más y más potencia", dijo Abraham.

El subsistema común NPM está en comunicación constante con el motor NPM. Ese canal se monitoriza para asegurar que no se convierta en cuello de botella — para asegurar que los datos seguirán fluyendo al sistema. La IA de inferencia corre con dos conjuntos de datos: los datos mismos, quizás una imagen; y el peso, que se aplica a los datos para hacer la inferencia. El subsistema común mantiene el canal abierto aplicando compresión a tanto los datos como los pesos.

El procesamiento paralelo puede implementarse tanto usando múltiples motores como usando los coprocesadores dentro de los motores, cada uno de los cuales contiene cinco coprocesadores y memoria interna compartida.

Ejemplo: Control de Vehículo con NPM de Cuatro Motores

La Figura 3 ilustra una aplicación automotriz simple de procesamiento paralelo. El lado izquierdo muestra una imagen de la carretera, capturada por una cámara frontal. Un procesador dentro del vehículo bloquea el carril opuesto para simplificar computaciones necesarias para mantener el vehículo centrado en su lado de la carretera y almacena la imagen en memoria. La imagen almacenada se introduce desde la memoria del vehículo al subsistema común NPM, que en este ejemplo sirve a cuatro motores. El software decide cuál es el caso de uso — qué se necesita — y cómo dividir la imagen para alcanzar máximo rendimiento con mínima energía (alta utilización) para la función deseada. En este caso, el NPM divide la imagen en cuatro partes, con algo de solape, y cada parte se envía a un motor diferente. La inferencia de IA se ejecuta entonces en cada uno de los cuatro segmentos de la carretera. Los cuatro segmentos se cosen de vuelta en la memoria del subsistema, desde donde se envía a la capa de percepción en otra parte del SoC, para realizar las tareas deseadas.

Este ejemplo ilustra los dos niveles de procesamiento paralelo, uno usando los cuatro motores para trabajar en diferentes segmentos de la imagen y dentro de cada motor, procesamiento paralelo compartiendo computaciones entre los cinco coprocesadores internos.

Optimización via Software: Convolución Winograd

Las funciones de IA operan principalmente a través de convolución, que es una operación matemática en dos funciones que produce una tercera función expresando cómo la forma de una es modificada por la otra. El matemático Shmuel Winograd innovó un nuevo método de hacer convolución en la mitad de los pasos usuales. CEVA implementó esta idea teórica en sus procesadores para lograr la misma precisión que se habría logrado con convolución normal, pero con aceleración casi 2x — una ganancia en rendimiento con reducción de energía. Esto puede hacerse en cada uno de los cinco coprocesadores dentro del motor.

Otro truco es operar diferente en diferentes tipos de datos, dependiendo de cuál sería óptimo para una aplicación particular. Por ejemplo, localización y mapeo simultáneos (SLAM), requiere muy alta precisión así que tienes que usar aritmética de punto flotante. Para otras aplicaciones, un número fijo de bits sería perfecto. De esta forma el fabricante de automóviles puede elegir el método computacional que funcione mejor para cada función dentro del vehículo.

Usando tanto manipulación de software como optimización de hardware, puedes ganar aceleración significativa — hasta 16x con NeuPro-M según Abraham.

Resumen

Esta ha sido una visión general del funcionamiento interno de un procesador de IA particular mientras procesa datos de una variedad de sensores — radar, lidar, sonar, cámaras — y toma decisiones. El NPM es un procesador heterogéneo — puede operar en diferentes tipos de datos y optimizar su operación medida por TOPS/vatio usando dos niveles de procesamiento paralelo así como diseño dirigido de software.

Sensor

  1. Robótica Impulsada por IA: Máquinas Inteligentes de Vanguardia
  2. IA, Aprendizaje Automático y Aprendizaje Profundo: Diferencias Clave y Funcionamiento
  3. Asistentes de IA Transformando la Industria del Viaje: Abrazando las Soluciones Inteligentes del Mañana
  4. Cómo los Sensores Transforman la Eficiencia y el Insight en la Fabricación
  5. IA: La principal defensa contra las ciberamenazas
  6. Big Data vs IA: La sinergia detrás de la transformación digital
  7. Cómo la IA está revolucionando la manufactura y el mecanizado: Entrevista a Matt Danford
  8. Inteligencia artificial en retail: beneficios probados, no una moda pasajera
  9. Cómo la IA Amplifica el Poder del Internet de las Cosas
  10. Cómo la IA está transformando el panorama del Internet de las Cosas
  11. Descubre las mejores aplicaciones de IA: Maximiza eficiencia e innovación