深圳Yolo 视觉
深圳
立即加入
词汇表

半精度

了解半精度 (FP16) 如何通过更快的计算、更少的内存使用和高效的模型部署来加速 AI。

半精度是一种二进制浮点计算机数字格式,在计算机内存中占 16 位,通常称为 FP16。 通常称为 FP16。在快速发展的 在快速发展的深度学习领域,这种格式是标准 32 位单精度(FP16 在快速发展的深度学习领域,这种格式是传统用于数值计算的标准 32 位单精度(FP32)格式的有力替代。通过 通过减少表示每个数字所需的位数,半精度大大降低了内存 带宽压力和存储要求。 模型权重和激活的存储要求。这种效率使 研究人员和工程师可以训练更大的 神经网络或在资源有限的硬件上部署模型 在资源有限的硬件上部署模型 预测的准确性

半精度机制

IEEE 754 标准定义了浮点数的结构。 其中 FP16 为符号分配 1 位,为指数分配 5 位,为分数(尾数)分配 10 位。 这种紧凑的表示方法与 FP32 形成鲜明对比,后者的指数使用 8 位,分数使用 23 位。在 在计算机视觉和其他人工智能任务中使用 FP16 在计算机视觉和其他人工智能任务中使用 FP16 的主要优势在于 加速数学运算。现代硬件加速器,如 NVIDIA Tensor 内核等现代硬件加速器经过专门设计 以半精度执行矩阵乘法运算,速度远高于单精度运算。

然而,比特数的减少意味着动态范围变小,精度降低。这有可能导致 数值不稳定,例如 梯度消失 梯度消失,即数字变得太小,计算机无法将其与零区分开来。为了缓解这种情况,开发人员通常采用 混合精度策略 在 FP16 和 FP32 之间动态切换,以保持稳定性,同时充分利用半精度的速度。

人工智能在现实世界中的应用

半精度在现代人工智能工作流程中无处不在,尤其是在要求高吞吐量或低延迟的场景中。 延迟。

  1. 边缘人工智能部署:将模型部署到 边缘人工智能设备(如无人机、智能相机或移动 在将模型部署到无人机、智能相机或手机等边缘人工智能设备上时,内存和电池寿命是最重要的限制因素。转换像 YOLO11这样的模型转换为 FP16 后,模型大小减少了约 将 YOLO11 这样的模型转换为 FP16,可将模型大小减少约 50%,使其适合嵌入式系统有限的 RAM,如 NVIDIA JetsonRaspberry Pi。这有助于加快 推理延迟,从而在自主导航等应用中实现实时 响应能力。
  2. 大规模模型训练:训练大规模架构,如 大型语言模型(LLM)或 基础视觉模型,需要处理 TB 级的数据。利用 FP16,数据中心可以在短时间内将批处理量增加一倍。 批处理规模的两倍 GPU 内存,大大缩短 训练周期。这种效率对于快速实验和迭代下一代 架构(如即将推出的YOLO26)的快速实验和迭代至关重要。

利用Ultralytics实现半精度

框架,如 PyTorch 和图书馆,如 ultralytics 使半精度的利用变得简单明了。下面的示例演示了如何 将YOLO11 模型导出到 TensorRT 使用 FP16 格式,这是 这是在NVIDIA ®)图形处理器上优化推理速度的常见做法。

from ultralytics import YOLO

# Load a pretrained YOLO11 model
model = YOLO("yolo11n.pt")

# Export the model to TensorRT engine with half-precision enabled
# The 'half=True' argument ensures weights are converted to FP16
model.export(format="engine", half=True)

区分相关术语

要了解半精度,就必须将其与术语表中的相关优化技术区分开来:

  • 半精度与混合精度:半精度特指 16 位数据格式,而混合精度是一种训练技术,它将用于繁重计算的 FP16 和用于敏感累加(如权重更新)的 FP32 结合起来,以防止损失。 混合精度是一种训练技术,它结合了用于繁重计算的 FP16 和用于敏感累加(如权重更新)的 FP32,以防止信息丢失。 信息。
  • 半精度与模型量化 模型量化:半精度保持浮点表示法,只是减少了位宽。量化通常 将权重转换为整数格式,如 INT8(8 位整数),从而提供更高的压缩率和速度 但需要仔细的校准技术,如 量化感知训练 (QAT) 等校准技术,以避免精度下降。
  • 半精度与 Bfloat16Bfloat16(脑浮点)是另一种 16 位格式它 保留了 FP32 的 8 位指数,以保持动态范围,但牺牲了分数的精度。 通常比标准 IEEE FP16 更稳定,无需损耗缩放。

通过掌握这些格式,开发人员可以确保他们的 模型部署策略针对其项目的 特定的硬件和性能要求。

加入Ultralytics 社区

加入人工智能的未来。与全球创新者联系、协作和共同成长

立即加入