Настраивайтесь на YOLO Vision 2025!
25 сентября 2025 г.
10:00 — 18:00 BST
Гибридное мероприятие
Yolo Vision 2024
Глоссарий

FLOPs

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

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

Почему FLOP важны в машинном обучении?

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

  • Сравнение архитектур моделей: При выборе между различными моделями, такими как те, которые представлены на наших страницах сравнения моделей, FLOPs предлагают стандартизированный способ оценки вычислительной эффективности наряду с точностью.
  • Оптимизация для развертывания: Для развертывания модели на таком оборудовании, как Raspberry Pi или NVIDIA Jetson, выбор модели с соответствующим количеством FLOP имеет важное значение для достижения желаемого уровня производительности.
  • Guide Model Design (руководство по проектированию моделей): Исследователи, разрабатывающие новые архитектуры, такие как в серии Ultralytics YOLO, часто рассматривают минимизацию FLOPs как ключевое ограничение при проектировании. Методы, исследованные в таких моделях, как EfficientNet, сосредоточены на снижении вычислительных затрат без ущерба для производительности.

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

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

  1. Mobile Vision Applications (мобильные приложения машинного зрения): Разработчик, создающий функцию обнаружения объектов в реальном времени для приложения для смартфона, должен выбрать модель, которая может работать быстро, не разряжая аккумулятор. Сравнивая FLOPs легких моделей, таких как небольшой вариант Ultralytics YOLO11, с другими, они могут выбрать модель, которая обеспечивает хороший баланс скорости и точности для CPU или GPU устройства.

  2. Автономные транспортные средства: В автономном вождении модели восприятия должны обрабатывать потоки с камер с чрезвычайно низкой задержкой. Инженеры, разрабатывающие эти системы, анализируют FLOP различных моделей, чтобы убедиться, что выбранная архитектура может работать на специализированном оборудовании транспортного средства. Модель, такая как YOLO11, может быть выбрана вместо более сложной, если ее более низкий FLOP позволяет ей соответствовать строгим требованиям к времени для безопасной работы.

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

Важно отличать FLOPs от других распространенных метрик:

  • Параметры vs. FLOPs: Количество весов модели (параметров) указывает на размер модели с точки зрения объема памяти. FLOPs, с другой стороны, измеряют вычислительную работу. Модель может иметь небольшое количество параметров, но большое количество FLOPs, если эти параметры многократно используются в вычислительно интенсивных операциях.
  • MAC и FLOP: MAC (Multiply-Accumulate operations) — распространенная операция в нейронных сетях. Одна операция MAC часто считается эквивалентной двум операциям FLOP (одно умножение и одно сложение). В некоторых исследовательских работах и фреймворках вычислительные затраты могут указываться в MAC, что составляет примерно половину значения FLOP. Это различие можно увидеть в таких ресурсах, как Papers with Code.
  • Задержка и FLOPs: Задержка вывода — это фактическое время, необходимое модели для выполнения прогноза. В то время как FLOPs обеспечивают хорошую теоретическую оценку, на реальную задержку влияют факторы, которые FLOPs не учитывают, такие как пропускная способность памяти, аппаратный параллелизм и эффективность программных библиотек, таких как PyTorch.

Ограничения

Несмотря на полезность, FLOPs имеют ограничения:

  • Они не учитывают затраты на доступ к памяти, что может быть существенным узким местом.
  • Они не отражают степень параллелизма, возможного в операциях.
  • Фактическая производительность в значительной степени зависит от аппаратных оптимизаций и эффективности базовых программных библиотек (cuDNN, Intel MKL).
  • Некоторые операции (например, функции активации, такие как ReLU) имеют низкое количество FLOPs, но все же могут влиять на задержку.

Следовательно, FLOPs следует рассматривать наряду с другими метриками производительности, параметрами и реальными тестами для получения полной картины эффективности модели. Такие инструменты, как Ultralytics HUB, могут помочь в управлении моделями и отслеживании различных аспектов производительности во время разработки и развертывания.

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

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

Присоединиться сейчас
Ссылка скопирована в буфер обмена