Глоссарий

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

Повысьте эффективность глубокого обучения с помощью смешанного точного обучения! Достигайте более высоких скоростей, уменьшайте потребление памяти и экономьте энергию, не жертвуя точностью.

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

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

Основная идея смешанной точности заключается в том, чтобы использовать скорость и эффективность памяти типов данных с более низкой точностью. Современное оборудование, особенно NVIDIA GPU с ядрами Tensor, может выполнять операции с 16-битными числами гораздо быстрее, чем с 32-битными. Процесс обычно включает три ключевых этапа:

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

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

Применение и примеры

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

Смежные понятия

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

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

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

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

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