Глоссарий

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

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

Обучай модели YOLO просто
с помощью Ultralytics HUB.

Узнай больше

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

Зачем использовать смешанную точность?

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

  • Сократи потребление памяти: Для хранения данных в виде 16-битных плавающих чисел требуется вдвое меньше места, чем для 32-битных плавающих чисел. Это позволяет значительно сократить объем занимаемой памяти, что дает возможность обучать большие партии или более сложные модели на одном и том же оборудовании.

  • Ускорь вычисления: Многие современные GPU, например NVIDIA's Tensor Cores, оптимизированы для 16-битных операций. Таким образом, смешанная точность позволяет добиться более быстрых вычислений, используя преимущества этой аппаратной оптимизации.

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

Механика смешанной точности

На практике смешанная точность подразумевает сохранение весов модели с полной 32-битной точностью, чтобы сохранить точность модели, но при этом преобразование некоторых вычислительных аспектов, таких как активации и градиенты, в 16-битную точность. Масштабирование потерь обычно используется для предотвращения переполнений, которые могут возникнуть из-за снижения точности.

Приложения в искусственном интеллекте и ML

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

  • Обработка естественного языка (NLP): Большие языковые модели, такие как GPT-3 и архитектуры Transformer, могут значительно выиграть от смешанной точности, позволяя более эффективно проводить обучение без ущерба для высокой точности, необходимой для понимания и генерации языка.

  • Компьютерное зрение: В таких приложениях, как обнаружение объектов Ultralytics YOLO, смешанная точность может ускорить фазу вывода, что крайне важно в сценариях обработки данных в реальном времени, например в автономных транспортных средствах или системах наблюдения.

Отличие от схожих концепций

Смешанная точность часто появляется рядом с такими терминами, как квантование модели и обрезка модели. Хотя все три термина направлены на оптимизацию моделей, они различаются по подходам:

  • Квантование модели: Преобразование весов модели и вычислений в представления с меньшей разрядностью (например, 8 бит) для дальнейшего сокращения памяти и вычислений, что обычно несколько влияет на точность.

  • Обрезка модели: Удаление лишних частей нейронной сети для уменьшения ее размера и повышения скорости, при этом часто требуется переобучение для восстановления точности.

Примеры из реальной жизни

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

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

Как реализовать смешанную точность

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

Чтобы получить практическое руководство по развертыванию моделей с оптимизациями вроде смешанной точности, обратись к нашему Ultralytics HUB, где собраны инструменты и ресурсы, предназначенные для беспроблемной разработки моделей.

Читать полностью