Unidad de procesamiento de visión - Vision processing unit
Una unidad de procesamiento de visión ( VPU ) es (a partir de 2018) una clase emergente de microprocesador ; es un tipo específico de acelerador de IA , diseñado para acelerar las tareas de visión artificial .
Visión general
Las unidades de procesamiento de visión son distintas de las unidades de procesamiento de video (que están especializadas en codificación y decodificación de video ) en su idoneidad para ejecutar algoritmos de visión artificial como CNN ( redes neuronales convolucionales ), SIFT ( transformación de características invariantes de escala ) y similares.
Pueden incluir interfaces directas para tomar datos de las cámaras (sin pasar por los búferes fuera del chip) y tener un mayor énfasis en el flujo de datos en el chip entre muchas unidades de ejecución paralelas con memoria scratchpad , como un DSP de muchos núcleos . Pero, al igual que las unidades de procesamiento de video, pueden centrarse en la aritmética de punto fijo de baja precisión para el procesamiento de imágenes .
Contraste con las GPU
Son distintas de las GPU , que contienen hardware especializado para rasterización y mapeo de texturas (para gráficos 3D ), y cuya arquitectura de memoria está optimizada para manipular imágenes de mapa de bits en la memoria fuera del chip (leer texturas y modificar búferes de fotogramas , con patrones de acceso aleatorio ). .
Los mercados objetivo son la robótica , Internet de las cosas , nuevas clases de cámaras digitales para realidad virtual y realidad aumentada , cámaras inteligentes y la integración de la aceleración de la visión artificial en teléfonos inteligentes y otros dispositivos móviles .
Ejemplos de
- Movidius Myriad X , que es la unidad de procesamiento de visión de tercera generación en la línea Myriad VPU de Intel Corporation .
- Movidius Myriad 2 , que se utiliza en Google Project Tango , Google Clips y DJI Drones
- Pixel Visual Core (PVC), que es un procesador de imagen , visión e inteligencia artificial totalmente programable para dispositivos móviles
- Microsoft HoloLens , que incluye un acelerador denominado Unidad de procesamiento holográfico (complementario a su CPU y GPU), destinado a interpretar las entradas de la cámara, para acelerar el seguimiento y la visión del entorno para aplicaciones de realidad aumentada.
- Eyeriss , un diseño del MIT destinado a ejecutar redes neuronales convolucionales .
- NeuFlow , un diseño de Yann LeCun (implementado en FPGA ) para acelerar convoluciones , utilizando una arquitectura de flujo de datos.
- Mobileye EyeQ , de Mobileye
- Acelerador de visión programable (PVA), un procesador de visión VLIW de 7 vías diseñado por Nvidia .
Procesadores similares
Algunos procesadores no se describen como VPU, pero son igualmente aplicables a las tareas de visión artificial. Estos pueden formar una categoría más amplia de aceleradores de IA (a los que también pueden pertenecer las VPU), sin embargo, a partir de 2016 no hay consenso sobre el nombre:
- IBM TrueNorth , un procesador neuromórfico destinado a tareas de inteligencia y reconocimiento de patrones de datos de sensores similares , incluido video / audio.
- Unidad de procesamiento neuronal Qualcomm Zeroth , otra entrada en la clase emergente de chips orientados a sensores / IA.
Ver también
- Adapteva Epiphany , un procesador Manycore con un énfasis similar en el flujo de datos en el chip, se centró en el rendimiento de punto flotante de 32 bits .
- CELL , un procesador multinúcleo con características bastante consistentes con las unidades de procesamiento de visión ( instrucciones SIMD y tipos de datos adecuados para video y DMA en chip entre las memorias del scratchpad).
- Coprocesador
- Unidad de procesamiento de gráficos , también comúnmente utilizada para ejecutar algoritmos de visión. La arquitectura Pascal de NVidia incluye soporte FP16 , para proporcionar una mejor compensación de precisión / costo para las cargas de trabajo de IA.
- MPSoC
- OpenCL
- OpenVX
- Unidad de procesamiento de física: un intento anterior de complementar la CPU y la GPU con un acelerador de alto rendimiento.
- Unidad de procesamiento de tensor , un chip utilizado internamente por Google para acelerar los cálculos de IA.