Yolo Vision Shenzhen
Shenzhen
Junte-se agora
Glossário

FLOPs

Entenda FLOPs em machine learning! Aprenda como ele mede a complexidade do modelo, impacta a eficiência e auxilia na seleção de hardware.

Os FLOPs, ou Floating-Point Operations, são uma métrica fundamental para quantificar a complexidade computacional dos modelos de aprendizagem automática, especificamente no no domínio da aprendizagem profunda. Esta medida calcula o número total de operações matemáticas - como a adição, a subtração, a multiplicação e a divisão que envolvem a aprendizagem profunda, subtração, multiplicação e divisão envolvendo números decimais - necessárias para completar uma única passagem de uma rede neural. Ao determinar a contagem de FLOPs, engenheiros podem estimar o poder de processamento necessário para executar um modelo, tornando-o uma estatística vital para a seleção e otimização de hardware. Embora distintos do tamanho do ficheiro ou da contagem de parâmetros, os FLOPs fornecem uma base teórica para de um modelo, o que se correlaciona diretamente com o consumo de energia e a velocidade de execução em processadores como uma CPU ou GPU.

A importância dos FLOPs no desenvolvimento de IA

Compreender o custo computacional de um modelo é essencial para um desenvolvimento eficiente da desenvolvimento eficiente da IA. Uma contagem mais baixa de FLOPs geralmente indica que um modelo requer menos cálculos para produzir uma previsão, o que é crítico para ambientes ambientes com recursos limitados.

  • Seleção de hardware: Conhecer os FLOPs permite que os desenvolvedores combinem os modelos com as capacidades de hardware específico, como a série NVIDIA Jetson ou microcontroladores incorporados padrão.
  • Eficiência do modelo: Ao comparar arquitecturas, como verificar as YOLO11 , os FLOPs oferecem uma forma independente de hardware para avaliar a eficiência e a precisão.
  • Consumo de energia: Em dispositivos alimentados por bateria, a redução de FLOPs traduz-se diretamente numa maior vida útil da bateria, pois o processador realiza menos trabalho por quadro.

Aplicações no Mundo Real

O impacto prático dos FLOPs é mais visível quando os modelos passam de ambientes de investigação para ambientes de produção onde a latência e a potência são limitadas.

  1. Deteção de objectos em smartphones: Para uma aplicação móvel que efectua inferência em tempo real, o dispositivo deve processar quadros de vídeo instantaneamente sem sobreaquecer ou esgotar a bateria. Os programadores podem escolher um modelo leve como a versão Nano do YOLO11 porque a sua baixa contagem de FLOPs garante um desempenho suave em processadores móveis como o Qualcomm Snapdragon ou Apple Silicon.
  2. Navegação autónoma de drones: Os drones utilizados na agricultura de precisão dependem de computadores de bordo computadores de bordo para detect obstáculos e mapear o terreno. Uma vez que estes dispositivos têm limites de peso rigorosos que restringem o tamanho da bateria que restringem o tamanho da bateria, os engenheiros optimizam para FLOPs baixos para maximizar o tempo de voo, mantendo as capacidades de deteção de objectos.

Calculando FLOPs com Python

Pode determinar a complexidade computacional de um modelo Ultralytics utilizando as ferramentas de criação de perfis incorporadas. O seguinte carrega um modelo e calcula os FLOPs necessários para um tamanho de entrada específico.

from ultralytics import YOLO

# Load the YOLO11 nano model
model = YOLO("yolo11n.pt")

# Profile the model to see FLOPs, parameters, and speed
# The 'imgsz' argument defines the input resolution (e.g., 640x640)
model.profile(imgsz=640)

Este método produz uma tabela de resumo que inclui o número de parâmetros, gradientes e os GFLOPs (GigaFLOPs, ou biliões de operações), ajudando-o a avaliar se o modelo se ajusta às suas restrições de implantação.

FLOPs vs. Métricas Relacionadas

É importante distinguir os FLOPs de outras métricas que descrevem o tamanho e a velocidade do modelo, uma vez que medem diferentes aspectos do desempenho.

  • Parâmetros vs. FLOPs: Os pesos do modelo, ou parâmetros, definem a quantidade de memória (RAM) é necessária para armazenar o modelo. Em contrapartida, os FLOPs medem o trabalho computacional necessário para o executar. A modelo pode ser pequeno em termos de armazenamento mas computacionalmente dispendioso se reutilizar parâmetros frequentemente, como se vê nas Redes Neuronais Recorrentes (RNNs).
  • MACs vs. FLOPs: As especificações de hardware referem-se frequentemente a Operações de multiplicação-acumulação (MACs). Uma MAC envolve normalmente uma multiplicação seguida de uma adição, contando como duas operações de vírgula flutuante. Por conseguinte, 1 GigaMAC é aproximadamente equivalente a 2 GFLOPs.
  • Latência vs. FLOPs: Enquanto os FLOPs representam o esforço teórico, a latência de inferência é o tempo real (em milissegundos) que demora a processar uma entrada. A latência é influenciada pelos FLOPs, mas também pela largura de banda da memória, bibliotecas de otimização de software bibliotecas de otimização como o TensorRTe a arquitetura e pela arquitetura do hardware.

Limitações da métrica

Embora os FLOPs forneçam uma linha de base útil, eles não contam toda a história do desempenho do modelo. Eles não levam em conta custos de acesso à memória (a energia e o tempo para mover os dados para o processador), que é muitas vezes o gargalo nos sistemas modernos de aprendizagem profunda. Além disso, operações como funções de ativação (por exemplo, ReLU) ou camadas de normalização têm baixas contagens de FLOP, mas ainda consomem tempo. Por conseguinte, os FLOPs devem ser utilizados em conjunto com a avaliação comparativa do mundo real em hardware alvo, como um Raspberry Pi, para obter uma imagem exacta do desempenho.

Junte-se à comunidade Ultralytics

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

Junte-se agora