8 minutos
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.
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.
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.
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:
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.
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:
Prós:
Contras:
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:
Prós:
Contras:
As diferenças entre CPUs e GPUs se concentram em três aspectos principais: arquitetura, velocidade de processamento e acessibilidade.
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.
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.
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.
Conheça servidores, armazenamento e software projetados para sua estratégia corporativa de nuvem híbrida e IA.
Encontre a solução ideal de infraestrutura em nuvem para as necessidades do seu negócio e expanda os recursos conforme a demanda.