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

Смешанная точность

Узнайте, как смешанная точность ускоряет обучение и сокращает объем памяти для моделей, таких как Ultralytics . Изучите преимущества FP16 и FP32 для более быстрого получения аналитических данных с помощью ИИ.

Смешанная точность — это ключевая техника в оптимизации моделей, используемая для ускорения обучения моделей глубокого обучения при одновременном снижении потребления памяти. Благодаря стратегическому сочетанию различных числовых форматов — как правило, 16-разрядных и 32-разрядных типов с плавающей запятой — этот метод позволяет алгоритмам машинного обучения выполнять вычисления быстрее без ущерба для конечной точности модели. Он стал стандартной практикой в современной разработке ИИ, особенно для ресурсоемких задач, таких как обучение архитектуры YOLO26 на огромных наборах данных.

Как работает смешанная точность

В традиционных рабочих процессах глубокого обучения модели обычно выполняют вычисления с использованием формата с плавающей запятой одинарной точности (FP32). Каждое число в FP32 требует 32 бита памяти. Несмотря на высокую точность, этот формат может быть вычислительно затратным и требовать много памяти.

Смешанная точность предполагает использование половинной точности (FP16), которая использует только 16 бит. Однако использование только FP16 может привести к численной нестабильности из-за меньшего динамического диапазона. Чтобы решить эту проблему, методы смешанной точности сохраняют «главную копию» весов модели в FP32 для обеспечения стабильности, а FP16 используют для выполнения сложных математических операций, таких как свертки и умножение матриц.

Процесс обычно состоит из трех основных этапов:

  1. Кастинг: преобразование входов и активаций модели в FP16 для ускорения выполнения на совместимом оборудовании, таком как NVIDIA Tensor .
  2. Масштабирование потерь: усиление значений функции потерь для предотвращения «переполнения», когда небольшие обновления градиента становятся нулями в FP16.
  3. Накопление: выполнение арифметических операций в FP16, но накопление результатов в FP32 для сохранения необходимой информации перед обновлением основных весов.

Преимущества обучения искусственному интеллекту

Применение смешанной точности дает значительные преимущества разработчикам и исследователям, эффективно использующим вычислительныересурсы :

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

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

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

Автономное вождение

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

Анализ медицинских изображений

Анализ медицинских изображений часто включает в себя трехмерные объемные данные, полученные с помощью МРТ или КТ, которые требуют очень большого объема памяти. Обучение моделей сегментации на этих данных с полной точностью FP32 часто приводит к ошибкам «Out of Memory» (OOM). Смешанная точность позволяет исследователям поместить эти тяжелые модели в GPU , что облегчает разработку ИИ, который может помочь врачам в более ранней диагностике заболеваний.

Реализация смешанной точности с помощью Ultralytics

Современные фреймворки, такие как PyTorch обычно автоматически обрабатывают сложности смешанной точности с помощью функции, называемой «Автоматическая смешанная точность» (AMP). ultralytics Пакет по умолчанию включает AMP во время обучения, чтобы обеспечить оптимальную производительность.

Вот краткий пример того, как начать обучение с YOLO26, где смешанная точность активна по умолчанию (управляется через amp аргумент):

from ultralytics import YOLO

# Load the latest YOLO26 model
model = YOLO("yolo26n.pt")

# Train the model on the COCO8 dataset
# amp=True is the default setting for mixed precision training
results = model.train(data="coco8.yaml", epochs=5, imgsz=640, amp=True)

Смешанная точность и связанные концепции

Чтобы избежать путаницы, полезно отличать смешанную точность от похожих терминов в глоссарии:

  • Квантование модели: в то время как смешанная точность использует числа с плавающей запятой с более низкой точностью (FP16) во время обучения, квантование обычно преобразует веса в целые числа (например, INT8) после обучения для развертывания. Квантование в первую очередь ориентировано на задержку вывода на периферийных устройствах, тогда как смешанная точность ориентирована на скорость и стабильность обучения.
  • Полуточная точность: это относится конкретно к самому формату данных FP16. Смешанная точность — это техника, при которой используются одновременно FP16 и FP32 . Использование чистой полуточной точности без «смешанной» основной копии FP32 часто приводит к тому, что модели не сходятся из-за числовых ошибок.

Заключение

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

Для тех, кто хочет легко управлять наборами данных и обучать оптимизированные модели, Ultralytics предлагает комплексную среду, которая автоматически использует эти современные методы оптимизации.

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

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

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