Глоссарий

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

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

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

Узнай больше

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

Преимущества смешанной точности

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

  • Уменьшение объема используемой памяти: Использование FP16 уменьшает объем памяти, занимаемый моделью, в два раза по сравнению с использованием исключительно FP32. Это уменьшение позволяет тренировать более крупные модели или использовать большие объемы партии, что может привести к улучшению производительности модели. Узнай больше об оптимизации размеров партии и ее влиянии на эффективность обучения.
  • Повышенная скорость обучения: Операции над числами FP16 обычно выполняются быстрее, чем FP32, особенно на современных графических процессорах, которые имеют специализированное оборудование для 16-битных вычислений. Такое ускорение может значительно сократить время, необходимое для обучения модели. Узнай, как GPU ускоряют вычисления в области AI и ML.
  • Энергоэффективность: Уменьшение пропускной способности памяти и более быстрые вычисления также приводят к снижению энергопотребления, делая обучение со смешанной точностью более энергоэффективным, что особенно важно для развертывания на граничных устройствах или в крупных центрах обработки данных. Узнай больше о пограничных вычислениях и их преимуществах.

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

При обучении со смешанной точностью веса и активации хранятся в формате FP16, чтобы сэкономить память и ускорить вычисления. Однако для сохранения точности мастер-копия весов хранится в FP32. Во время каждой итерации обучения прямой и обратный проходы выполняются с использованием FP16, но обновление весов происходит в FP32. Такой подход сочетает в себе преимущества скорости и памяти FP16 с точностью и стабильностью FP32.

Ключевые понятия в смешанной точности

Понимание смешанной точности предполагает знакомство с несколькими ключевыми понятиями:

  • FP32 (одинарная точность): Стандартный 32-битный формат с плавающей точкой, используемый в большинстве моделей глубокого обучения. Он обеспечивает высокую точность, но требует больше памяти и вычислительных ресурсов.
  • FP16 (половинная точность): 16-битный формат с плавающей точкой, который уменьшает потребление памяти и увеличивает скорость вычислений. Однако он имеет меньший динамический диапазон и точность, что может привести к таким проблемам, как исчезновение градиентов во время обучения.
  • Масштабирование потерь: Техника, используемая для того, чтобы избежать проблем с переполнением, которые могут возникнуть в FP16. Потери увеличиваются на коэффициент перед обратным распространением, а полученные градиенты уменьшаются перед обновлением веса. Это помогает сохранить величину небольших градиентов, которые в противном случае могут быть округлены до нуля в FP16.

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

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

  • Компьютерное зрение: Обучение больших моделей компьютерного зрения, таких как те, что используются в обнаружении объектов, классификации изображений и сегментации изображений, значительно выигрывает от использования смешанной точности. Например, модели Ultralytics YOLO (You Only Look Once) можно обучать быстрее и с большими объемами партий, используя смешанную точность, что приводит к ускорению экспериментов и итераций модели. Узнай больше о Ultralytics YOLO достижениях.
  • Обработка естественного языка (NLP): Такие модели, как BERT и другие архитектуры трансформеров, могут использовать смешанную точность, чтобы сократить время обучения и расход памяти. Это особенно полезно при работе с большими текстовыми массивами данных и сложными моделями. Узнай больше о приложениях для обработки естественного языка (NLP).
  • Здравоохранение: В медицинской визуализации смешанная точность может ускорить обучение моделей для таких задач, как обнаружение опухолей и сегментация органов. Это позволяет быстрее разрабатывать диагностические инструменты и способствует своевременному медицинскому вмешательству. Узнай о роли ИИ в здравоохранении.
  • Автономные транспортные средства: Обучение моделей для автономных автомобилей требует обработки огромного количества данных с датчиков. Смешанная точность помогает справиться с вычислительной нагрузкой, позволяя более эффективно обучать модели, которые справляются с обнаружением объектов, удержанием полосы движения и другими важными задачами.

Смешанная точность по сравнению с другими техниками

Хотя смешанная точность - это мощная техника, важно понимать, чем она отличается от других методов оптимизации:

  • Квантование модели: Эта техника подразумевает снижение точности весов и активаций до 8-битных целых чисел (INT8) или даже ниже. Квантование модели позволяет еще больше снизить расход памяти и увеличить скорость, но может привести к более существенной потере точности по сравнению со смешанной точностью.
  • Обрезка модели: Обрезка модели подразумевает удаление ненужных связей или нейронов из нейронной сети, чтобы уменьшить ее размер и вычислительную сложность. Хотя она дополняет смешанную точность, обрезка модели фокусируется на уменьшении размера модели, а не на управлении числовой точностью во время обучения.

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

Заключение

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

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