Yolo Vision Shenzhen
Шэньчжэнь
Присоединиться сейчас
Глоссарий

FLOPs

Разберитесь в FLOPs в машинном обучении! Узнайте, как они измеряют сложность модели, влияют на эффективность и помогают в выборе оборудования.

FLOPs, или операции с плавающей точкой, служат фундаментальной метрикой для количественной оценки вычислительной сложности моделей машинного обучения, особенно в в области глубокого обучения. Этот показатель рассчитывает общее количество математических операций, таких как сложение, вычитание, умножение и деление, вычитание, умножение и деление с десятичными числами, - необходимых для выполнения одного прохода вперед нейронной сети. нейронной сети. Определив количество FLOPs, инженеры могут оценить вычислительную мощность, необходимую для выполнения модели, что делает этот показатель важным для выбора и оптимизации аппаратного обеспечения. выбора и оптимизации аппаратного обеспечения. Отличаясь от размера файла или количества параметров, FLOPs обеспечивает теоретическую базу для определения того. насколько "тяжелой" является модель, что напрямую связано с энергопотреблением и скоростью выполнения на процессорах например CPU или GPU.

Важность FLOP в разработке искусственного интеллекта

Понимание вычислительных затрат модели очень важно для эффективной разработки ИИ. Более низкое количество FLOPs обычно указывает на то, что модель требует меньшего количества вычислений для получения прогноза, что очень важно для в условиях ограниченных ресурсов.

  • Выбор аппаратного обеспечения: Знание FLOPs позволяет разработчикам подбирать модели в соответствии с возможностями конкретного оборудования, например, серии NVIDIA Jetson или стандартных встраиваемых микроконтроллеров.
  • Эффективность модели: При сравнении архитектур, например, при проверке метрики производительностиYOLO11 , FLOPs предлагают аппаратно-агностический способ оценки эффективности наряду с точностью.
  • Потребление энергии: В устройствах с батарейным питанием уменьшение количества FLOP напрямую ведет к увеличению так как процессор выполняет меньше работы за кадр.

Применение в реальном мире

Практическое влияние FLOPs наиболее заметно, когда модели переходят из исследовательских в производственные среды, где задержка и мощность ограничены.

  1. Обнаружение объектов на смартфоне: Для мобильного приложения, выполняющего в режиме реального времени, устройство должно обрабатывать Видеокадры должны обрабатываться мгновенно, не перегреваясь и не разряжая аккумулятор. Разработчики могут выбрать легкую модель, например Nano-версия YOLO11 поскольку низкое количество FLOPs обеспечивает плавную работу на мобильных процессорах, таких как Qualcomm Snapdragon или Apple Silicon.
  2. Автономная навигация дронов: Дроны, используемые в точном сельском хозяйстве, полагаются на бортовые компьютеры для detect препятствий и составления карты местности. Поскольку эти устройства имеют строгие ограничения по весу, что ограничивает размер батареи размер батареи, инженеры оптимизируют низкие значения FLOP, чтобы максимально увеличить время полета, сохраняя при этом необходимые возможности обнаружения объектов.

Вычисление FLOPs с помощью Python

Вы можете определить вычислительную сложность модели Ultralytics с помощью встроенных инструментов профилирования. На сайте Следующий фрагмент загружает модель и вычисляет количество FLOP, необходимое для определенного размера входных данных.

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)

Этот метод выводит сводную таблицу, включающую количество параметров, градиентов и GFLOPs (гигафлопс, или миллиарды операций), что поможет вам оценить, соответствует ли модель вашим ограничениям на развертывание.

FLOPs в сравнении со смежными метриками

Важно отличать FLOP от других метрик, описывающих размер и скорость модели, поскольку они измеряют разные аспекты производительности.

  • Параметры против FLOPs: На сайте веса модели, или параметры, определяют, какой объем памяти (RAM), необходимого для хранения модели. В отличие от этого, FLOPs измеряют вычислительную работу, необходимую для ее выполнения. A модель может быть небольшой по объему памяти, но вычислительно дорогой, если она часто использует параметры, как это происходит в Рекуррентные нейронные сети (РНС).
  • MACs vs. FLOPs: В спецификациях аппаратных средств часто упоминаются Операции умножения и сложения (MAC). Одна MAC обычно включает умножение, за которым следует сложение, и считается как две операции с плавающей точкой. Таким образом, 1 гигамакс приблизительно эквивалентен 2 гигафлопам.
  • Латентность по сравнению с FLOPs: В то время как FLOPs представляют собой теоретические усилия, задержка вывода - это фактическое время (в миллисекундах), необходимое для обработки входных данных. На латентность влияют не только FLOPs, но и пропускная способность памяти, программные оптимизация библиотек, таких как TensorRTи аппаратная архитектура.

Ограничения метрики

Хотя FLOP обеспечивают полезный базовый уровень, они не дают полного представления о производительности модели. Они не учитывают стоимость доступа к памяти (энергия и время на перемещение данных в процессор), которая часто является узким местом в современных системах глубокого обучения. Кроме того, такие операции такие как функции активации (например, ReLU) или слои нормализации имеют низкое количество FLOP, но все равно потребляют время. Поэтому FLOP следует использовать в сочетании с с реальными бенчмарками на целевом оборудовании, таком как Raspberry Pi, чтобы получить точную картину производительности.

Присоединяйтесь к сообществу Ultralytics

Присоединяйтесь к будущему ИИ. Общайтесь, сотрудничайте и развивайтесь вместе с мировыми новаторами

Присоединиться сейчас