CORBA Cleivson Arruda – [email protected] Rafael Lima – [email protected].
A High performance full pipelined arquitecture of MLP Neural Networks in FPGA Antonyus Pyetro...
Transcript of A High performance full pipelined arquitecture of MLP Neural Networks in FPGA Antonyus Pyetro...
![Page 1: A High performance full pipelined arquitecture of MLP Neural Networks in FPGA Antonyus Pyetro apaf@cin.ufpe.br Orientadora: Edna Barros - ensb@cin.ufpe.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc134497959413d8d823f/html5/thumbnails/1.jpg)
A High performance full pipelined arquitecture of MLP Neural Networks in FPGAAntonyus [email protected]
Orientadora:Edna Barros - [email protected]
![Page 2: A High performance full pipelined arquitecture of MLP Neural Networks in FPGA Antonyus Pyetro apaf@cin.ufpe.br Orientadora: Edna Barros - ensb@cin.ufpe.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc134497959413d8d823f/html5/thumbnails/2.jpg)
Roteiro
•Motivação•Rede neural artificial•Fluxo de Projeto de RNAs•Trabalho relacionado•Arquitetura proposta•Resultados
![Page 3: A High performance full pipelined arquitecture of MLP Neural Networks in FPGA Antonyus Pyetro apaf@cin.ufpe.br Orientadora: Edna Barros - ensb@cin.ufpe.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc134497959413d8d823f/html5/thumbnails/3.jpg)
Motivação
•Por que se usa RNAs?▫Inspirado no modelo biológico▫Aprendem através de exemplos▫Capacidade de generalização▫Tolerância a falhas e a ruído
![Page 4: A High performance full pipelined arquitecture of MLP Neural Networks in FPGA Antonyus Pyetro apaf@cin.ufpe.br Orientadora: Edna Barros - ensb@cin.ufpe.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc134497959413d8d823f/html5/thumbnails/4.jpg)
Motivação
•Por que FPGAs?▫Paralelismo de processo e dados▫Alto poder de processamento▫Possibilidade de customização do HW
•Por que RNAs em FPGA?▫Processamento inerentemente paralelo e
distribuído▫Implementações em software – seqüênciais
![Page 5: A High performance full pipelined arquitecture of MLP Neural Networks in FPGA Antonyus Pyetro apaf@cin.ufpe.br Orientadora: Edna Barros - ensb@cin.ufpe.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc134497959413d8d823f/html5/thumbnails/5.jpg)
Motivação
•Implementação de RNAs em FPGA▫Vantagens
Aumento da capacidade de processamento Aplicações em tempo real e críticas
Reduzir o consumo de potência Aplicações embarcadas
▫Desvantagens Maior custo do hw Implementação complexa
![Page 6: A High performance full pipelined arquitecture of MLP Neural Networks in FPGA Antonyus Pyetro apaf@cin.ufpe.br Orientadora: Edna Barros - ensb@cin.ufpe.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc134497959413d8d823f/html5/thumbnails/6.jpg)
Neurônio artificial
![Page 7: A High performance full pipelined arquitecture of MLP Neural Networks in FPGA Antonyus Pyetro apaf@cin.ufpe.br Orientadora: Edna Barros - ensb@cin.ufpe.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc134497959413d8d823f/html5/thumbnails/7.jpg)
Neurônio– função de ativação
•Algumas funções de limiar usadas são:▫Função degrau unitário;
Φ(u) = 1 se u > 0, Φ(u) = 0, caso contrário
▫Função rampa unitária Φ(u) = max{0.0, min{1.0, u + 0.5}}
▫Função sigmóide logística Φ(u) = a /{ 1 + exp(−bu) }
![Page 8: A High performance full pipelined arquitecture of MLP Neural Networks in FPGA Antonyus Pyetro apaf@cin.ufpe.br Orientadora: Edna Barros - ensb@cin.ufpe.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc134497959413d8d823f/html5/thumbnails/8.jpg)
RNA - topologia
![Page 9: A High performance full pipelined arquitecture of MLP Neural Networks in FPGA Antonyus Pyetro apaf@cin.ufpe.br Orientadora: Edna Barros - ensb@cin.ufpe.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc134497959413d8d823f/html5/thumbnails/9.jpg)
Projeto CAD da RNA
Implementação em SW
Implementação em HW
Fluxo de projeto de RNAs
Projetista de IAProjetista de IA ou de SW
Engenheiro de HW
Manual
![Page 10: A High performance full pipelined arquitecture of MLP Neural Networks in FPGA Antonyus Pyetro apaf@cin.ufpe.br Orientadora: Edna Barros - ensb@cin.ufpe.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc134497959413d8d823f/html5/thumbnails/10.jpg)
Fluxo de Projeto
Implementação em HW
Projeto da arquitetura
de HW
Especificação em HDL
Verificação funcional
Síntese
Simulação Timing
Prototipação em FPGA
![Page 11: A High performance full pipelined arquitecture of MLP Neural Networks in FPGA Antonyus Pyetro apaf@cin.ufpe.br Orientadora: Edna Barros - ensb@cin.ufpe.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc134497959413d8d823f/html5/thumbnails/11.jpg)
Trabalho relacionado
•VANNGen: a Flexible CAD Tool for Hardware Implementation of Artificial Neural Networks▫Geração automática da RNA▫Necessita do projetista de HW
Ponto fixo Vs ponto flutuante, precisão, etc... ▫Não permite integração das ferramentas
CAD de RNA▫Edição manual do arquivo de configuração
![Page 12: A High performance full pipelined arquitecture of MLP Neural Networks in FPGA Antonyus Pyetro apaf@cin.ufpe.br Orientadora: Edna Barros - ensb@cin.ufpe.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc134497959413d8d823f/html5/thumbnails/12.jpg)
Arquitetura convencional• Computação do estado de ativação para cada
camada
, m somas de m+1 produtos para cada n
• Instanciando m+1 multiplicadores e m somadores
n * m ciclos
![Page 13: A High performance full pipelined arquitecture of MLP Neural Networks in FPGA Antonyus Pyetro apaf@cin.ufpe.br Orientadora: Edna Barros - ensb@cin.ufpe.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc134497959413d8d823f/html5/thumbnails/13.jpg)
Arquitetura Proposta
•Computar produto coluna x linha▫W11•X1, …, Wn1•X1 ▫Depois somar com o resultado
da prox. Coluna▫Alinhar 2 a 2 até que todo somatório esteja
computado
![Page 14: A High performance full pipelined arquitecture of MLP Neural Networks in FPGA Antonyus Pyetro apaf@cin.ufpe.br Orientadora: Edna Barros - ensb@cin.ufpe.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc134497959413d8d823f/html5/thumbnails/14.jpg)
Desempenho esperado• Computa-se o produto em
ciclos ▫n é normalmente pequeno (menos de 20)
• Recursos▫ somadores e 1 multiplicador▫1 única entrada por vez é necessária▫1 única saída por vez necessaria
• Taxa de computação▫n*m ciclos se m é par e n*(m+1) se m
impar
![Page 15: A High performance full pipelined arquitecture of MLP Neural Networks in FPGA Antonyus Pyetro apaf@cin.ufpe.br Orientadora: Edna Barros - ensb@cin.ufpe.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc134497959413d8d823f/html5/thumbnails/15.jpg)
Camada – 4 neuronios 4 entradas
![Page 16: A High performance full pipelined arquitecture of MLP Neural Networks in FPGA Antonyus Pyetro apaf@cin.ufpe.br Orientadora: Edna Barros - ensb@cin.ufpe.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc134497959413d8d823f/html5/thumbnails/16.jpg)
Camada – 4 neuronios 5 entradas
![Page 17: A High performance full pipelined arquitecture of MLP Neural Networks in FPGA Antonyus Pyetro apaf@cin.ufpe.br Orientadora: Edna Barros - ensb@cin.ufpe.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc134497959413d8d823f/html5/thumbnails/17.jpg)
A função de ativação
•É uma função complexa ▫Φ(u) = a /{ 1 + exp(−bu) }
•A computação em hw é muito custosa▫Aproximações▫Look-up tables
![Page 18: A High performance full pipelined arquitecture of MLP Neural Networks in FPGA Antonyus Pyetro apaf@cin.ufpe.br Orientadora: Edna Barros - ensb@cin.ufpe.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc134497959413d8d823f/html5/thumbnails/18.jpg)
Solução proposta
•Na arquitetura proposta▫Toda camada fornece 1 saída e necessita de
1 entrada por vez▫Necessita de apenas uma estrutura para
computar a função de ativação
![Page 19: A High performance full pipelined arquitecture of MLP Neural Networks in FPGA Antonyus Pyetro apaf@cin.ufpe.br Orientadora: Edna Barros - ensb@cin.ufpe.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc134497959413d8d823f/html5/thumbnails/19.jpg)
Solução proposta
• x = [a,b] , discreto com passo 1/k então temos de x para armazenar
• Para um dado x, resulta na posição de x no vetor [a,b]
• Se k = 2z o termo x*k basta adicionar Z no expoente de x• Uma única soma de ponto flutuante necessária sem necessidade
de realizar busca binária
![Page 20: A High performance full pipelined arquitecture of MLP Neural Networks in FPGA Antonyus Pyetro apaf@cin.ufpe.br Orientadora: Edna Barros - ensb@cin.ufpe.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc134497959413d8d823f/html5/thumbnails/20.jpg)
Problemas e soluções
•Recursos de interconexões, nr pinos e fan-out▫Na nova arquitetura O(1) vs O(m)▫Quantidade de pinos fixa
•Consumo de lógica▫Consumo de somadores segue a lei
•Compromisso área / desempenho▫Datapath pode ser replicado para melhorar
performance – divisores de n
![Page 21: A High performance full pipelined arquitecture of MLP Neural Networks in FPGA Antonyus Pyetro apaf@cin.ufpe.br Orientadora: Edna Barros - ensb@cin.ufpe.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc134497959413d8d823f/html5/thumbnails/21.jpg)
Resultados - desempenho
•Testadas 3 redes neurais▫2 classificação▫ 1 aproximação da função
samples topology Neurons Sw (ms) Hw (ms) Speed-up
Sinusoid 249 1-5-1 6 0.345 0.010137 34.03Iris 150 4-8-3-3 14 0.517 0.019463 26.56Iris 300 4-8-3-3 14 1.0 0.037963 26.34Iris 600 4-8-3-3 14 2.0 0.074963 26.67Semeion 1593 256-10-10 20 50.07 13.605 3.68Semeion2 1593 256-10-10 20 50.07 6.808 8.10Semeion3 1593 256-10-10 20 50.07 1.371 36.52
![Page 22: A High performance full pipelined arquitecture of MLP Neural Networks in FPGA Antonyus Pyetro apaf@cin.ufpe.br Orientadora: Edna Barros - ensb@cin.ufpe.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc134497959413d8d823f/html5/thumbnails/22.jpg)
Resultados - área
Adders ALUTs Registers MemoryBits
DSPblocks
Sinusoid4 4591(12
%)5294(14%)
116405(2%) 8(2%)
Iris9 8782(23
%)9791(26%)
181901(3%) 12(3%)
Semeion12 11297(30
%)10967(29%)
521847(10%) 8(2%)
FPGA - EP3SL50F484C2
![Page 23: A High performance full pipelined arquitecture of MLP Neural Networks in FPGA Antonyus Pyetro apaf@cin.ufpe.br Orientadora: Edna Barros - ensb@cin.ufpe.br.](https://reader036.fdocuments.net/reader036/viewer/2022062512/552fc134497959413d8d823f/html5/thumbnails/23.jpg)
Perguntas!