Apresentação de Artigo
GPU-NB: A Fast CUDA-based
Implementation of Naive Bayes
Universidade Federal do Pará
Instituto de T...
Dados do Artigo
• Título Original:
– GPU-NB: A Fast CUDA-based Implementation of Naive Bayes.
• Título em Português:
– GPU...
Agenda
1. Introdução
2. Problema
3. Como o problema é tratado?
4. Abordagem proposta
5. Resultados e discursões
6. Conclus...
Agenda
1. Introdução
2. Problema
3. Como o problema é tratado?
4. Abordagem proposta
5. Resultados e discursões
6. Conclus...
1. Introdução
• O aumento da WEB 2.0 democratizou o acesso à
informação.
– Velocidade (acesso) versus Volume (documentos)....
1. Introdução
• Mineração de Dados¹:
– Processo de extração de conhecimentos significativos.
– Uma quantidade de dados é a...
Agenda
1. Introdução
2. Problema
3. Como o problema é tratado?
4. Abordagem proposta
5. Resultados e discursões
6. Conclus...
2. Problema
• Classificação²:
– Prediz um item de uma classe.
• O valor de uma classe, dado um conjunto de dados, é previs...
Agenda
1. Introdução
2. Problema
3. Como o problema é tratado?
4. Abordagem proposta
5. Resultados e discursões
6. Conclus...
3. Como o problema é tratado?
• Contribuição do trabalho:
– Melhoria na eficiência do modelo: Lógica e
Representação.
1. É...
Agenda
1. Introdução
2. Problema
3. Como o problema é tratado?
4. Abordagem proposta
5. Resultados e discursões
6. Conclus...
4. Abordagem proposta
• Arquitetura Compute Unified Device Architecture e GPU:
12
Figura. Arquitetura simplificada das GPU...
4. Abordagem proposta
• O algoritmo NB é baseado em modelos probabilísticos
que calculam a pontuação de uma classe ci como...
4. Abordagem proposta
• A pontuação de uma classe é calculada, usando o
teorema de Bayes:
• O cálculo P(ci|dt) tem um alto...
4. Abordagem proposta
• Para tornar o processo de classificação mais viável,
calcula-se a probabilidade de cada termo aj
i...
4. Abordagem proposta
• Observando (2), nota-se que uma questão fundamental
na definição de P(ci|dt), pois é como estimar ...
4. Abordagem proposta
• Na ADC, o objetivo é encontrar a classe "mais
adequada" para um documento.
– Utilizando a NB, dá-s...
4. Abordagem proposta
• As fases de treinamento e classificação NB são
evidenciadas no Algoritmo 1.
18
4. Abordagem proposta
• Fase de Treinamento:
19
4. Abordagem proposta
• Fase de Teste:
20
4. Abordagem proposta
• Paralelização da NB: GPU-NB.
– Dois vetores foram utilizados:
– Em TermIndexVector o índice repres...
22
Figura . Computação e transferências de dados em GPU-NB.
23
Calculo da frequência dos termos.
Calculo das probabilidades dos termos nas classes.
Classificação dos documentos testa...
4. Abordagem proposta
• Paralelização da NB: Implementação na CPU.
– Não é o foco principal do trabalho, porém foi desenvo...
Agenda
1. Introdução
2. Problema
3. Como o problema é tratado?
4. Abordagem proposta
5. Resultados e discursões
6. Conclus...
5. Resultados e discussões
• Os resultados experimentais foram realizados a fim de
avaliar a eficácia e a eficiência do al...
5. Resultados e discussões
• Seis bibliotecas digitais reais foram usadas.
1. Medline (MedLine).
2. Reuters (Reuters_ny).
...
5. Resultados e discussões
• Coleções de Documentos:
• Nº Classes, Nº Atributos, Nº Documentos e Densidade (Nº
médio de oc...
5. Resultados e discussões
• Eficácia do algoritmo proposto:
• São usadas duas métricas:
– Mic.F1: Mede a eficácia global ...
5. Resultados e discussões
30
• Eficácia do algoritmo proposto:
• Todos os resultados apresentados são as médias de 10
exe...
5. Resultados e discussões
31
Percentual da diferença da
implementação da GPU-NB e da
implementação do Naive Bayes na CPU....
5. Resultados e discussões
• Avaliação de desempenho:
– Speedup: Tempo de processamento.
– Eficiência: Quantidade processa...
5. Resultados e discussões
• Execução da CPU:
– Mediu-se o tempo médio das execuções para:
• 1 núcleo (sequencial).
• 2 nú...
5. Resultados e discussões
• O nº de classe é o fator mais importante que afeta a
aceleração de GPU-NB.
– A GPU-NB emprega...
5. Resultados e discussões
35
Figura 4. Speedup das implementações paralelas de várias coleções.
O speedup obtido com a im...
Agenda
1. Introdução
2. Problema
3. Como o problema é tratado?
4. Abordagem proposta
5. Resultados e discursões
6. Conclus...
6. Conclusões
• Foi proposta a GPU-NB, implementação paralela do
algoritmo Naive Bayes amplamente utilizado para a
Classif...
6. Conclusões
• O Naive Bayes, quando implementado para GPU, é 11x
mais rápido.
– Comparando os resultados do speedup da b...
Agenda
1. Introdução
2. Problema
3. Como o problema é tratado?
4. Abordagem proposta
5. Resultados e discursões
6. Conclus...
Análise Crítica
• Foi explorado as características do método Naive Bayes
para realizar tarefas independentes, empregando o...
Apresentação de Artigo
GPU-NB: A Fast CUDA-based
Implementation of Naive Bayes
Universidade Federal do Pará
Instituto de T...
Upcoming SlideShare
Loading in …5
×

Defesa de Artigo: "GPU-NB: A Fast CUDA -based Implementation of Naive Bayes"

414 views
330 views

Published on

Título Original:
GPU-NB: A Fast CUDA-based Implementation of Naive Bayes.
Título em Português:
GPU-NB: A Rápida Implementação da Naive Bayes baseada em CUDA.
Autores:
Viegas, F . et al. (Brazil).
Revista (publicação em October 2013):
Computer Architecture and High Performance Computing.
IEEE Transaction on Parallel and Distributed Systems.
Qualis CAPES:
A1 (Ciência da Computação e Engenharias IV), A2 (Interdisciplinar), B3 (Ciências Biológicas I).

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
414
On SlideShare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
13
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Defesa de Artigo: "GPU-NB: A Fast CUDA -based Implementation of Naive Bayes"

  1. 1. Apresentação de Artigo GPU-NB: A Fast CUDA-based Implementation of Naive Bayes Universidade Federal do Pará Instituto de Tecnologia Programa de Pós-Graduação em Engenharia Elétrica Equipe: Aline Lima Andrew Edberg Rodrigo Lisbôa Professor: Dr. Ádamo Santana Disciplina: Inteligência Computacional
  2. 2. Dados do Artigo • Título Original: – GPU-NB: A Fast CUDA-based Implementation of Naive Bayes. • Título em Português: – GPU-NB: A Rápida Implementação da Naive Bayes baseada em CUDA. • Autores: – Viegas, F. et al. (Brazil). • Revista (publicação em October 2013): – Computer Architecture and High Performance Computing. • IEEE Transaction on Parallel and Distributed Systems. • Qualis CAPES: – A1 (Ciência da Computação e Engenharias IV), A2 (Interdisciplinar), B3 (Ciências Biológicas I). 2
  3. 3. Agenda 1. Introdução 2. Problema 3. Como o problema é tratado? 4. Abordagem proposta 5. Resultados e discursões 6. Conclusão 3
  4. 4. Agenda 1. Introdução 2. Problema 3. Como o problema é tratado? 4. Abordagem proposta 5. Resultados e discursões 6. Conclusão 4
  5. 5. 1. Introdução • O aumento da WEB 2.0 democratizou o acesso à informação. – Velocidade (acesso) versus Volume (documentos). • Isto deu origem a um fenômeno interessante: – Os dados, atualmente, não são efetivamente analisados ​​sem a ajuda de ferramentas automáticas sofisticadas. – Técnicas como aprendizagem de máquina e mineração de dados/texto são aplicadas pelas ferramentas. • Classificação Automática de Documentos (ADC). • Estes algoritmos são, ainda, um desafio computacional, devido ao volume de dados que tem de ser processado. 5
  6. 6. 1. Introdução • Mineração de Dados¹: – Processo de extração de conhecimentos significativos. – Uma quantidade de dados é analisada. ¹D. Kumarihamy and L. Arundhati, “Implementing data mining algorithms using NVIDIA CUDA,” 2009. [Online]. Available: http://hdl.handle.net/1900.100/3013. 6 Figura. Figura representando o processo de KDD (Knowledge Discovery in Databases). ?Classificação
  7. 7. Agenda 1. Introdução 2. Problema 3. Como o problema é tratado? 4. Abordagem proposta 5. Resultados e discursões 6. Conclusão 7
  8. 8. 2. Problema • Classificação²: – Prediz um item de uma classe. • O valor de uma classe, dado um conjunto de dados, é previsto com base nos valores dos seus outros atributos. • Para resolver o problema, utiliza-se o NB³ (Naive Bayes). • Desempenho: – Aceleração do NB na GPU para classificação probabilística. • Aplicação do paradigma do paralelismo. ²C. Kruengkrai and C. Jaruskulchai, “A parallel learning algorithm for text classification,” in Proceedings of the eighth ACM SIGKDD international conference on Knowledge discovery and data mining, ser. KDD ’02. New York, NY, USA: ACM, 2002, pp. 201–206. [Online]. Available: http://doi.acm.org/10.1145/775047.775077. ³D. Lowd and P. Domingos, “Naive bayes models for probability estimation,” in Proceedings of the 22nd international conference on Machine learning. ACM, 2005, pp. 529–536.. 8
  9. 9. Agenda 1. Introdução 2. Problema 3. Como o problema é tratado? 4. Abordagem proposta 5. Resultados e discursões 6. Conclusão 9
  10. 10. 3. Como o problema é tratado? • Contribuição do trabalho: – Melhoria na eficiência do modelo: Lógica e Representação. 1. É proposto o GPU-NB para Classificação Automática de Documentos. – Uma versão paralela do NB que utiliza unidades de processamento gráfico (GPUs). – A GPU acelera o algoritmo Multinomial NB para a classificação probabilística. 10
  11. 11. Agenda 1. Introdução 2. Problema 3. Como o problema é tratado? 4. Abordagem proposta 5. Resultados e discursões 6. Conclusão 11
  12. 12. 4. Abordagem proposta • Arquitetura Compute Unified Device Architecture e GPU: 12 Figura. Arquitetura simplificada das GPUs NVIDIA com suporte à CUDA. Figura. GPU – Acesso à memória. Núcleo CUDA: SP: Processadores Compartilhados
  13. 13. 4. Abordagem proposta • O algoritmo NB é baseado em modelos probabilísticos que calculam a pontuação de uma classe ci como a probabilidade de um documento dt a ser atribuído a ci. • Com base nesta pontuação, um ranking das classes é criado e o Naive Bayes classifica o dt na classe, na primeira posição da classificação. • Seja P(ci|dt) a probabilidade de um documento de teste dt(a1, a2, ..., aj) pertence à classe ci, onde (a1, a2, ..., aj) é um vetor (binário ou ponderada) que representa os termos documento dt. 13
  14. 14. 4. Abordagem proposta • A pontuação de uma classe é calculada, usando o teorema de Bayes: • O cálculo P(ci|dt) tem um alto custo computacional dado que o número de possíveis vetores dt também é muito elevado. • Consequêntemente, o algoritmo NB atenua os problemas assumindo que a ocorrência de todos os termos são independentes. 14 Classe Documento
  15. 15. 4. Abordagem proposta • Para tornar o processo de classificação mais viável, calcula-se a probabilidade de cada termo aj independentemente: • Há, na literatura, duas abordagens principais para a execução do algoritmo. 1. Bernoulli: abordagem mais apropriada para um número fixo de atributos. 2. Multinomial: representa um documento como um vetor de frequências das palavras no texto. 15
  16. 16. 4. Abordagem proposta • Observando (2), nota-se que uma questão fundamental na definição de P(ci|dt), pois é como estimar P(aj|ci). • Para evitar inconsistências (por exemplo, divisão por zero), usa-se o teorema de Laplace. 16 Somatório dos nº de ocorrências de todos os termos em documentos da classe ci. Número de ocorrências de aj na classe ci. Consiste na adição de 1, no numerador e no denominador. Vocabulário
  17. 17. 4. Abordagem proposta • Na ADC, o objetivo é encontrar a classe "mais adequada" para um documento. – Utilizando a NB, dá-se pela maior probabilidade condicional da classe ci para um determinado documento dt. • Adota-se, então, a soma dos logaritmos em vez de uma simples multiplicação de probabilidades. – Para evitar que as probabilidades dos documentos com um grande número de termos tornem-se próximo de zero. • A maximização realizada na maioria das implementações NB é: 17
  18. 18. 4. Abordagem proposta • As fases de treinamento e classificação NB são evidenciadas no Algoritmo 1. 18
  19. 19. 4. Abordagem proposta • Fase de Treinamento: 19
  20. 20. 4. Abordagem proposta • Fase de Teste: 20
  21. 21. 4. Abordagem proposta • Paralelização da NB: GPU-NB. – Dois vetores foram utilizados: – Em TermIndexVector o índice representa o termo e cada posição do vetor contém a posição no DocTermVector, que é onde seninicia a lista de termos para determinado documento. 21 Figura . Estrutura de dados que representa os documentos de uma coleção. Representa os termos. Armazena listas de documentos em que cada termo aparece.
  22. 22. 22 Figura . Computação e transferências de dados em GPU-NB.
  23. 23. 23 Calculo da frequência dos termos. Calculo das probabilidades dos termos nas classes. Classificação dos documentos testados. Figura . Computação e transferências de dados em GPU-NB. O documento é classificado, com base na classe com maior probabilidade final.
  24. 24. 4. Abordagem proposta • Paralelização da NB: Implementação na CPU. – Não é o foco principal do trabalho, porém foi desenvolvido para embasar a comparação com o algoritmo GPU-NB proposto. – Implementado em C++, com a paralelização de memória compartilhada usando a biblioteca OpenMP. – O código foi organizado com os mesmos passos destacados. 24
  25. 25. Agenda 1. Introdução 2. Problema 3. Como o problema é tratado? 4. Abordagem proposta 5. Resultados e discursões 6. Conclusão 25
  26. 26. 5. Resultados e discussões • Os resultados experimentais foram realizados a fim de avaliar a eficácia e a eficiência do algoritmo GPU-NB. – Os resultados foram comparados com as implementações do algoritmo Naive Bayes (sequencial e paralelo). • Plataforma de hardware: • PC com processador Intel Core I7-2600 CPU em 3,40 GHz, com HyperThreading, 16GB de memória principal. • Placa gráfica GeForce GT520 2GB. 26
  27. 27. 5. Resultados e discussões • Seis bibliotecas digitais reais foram usadas. 1. Medline (MedLine). 2. Reuters (Reuters_ny). 3. ACM digital (ACM). 4. Produtos avaliados da Amazônia (acl_bin). 5. Newsgroups (20ng). 6. World Wide Knowledge Base Project (Webkb). 27
  28. 28. 5. Resultados e discussões • Coleções de Documentos: • Nº Classes, Nº Atributos, Nº Documentos e Densidade (Nº médio de ocorrências de termos por documento). 28
  29. 29. 5. Resultados e discussões • Eficácia do algoritmo proposto: • São usadas duas métricas: – Mic.F1: Mede a eficácia global em termos das decisões tomadas pelo classificador (a inversa da taxa de erro). – Mac.F1: Mede a eficácia da classificação dentro de cada classe de forma independente (calculando a média harmônica de precisão e de recolha para cada classe). • As métricas são calculados para cada um dos k conjuntos de teste. 29
  30. 30. 5. Resultados e discussões 30 • Eficácia do algoritmo proposto: • Todos os resultados apresentados são as médias de 10 execuções dos algoritmos. – Técnica usada: k-fold cross-validation, com k=10 para cada combinação da coleção e do algoritmo. – Quando uma subcoleção k é usada como conjunto de teste, as restantes (k-1) são utilizadas como conjunto de treinamento. – Após todas as execuções, os indicadores são calculados independentemente. – Por fim, é calculada a média para uma avaliação mais confiável à qualidade da classificação.
  31. 31. 5. Resultados e discussões 31 Percentual da diferença da implementação da GPU-NB e da implementação do Naive Bayes na CPU. Diferença Não significativa. Diferença significativa.
  32. 32. 5. Resultados e discussões • Avaliação de desempenho: – Speedup: Tempo de processamento. – Eficiência: Quantidade processadores necessários para obtê-la. – Desempenho: O “quanto” os processadores são utilizados. 32 𝑆𝑝𝑒𝑒𝑑𝑢𝑝 = 𝑡𝑒𝑚𝑝𝑜 (1 𝑝𝑟𝑜𝑐𝑒𝑠𝑠𝑎𝑑𝑜𝑟) 𝑡𝑒𝑚𝑝𝑜 (𝑁 𝑝𝑟𝑜𝑐𝑒𝑠𝑠𝑎𝑑𝑜𝑟𝑒𝑠) 𝐸 = 𝑆𝑝𝑒𝑒𝑑𝑢𝑝 𝑁º 𝑑𝑒 𝑝𝑟𝑜𝑐𝑒𝑠𝑠𝑎𝑑𝑜𝑟𝑒𝑠 𝐷𝑒𝑠𝑒𝑚𝑝𝑒𝑛ℎ𝑜 = 𝐸𝑓𝑖𝑐𝑖ê𝑛𝑐𝑖𝑎 𝑥 100%
  33. 33. 5. Resultados e discussões • Execução da CPU: – Mediu-se o tempo médio das execuções para: • 1 núcleo (sequencial). • 2 núcleos. • 4 núcleos. • 8 threads independentes. 33 – devido a configuração da CPU. – devido a CPU suportar (Hyper Threading).
  34. 34. 5. Resultados e discussões • O nº de classe é o fator mais importante que afeta a aceleração de GPU-NB. – A GPU-NB emprega um paralelismo de threads a nível de expressão. Quanto maior o número de classes, maior será o número de operações aritméticas executadas por cada segmento por acesso à memória. 34Figura . Variação explicada por fatores no desempenho do sistema .
  35. 35. 5. Resultados e discussões 35 Figura 4. Speedup das implementações paralelas de várias coleções. O speedup obtido com a implementação GPU-NB foi, estatisticamente, maior com 95% de confiança, que os speedups de todas as implementações paralelas. As coleções ACM e 20nb, com 11 e 20 classes, respectivamente, atingem os maiores speedups.
  36. 36. Agenda 1. Introdução 2. Problema 3. Como o problema é tratado? 4. Abordagem proposta 5. Resultados e discursões 6. Conclusão 36
  37. 37. 6. Conclusões • Foi proposta a GPU-NB, implementação paralela do algoritmo Naive Bayes amplamente utilizado para a Classificação Automática de Documentos - ADC. – Explorou-se uma estrutura de dados compacta para indexar os documentos objetivando minimizar o consumo de memória. • Os experimentos focaram-se na comparação da CPU e da GPU. Aferiu-se a eficiência (aceleração), bem como a eficácia (a qualidade das classificações). • Apesar de pequenas perdas na eficácia da classificação (abaixo de 10%) para algumas coleções, pode-se dizer que a proposta é equivalente à implementação CPU. 37
  38. 38. 6. Conclusões • O Naive Bayes, quando implementado para GPU, é 11x mais rápido. – Comparando os resultados do speedup da biblioteca 20ng, a execução para 4 núcleos atinge um máximo de 3,2x, porém quando aplicou-se a GPU-NB, observa-se um aumento do speedup de até 34,9x, significando que a proposta do algoritmo leva à uma redução significativa no tempo de processamento do Naive Bayes. • Caso mantenha-se um comportamento linear da paralelização em CPU, o GPU-NB continuaria a ser mais rápido para CPUs de até 32 núcleos. 38
  39. 39. Agenda 1. Introdução 2. Problema 3. Como o problema é tratado? 4. Abordagem proposta 5. Resultados e discursões 6. Conclusão 39
  40. 40. Análise Crítica • Foi explorado as características do método Naive Bayes para realizar tarefas independentes, empregando o paradigma do paralelismo, porém para o domínio considerado, os resultados foram satisfatórios. – Será que, se fosse aplicado à outros domínios (ex.: em outras coleções), os resultados se manteriam satisfatórios? • Poderia ser explorado técnicas de seleção de recursos, a fim de manter apenas as características mais discriminativas do GPU-NB, reduzindo assim, os efeitos negativos do algoritmo seriam reduzidos. 40
  41. 41. Apresentação de Artigo GPU-NB: A Fast CUDA-based Implementation of Naive Bayes Universidade Federal do Pará Instituto de Tecnologia Programa de Pós-Graduação em Engenharia Elétrica Equipe: Aline Lima Andrew Edberg Rodrigo Lisbôa Professor: Dr. Ádamo Santana Disciplina: Inteligência Computacional

×