Existe um jeito clássico de gastar mal o dinheiro de um projeto de IA: colocar quase tudo na placa de vídeo mais forte que o orçamento aguenta, montar o resto da máquina com o que sobrou e descobrir três semanas depois que a época de treino demora quase o mesmo tempo. A GPU nova está lá, com VRAM de sobra, oscilando entre 30% e 50% de ocupação. O gargalo mudou de lugar, e ninguém percebeu.
A pergunta “cpu ou gpu para machine learning” costuma ser tratada como disputa de quem é mais rápido, e não é bem isso. As duas peças fazem trabalhos diferentes no mesmo pipeline, e o desempenho final é ditado pela etapa mais lenta. Uma GPU de 24 GB alimentada por uma CPU de 6 núcleos e um SSD lento entrega menos que uma placa modesta em máquina equilibrada.
O que vem a seguir mostra onde o data loading trava a operação, aponta os casos em que a CPU vence e fecha com uma regra de divisão de orçamento por tipo de carga. Para o recorte mais amplo, com a RAM na conta como terceira peça, vale ler o guia sobre como dividir o investimento entre GPU, RAM e CPU em um PC de machine learning.
O que cada peça faz de fato no pipeline
Um ciclo de treino de rede neural tem etapas bem definidas: ler os dados do disco, decodificar (imagem, áudio, texto), aplicar aumento e normalização, montar o lote, transferir para a memória da placa, executar o forward e o backward pass e atualizar os pesos. Só a penúltima etapa é território natural da GPU, todas as anteriores rodam na CPU.
A GPU governa a matemática paralela
O treino de redes neurais é, no fundo, uma pilha de multiplicações de matrizes, e esse tipo de conta se divide em milhares de operações independentes que rodam ao mesmo tempo. Enquanto um processador de desktop trabalha com algo entre 8 e 32 núcleos complexos, uma placa de vídeo traz milhares de núcleos simples e unidades dedicadas a operações tensoriais em precisão reduzida.
Dois números mandam aqui. O primeiro é a VRAM, que determina o tamanho de modelo e de lote que cabem sem recorrer a acumulação de gradiente ou offload: modelos de visão em resolução alta e modelos de linguagem com bilhões de parâmetros fazem 12 GB virarem limitante rápido. O segundo é a largura de banda de memória da placa. A escolha entre linhas de consumo e profissionais entra aí, detalhada na comparação entre placas NVIDIA RTX e as profissionais RTX Ada para machine learning.
A CPU governa a logística
Tudo o que acontece antes do lote chegar à GPU é trabalho serial, cheio de desvios condicionais, parsing de strings e leitura de arquivos pequenos. Decodificar 256 JPEGs, aplicar recorte aleatório e normalização, converter tipos, montar o tensor e enfileirar: isso é CPU pura. O mesmo vale para feature engineering, joins em pandas ou Polars e tokenização de texto.
Matt Sarrel, em análise publicada no blog da Aerospike sobre pipelines de machine learning em tempo real, aponta que cerca de 70% do tempo de treino é consumido por aquisição, limpeza e preparação de dados, não pelo cálculo em si. Esse número descreve a fila que alimenta a rede, e essa fila roda no processador.
O gargalo invisível: a GPU parada esperando o lote
Quando a CPU não monta lotes na velocidade em que a GPU os consome, a placa entra em espera. O sintoma é fácil de reconhecer: uso da GPU serrilhado, subindo a 90% e caindo a 20% em ciclos curtos, temperatura baixa e consumo bem abaixo do limite. O treino não está limitado por computação, está limitado por entrada de dados.
Frameworks tentam esconder isso com paralelismo. O DataLoader do PyTorch usa o parâmetro num_workers para levantar processos que preparam os lotes seguintes enquanto o atual é processado, e a documentação oficial do PyTorch sobre carregamento de dados trata esse ajuste como decisão central de desempenho. Cada worker é um processo real: se a máquina tem 6 núcleos e você pede 12 workers, o sistema apenas troca contexto mais vezes e piora a latência.
Dá para tirar parte do trabalho da CPU: a NVIDIA mantém a biblioteca DALI para mover decodificação e aumento de imagens para a própria GPU. Ainda assim, leitura de disco, controle de fila e pré-processamento de dados não visuais seguem no processador. A regra prática é reservar de 4 a 8 núcleos físicos por GPU em cargas de visão, e de 2 a 4 quando os dados já chegam em formato binário como TFRecord, WebDataset ou Parquet.
O armazenamento é o terceiro elemento da conta: milhões de arquivos pequenos em um SSD SATA criam uma fila que núcleo nenhum resolve, assunto desenvolvido no comparativo sobre qual tipo de armazenamento faz sentido em cada workstation.
CPU ou GPU para machine learning: o que muda por tipo de carga
| Tipo de trabalho | Componente crítico | Peça de apoio | Sinal de gargalo |
|---|---|---|---|
| Treino de CNN e visão computacional | GPU (VRAM e banda) | CPU de 8 a 16 núcleos | Uso da GPU serrilhado abaixo de 70% |
| Fine tuning de LLM local | GPU (VRAM acima de tudo) | RAM para offload | Out of memory ou swap constante |
| Inferência de rede neural em lote | GPU | CPU no pré e pós-processamento | Latência alta com GPU ociosa |
| Gradient boosting (XGBoost, LightGBM) | CPU multinúcleo | RAM ampla | Todos os núcleos em 100% por horas |
| scikit-learn e modelos clássicos | CPU (frequência e núcleos) | Armazenamento rápido | Núcleo único saturado |
| ETL e feature engineering em pandas | CPU e RAM | NVMe | Estouro de memória e disco alto |
| Treino distribuído em duas ou mais GPUs | Linhas PCIe e GPU | CPU com muitos núcleos | Escala ruim com a segunda placa |
Quando a CPU ganha o duelo de forma limpa
Boa parte do trabalho real de ciência de dados no Brasil não envolve rede neural nenhuma. Previsão de demanda, risco de crédito, churn e detecção de fraude são resolvidos com dados tabulares, e nesse terreno o gradient boosting continua difícil de bater. XGBoost, LightGBM e CatBoost têm suporte a GPU, e a documentação do XGBoost sobre execução em GPU descreve ganhos em bases grandes, mas em bases que cabem na RAM a versão em CPU com muitos núcleos costuma empatar ou vencer, sem a complexidade extra do ambiente CUDA.
O scikit-learn é ainda mais direto, porque a maior parte dos seus estimadores não usa GPU. Random forest, regressão logística, SVM e clustering rodam paralelizados em CPU, e como validação cruzada e busca de hiperparâmetros multiplicam o número de treinos, quem decide o tempo total é a contagem de núcleos.
Há ainda o trabalho anterior a qualquer modelo. Ler um Parquet de dezenas de gigabytes, fazer joins e gerar janelas temporais é carga de CPU e RAM. Se a sua rotina é essa, 24 a 32 núcleos e 128 GB de memória rendem mais que a mesma verba em uma GPU de topo, recorte detalhado no artigo sobre o que priorizar em hardware para IA e data science.
Linhas PCIe: o detalhe que quebra projetos de duas GPUs
Cada GPU quer um slot PCIe x16 para si, e desktops comuns não têm essa folga: um processador AM5 ou LGA1851 oferece algo na casa de 20 a 28 linhas no total, e parte já vai para os SSDs NVMe. Ao instalar a segunda placa, a placa-mãe bifurca o barramento e as duas passam a operar em x8. Para um modelo que cabe em uma placa só o impacto é pequeno; para treino distribuído com sincronização de gradientes a cada passo, a queda é sensível.
Plataformas de workstation existem por causa disso. AMD Threadripper PRO e Intel Xeon W entregam da casa de 48 a 128 linhas PCIe, o que permite duas, três ou quatro placas em x16 real, mais NVMe e rede rápida sem disputa. O livro Dive into Deep Learning, na seção sobre seleção de servidores e GPUs, recomenda verificar se a largura de 16 pistas permanece disponível depois de todas as placas instaladas. É uma checagem de cinco minutos que evita anos de arrependimento.
RAM do sistema: pré-requisito, não peça em disputa
A memória do sistema não compete com a GPU, ela habilita a GPU. Buffers do data loader, cópias intermediárias, cache de dataset e a staging area de transferência vivem na RAM, e ficar curto aqui gera swap, o que transforma horas de treino em dias.
A referência do Dive into Deep Learning serve de piso: 32 GB para uma GPU, 64 GB para duas e 128 GB para quatro. Para dados tabulares grandes, some o tamanho da base que você carrega de uma vez e multiplique por três, porque junções e cópias em pandas duplicam objetos com facilidade.
Regra de bolso para dividir o orçamento
Considerando apenas a verba de processamento (CPU mais GPU, sem contar RAM, armazenamento, fonte e refrigeração), a divisão sensata por tipo de trabalho é esta:
| Perfil de trabalho | GPU | CPU | Observação |
|---|---|---|---|
| Deep learning como atividade principal | 65% a 75% | 25% a 35% | VRAM primeiro, nunca abaixo de 8 núcleos físicos |
| Uso misto (deep learning e tabular) | 50% a 60% | 40% a 50% | 16 núcleos e placa de 16 a 24 GB de VRAM |
| Ciência de dados tabular e clássica | 25% a 35% | 65% a 75% | Núcleos e RAM mandam, GPU só acelera boosting |
| Inferência local e prototipagem | 55% a 65% | 35% a 45% | VRAM suficiente para o modelo alvo |
| Multi GPU e treino distribuído | 60% | 40% | Plataforma com linhas PCIe sobrando |
Três travas valem para qualquer linha da tabela: nunca desça de 8 núcleos físicos em máquina que treina rede neural, nunca escolha uma GPU cuja VRAM não comporte o maior modelo que você pretende rodar nos próximos dois anos e nunca monte multi GPU em desktop comum sem conferir antes o mapa de linhas PCIe da placa-mãe.
Configuração Zenion recomendada
Para deep learning em uma GPU, a linha Render cobre bem o cenário: processador de 12 a 16 núcleos com frequência alta para sustentar o data loader, placa com 16 a 24 GB de VRAM, 64 GB de RAM e NVMe dedicado ao dataset, separado do disco do sistema.
Times que combinam treino de redes com processamento pesado de dados tabulares se encaixam na Supreme, com 24 a 32 núcleos, 128 GB de memória expansível e espaço físico e elétrico para uma segunda placa. Pesquisa, treino distribuído e fine tuning de modelos grandes pedem a Infinite, sobre plataforma Threadripper PRO ou Xeon W, com linhas PCIe para múltiplas placas em x16 real, memória em oito canais e refrigeração dimensionada para carga contínua de dias.
O dimensionamento parte do seu fluxo real: frameworks, tamanho e formato do dataset, execuções por dia. Vale alinhar o ambiente de software antes de fechar a compra, porque driver e biblioteca mal casados custam desempenho de graça, assunto tratado no guia de configuração de ambiente e drivers para um PC de machine learning.
Perguntas frequentes
Machine learning usa mais CPU ou GPU?
Depende da técnica. Redes neurais profundas usam intensamente a GPU na fase de cálculo, enquanto modelos clássicos e o pré-processamento rodam em CPU. Em treino de visão computacional, a CPU precisa ser boa o bastante para não deixar a placa esperando.
Preciso de GPU para começar em machine learning?
Para aprender, trabalhar com dados tabulares e usar scikit-learn, não: uma CPU com 8 ou mais núcleos e RAM suficiente resolve. A GPU vira obrigatória quando você passa a treinar redes neurais próprias ou a rodar modelos de linguagem localmente.
Quantos núcleos de CPU são necessários para deep learning?
De 4 a 8 núcleos físicos por GPU em cargas de visão, que exigem decodificação e aumento de imagem em tempo real. Se os dados já chegam pré-processados em formato binário, de 2 a 4 por GPU bastam.
Quanta RAM preciso em um PC de machine learning?
Use 32 GB como piso para uma GPU, 64 GB para duas e 128 GB para quatro ou para bases tabulares grandes. Memória curta gera swap, e swap em treino longo custa mais que a economia justificava.
XGBoost roda melhor em CPU ou GPU?
Em bases que cabem na RAM, a versão em CPU com muitos núcleos costuma empatar com a GPU. O ganho da placa aparece em bases muito grandes, com muitas árvores e muitas rodadas de busca de hiperparâmetros.
Duas GPUs dobram a velocidade do treino?
Raramente. O ganho depende da sincronização de gradientes e das linhas PCIe disponíveis. Em desktop comum as placas caem para x8 e a escala fica bem abaixo de dois; em workstation com x16 real para cada uma, o resultado chega perto.
O próximo passo
A decisão entre CPU ou GPU para machine learning não termina em uma proporção de orçamento, termina em uma medição. Rode um treino representativo e observe se a GPU mantém ocupação alta e estável. Se o gráfico estiver serrilhado, o dinheiro seguinte vai para núcleos, memória e armazenamento, não para uma placa maior.
A equipe da Zenion faz esse dimensionamento antes de montar. Fale com um especialista e receba uma configuração fechada para o seu pipeline, com o gargalo mapeado antes da compra.