跳转至主要内容
支持知识库

使用 OpenVINO™ Toolkit 时,与模型的 FP32 格式相比,FP16 格式没有性能提升

内容类型: 维护与性能   |   文章 ID: 000095716   |   上次审核日期: 2023 年 08 月 01 日

环境

OpenVINO 2023.0 Ubuntu 20.04 LTS 英特尔® 酷睿™ i7-9850H CPU 英特尔® 超核芯显卡 630

说明

与采用 FP32 格式的相同模型相比,预计 FP16 格式可以执行更快的推理。使用benchmark_app以应用默认设置运行两种格式的推理,但在比较 FP16 格式模型与 FP32 格式模型时,没有性能改进(更高的 FPS)。

  • $ omz_downloader --name bert-large-uncased-whole-word-masking-squad-0001
  • $ benchmark_app -m FP32/bert-large-uncased-whole-word-masking-squad-0001.xml -api async -t 5 -hint throughput -d {CPU, GPU}
  • $ benchmark_app -m FP16/bert-large-uncased-whole-word-masking-squad-0001.xml -api async -t 5 -hint throughput -d {CPU, GPU}

解决方法

要在使用 benchmark_app 时以 F32 格式执行 FP32 模型,请为所选设备 添加 -infer_precision f32

例如:
$ benchmark_app -m intel/bert-large-uncased-whole-word-masking-squad-0001/FP32/bert-large-uncased-whole-word-masking-squad-0001.xml -d GPU -t 5 -api async -hint throughput -infer_precision f32

其他信息:

对于 GPU 插件,GPU 基元的浮点精度是根据OpenVINO IR 中的操作精度选择的,但 <压缩的 f16 OpenVINO IR 形式除外,该表单以精度执行 f16
对于 CPU 插件,CPU 基元的默认浮点精度是 f32。为了支持 f16 OpenVINO™ IR,插件在内部将所有 f16 值转换为 f32,所有计算均使用 f32 的原生精度执行。在原生支持 bfloat16 计算(具有 AVX512_BF16 或 AMX 扩展名)的平台上,自动使用 bf16 类型而不是 f32 以实现更好的性能(请参阅 执行模式提示 )。

有关 CPU/GPU 插件数据类型的更多信息,请参阅:

相关产品

本文适用于 3 产品。
英特尔® 至强融核™ 处理器软件 OpenVINO™ toolkit 性能函数库

免责声明

本页面上的内容是原始英文内容的人工翻译与计算机翻译的组合。我们提供此内容是为了您的便利并且仅供参考,未必完整或准确。如果本页面的英文版与翻译版之间存在任何冲突,应以英文版为准。 查看此页面的英语版本。