术语表

混合精度

利用混合精度优化人工智能,实现更快、更高效的深度学习。在不牺牲精度的前提下,减少内存、提高速度并节约能源。

使用Ultralytics HUB 对YOLO 模型进行简单培训

了解更多

混合精度是机器学习中的一种技术,它在计算中同时使用 16 位和 32 位浮点类型,以提高深度学习模型的训练效率。通过利用每种精度类型的优势,混合精度可以加快计算速度,减少内存使用,同时又不会明显影响模型的准确性。

为什么使用混合精度?

使用混合精度的主要动机是实现更快的训练和推理过程。深度学习模型,尤其是大型神经网络,需要大量的计算资源。混合精度可以

  • 减少内存使用:将数据存储为 16 位浮点数所需的空间是 32 位浮点数的一半。这可以大大减少内存占用,从而可以在同一硬件上训练更大的批次或更复杂的模型。

  • 加快计算速度:许多现代 GPU(如NVIDIA 的Tensor Cores)都针对 16 位运算进行了优化。因此,利用这种硬件优化,混合精度可以实现更快的计算速度。

  • 能源效率:使用混合精度还能降低功耗,这对环保和设备寿命都有好处。

混合精密机械

在实践中,混合精度是指将模型的权重保持在 32 位精度,以保持模型的准确性,同时将某些计算方面(如激活和梯度)转换为 16 位精度。损耗缩放通常用于防止因精度降低而可能出现的底溢出。

人工智能和 ML 的应用

混合精度在涉及大型模型和数据集的各个领域(如自然语言处理和计算机视觉)中都非常重要。例如

  • 自然语言处理(NLP):像GPT-3Transformer架构这样的大型语言模型可以从混合精度中大大获益,从而实现更高效的训练,而不会影响语言理解和生成所需的高精度。

  • 计算机视觉:在物体检测等应用中,混合精度 Ultralytics YOLO的应用中,混合精度可以加快推理阶段的速度,这在实时处理场景(如自动驾驶汽车或监控系统)中至关重要。

区别于类似概念

混合精度经常与模型量化模型剪枝等术语同时出现。虽然三者都旨在优化模型,但它们的方法却各不相同:

  • 模型量化:将模型权重和计算转换为低位宽表示(如 8 位),以进一步减少内存和计算量,通常会对精度造成一定影响。

  • 模型修剪:涉及删除神经网络的冗余部分,以缩小其规模并提高速度,通常需要重新训练以恢复准确性。

真实世界的例子

  1. 自动驾驶汽车:在自动驾驶汽车中,混合精度可加快基于视觉的应用计算速度。例如,自动驾驶中的人工智能利用混合精度来有效处理复杂的环境感知,从而提高安全性和决策过程。

  2. 医疗保健中的图像分割:在医疗保健领域的人工智能应用中,混合精度也被用于 CT 扫描和核磁共振成像等医疗成像任务。它可以快速处理大型数据集,帮助进行实时诊断和治疗规划。

如何实现混合精度

要实现混合精度,需要改变模型训练工作流程,通常需要使用为此设计的库和工具。框架,如 TensorFlowPyTorch等框架为混合精度提供内置支持,使其更容易集成到现有项目中。

有关使用混合精度等优化技术部署模型的实用指南,请参阅我们的Ultralytics HUB,那里有专为无缝模型开发定制的工具和资源。

阅读全部