Ciência e Dados
Menu
  • Home
  • Sobre
  • Contato
Menu
gpu

Inteligência Artificial e Processamento Paralelo em GPUs

Posted on 16 de dezembro de 202216 de dezembro de 2022 by David Matos

Tecnologias de Inteligência Artificial (como Deep Learning), Realidade Virtual e veículos autônomos roubaram a cena e muito da evolução destas tecnologias se deve à evolução das GPUs. Mas você sabe realmente o que são GPUs e porque elas são usadas em aplicações de Inteligência Artificial? Então acompanhe este artigo para aprender mais sobre GPUs, algo que você vai ouvir com frequência cada vez maior nos próximos anos.

Vamos começar compreendendo sobre a tecnologia existente e bem estabelecida – a CPU (Central Processing Unit – Unidade de Processamento Central). A maioria de nós está familiarizado com uma CPU. A Intel é o principal fabricante desses chips e seus orçamentos publicitários gigantescos garantem que todo mundo saiba que eles estão em tudo, desde laptops a supercomputadores.

As CPUs (às vezes chamadas apenas de processador) são projetadas para fornecer processamento de baixa latência para uma variedade de aplicativos. As CPUs são ótimas para tarefas versáteis, como planilhas, processadores de texto e aplicações web. Como resultado, as CPUs têm sido tradicionalmente o recurso de computação para a maioria das empresas. Quando o Gerente de TI diz que está requisitando mais computadores ou servidores ou adicionando capacidade na nuvem, ele historicamente está falando sobre CPUs.

Embora altamente versáteis, as CPUs são restritas no número de “núcleos” (cores) que podem ser colocados em um chip. A maioria dos chips atinge cerca de 8, embora os “Xeons” de nível corporativo possam ter algumas dezenas.

Levou décadas para progredir de um único núcleo para onde estamos hoje. Dimensionar um chip tão complexo como uma CPU requer encolher o tamanho do transistor, reduzir a geração de calor e aumentar a eficiência no consumo de energia, tudo de uma só vez. O sucesso alcançado até agora pode ser atribuído em grande parte aos esforços hercúleos da Intel e aos talentosos engenheiros da AMD.

O efeito desta evolução é que, para código otimizado, as CPUs estão conseguindo uma melhoria de aproximadamente 20% por ano (medida em TeraFLOPS). Referências ao final do artigo.

Com ganhos de processamento limitados no horizonte, as CPUs não conseguem acompanhar a evolução e crescimento no volume de dados que precisam ser processados, que está aumentando ao dobro dessa taxa (40%) e acelerando.

Atualmente lidamos com Exabytes e estamos indo para Zetabytes. O “Terabyte” uma vez algo raro nas empresas é agora comprado facilmente em qualquer loja de computadores por um preço bem razoável (é bem provável que o HD do seu computador tenha 1 ou 2 Terabytes). Os preços de armazenamento estão em queda livre e estamos com uma equação difícil de dimensionar: preço baixo do armazenamento, volume de dados que não para de crescer e necessidade cada vez maior de processamento. Isso faz com que as CPUs não sejam mais a melhor opção. Então, o que isso tem a ver com GPUs?

As GPUs são construídas de forma diferente das CPUs. As GPUs não possuem a mesma versatilidade das CPUs, mas em compensação elas possuem milhares de “núcleos” (cores), o que é particularmente importante quando é necessário processar grandes conjuntos de dados. Uma vez que as GPUs são projetadas para maximizar o paralelismo, isso significa que as GPUs estão aumentando seu poder de processamento em pelo menos 40% ao ano, permitindo que elas acompanhem o crescente dilúvio de dados.

De Onde Vieram as GPUs?

A razão pela qual as GPUs existem é que os engenheiros reconheceram nos anos noventa que renderizar polígonos em uma tela era um problema fundamentalmente paralelizável – a cor de cada pixel poderia ser calculada independentemente de seus vizinhos. GPUs evoluíram como alternativa mais eficiente em relação às CPUs para processar tudo, desde zumbis até carros de corrida para a tela de um usuário. Nessas tarefas as CPUs simplesmente não atingiram o resultado esperado, abrindo espaço para o surgimento e crescimento das GPUs.

As GPUs resolveram o problema que os processadores não eram capazes de resolver, usando um chip com milhares de núcleos menos sofisticados. Com a programação correta, esses núcleos podem executar o complexo e maciço número de cálculos matemáticos necessários para conduzir experiências de vídeo game realistas. Sim, as GPUs nasceram no mundo dos games, antes de se tornarem o padrão em processamento de sistemas de Inteligência Artificial.

Os engenheiros perceberam que o aumento do poder de processamento das GPUs precisava ser acompanhado por uma memória mais rápida, levando-os a impulsionar o desenvolvimento de variantes da memória RAM de muito maior largura de banda. As GPUs agora possuem uma largura de banda de memória da ordem de magnitude maior do que as CPUs, garantindo performance tanto na leitura de dados quanto no processamento.

Mas o que aconteceu depois não estava nos planos – mas vai definir o futuro de cada indústria e cada aspecto de nossas vidas.

A Ciência da Computação e as GPUs

Acontece que há um crossover muito grande entre os gamers (jogadores de vídeo-game) e cientistas da computação. Os cientistas da computação perceberam que a capacidade de executar cálculos matemáticos complexos em todos esses núcleos tinha aplicações em computação de alto desempenho. Ainda era difícil (realmente difícil) escrever código que funcionasse eficientemente em GPUs. Os pesquisadores interessados em aproveitar o poder das placas gráficas tiveram que adaptar seus cálculos, literalmente fazendo com que o placa gráfica pensasse que os cálculos que eles queriam realizar eram na verdade renderização de cálculos para determinar a cor dos pixels.

Isso foi até 2007, quando a Nvidia introduziu algo chamado CUDA (Compute Unified Device Architecture). CUDA suporta a programação paralela em linguagem C, dando aos cientistas de computação (que cresceram estudando C) a chance de começar a escrever código CUDA básico quase imediatamente, permitindo uma nova classe de tarefas que podiam ser facilmente paralelizadas. A linguagem CUDA foi estendida e hoje suporta C++ e Python.

Como num passe de mágica, todos os supercomputadores do planeta estavam rodando em GPUs, resolvendo problemas para processamento de modelos de Deep Learning, veículos autônomos e a explosão da Inteligência Artificial.

Programação Paralela

A paralelização é realmente fundamental para entender o poder das GPUs. A paralelização significa que você pode executar muitos cálculos simultaneamente. Isso significa que grandes problemas podem muitas vezes ser divididos em pequenos, que podem ser resolvidos ao mesmo tempo. Dado os tipos de problemas na computação de alto desempenho (modelos climáticos, o nascimento do universo, sequenciamento de DNA), o paralelismo é uma característica crítica para os supercomputadores, mas seu fascínio e alguns avanços importantes tornaram a abordagem de escolha em muitos outros domínios da computação.

Não são apenas astrofísicos ou climatologistas que podem colher os benefícios do paralelismo – acontece que muitas tarefas empresariais se beneficiam do paralelismo. Por exemplo:

  • Consultas de banco de dados.
  • Busca de força bruta em criptografia.
  • Simulações de computador comparando muitos cenários independentes.
  • Geo-visualização.
  • Machine Learning / Deep Learning.
  • Inteligência Artificial.

Resumindo, as GPUs são diferentes das CPUs das seguintes maneiras:

  • Uma GPU tem milhares de núcleos por chip. Uma CPU tem algumas dezenas.
  • Uma GPU é adaptada para operações altamente paralelas enquanto uma CPU é otimizada para cálculos serializados.
  • As GPUs têm interfaces de memória de largura de banda significativamente maiores do que as CPUs.
  • Uma CPU é excelente para tarefas como o processamento de texto, a execução de bancos de dados transacionais e o uso de aplicativos da Web.
  • As GPUs são ótimas para tarefas como sequenciar o DNA, determinar as origens do universo e processar sistemas de Inteligência Artificial.

David Matos

Referências:

Curso Gratuito Introdução à Ciência de Dados

NVIDIA A100 GPU Benchmarks For Deep Learning

Accelerating AI with GPUs: A New Computing Model

https://developer.nvidia.com/

https://developer.nvidia.com/deep-learning

http://www.intel.com/content/www/us/en/processors/xeon/xeon-processor-e7-family.html

Compartilhar

  • Clique para compartilhar no X(abre em nova janela) 18+
  • Clique para compartilhar no Facebook(abre em nova janela) Facebook
  • Clique para compartilhar no LinkedIn(abre em nova janela) LinkedIn
  • Clique para compartilhar no WhatsApp(abre em nova janela) WhatsApp
  • Clique para compartilhar no Telegram(abre em nova janela) Telegram
  • Clique para compartilhar no Tumblr(abre em nova janela) Tumblr
  • Clique para compartilhar no Pinterest(abre em nova janela) Pinterest

Relacionado

Deixe um comentário Cancelar resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Assinar blog por e-mail

Digite seu endereço de e-mail para assinar este blog e receber notificações de novas publicações por e-mail.

Buscar

Tags Mais Comuns nos Posts

Agentes de IA Analytics Análise de Negócios Apache Spark AWS Big Data Blockchain Business Intelligence ChatGPT Cientista de Dados Cientistas de Dados Ciência de Dados Cloud Computing Data Lake Data Mesh Data Science Data Scientist Data Warehouse Deep Learning Deploy Engenharia de Dados Estatística GPU GraphRAG Hadoop IA Generativa Inteligência Artificial Internet of Things Linguagem Python Linguagem R LLM LLMs Machine Learning MCP (Model Context Protocol) Metadados Normalização NVIDIA Oracle Pipeline de Dados Predictive Analytics Probabilidade PySpark Python RAG Storytelling

Histórico de Posts

  • maio 2025 (6)
  • abril 2025 (2)
  • março 2025 (4)
  • fevereiro 2025 (8)
  • janeiro 2025 (5)
  • dezembro 2024 (4)
  • novembro 2024 (1)
  • outubro 2024 (1)
  • setembro 2024 (1)
  • agosto 2024 (1)
  • julho 2024 (3)
  • junho 2024 (1)
  • maio 2024 (1)
  • abril 2024 (2)
  • março 2024 (1)
  • fevereiro 2024 (1)
  • janeiro 2024 (1)
  • dezembro 2023 (1)
  • outubro 2023 (2)
  • setembro 2023 (1)
  • agosto 2023 (4)
  • julho 2023 (2)
  • junho 2023 (4)
  • maio 2023 (2)
  • abril 2023 (2)
  • março 2023 (3)
  • fevereiro 2023 (3)
  • janeiro 2023 (3)
  • dezembro 2022 (7)
  • novembro 2022 (6)
  • outubro 2022 (2)
  • setembro 2022 (3)
  • agosto 2022 (2)
  • julho 2022 (2)
  • junho 2022 (3)
  • maio 2022 (1)
  • abril 2022 (3)
  • março 2022 (1)
  • fevereiro 2022 (3)
  • janeiro 2022 (2)
  • dezembro 2021 (1)
  • novembro 2021 (5)
  • outubro 2021 (2)
  • setembro 2021 (3)
  • agosto 2021 (1)
  • junho 2021 (1)
  • fevereiro 2021 (2)
  • janeiro 2021 (1)
  • dezembro 2020 (1)
  • novembro 2020 (1)
  • outubro 2020 (2)
  • agosto 2020 (1)
  • abril 2020 (1)
  • março 2020 (1)
  • fevereiro 2020 (2)
  • agosto 2019 (1)
  • abril 2019 (1)
  • setembro 2018 (2)
  • julho 2018 (1)
  • junho 2018 (3)
  • abril 2018 (1)
  • março 2018 (1)
  • fevereiro 2018 (2)
  • janeiro 2018 (1)
  • dezembro 2017 (1)
  • novembro 2017 (1)
  • outubro 2017 (1)
  • setembro 2017 (1)
  • julho 2017 (1)
  • junho 2017 (1)
  • maio 2017 (2)
  • abril 2017 (1)
  • janeiro 2017 (1)
  • novembro 2016 (1)
  • outubro 2016 (1)
  • setembro 2016 (1)
  • julho 2016 (1)
  • junho 2016 (1)
  • maio 2016 (1)
  • abril 2016 (1)
  • fevereiro 2016 (1)
  • janeiro 2016 (3)
  • dezembro 2015 (4)
  • novembro 2015 (6)
  • outubro 2015 (9)
  • setembro 2015 (9)
  • agosto 2015 (9)
©2025 Ciência e Dados