¿A qué se refiere «field programmable array»?

El término completo es Field Programmable Gate Array, o FPGA: una matriz de puertas lógicas programables. Una FPGA implementa lógica digital configurable; una NPU acelera las operaciones de redes neuronales compatibles. La elección depende del recorrido real de la señal. El procesamiento con FPGA puede ser útil para interfaces paralelas o adquisición sensible al tiempo, mientras que una NPU puede simplificar una carga de inferencia compatible.

De una placa de desarrollo FPGA a un producto a medida

Una placa FPGA solo valida una parte del sistema. Un diseño a medida también requiere secuenciación de alimentación, distribución de reloj, interfaces de memoria, diseño térmico y un método de prueba repetible. Compare el esfuerzo de diseño y verificación de FPGA con una MPU o una arquitectura SoC FPGA. El coste incluye ingeniería, herramientas, complejidad de la placa y pruebas de producción, además del propio chip.

¿Qué es una MPU de IA?

Una plataforma MPU con capacidad de IA combina un microprocesador de aplicaciones con el software y los recursos de aceleración necesarios para una carga de trabajo de aprendizaje automático. Comience por identificar qué tareas pertenecen a la CPU y cuáles se benefician de un acelerador compatible.

Una MPU, o microprocesador de aplicaciones, suele ser el centro de software de un sistema Linux integrado. Una “AI MPU” no es tanto una categoría de procesador separada como una plataforma MPU que incluye, o trabaja estrechamente con, recursos de aceleración como una NPU, GPU, DSP o FPGA. La MPU alberga Linux, redes, almacenamiento, servicios de seguridad, lógica de aplicaciones y el tiempo de ejecución que coordina las cargas de trabajo de IA.

Para el aprendizaje automático de MPU, la cuestión práctica no es solo la velocidad de la CPU. El ancho de banda de la memoria, la compatibilidad con el acelerador, la cámara y las E/S de alta velocidad, la calidad BSP de Linux, la disponibilidad a largo plazo, el diseño térmico y la madurez de la cadena de herramientas del modelo a menudo importan más que un valor TOPS.

¿Qué hace que una MPU sea una buena plataforma de inteligencia artificial?

La mejor MPU para inteligencia artificial es específica de la carga de trabajo. Una puerta de enlace de visión puede priorizar MIPI CSI, canalizaciones de vídeo de hardware y una NPU. Una computadora de misión robusta puede necesitar PCIe, múltiples puertos Ethernet, núcleos complementarios deterministas y características de seguridad más sólidas. Una plataforma industrial puede valorar una larga vida útil del producto, TSN, CAN-FD y un ecosistema Linux estable.

Compare el modelo real y complete la cadena de preprocesamiento. Una plataforma con una cifra de acelerador anunciada más baja puede ganar si evita copias de memoria, admite a los operadores necesarios y mantiene eficiente la ruta del sensor al resultado.

NPU: inferencia neuronal eficiente en el borde

Una NPU de borde acelera los operadores de redes neuronales, como convoluciones, operaciones matriciales y funciones de activación comunes. Suele ser el lugar más eficiente para los modelos compatibles de detección, clasificación, segmentación y extracción de características cuando la potencia y el rendimiento de inferencia sostenida son importantes.

El rendimiento de la NPU depende de la compilación y la cobertura del operador. Las capas no compatibles pueden recurrir a la CPU u otro acelerador. Los requisitos de cuantificación, la disposición de los tensores, la resolución de entrada y el movimiento de la memoria también pueden cambiar drásticamente el rendimiento en el mundo real. Siempre compare el gráfico de producción en lugar de confiar únicamente en los TOPS teóricos.

FPGA: canalizaciones deterministas e inferencia de IA donde la flexibilidad importa

Una FPGA destaca por el movimiento determinista de datos, las interfaces personalizadas y las canalizaciones masivamente paralelas. En sistemas de borde, puede deserializar sensores, alinear marcas de tiempo, filtrar datos, generar regiones de interés, realizar preprocesamiento de imágenes y alimentar un acelerador con latencia predecible. La inferencia de IA de FPGA también es posible cuando un modelo se asigna bien al DSP disponible, la memoria y la pila de aceleración del proveedor.

La compensación es el esfuerzo de ingeniería. Se debe planificar el diseño de RTL o HLS, la simulación, el cierre de tiempos, la verificación y la estrategia de actualización. Se debe seleccionar una FPGA porque el comportamiento determinista o el paralelismo personalizado crean valor para el sistema, no simplemente porque puede ejecutar aritmética.

NPU vs FPGA para IA en el borde

La decisión entre NPU y FPGA suele ser un binario falso. Una NPU es generalmente la opción más fácil para redes neuronales compatibles y un alto rendimiento por vatio. Una FPGA es más potente cuando el sistema necesita interfaces de sensores personalizadas, preprocesamiento determinista, formatos de datos inusuales o una canalización estrictamente controlada antes y después de la inferencia.

Una arquitectura común utiliza ambos: FPGA para la ingesta y el preprocesamiento de sensores, NPU para la red neuronal y MPU para la orquestación de Linux. Esto reduce la cantidad de trabajo irregular que se impone a cualquier procesador.

RecursoCargas de trabajo más adecuadasPrincipales limitaciones
FPGACanalizaciones deterministas, E/S personalizadas, marcas de tiempo, preprocesamiento, aceleración especializadaEsfuerzo RTL/HLS, verificación, recursos del dispositivo
NPUInferencia neuronal compatible con buen rendimiento por vatioSoporte de operador, compilador/tiempo de ejecución, cuantificación y movimiento de memoria.
MPUAplicaciones Linux, redes, almacenamiento, ciberseguridad, orquestación.Ejecución menos determinista; gastos generales de uso general
Núcleo MCU/RTLazos de control, supervisión de seguridad, secuenciación de energía, E/S deterministasMemoria limitada y computación de alto nivel
FPGAI/O
NPUAI
MPULinux · I/O

Edge computing

  1. Comience con los plazos: Identifique qué señales tienen requisitos de temporización estricta y el retraso máximo entre el sensor y la acción.
  2. Tarifas de datos de mapas: calcule el rendimiento del sensor, los tamaños de tensor intermedios y el tráfico de memoria en el peor de los casos.
  3. Mantenga la ingesta determinista cerca de la interfaz: Los motores FPGA, DMA o los núcleos en tiempo real suelen ser apropiados.
  4. Coloque modelos neuronales compatibles en la NPU: validar la cobertura del operador y el rendimiento compilado real.
  5. Utilice la MPU para el sistema: Las redes, el almacenamiento, las actualizaciones, el registro, las API y las políticas de aplicaciones pertenecen naturalmente a Linux.
  6. Reserva de control en tiempo real: una MCU o un núcleo determinista debe supervisar la actuación en momentos críticos y el estado de la plataforma cuando sea necesario.

El ancho de banda de la memoria suele ser el cuello de botella oculto

Muchos diseños de IA perimetral se centran en los picos de cómputo y luego descubren que las copias, la conversión de color, el reformateo de tensores o la DDR compartida dominan la latencia. Las rutas de copia cero o de copia baja, la topología DMA, el comportamiento de la caché y el acceso a la memoria del acelerador deben evaluarse tempranamente. La limitación térmica también puede convertir un punto de referencia sólido en un rendimiento débil y sostenido.

Esto es especialmente importante cuando varias cámaras, radares, sensores de eventos o transmisiones Ethernet de alta velocidad comparten el mismo subsistema de memoria.

Ejemplos de arquitectura de referencia

Tubería de visión/sensor de eventos

Sensor → Ingesta y marca de tiempo de FPGA → Inferencia de NPU → Servicios de decisión de MPU → Salida CAN-FD o Ethernet. Este es un patrón fuerte para la percepción de baja latencia y se conecta directamente con nuestra .

Computadora con IA integrada

E/S de alta velocidad → DMA/ruta del acelerador → inferencia de NPU o GPU → servicios de aplicaciones de Linux → API de red y almacenamiento. Nuestro módulo de computación integrado y computadora de borde resistente Las clases de productos se construyen en torno a este tipo de partición.

Puerta de enlace determinista industrial

Interfaces CAN-FD/serie/Ethernet → Estampado de tiempo y manejo de protocolos FPGA o MCU → Servicios MPU → Análisis NPU opcionales. Aquí, la E/S determinista y la mantenibilidad del software a largo plazo pueden ser más importantes que el rendimiento máximo de la IA.

Cómo elegir entre FPGA, NPU y MPU

Elija entre la carga de trabajo completa, no la etiqueta del procesador. Si el problema dominante es la inferencia neuronal, comience por la compatibilidad con NPU. Si dominan las E/S personalizadas y el preprocesamiento determinista, evalúe los recursos de FPGA. Si dominan los servicios, las redes y el software de aplicaciones de Linux, comience con la capacidad MPU. La mayoría de las plataformas perimetrales de alto rendimiento combinarán al menos dos de estos recursos.

Antes de comprometer el hardware, ejecute flujos representativos a través de la pila de software prevista y mida la latencia, la potencia, el ancho de banda de la memoria y las temperaturas de extremo a extremo. Esa evidencia es más valiosa que las clasificaciones genéricas de aceleradores.

Ejemplo resuelto: cuatro cámaras y un presupuesto de memoria compartida

Considere un ejemplo de planificación con cuatro transmisiones de 1280 × 720 a 30 fotogramas por segundo, representadas como RGB con un byte por canal después de la conversión de la imagen. Su carga útil de imagen lógica combinada es 4 × 1280 × 720 × 30 × 3 = 331.776.000 bytes por segundo, aproximadamente 332 MB/s en unidades decimales. Esta no es la tasa de bits del enlace de la cámara ni el rendimiento medido de un producto Alvexis.

Una copia adicional de fotograma completo lee y escribe esa carga útil, agregando aproximadamente 664 MB/s de tráfico de memoria antes de considerar el comportamiento de la caché u otras operaciones. Los tensores de modelos, la conversión de color, el registro y los servicios concurrentes añaden su propio tráfico. Esto explica por qué un diseño puede verse limitado por el movimiento de datos incluso cuando su calificación del acelerador principal parece suficiente.

Trabajar para colocarPunto de partidaPruebas antes de cometer
Ingesta y sincronización de cámaraInterfaces SoC compatibles, con FPGA o un dispositivo complementario cuando sea necesarioCaptura de flujo simultánea, comportamiento de marca de tiempo y pérdida bajo carga
inferencia neuronalNPU cuando se admiten el gráfico y la precisión elegidosPrecisión de conversión y mediciones sostenidas de aplicaciones en el dispositivo
Servicios y grabación de Linux.Recursos MPU y una ruta de almacenamiento presupuestada explícitamenteComportamiento de CPU, memoria y E/S mientras la inferencia está activa
Control externo en el que el tiempo es críticoUn controlador en tiempo real adecuado o una implementación determinista validadaEvidencia del tiempo de respuesta bajo la carga de trabajo correspondiente en el peor de los casos

El propósito de la partición es hacer explícitos cada requisito de tiempo y recurso. Esto no implica que cada diseño necesite cuatro procesadores diferentes. Comience con la arquitectura más simple que cumpla con los requisitos y luego agregue recursos donde las medidas o las restricciones de la interfaz los justifiquen.

Un plan de validación para elegir la combinación de procesadores.

  1. Congelar el contrato de entrada: sensores, formatos de datos, modelo, resolución y condiciones de funcionamiento.
  2. Verifique la compatibilidad del modelo y la calidad de los resultados antes de comparar el rendimiento del acelerador.
  3. Mida la adquisición, el preprocesamiento, la inferencia y la entrega por separado, luego mida la ruta completa.
  4. Repita bajo carga térmica sostenida con la grabación, la conexión en red y todos los sensores previstos activos.
  5. Registre la antigüedad de la cola, las entradas perdidas y la latencia de cola, por lo que una tasa promedio alta no oculta retrasos intermitentes.

Guarde la revisión de la placa, la imagen del software, las versiones de la cadena de herramientas y las entradas de prueba con los resultados. Para una implementación de Rockchip, el Guía de implementación del modelo RK3588 desarrolla este flujo de trabajo. Para datos de cámara de eventos, utilice el guía de integración de software para definir marcas de tiempo y representaciones antes de elegir la ruta de inferencia.

Una vez caracterizada la carga de trabajo, compare la Opciones de integración de SoM y SBC. Esa decisión conecta la arquitectura informática con los conectores, la alimentación, el gabinete y el trabajo de producción.

De la selección del procesador a un producto construible

Una lista corta de procesadores sólo es útil cuando se ajusta al producto completo. Antes de pedir una placa personalizada, convierta la carga de trabajo en un breve resumen de ingeniería:

  • Entradas: recuento de sensores, interfaces, frecuencias de muestreo y requisitos de sincronización.
  • Carga de trabajo de IA: el modelo real, la precisión admitida y la calidad de salida aceptable.
  • Limitaciones físicas: dimensiones, fuente de alimentación, refrigeración y entorno operativo.
  • Entrega: cantidad de prototipos, volumen de producción, propiedad del software y pruebas de aceptación.

Para una estación de inspección, conecte la tubería de la cámara al disparador de línea, al identificador de piezas y a la interfaz de resultados. Nuestro Solución de control de calidad y visión artificial industrial. explica cómo esos requisitos se convierten en un piloto.

Preguntas frecuentes sobre IA periférica sobre MPU, NPU y FPGA

¿Qué es la IA MPU?

MPU AI describe cargas de trabajo de inteligencia artificial implementadas en una plataforma de microprocesador integrado, generalmente con Linux y a menudo con aceleración integrada o complementaria, como una NPU, GPU o FPGA. La MPU comúnmente gestiona aplicaciones, redes, almacenamiento, seguridad y orquestación en torno al canal de inferencia.

¿Puede una MPU ejecutar aprendizaje automático?

Sí. Las cargas de trabajo de aprendizaje automático de MPU pueden ejecutarse en núcleos de CPU o utilizar aceleradores integrados. Para los sistemas de producción, el soporte de modelos, el ancho de banda de la memoria, las térmicas sostenidas y la latencia de extremo a extremo son más importantes que los titulares TOPS por sí solos.

NPU vs FPGA: ¿cuál es mejor para la IA en el borde?

Una NPU suele ser la opción más sencilla para la inferencia de redes neuronales admitida con un gran rendimiento por vatio. Es preferible una FPGA cuando las interfaces de sensores personalizadas, el preprocesamiento determinista, los formatos de datos inusuales o las tuberías especializadas son fundamentales para el diseño. Muchos sistemas utilizan ambos.

¿Puedes ejecutar una carga de trabajo NPU en una FPGA?

Una FPGA puede implementar aceleradores de redes neuronales o canales de inferencia, pero no es automáticamente equivalente a una NPU dedicada. El comercio implica recursos lógicos programables, memoria, madurez de la cadena de herramientas, soporte de modelos, esfuerzo de verificación y potencia.

¿Cuándo tiene sentido la inferencia de FPGA AI?

La inferencia de IA de FPGA es atractiva cuando la inferencia debe estar estrechamente acoplada a un preprocesamiento determinista, interfaces personalizadas o movimiento de datos especializados. Es especialmente útil cuando un tiempo de ejecución de NPU estándar no se ajusta a la ruta del sensor o a las restricciones de latencia.

Referencias técnicas

El ejemplo del ancho de banda es un cálculo explícito, no una referencia de producto. Valide la arquitectura seleccionada en la carga de trabajo prevista.

Particione su carga de trabajo de IA en el borde real.

Envíe las interfaces del sensor, el tipo de modelo, las velocidades de datos, la envolvente de energía y las restricciones de implementación. Podemos asignarlos a una arquitectura MPU/NPU/FPGA y una clase de módulo de computación adecuada.