GPU (Graphics Processing Unit)
Aprende como as GPUs aceleram a IA e o deep learning. Descobre o poder da computação paralela para treinar modelos Ultralytics YOLO26 e otimizar a inferência em tempo real.
Uma Unidade de Processamento Gráfico (GPU) é um circuito eletrónico especializado, originalmente concebido para acelerar a manipulação e a criação de imagens num framebuffer para apresentação no ecrã. Embora as suas origens estejam na renderização de gráficos de computador para jogos e visualização profissional, as GPUs evoluíram para se tornarem o motor fundamental da Inteligência Artificial (AI) moderna. Ao contrário de um processador padrão, que utiliza alguns núcleos potentes para processar tarefas sequencialmente, uma arquitetura de GPU é composta por milhares de núcleos menores e eficientes, concebidos para processar várias tarefas em simultâneo. Esta capacidade, conhecida como computação paralela, torna-as excecionalmente eficientes para as operações massivas de matrizes e vetores que sustentam a aprendizagem profunda (DL) e as redes neurais (NN) complexas.
Aceleração de cargas de trabalho de AI#
A principal razão pela qual as GPUs são indispensáveis para a aprendizagem automática (ML) é a sua capacidade de executar multiplicações de matrizes a alta velocidade. Frameworks de aprendizagem profunda, como PyTorch e TensorFlow, são especificamente otimizados para tirar partido desta aceleração de hardware. Isto resulta numa redução significativa do tempo de treino de modelos, transformando frequentemente semanas de computação num processador padrão em apenas algumas horas numa GPU. O débito computacional destes dispositivos é normalmente medido em FLOPS (operações de ponto flutuante por segundo), uma métrica crítica para avaliar a capacidade do hardware de lidar com as exigências rigorosas de modelos de última geração, como o YOLO26.
Diferenças de hardware: GPU vs. CPU vs. TPU#
Para compreender o panorama do hardware, é útil distinguir a GPU de outras unidades de processamento:
- CPU (Unidade Central de Processamento): o "cérebro" de uso geral de um computador. As CPUs são excelentes no processamento sequencial e em ramificações lógicas complexas, mas são menos eficientes para o paralelismo massivo necessário ao treino de AI em grande escala.
- GPU (Unidade de Processamento Gráfico): o padrão da indústria para treino e inferência. Fabricantes líderes, como a NVIDIA, utilizam ecossistemas de software como o CUDA para permitir que os programadores programem diretamente a GPU para computação de uso geral.
- TPU (Unidade de Processamento de Tensores): um Circuito Integrado Específico para Aplicações (ASIC) desenvolvido especificamente para aprendizagem automática com redes neurais. Embora sejam altamente eficientes para operações específicas com tensores, são menos versáteis do que as GPUs para tarefas de computação mais abrangentes.
Aplicações no mundo real#
A implementação de GPUs de alto desempenho impulsionou inovações em diversos setores:
- Veículos Autónomos: os carros autónomos têm de processar todos os segundos gigabytes de dados provenientes de câmaras, radares e sensores LiDAR. As GPUs permitem a inferência em tempo real, possibilitando que o computador de bordo do veículo execute modelos de Deteção de Objetos que identificam instantaneamente peões, sinais de trânsito e obstáculos.
- Análise de Imagens Médicas: na área da saúde, as GPUs aceleram o processamento de exames de alta resolução, como RM e TC. Permitem que algoritmos sofisticados de Segmentação de Imagens delimitem com precisão tumores ou órgãos, ajudando os radiologistas a obter diagnósticos mais rápidos e precisos sem depender exclusivamente da análise manual.
Treino com GPUs#
Ao utilizar o pacote ultralytics, utilizar uma GPU é simples e altamente recomendado para obter fluxos de trabalho eficientes. A biblioteca suporta a deteção automática do dispositivo, mas também podes especificar explicitamente o dispositivo.
O exemplo seguinte demonstra como treinar um modelo YOLO26 na primeira GPU disponível:
from ultralytics import YOLO
# Load the YOLO26n model
model = YOLO("yolo26n.pt")
# Train the model on the first available GPU (device=0)
# This significantly accelerates training compared to CPU usage
results = model.train(data="coco8.yaml", epochs=5, imgsz=640, device=0)Implementação e otimização#
Para além do treino, as GPUs desempenham um papel crucial na Implementação de Modelos. Para maximizar a eficiência durante a inferência, os modelos são frequentemente convertidos para formatos otimizados, como TensorRT, que reestruturam a rede neural para se alinharem perfeitamente com a arquitetura específica da GPU, reduzindo a latência. Para programadores que não têm acesso a hardware local de alto desempenho, a Plataforma Ultralytics oferece soluções baseadas na nuvem para gerir conjuntos de dados e treinar modelos em clusters remotos de GPUs potentes. Esta acessibilidade impulsiona a inovação em AI de Borda, permitindo implementar tarefas complexas de Visão Computacional (CV) em dispositivos mais pequenos e eficientes em termos energéticos no terreno.









