Anda di halaman 1dari 19

A Configurable Cloud-Scale

DNN Processor for


Real-Time AI

Fowers et al
Los Langeles, CA, USA
23 Julho 2018
Iago Corrêa e Matheus Gongalves
22 Outubro 2018
Introdução
❏ Estado da arte em inteligência artificial tomado por modelos de Deep
Neural Networks (DNN), com cada vez maior uso em aplicações
interativas ao vivo
❏ Carros autônomos
❏ Reconhecimento de imagem
❏ Reconhecimento de fala
❏ Propagandas
Introdução
❏ Necessidade de baixa latência e pequeno tamanho de batch
❏ Experiência suave para o usuário
❏ Cumprir legislação (SLA)
❏ Atingir requisitos de segurança

❏ GPUs atingem grande throughput explorando uso de batches maiores


❏ Paralelismo interno e entre as solicitações

❏ Unidades de processamento neural (NPU) também começam a ganhar


espaço
Problema

Obter uma solução capaz de comportar de forma


flexível vários tipos de modelos DNN com baixa
latência explorando o máximo possível do
paralelismo de solicitações individuais em
aplicações de tempo real em nuvem.
Solução
Projeto Brainwave - sistema em escala de produção para AI em tempo real
Solução
Arquitetura

❏ Uso de single-thread com método SIMD


❏ Foco na operação-chave de multiplicação vetor-matriz
❏ Tipos de dados independentes
❏ Instruções encadeadas

Memória: Peso do modelo DNN inserido em chips

Sistema: Conexão direta à rede da central de dados


Solução
Solução
Microarquitetura: Explorar paralelismo por pedido

❏ Mapear e executar correntes ininterruptas de operações

❏ 3 Aspectos-chave

❏ Multiplicador de Matriz-Vetor (MVM): 4 níveis de paralelismo

❏ Unidades de Multifunção Vetorial (MFU): Funções (ReLU, sigmoid, and tanh)

❏ Envio e Decodificação Hierárquico (HDD): Expansão de operações


Solução
Solução
Especialização de Síntese

❏ Totalmente parametrizável

❏ Tipo de dado (Precisão)

❏ Tamanho nativo de vetor

❏ Número de tiles do MVM

❏ Número de lanes do tile

❏ Número de MFUs

❏ Número de DPEs
Solução
Resultados
❏ Implementação com FPGA
❏ Três gerações de modelos de FPGA da Intel
❏ Stratix V D5 (BW_S5)
❏ Arria 10 1150 (BW_A10)
❏ Stratix 10 280 (BW_S10)
❏ Parâmetros da NPU acomodados de forma a melhor aproveitar os recursos do FPGA em
análise

Parâmetros Ajustáveis Utilização dos Recursos

NPU MV Tiles Lanes Native Dim. MRF Size MFUs ALMs M20Ks DSPs Freq. Peak TFLOPS

BW_S5 6 10 100 306 2 87% 59% 66% 200 2.4

BW_A10 8 16 128 512 2 51% 80% 100% 300 9.8

BW_S10 6 40 400 306 2 91% 69% 91% 250 48


Resultados
❏ RNN Performance
❏ Stratix 10 280 (BW_S10)
❏ DeepBench
❏ Comparação com resultados publicados usando uma NVIDIA Titan Xp
❏ Comparação com SDM
❏ Sem batch (batch_size = 1)
❏ Menor latência nas requisições do servidor, processar assim que o pedido chega
Resultados
Resultados
Resultados
Resultados
❏ CNN Performance
❏ Arria 10 1150
❏ ResNet-50
❏ Sem batch (batch_size = 1)
❏ Menor latência nas requisições do servidor, processar assim que o pedido chega

NVIDIA P40 BW_CNN_A10

IPS 461 559

Latency 2.17 ms 1.8 ms


Conclusão
❏ Aplicação de várias técnicas para atingir alto throughput e baixa latência
para IA em tempo real sem batches
❏ Sistema fixado em um chip que extrai paralelismo de instruções SIMD em
uma única thread de controle
❏ Algumas instruções geram milhares de operações independentes com tamanho de vetor
fixo operando em paralelo e explorando o fluxo direto dos dados
❏ Parametrização que permite encaixar diferentes tipos de modelos

❏ Maior utilização e menor latência que GPUs de alta performance


Referências

J. Fowers et al., A Configurable Cloud-Scale DNN Processor for Real-Time


AI, 2018 ACM/IEEE 45th Annual International Symposium on Computer
Architecture (ISCA), Los Angeles, CA, 2018, pp. 1-14.