Mecanismo de IA: atendendo às demandas de computação das aplicações de última geração

Em muitos mercados dinâmicos e em evolução, como celulares 5G, data centers, setores automotivo e industrial, as aplicações estão buscando uma aceleração de computação cada vez maior, mantendo a eficiência de energia. Como a Lei de Moore e o Escalonamento de Dennard não seguem mais as suas trajetórias tradicionais, a migração para a próxima geração de nós de silício, por si só, não pode mais garantir os benefícios de menor consumo de energia e custo com melhor desempenho, como acontecia nas gerações anteriores.

Em resposta a esse aumento não linear da demanda por aplicações de última geração, como beamforming sem fio e inferência de aprendizado de máquina, a AMD desenvolveu uma inovadora tecnologia de processamento, o mecanismo de IA, como parte da arquitetura AMD Versal™.

Arquitetura do mecanismo de IA

Os mecanismos de IA são arquitetados como matrizes 2D que consistem em vários blocos de mecanismos de IA e permitem uma solução muito dimensionável em todo o portfólio Versal, variando de dezenas a centenas de mecanismos de IA em um único dispositivo, atendendo às necessidades de computação de uma ampla gama de aplicações. Os benefícios incluem:

Várias opções de programação

Para aplicações de DSP de alto desempenho, os seguintes métodos estão disponíveis para codificação de mecanismos de IA (para obter mais informações, consulte: Projeto de DSP do mecanismo de IA AMD Vitis™)

  • Fluxo baseado em C usando funções de biblioteca DSP e codificação de API
  • Projeto baseado em modelo (usando o Vitis Model Composer no MathWorks Simulink)
  • Intrínsecos 
Para aplicações de IA/ML:
  • Bibliotecas robustas para desenvolvedores de estrutura de IA/ML
Determinístico
  • Memórias dedicadas de instruções e dados
  • Conectividade dedicada emparelhada com mecanismos de DMA para movimentação programada de dados usando conectividade entre blocos do mecanismo de IA
Eficiência
  • Para aplicações de DSP de alto desempenho, os mecanismos de IA podem proporcionar uma redução dinâmica no consumo de energia e uma economia significativa de recursos em comparação com implementações baseadas apenas em lógica programável tradicional
Bloco do mecanismo de IA

Cada bloco do mecanismo de IA consiste em um processador vetorial de VLIW (Very Long Instruction Word, Palavra de instrução muito longa), em um processador vetorial de SIMD (Single Instruction Multiple Data, Instrução única, vários dados ) otimizado para aplicações de aprendizado de máquina e processamento avançado de sinais. O processador do mecanismo de IA pode executar até 1,3 GHz, permitindo funções muito eficientes, de alta produtividade e baixa latência.

Além do processador vetorial de VLIW, cada bloco contém memória de programa para armazenar as instruções necessárias; memória local para armazenar dados, pesos, ativações e coeficientes; um processador escalar RISC e diferentes modos de interconexão para lidar com tipos diferentes de comunicação de dados.

Cargas de trabalho heterogêneas: aceleração do processamento de sinais e da inferência de aprendizado de máquina

A AMD oferece dois tipos de mecanismos de IA: AIE e AIE-ML (AI Engine for machine learning, Mecanismo de IA para aprendizado de máquina), ambos oferecendo melhorias significativas de desempenho em relação à geração anterior de FPGAs. O AIE acelera um conjunto mais equilibrado de cargas de trabalho, incluindo aplicações de inferência de ML e cargas de trabalho de processamento de sinal DSP de alto desempenho, como beamforming, radar e outras cargas de trabalho que exigem uma grande quantidade de filtragem e transformações. Com extensões vetoriais de IA aprimoradas e a introdução de blocos de memória compartilhados dentro da Matriz do mecanismo de IA, o AIE-ML oferece desempenho superior em relação ao AIE para aplicações focadas em inferência de ML, enquanto o AIE pode oferecer melhor desempenho em relação ao AIE-ML para certos tipos de processamento avançado de sinais.

AI Engine Diagram Workloads
Bloco do mecanismo de IA

O AIE acelera um conjunto equilibrado de cargas de trabalho, incluindo aplicações de inferência de ML e cargas de trabalho de processamento avançado de sinais, como beamforming, radar, FFTs e filtros.

Suporte para muitas cargas de trabalho/aplicações
  • DSP de alto desempenho para comunicações, radar, teste e medição, aplicações industriais/automotivas
  • Processamento de vídeo e imagem
  • Inferência de aprendizado de máquina
Suporte nativo para tipos de dados reais, complexos e de ponto de flutuação
  • Ponto fixo de INT8/16/32
  • Ponto fixo complexo de CINT16 e CINT32
  • Ponto de dados de flutuação FP32
Recursos de hardware dedicados para implementações de FFT e FIR
  • 128 INT8 MACs por bloco

Consulte o Manual de arquitetura do mecanismo de IA Versal da AMD para saber mais.​

OPs por bloco do AIE
INT4
256
INT8
256
INT16
64
CINT16
16 16
BFLOAT16*
16
FP32
16 16

*BFLOAT16 implementado usando o processador vetorial FP32.

Bloco de ML no mecanismo de IA

A arquitetura do ML no mecanismo de IA é otimizada para aprendizado de máquina, aprimorando o núcleo de computação e a arquitetura de memória. Com capacidade de processamento avançado de sinais e de ML, esses blocos otimizados reduzem a ênfase no suporte a INT32 e CINT32 (comum no processamento de radar) para aprimorar as aplicações com foco em ML.

O AIE-ML estará disponível em duas versões: AIE-ML, que dobra a computação em comparação com o AIE, e AIE-MLv2, que dobra a computação em comparação com o AIE-ML e adiciona largura de banda extra entre as interconexões de fluxo.

Suporte nativo estendido para tipos de dados de ML
  • BFLOAT16
  • FP8 (somente AIE-MLv2)
  • FP16 (somente AIE-MLv2)
  • MX4 (somente AIE-MLv2)
  • MX6 (somente AIE-MLv2)
  • MX9 (somente AIE-MLv2)
Aumento da computação de ML com latência reduzida
  • 256 INT8 MACs/ciclo por bloco no AIE-ML
  • 512 INT8 MACs/ciclo por bloco no AIE-MLv2
Maior memória de matriz para localizar dados
  • Memória de dados local duplicada por bloco (64 KB)
  • Blocos de memória (512 KB) para acesso à memória compartilhada com largura de banda alta
OPs por bloco do AIE-ML
INT4
1.024
INT8
512
INT16
128
CINT16
16
BFLOAT16
256
FP32**
42

**Emulação de software para suporte ao AIE-ML FP32.

Parte de uma plataforma heterogênea

O mecanismo de IA, juntamente com a lógica programável e um sistema de processamento, formam uma arquitetura heterogênea altamente integrada nos SoCs adaptativos Versal, que pode ser alterada nos níveis de hardware e software para se adaptar dinamicamente às necessidades de uma ampla variedade de aplicações e cargas de trabalho.

Criada desde o início para ser nativamente programável por software, a arquitetura Versal apresenta uma NoC (Network on Chip, Rede em chip) flexível e programável de vários terabits por segundo para integrar perfeitamente todos os componentes e as principais interfaces, tornando a plataforma disponível na inicialização e facilmente programada por desenvolvedores de software, cientistas de dados e desenvolvedores de hardware.

Aplicações

Mecanismos de IA para cargas de trabalho heterogêneas, desde o processamento sem fio até o aprendizado de máquina na nuvem, na rede e na borda

Computação do data center

A análise de imagens e vídeos é fundamental para a explosão de dados no data center. A natureza da CNN (Convolutional Neural Network, Rede neural convolucional) dessas cargas de trabalho exige uma quantidade intensa de computação, muitas vezes atingindo vários teraOPS. Os mecanismos de IA foram otimizados para oferecer essa densidade computacional de forma econômica e com eficiência de energia.

Processamento sem fio 5G

O 5G pode fornecer uma produtividade sem precedentes com latência extremamente baixa, necessitando de um aumento significativo no processamento de sinais. Os mecanismos de IA podem executar esse processamento de sinal em tempo real na RU (Radio Unit, Unidade de rádio) e na DU (Distributed Unit, Unidade distribuída) com menor consumo de energia, como as sofisticadas técnicas de beamforming usadas em painéis MIMO massivo para aumentar a capacidade da rede.

ADAS e condução autônoma

As CNNs são uma classe de redes neurais artificiais profundas e feed-forward, mais comumente aplicadas à análise de imagens visuais. As CNNs tornaram-se essenciais à medida que os computadores são usados para tudo, de veículos autônomos à vigilância por vídeo. Os mecanismos de IA oferecem a densidade computacional e a eficiência necessárias para fatores de forma compactos com restrições térmicas rigorosas.  ​

Aeroespacial e Defesa

A combinação de poderosos mecanismos de DSP baseados em vetores com mecanismos de IA em um formato compacto possibilita uma ampla gama de sistemas no segmento A&D, incluindo radares de matriz em fase, EW (Early Warning, Alerta precoce), MILCOM e veículos não tripulados. Com suporte a cargas de trabalho heterogêneas que vão desde processamento e condicionamento de sinais e inferência de IA para cargas úteis de múltiplas missões, os mecanismos de IA oferecem a eficiência computacional para atender aos requisitos rigorosos de SWaP (Size, Weight and Power, Tamanho, peso e energia) desses sistemas de missão crítica.

Industrial

Aplicações industriais, incluindo robótica e visão computacional, combinam fusão de sensores com IA/ML para realizar o processamento de dados na borda e próximo à fonte de informações. Os mecanismos de IA melhoram o desempenho e a confiabilidade nesses sistemas em tempo real, apesar da instabilidade do ambiente.

Equipamento de teste sem fio

O DSP em tempo real é amplamente utilizado em equipamentos de teste de comunicações sem fio. A arquitetura do mecanismo de IA é perfeitamente adequada para lidar com todos os tipos de implementações de protocolos, incluindo 5G, desde o front-end digital até o beamforming e o processamento de banda base.

Assistência médica

Os aplicativos da área de assistência médica que utilizam mecanismos de IA incluem beamformers paralelos de alto desempenho para ultrassom médico, retroprojeção para scanners de tomografia computadorizada, descarregamento de reconstrução de imagens em máquinas de ressonância magnética e diagnóstico assistido em uma variedade de aplicações clínicas e de diagnóstico.

Fluxos de desenvolvimento do mecanismo de IA

Os mecanismos de IA são construídos desde o início para serem programáveis por software e adaptáveis por hardware. Há dois fluxos de projeto distintos para que os desenvolvedores liberem o desempenho desses mecanismos de computação com a capacidade de compilar em minutos e explorar rapidamente diferentes microarquiteturas. Os dois fluxos de projeto consistem no:

  • Vitis™ Unified IDE para programação no estilo C/C++, adequado para desenvolvedores de software e hardware
  • Vitis Model Composer para um fluxo de projeto baseado em modelo que opera como um plug-in no MathWorks Simulink®
  • Vitis AI para um fluxo baseado em estrutura de IA/ML, direcionado a cientistas de IA e de dados

As matrizes do mecanismo de IA também podem possibilitar a implementação de funções de DSP de alto desempenho de forma otimizada em termos de recursos e energia. O uso de mecanismos de IA em conjunto com os recursos da malha FPGA pode possibilitar a implementação muito eficiente de aplicativos DSP de alto desempenho. Saiba como usar o fluxo da ferramenta AMD Vitis para desbloquear os recursos de aceleração de hardware dos mecanismos de IA para aplicações DSP: Projeto de DSP do mecanismo de IA AMD Vitis

Bibliotecas de mecanismos de IA para desenvolvedores de software/hardware e cientistas de dados

Com a Biblioteca de aceleração Vitis, a AMD fornece kernels pré-criados que permitem:

  • Ciclos de desenvolvimento mais curtos
  • Portabilidade entre arquiteturas de mecanismo de IA, por exemplo, de AIE para AIE-ML
  • Aprendizado e adoção mais rápidos da tecnologia de mecanismo de IA
  • Os projetistas devem se concentrar em seus próprios algoritmos proprietários

Os desenvolvedores de software e hardware programam diretamente os mecanismos de IA baseados em processadores vetoriais e podem recorrer a bibliotecas pré-construídas com código C/C++, quando apropriado.

Os cientistas de dados de IA permanecem em seus ambientes de estrutura familiares, como PyTorch ou TensorFlow, e podem recorrer a sobreposições de ML pré-criadas por meio do Vitis AI sem precisar programar diretamente os mecanismos de IA.

As bibliotecas são de código aberto e estão disponíveis no GitHub: https://github.com/Xilinx/Vitis_Libraries.

Programação do fluxo de dados para o desenvolvedor de software/hardware

A arquitetura do mecanismo de IA é baseada em uma tecnologia de fluxo de dados. Os elementos de processamento são fornecidos em matrizes de 10 a 100 blocos, criando um único programa em todas as unidades de computação. Para um projetista, incorporar diretivas para especificar o paralelismo entre esses blocos seria um processo tedioso e quase impossível. Para superar essa dificuldade, o projeto do mecanismo de IA é realizado em duas etapas: o desenvolvimento de um único kernel, seguido pela criação do gráfico de ADF (Adaptive Data Flow, Fluxo de dados adaptativo), que conecta múltiplos kernels em uma aplicação geral.

O Vitis Unified IDE oferece um único cockpit de IDE que permite o desenvolvimento de kernels do mecanismo de IA usando código de programação C/C++ e projeto de gráficos de ADF. Especificamente, os projetistas podem:

  • Desenvolver kernels em C/C++ e descrever funções de computação específicas usando as bibliotecas Vitis
  • Conectar kernels por meio de gráficos de ADF usando as ferramentas de mecanismo de IA Vitis

Por padrão, um único kernel é executado em um único bloco do mecanismo de IA. No entanto, vários kernels podem ser executados no mesmo bloco do mecanismo de IA, compartilhando o tempo de processamento que a aplicação permite.

Abaixo, um exemplo conceitual:

  • Os kernels do mecanismo de IA são desenvolvidos em C/C++
  • Os kernels em PL (Programmable Logic, Lógica programável) são escritos em RTL ou Vitis HLS (High Level Synthesis, Síntese de alto nível) 
  • O fluxo de dados entre kernels nos mecanismos de PL e IA é realizado por meio de um gráfico de ADF
Integração do projeto do mecanismo de IA em um sistema completo

No Vitis Unified IDE, o projeto do mecanismo de IA pode ser incluído em um sistema completo maior que combina todos os aspectos do projeto em um fluxo integrado em que é possível fazer simulação, emulação de hardware, depuração e implantação.

  • Compiladores dedicados visam diferentes mecanismos heterogêneos da plataforma Versal, incluindo o sistema de processamento (subsistema Arm®), a lógica programável e os mecanismos de DSP e IA.
  • Em seguida, um compilador de sistema vincula esses blocos individuais de código e cria todas as interconexões para otimizar o movimento de dados entre eles e qualquer hierarquia de memória personalizada. O conjunto de ferramentas também integra o toolchain x86 para sistemas baseados em PCIe®.
  • Para implantar sua aplicação, o software XRT (Xilinx Runtime) fornece APIs independentes de plataforma e de sistema operacional para gerenciar a configuração do dispositivo, as transferências de dados da memória e do host para o dispositivo e a execução do acelerador. 
  • Depois de montar o primeiro protótipo, você pode simular a aplicação usando um simulador de nível de transação rápido ou um simulador preciso por ciclo e usar um analisador de desempenho para otimizar a aplicação para o melhor particionamento e desempenho.
  • Quando os resultados forem satisfatórios, faça a implantação na plataforma Versal.

Portfólio

Versal™ Série AI Core

O AMD Versal Série AI Core oferece inferência de IA inovadora e aceleração sem fio com mecanismos de IA que proporcionam excelente desempenho de computação. Com o maior poder de computação do portfólio Versal, as aplicações para os SoCs adaptativos Versal AI Core incluem computação em data centers, beamforming sem fio, processamento de vídeos e imagens e equipamentos de teste sem fio.

Versal™ Série AI Edge

O AMD Versal Série AI Edge oferece inferência de IA de alto desempenho e baixa latência para inteligência em condução automatizada, sistemas preditivos de fábrica e de assistência médica, cargas úteis para várias missões no setor aeroespacial e de defesa e uma variedade de outras aplicações. Mais do que apenas IA, o Versal Série AI Edge acelera toda a aplicação, desde o sensor até a IA e o controle em tempo real, tudo isso enquanto atende aos requisitos críticos de segurança e proteção.

Versal Série Premium

Projetado para as aplicações mais exigentes de computação e movimentação de dados em comunicações com fio, computação, teste e medição de data center e nos setores aeroespacial e de defesa, o AMD Versal Série Premium oferece excelente capacidade de processamento de sinal adaptável por meio da integração de mecanismos de IA, que combina lógica programável, mecanismos de DSP e blocos de IP rígido para Ethernet e criptografia de alta velocidade.

AMD Versal AI Edge VEK280
Kit de avaliação VEK280 para o Versal Série AI Edge

O Kit de avaliação VEK280, equipado com o SoC adaptativo Versal AI Edge VE2802, oferece mecanismos de aceleração de hardware AIE-ML e DSP, juntamente com várias opções de conectividade de alta velocidade. Esse kit é otimizado para aplicações de inferência de ML em mercados como o automotivo, de visão, aeroespacial e de defesa, industrial, científico e médico.

AI Engine Diagram Versal AI Kit
Kit de avaliação VCK190 para o Versal Série AI Core

O Kit de avaliação VCK190 permite que os projetistas desenvolvam soluções usando mecanismos de IA e de DSP capazes de oferecer um desempenho de computação 100 vezes maior em comparação com as CPUs de classe de servidor atuais. Com uma ampla variedade de opções de conectividade e fluxos de desenvolvimento padronizados, o dispositivo Versal Série AI Core VC1902 oferece a mais alta produtividade de processamento de sinal e inferência de IA do portfólio Versal para aplicações de nuvem, rede e borda.

Começar

A plataforma de software unificada AMD Vitis fornece kits de desenvolvimento e bibliotecas de núcleo abrangentes que usam tecnologia de aceleração de hardware.

Visite os repositórios Vitis GitHub e Desenvolvimento do mecanismo de IA para acessar uma variedade de tutoriais do mecanismo de IA e saber mais sobre os recursos de tecnologia e a metodologia de projeto.

As ferramentas do mecanismo de IA, tanto o compilador quanto o simulador, são integradas ao Vitis IDE e exigem uma licença dedicada adicional. Entre em contato com o representante de vendas local da AMD para obter mais informações sobre como acessar as ferramentas e a licença do mecanismo de IA ou acesse o formulário de contato com o setor de vendas

O AMD Vitis Model Composer é uma ferramenta de projeto baseada em modelos que possibilita a exploração rápida do projeto nos ambientes Simulink® e MATLAB®. Ele facilita o desenvolvimento e os testes de gráficos de ADF do mecanismo de IA no nível do sistema, permitindo que os usuários incorporem blocos de RTL e HLS com kernels e/ou gráficos do mecanismo de IA na mesma simulação. O aproveitamento dos recursos de geração e visualização de sinais da ferramenta Simulink e MATLAB permite que os engenheiros de DSP projetem e depurem em um ambiente familiar. Para saber como usar mecanismos de IA Versal com o Vitis Model Composer, visite a página de recursos do mecanismo de IA​.

Com base no Versal Série AI Core, o kit VCK190 permite que os projetistas desenvolvam soluções usando mecanismos de IA e de DSP. O kit de avaliação tem tudo o que você precisa para dar início aos seus projetos.

Também está disponível a placa de desenvolvimento VCK5000 baseada em PCIe®, que apresenta o dispositivo Versal AI Core com mecanismos de IA, criado para inferência de IA de alto rendimento no data center.

Para o desenvolvimento do AIE-ML, o Kit de avaliação VEK280, baseado no Versal Série AI Edge, permitirá que os desenvolvedores criem aplicações de DSP e ML.

Os recursos de treinamento e aprendizado da AMD fornecem as habilidades práticas e o conhecimento básico de que você precisa para ser totalmente produtivo em seu próximo projeto de desenvolvimento de SoC adaptativo Versal. Os cursos incluem:

Do planejamento da solução à integração e validação do sistema, a AMD oferece visualizações personalizadas da extensa lista de documentação do SoC adaptativo Versal para maximizar a produtividade dos projetos do usuário. Visite os hubs de processo de projeto de SoC adaptativo Versal para obter o conteúdo mais recente para as suas necessidades de projeto e explorar os recursos do mecanismo de IA e as metodologias de projeto.

Recursos

Fique por dentro

Junte-se à lista de notificações de SoC adaptativo e FPGA para receber as últimas notícias e atualizações.