CPU versus GPU para aprendizado de máquina

15 de janeiro de 2025

8 minutos

Autores

Josh Schneider

Senior Writer

IBM Blog

Ian Smalley

Senior Editorial Strategist

CPU versus GPU para aprendizado de máquina

Em comparação com as unidades centrais de processamento (CPUs) de uso geral, as unidades de processamento gráfico (GPUs) mais potentes costumam ser preferidas em aplicações exigentes de inteligência artificial (IA), como aprendizado de máquina (ML), deep learning (DL) e redes neurais.

Com centenas ou milhares de núcleos de processamento, as unidades de processamento gráfico (GPUs) se destacam no tipo de processamento paralelo e nos cálculos de ponto flutuante necessários para treinar modelos de aprendizado de máquina. No entanto, em alguns tipos de modelos de IA, as CPUs podem funcionar bem, especialmente em cargas de trabalho mais leves. 

As GPUs, desenvolvidas inicialmente para renderizar gráficos, são frequentemente conhecidas como placas de vídeo. Mas esses poderosos processadores são capazes de muito mais. O alto poder computacional e os recursos avançados de processamento paralelo tornaram as GPUs altamente desejadas em setores como robótica, computação de alto desempenho (HPC), data centers e, especialmente, inteligência artificial. 

Embora não sejam tão potentes quanto as GPUs, as unidades centrais de processamento (CPUs) representam o componente mais crítico de qualquer sistema de computador. Conhecidas como “o cérebro do computador”, as CPUs executam todas as tarefas de gerenciamento de alto nível do sistema, inclusive o controle das GPUs (quando presentes).

Embora a maioria das tarefas de aprendizado de máquina exija processadores mais potentes para lidar com grandes conjuntos de dados, muitas CPUs modernas atendem bem a aplicações menores de aprendizado de máquina. Embora as GPUs sejam mais usadas em projetos de aprendizado de máquina, a alta demanda pode elevar os custos. As GPUs também consomem mais energia do que as CPUs, o que aumenta tanto os custos energéticos quanto o impacto ambiental.

Ao escolher um processador para um projeto de aprendizado de máquina, as CPUs podem representar uma opção mais econômica, embora a maioria dos projetos de IA com complexidade intermediária se beneficie do processamento paralelo das GPUs. 

Projeto 3D de bolas rolando em uma pista

As últimas notícias e insights sobre IA 


Descubra insights selecionados por especialistas e notícias sobre IA, nuvem e outros assuntos no boletim informativo semanal Think. 

Noções básicas de aprendizado de máquina

Na ciência da computação, o aprendizado de máquina (ML) estuda, aplica e desenvolve algoritmos que permitem aos computadores imitar a forma como os seres humanos aprendem a executar tarefas de maneira autônoma. Computadores com capacidade de aprendizado de máquina melhoram a precisão de desempenho ao longo do tempo por meio da repetição, à medida que processam mais dados.

Os algoritmos de aprendizado de máquina se estruturam em três componentes básicos: processo de decisão, função de erro e processo de otimização do modelo.

  1. Processo de decisão: os sistemas de aprendizado de máquina foram projetados para tomar decisões embasadas, gerar resultados desejáveis com alta precisão e exigir pouca ou nenhuma intervenção humana. O processo de decisão responde a determinados dados de input e gera uma resposta na forma de previsão ou classificação.
  2. Função de erro: quando o algoritmo de aprendizado de máquina toma uma decisão, ele avalia a precisão do próprio resultado. A função de erro compara os resultados com erros conhecidos ou previamente identificados para verificar se a resposta atinge o nível de precisão esperado.
  3. Processo de otimização do modelo: a principal característica de um algoritmo de aprendizado de máquina é aprender com os próprios erros e ajustar automaticamente seu processo de tomada de decisão para gerar resultados mais precisos. O processo de otimização do modelo utiliza os pontos de dados dos materiais de treinamento para gerar e avaliar previsões de forma contínua. Ao repetir esse processo, o modelo se ajusta gradualmente e melhora sua precisão ao longo do tempo.

Tipos de aprendizado de máquina

O aprendizado de máquina pode ser dividido em três tipos principais, dependendo dos tipos de algoritmos empregados e da escala dos dados utilizados. Embora o termo deep learning seja frequentemente usado como sinônimo de aprendizado de máquina, o deep learning é um subconjunto das redes neurais, que por sua vez fazem parte do aprendizado de máquina.

Os três termos são considerados subconjuntos da inteligência artificial (IA) e podem ser agrupados sob o rótulo de aprendizado de máquina; no entanto, apresentam diferenças específicas que os distinguem.

  • Aprendizado de máquina: o aprendizado de máquina clássico utiliza algoritmos para analisar dados históricos, identificar padrões e gerar previsões com pouca ou nenhuma intervenção humana. Esse tipo de aprendizado de máquina exige conjuntos de dados extensos e constantemente atualizados para aprimorar sua capacidade de prever resultados desejados ou precisos. 
  • Redes neurais: as redes neurais são treinadas com grandes volumes de dados e utilizam nós para simular os processos de tomada de decisão do cérebro humano. Ao treinar uma rede neural, o algoritmo compara os dados de input com um conjunto de dados padronizado, validando as previsões prováveis diante dos possíveis erros. 
  • Deep learning: o deep learning é uma evolução das redes neurais e define uma forma de IA algorítmica que opera com um modelo de rede neural contendo três ou mais camadas de nós de tomada de decisão.

Casos de uso de aprendizado de máquina

Os avanços recentes na tecnologia de IA impulsionaram a expansão das aplicações de aprendizado de máquina no setor e no cotidiano. Alguns casos de uso comuns do aprendizado de máquina incluem:

  • Reconhecimento de fala: o aprendizado de máquina é aplicado no reconhecimento de fala computacional para identificar padrões naturais da fala e interpretar o significado implícito dos comandos de voz. O reconhecimento de fala é a base tecnológica por trás de ferramentas como alto-falantes inteligentes e assistentes digitais, como a Siri.
  • Motores de recomendação: diante de um volume cada vez maior de opções, os mecanismos de recomendação orientados por IA organizam as informações para selecionar sugestões de qualidade alinhadas aos gostos dos usuários. Mecanismos de busca como o Google ou o Bing usam aprendizado de máquina para oferecer resultados mais relevantes. Plataformas de mídia como Spotify e Netflix utilizam ML para recomendar novos programas ou músicas com base nas preferências anteriores dos usuários.
  • Detecção de fraude: bancos e outras instituições financeiras usam aprendizado de máquina para identificar transações suspeitas por meio da detecção de fraude. O aprendizado supervisionado treina modelos com base em informações sobre transações fraudulentas já conhecidas. A detecção de anomalias identifica transações atípicas que exigem análise mais aprofundada.
AI Academy

Preparando-se para a IA com a nuvem híbrida

Liderada pelos principais líderes da IBM, o currículo dessa experiência foi desenvolvido para ajudar líderes empresariais a terem o conhecimento necessário para priorizar os investimentos em IA capazes de estimular o crescimento.

Principais diferenças entre CPUs e GPUs

A principal diferença entre CPUs e GPUs está no tipo de processamento: sequencial nas CPUs e paralelo nas GPUs. As CPUs foram projetadas para executar instruções e resolver problemas com rapidez de forma sequencial. As GPUs foram desenvolvidas para executar tarefas maiores que se beneficiam da computação paralela. Como as GPUs conseguem dividir grandes problemas em partes menores que podem ser resolvidas ao mesmo tempo, elas proporcionam maior velocidade e eficiência em aplicações intensivas de aprendizado de máquina. 

Principais características da CPU  

As CPUs foram projetadas para tarefas computacionais gerais, como cálculos básicos, reprodução de mídia e navegação na internet. Conhecidas como o “cérebro” do computador, elas também controlam todos os processos e funções invisíveis que garantem o bom funcionamento do hardware e dos sistemas operacionais. 

Recursos:

  • Os componentes padrão incluem um ou mais núcleos lógicos para o processamento dos dados, unidades de memória, o clock da CPU e uma unidade de controle. Como as CPUs processam tarefas de forma sequencial, contar com mais núcleos permite distribuir os problemas entre vários processadores e realizar multitarefas.
  • As CPUs processam os dados de forma sequencial, resolvendo um problema por vez com boa velocidade, mas capacidade limitada. Conjuntos de dados massivos podem causar gargalos significativos.    
  • As CPUs contam com poucos núcleos, mas funcionam em altas velocidades. 

Prós:

  • Como são voltadas a tarefas gerais, as CPUs processam quase todos os tipos de cálculo exigidos por aplicações do dia a dia. 
  • As CPUs são peças fundamentais dos equipamentos de computação. Por isso, são amplamente disponíveis, têm baixo custo e são fáceis de programar. 

Contras:

  • Mesmo com mais núcleos, as CPUs sequenciais sempre serão mais lentas que as GPUs em determinados tipos de problema, nos quais só a computação paralela consegue otimizar a velocidade de processamento. 

Principais características da GPU

As GPUs foram criadas originalmente para renderização gráfica, mas desde o lançamento da plataforma de programação CUDA pela Nvidia, em 2006, os desenvolvedores passaram a encontrar inúmeras aplicações para esses processadores potentes. As GPUs são usadas em conjunto com as CPUs para reforçar o desempenho de sistemas que renderizam vídeos de alta qualidade ou processam conjuntos de dados extensos e complexos.

Recursos:

  • As GPUs foram projetadas com muito mais núcleos, que operam em velocidades mais baixas e são otimizadas para o processamento paralelo. As GPUs dividem problemas complexos em milhares de tarefas menores para serem processadas simultaneamente, em vez de de forma sequencial. 

Prós:

  • A capacidade de processamento paralelo da GPU permite agrupar instruções para executar cálculos específicos com altíssimo desempenho. Embora os núcleos da GPU sejam mais lentos que os da CPU, o processamento paralelo, em conjunto, resolve problemas grandes e complexos com mais rapidez do que o processamento sequencial. 
  • Embora as GPUs sejam mais complexas de programar do que as CPUs, elas são bem otimizadas para linguagens e frameworks populares de aprendizado de máquina, como Python e Tensorflow. 

Contras:

  • As GPUs são mais caras e menos acessíveis que as CPUs.
  • Programar GPUs exige conhecimento técnico especializado. 

Três diferenças importantes entre CPUs e GPUs

As diferenças entre CPUs e GPUs se concentram em três aspectos principais: arquitetura, velocidade de processamento e acessibilidade.

  1. Arquitetura: as CPUs foram projetadas com menos núcleos para processar dados de forma sequencial. As GPUs geralmente contam com centenas ou milhares de núcleos a mais, desenvolvidos para o processamento paralelo.
  2. Velocidade de processamento: as CPUs foram desenvolvidas para lidar rapidamente com tarefas gerais e de alto nível, mas apresentam dificuldades com conjuntos de dados extremamente grandes, como os usados em aprendizado de máquina. As GPUs são ajustadas especificamente para processar esse tipo de conjunto de dados em larga escala. Em grande parte das aplicações de aprendizado de máquina, as GPUs superam amplamente as CPUs. 
  3. Acessibilidade: as CPUs são mais comuns que as GPUs e têm custo mais baixo tanto para aquisição quanto para operação. Programar GPUs exige um treinamento mais especializado. No entanto, as GPUs são amplamente utilizadas em casos de uso de aprendizado de máquina e IA, com bibliotecas robustas e comunidades ativas que oferecem suporte. 

CPUs vs. GPUs para aplicações de aprendizado de máquina

Tanto as CPUs quanto as GPUs são unidades de processamento. Ambos são capazes de lidar com tarefas semelhantes, com níveis de desempenho que variam conforme as exigências específicas da aplicação. E embora pareçam unidades únicas, cada uma é composta por diferentes componentes, projetados e organizados para tipos distintos de operação.

Mais antiga que as GPUs, a CPU é a parte mais fundamental e essencial de qualquer sistema computacional, desde notebooks e smartphones até satélites e supercomputadores. Funcionando como uma gestora invisível, a CPU interpreta inputs e comandos, envia instruções para executar cálculos e supervisiona todas as operações do sistema. 

Mesmo sendo mais potentes, as GPUs não substituem as CPUs. Em vez disso, como coprocessador, as GPUs são usadas para aumentar os recursos do sistema de computador. Nos sistemas que utilizam GPUs, a CPU ainda desempenha um papel importante no gerenciamento das tarefas das GPUs e de todas as outras operações de processamento que, embora não demandem tantos recursos, continuam sendo essenciais para as funções do computador. 

Por que as GPUs são melhores para o aprendizado de máquina

No processamento de dados em grande escala, o uso de CPUs pouco potentes frequentemente gera gargalos incômodos. Localizados no cruzamento entre ciência da computação e ciência de dados, os algoritmos de aprendizado de máquina frequentemente dependem de GPUs para acelerar o processamento de conjuntos de dados enormes usados no treinamento de modelos de deep learning, com menor latência. Isso ocorre porque até mesmo CPUs com múltiplos núcleos processam dados de maneira diferente das GPUs. 

Estruturalmente, os núcleos das GPUs costumam chegar a milhares, enquanto a maioria das CPUs de uso doméstico tem apenas um, dois, quatro ou seis núcleos. As CPUs de nível de servidor podem ter centenas ou até milhares de núcleos, mas a quantidade de núcleos isoladamente não determina o desempenho. 

As CPUs com múltiplos núcleos fazem múltiplas tarefas melhor do que as de núcleo único, mas ainda processam os dados de forma sequencial. As GPUs lidam com os dados de maneira diferente, por meio do que chamamos de computação paralela. Em vez de executar tarefas em sequência, as GPUs dividem os problemas em partes menores e usam seus inúmeros núcleos para resolvê-las ao mesmo tempo. 

Para tarefas exigentes, como implementar Computer Vision em sistemas de IA ou programas de IA generativa, a computação paralela supera com folga o processamento sequencial.

As GPUs, graças aos recursos de processamento paralelo, continuam sendo componentes fundamentais em projetos de IA. Especificamente no contexto do aprendizado de máquina, as GPUs aceleram o tempo de treinamento de aplicações e realizam operações de matemáticas com tensores e multiplicação de matrizes que sistemas de ML precisam para inferir e gerar resultados úteis.       

Soluções relacionadas
IBM Cloud Infrastructure Center 

O IBM Cloud Infrastructure Center é uma plataforma de software compatível com o OpenStack para gerenciamento da infraestrutura de nuvens privadas em sistemas IBM zSystems e no IBM LinuxONE.

Explore o Cloud Infrastructure Center
Soluções de infraestrutura de TI

Conheça servidores, armazenamento e software projetados para sua estratégia corporativa de nuvem híbrida e IA.

Saiba mais sobre as soluções de infraestrutura de TI
Soluções de infraestrutura em nuvem

Encontre a solução ideal de infraestrutura em nuvem para as necessidades do seu negócio e expanda os recursos conforme a demanda.

Soluções em nuvem
Dê o próximo passo

Transforme sua infraestrutura empresarial com as soluções da IBM prontas para IA e nuvem híbrida. Descubra servidores, armazenamento e software projetados para proteger, expandir e modernizar seus negócios ou acesse insights de especialistas para aprimorar sua estratégia de IA generativa.

Saiba mais sobre as soluções de infraestrutura de TI Baixe o e-book