Yolo Vision Shenzhen
Shenzhen
Junte-se agora
Glossário

FLOPs

Saiba como os FLOPs medem a complexidade computacional dos modelos de IA. Descubra como calcular os FLOPs para Ultralytics e otimizar o desempenho para a IA de ponta.

FLOPs, ou Operações de Ponto Flutuante, é uma métrica padrão usada para medir a complexidade computacional de um modelo de aprendizagem automática. Especificamente, conta o número de cálculos matemáticos — principalmente adições e multiplicações envolvendo números decimais — que uma rede neural deve realizar para processar uma única entrada, como uma imagem ou uma frase. No mundo do aprendizado profundo, FLOPs serve como um padrão teórico para estimar o quão "pesado" ou computacionalmente dispendioso um modelo é. Uma contagem mais alta de FLOPs geralmente sugere que um modelo é mais complexo e exigirá mais poder de processamento e energia para ser executado, enquanto uma contagem mais baixa indica uma arquitetura leve projetada para eficiência.

O papel dos FLOPs na seleção de modelos

Ao desenvolver aplicações de inteligência artificial, os engenheiros frequentemente enfrentam um compromisso entre precisão e velocidade. O FLOPs atua como um proxy independente de hardware para latência de inferência, permitindo que os programadores comparem diferentes arquiteturas sem precisar testá-las em todos os dispositivos possíveis. Essa métrica é essencial para escolher o modelo certo para cenários de implementação específicos. Por exemplo, um investigador que realiza experiências em poderosos servidores de computação em nuvem pode priorizar a precisão em detrimento da eficiência, utilizando modelos com FLOPs elevados. Por outro lado, um engenheiro que desenvolve dispositivos de IA de ponta deve priorizar FLOPs baixos para garantir que a aplicação funcione perfeitamente dentro de limites rigorosos de energia e temperatura.

Aplicações no Mundo Real

As implicações práticas dos FLOPs são evidentes em vários setores onde os recursos computacionais são um fator crítico .

  • Drones autónomos: Em áreas como a robótica agrícola, drones equipados com câmaras analisam a saúde das culturas em tempo real. Como as baterias dos drones têm capacidade limitada, cada pedacinho de consumo de energia é importante. Os engenheiros selecionam especificamente modelos com baixo FLOPs, como as variantes Nano do YOLO26, para minimizar o consumo do processador integrado, maximizando assim o tempo de voo e o alcance operacional.
  • Realidade aumentada móvel: as aplicações para smartphones que utilizam reconhecimento facial para segurança ou aplicam filtros de RA dependem muito de um processamento eficiente. Essas aplicações devem funcionar sem causar superaquecimento ou lentidão no dispositivo. Os programadores utilizam estimativas de FLOPs para selecionar modelos leves que se encaixam confortavelmente nas capacidades de chipsets móveis, como a série Snapdragon ou os chips da série A da Apple .

FLOPs vs. FLOPS (Operações de ponto flutuante por segundo)

É importante distinguir entre «FLOPs» (plural de FLOP) e «FLOPS» (tudo em maiúsculas). Embora pareçam quase idênticos, medem coisas diferentes. FLOPs (com «s» minúsculo) refere-se à quantidade total de operações exigidas por um modelo — é uma medida estática de complexidade. FLOPS (letra «S» maiúscula) significa Operações de ponto flutuante por segundo e mede a velocidade ou capacidade de desempenho do hardware, como um GPU. Pode pensar nos FLOPs como a distância que um carro precisa percorrer (o trabalho a ser feito), enquanto FLOPS é a velocidade máxima do carro (a capacidade do hardware para fazer o trabalho).

Medindo FLOPs com Python

É possível calcular facilmente o custo computacional de um Ultralytics usando Python. Isso é particularmente útil durante a fase de otimização do modelo para garantir que a sua rede neural se encaixe no seu orçamento de hardware. O exemplo a seguir demonstra como carregar um modelo YOLO26 e determinar os seus FLOPs.

from ultralytics import YOLO
from ultralytics.utils.torch_utils import get_flops

# Load a lightweight YOLO26 model
model = YOLO("yolo26n.pt")

# Calculate and print the model's FLOPs (Billions of operations)
# This gives you a hardware-independent complexity metric
flops = get_flops(model)
print(f"Model FLOPs: {flops:.2f} Billion")

Reduzindo FLOPs para maior eficiência

Para tornar os modelos mais implementáveis, os investigadores utilizam várias técnicas para reduzir os FLOPs sem sacrificar significativamente a precisão. A poda do modelo envolve a remoção de ligações menos importantes na rede neural, efetivamente afinando-a. Outra técnica é a quantização, que reduz a precisão dos números usados nos cálculos (por exemplo, de ponto flutuante de 32 bits para inteiros de 8 bits). As ferramentas disponíveis na Ultralytics ajudam a otimizar esses processos, facilitando a implementação de modelos eficientes em destinos como o TensorRT ou OpenVINO. Ao compreender e otimizar os FLOPs, os programadores podem construir sistemas de IA que são poderosos e sustentáveis.

Junte-se à comunidade Ultralytics

Junte-se ao futuro da IA. Conecte-se, colabore e cresça com inovadores globais

Junte-se agora