guia rápido

Entendendo CPU, GPU, RAM e NVMe no Model Serving

Entendendo CPU, GPU, RAM e NVMe no Model Serving

Quando você coloca um modelo de machine learning para funcionar em produção, o desempenho depende diretamente do hardware por trás dele. CPU, GPU, RAM e NVMe são os quatro componentes que mais influenciam a velocidade de resposta e a capacidade de atender múltiplos usuários ao mesmo tempo. Cada um tem um papel específico: alguns processam cálculos, outros guardam dados temporariamente e outros carregam arquivos rapidamente. Neste artigo, você vai entender o que cada componente faz no contexto de model serving e como identificar qual deles está limitando o desempenho do seu sistema.

CPU: o processador que orquestra o serving

A CPU é responsável por executar a lógica geral do sistema: receber requisições, preparar os dados de entrada, chamar o modelo e formatar a resposta. Em muitos cenários de model serving com modelos pequenos ou médios, a CPU sozinha já dá conta do trabalho. Ela é especialmente eficiente em tarefas sequenciais e no gerenciamento de múltiplas conexões simultâneas. Um servidor com uma CPU de 8 núcleos, por exemplo, consegue processar dezenas de requisições por segundo em modelos leves como os de classificação de texto com scikit-learn. Quando o modelo não exige operações matemáticas pesadas em massa, investir em uma CPU mais rápida costuma ser mais barato e suficiente do que adicionar uma GPU ao setup.

GPU: aceleração para modelos pesados

A GPU entra em ação quando o modelo precisa realizar muitas operações matemáticas em paralelo, como acontece com redes neurais profundas, modelos de linguagem grandes e processamento de imagens. Enquanto a CPU execita poucas tarefas muito bem, a GPU milhares de cálculos ao mesmo tempo. Por isso, um modelo que leva 2 segundos para responder na CPU pode responder em menos de 100 milissegundos na GPU. Um exemplo prático: ao servir um modelo como o BERT para análise de sentimentos, a redução de latência com GPU pode chegar a 10x. No entanto, nem todo modelo se beneficia de GPU — modelos baseados em árvores de decisão, como XGBoost, geralmente rodam bem na CPU.

RAM: memória para carregar modelos na hora certa

A RAM é onde o modelo fica armazenado enquanto está atendendo requisições. Se o modelo ocupar 4 GB e o servidor tiver apenas 3 GB de RAM disponíveis, o sistema simplesmente não consegue carregá-lo. Além do modelo em si, a RAM também precisa comportar os dados de entrada em processamento e o sistema operacional. Um modelo de linguagem como o LLaMA 7B, por exemplo, pode exigir entre 14 e 16 GB de RAM apenas para ser carregado em precisão completa. Quando a RAM não é suficiente, o sistema começa a usar o disco como memória temporária, o que deixa tudo drasticamente mais lento. Por isso, verificar o consumo de memória do modelo antes de escolher o servidor é um passo essencial.

NVMe: armazenamento rápido para carregamento ágil

O disco NVMe afeta diretamente a velocidade com que o modelo é lido do armazenamento e carregado na RAM. Um SSD NVMe convencional alcança velocidades de leitura de até 3.500 MB/s, enquanto um HDD tradicional fica em torno de 150 MB/s. Na prática, isso significa que um modelo de 10 GB leva cerca de 3 segundos para ser carregado a partir de um NVMe, mas quase 70 segundos a partir de um HDD. Em ambientes onde os modelos são atualizados com frequência ou onde é necessário trocar entre diferentes modelos sob demanda, o NVMe faz uma diferença perceptível no tempo de inicialização. Para serviços com cold start — como funções serverless que carregam o modelo sob demanda — esse componente pode ser o gargalo principal.

Conclusão

CPU, GPU, RAM e NVMe trabalham juntos, mas cada um impacta uma parte diferente do model serving. A CPU cuida da lógica geral, a GPU acelera os cálculos pesados, a RAM determina se o modelo cabe no servidor e o NVMe define o quão rápido ele é carregado. Antes de escolher uma máquina para servir modelos, vale mapear o consumo de cada componente com ferramentas de monitoramento. Assim, você evita pagar por recursos que não precisa e identifica com precisão onde está o gargalo do seu sistema.