Unidade de processamento de visão - Vision processing unit
Uma unidade de processamento de visão ( VPU ) é (em 2018) uma classe emergente de microprocessador ; é um tipo específico de acelerador de IA , projetado para acelerar tarefas de visão de máquina .
Visão geral
As unidades de processamento de visão são diferentes das unidades de processamento de vídeo (que são especializadas para codificação e decodificação de vídeo ) em sua adequação para executar algoritmos de visão de máquina , como CNN ( redes neurais convolucionais ), SIFT ( Transformação de recurso invariável de escala ) e semelhantes.
Eles podem incluir interfaces diretas para obter dados de câmeras (ignorando qualquer buffer fora do chip) e têm uma ênfase maior no fluxo de dados no chip entre muitas unidades de execução paralela com memória de rascunho , como um DSP de muitos núcleos . Mas, como as unidades de processamento de vídeo, eles podem se concentrar em aritmética de ponto fixo de baixa precisão para processamento de imagem .
Contraste com GPUs
Eles são diferentes das GPUs , que contêm hardware especializado para rasterização e mapeamento de textura (para gráficos 3D ) e cuja arquitetura de memória é otimizada para manipular imagens de bitmap na memória off-chip (leitura de texturas e modificação de buffers de quadro , com padrões de acesso aleatório ) .
Os mercados-alvo são robótica , a Internet das coisas , novas classes de câmeras digitais para realidade virtual e realidade aumentada , câmeras inteligentes e integração de aceleração de visão de máquina em smartphones e outros dispositivos móveis .
Exemplos
- Movidius Myriad X , que é a unidade de processamento de visão de terceira geração na linha Myriad VPU da Intel Corporation .
- Movidius Myriad 2 , que encontra uso no Google Project Tango , Google Clips e DJI Drones
- Pixel Visual Core (PVC), que é um processador de imagem , visão e AI totalmente programável para dispositivos móveis
- Microsoft HoloLens , que inclui um acelerador denominado Unidade de Processamento Holográfico (complementar à sua CPU e GPU), destinado a interpretar as entradas da câmera, para acelerar o rastreamento e visão do ambiente para aplicações de realidade aumentada.
- Eyeriss , um projeto do MIT destinado à execução de redes neurais convolucionais .
- NeuFlow , um projeto de Yann LeCun (implementado em FPGA ) para acelerar convoluções , usando uma arquitetura de fluxo de dados.
- Mobileye EyeQ , por Mobileye
- Programmable Vision Accelerator (PVA), um processador de visão VLIW de 7 vias projetado pela Nvidia .
Processadores semelhantes
Alguns processadores não são descritos como VPUs, mas são igualmente aplicáveis a tarefas de visão de máquina. Eles podem formar uma categoria mais ampla de aceleradores de IA (aos quais VPUs também podem pertencer), no entanto, a partir de 2016, não há consenso sobre o nome:
- IBM TrueNorth , um processador neuromórfico voltado para o reconhecimento de padrões de dados do sensor e tarefas de inteligência semelhantes , incluindo vídeo / áudio.
- Unidade de processamento Neural Qualcomm Zeroth , outra entrada na classe emergente de chips orientados por sensor / IA.
Veja também
- Adapteva Epiphany , um processador Manycore com ênfase semelhante no fluxo de dados no chip, focado no desempenho de ponto flutuante de 32 bits .
- CELL , um processador multicore com recursos bastante consistentes com unidades de processamento de visão ( instruções SIMD e tipos de dados adequados para vídeo e DMA on-chip entre memórias de rascunho).
- Coprocessador
- Unidade de processamento gráfico , também comumente usada para executar algoritmos de visão. A arquitetura Pascal da NVidia inclui suporte FP16 , para fornecer uma melhor relação precisão / custo para cargas de trabalho de IA.
- MPSoC
- OpenCL
- OpenVX
- Unidade de processamento de física, uma tentativa anterior de complementar a CPU e a GPU com um acelerador de alto rendimento.
- Unidade de processamento de tensor , um chip usado internamente pelo Google para acelerar cálculos de IA.