Uma Unidade Central de ProcessamentoCPU), muitas vezes referida simplesmente como processador, é o componente central de um computador que executa instruções e efectua os cálculos primários necessários para o funcionamento do sistema. Trata das operações básicas de aritmética, lógica, controlo e entrada/saída (E/S) especificadas pelas instruções de software. Nos domínios da Inteligência Artificial (IA) e da Aprendizagem Automática (AM), embora o hardware especializado, como as GPUs e as TPUs, se destaque no processamento paralelo para tarefas como a formação de modelos de aprendizagem profunda, a CPU continua a ser um componente essencial e versátil que orquestra o fluxo de trabalho geral.
Papel na IA e na aprendizagem automática
As CPUs são concebidas como processadores de uso geral, excelentes na execução rápida de sequências de instruções e no tratamento de diversas tarefas computacionais. As principais caraterísticas que afectam o desempenho incluem a velocidade do relógio (quantas operações por segundo) e o número de núcleos (que permitem a execução paralela de tarefas). Embora as CPUs modernas de fabricantes como Intel e AMD apresentem vários núcleos, não possuem a arquitetura maciçamente paralela das GPU, o que as torna menos adequadas para as multiplicações de matrizes em grande escala comuns no treino de aprendizagem profunda.
No entanto, as CPUs são indispensáveis nos pipelines de IA/ML para várias funções críticas:
- Preparação de dados: Tarefas como o carregamento de conjuntos de dados, limpeza de dados, transformação e aumento de dados são frequentemente executadas de forma eficiente em CPUs. Bibliotecas como o Pandas e partes do Scikit-learn dependem muito do processamento CPU . A preparação de dados para projetos de visão computacional é uma etapa comum CPU.
- Orquestração do fluxo de trabalho: As CPUs gerem o fluxo geral de execução dos pipelines de ML, coordenando tarefas entre diferentes componentes de hardware (como GPUs) e módulos de software.
- Modelos tradicionais de ML: Muitos algoritmos clássicos de ML, como as Support Vetor Machines (SVM) e as Random Forests, são frequentemente treinados e funcionam eficazmente em CPUs.
- Inferência: Embora as GPUs ofereçam alta taxa de transferência para inferência, as CPUs são frequentemente usadas para inferência em tempo real, especialmente em ambientes com recursos limitados(Edge AI) ou quando a latência para previsões únicas é priorizada em relação à taxa de transferência em lote. Estruturas como o ONNX Runtime e o kit de ferramentas OpenVINO daIntel fornecem recursos de inferência otimizados em CPUs. Os modelos Ultralytics podem ser exportados para formatos como ONNX para implantação em CPU , conforme detalhado na documentação de exportação de modelos.
- Operações de entrada/saída (E/S): As CPUs tratam da leitura e escrita de dados do armazenamento e da comunicação de rede, essencial para carregar modelos e dados.
CPU vs. GPU e TPU
A principal diferença entre CPUs, GPUs e TPUs reside na sua arquitetura e na finalidade pretendida:
- CPU: Processador de uso geral otimizado para execução de baixa latência de tarefas seqüenciais. Tem alguns núcleos poderosos. Ideal para fluxo de controlo, funções do sistema operativo e cálculos diversos.
- GPU: Originalmente para gráficos, agora é amplamente utilizada para IA. Apresenta milhares de núcleos menores otimizados para processamento paralelo de grandes blocos de dados (como matrizes em deep learning). Consulta as GPUsNVIDIA para veres exemplos. Acelera significativamente o treinamento de modelos como Ultralytics YOLO.
- TPU: O hardware personalizado daGoogle, especificamente concebido para acelerar os cálculos tensor utilizados nas redes neurais, em particular no TensorFlow TensorFlow. Optimizado para um elevado rendimento e eficiência em cargas de trabalho específicas de ML.
Mesmo em sistemas que dependem fortemente de GPUs ou TPUs para treinar modelos complexos como o YOLOv10 ou o YOLO11a CPU gere o sistema global, prepara os dados e trata de partes do fluxo de trabalho que não são adequadas para aceleradores. Escolher o hardware correto implica compreender estas compensações para uma implementação eficiente do modelo.
Exemplos reais de IA/ML usando CPU
- Pré-processamento de processamento de linguagem natural (PNL): Tarefas como a tokenização, em que o texto é dividido em unidades menores (palavras ou subpalavras), são fundamentais na PNL. Bibliotecas como a Hugging Face's Tokenizers geralmente realizam essas operações de forma eficiente na CPU antes que os dados sejam passados para uma GPU para inferência ou treinamento do modelo.
- Inferência de dispositivos de ponta: Muitas aplicações Edge AI implementam modelos ML em dispositivos com potência e recursos computacionais limitados, como um Raspberry Pi ou dispositivos baseados na arquitetura ARM. Nesses cenários, a inferência geralmente é executada diretamente na CPU do dispositivo, possivelmente usando bibliotecas otimizadas como TensorFlow Lite ou OpenVINO para obter um desempenho aceitável para tarefas como deteção básica de objectos ou deteção de palavras-chave. A gestão destas implementações pode ser facilitada através de plataformas como o Ultralytics HUB.
Compreender as capacidades e limitações da CPU é crucial para conceber e otimizar sistemas de IA de ponta a ponta, desde o tratamento de dados(ver guia de recolha de dados) até à implementação eficiente em diversas plataformas de hardware.