【发布时间】:2023-04-07 03:07:01
【问题描述】:
我想问一下 fp16 和 fp32 Core ML 模型的计算如何在 iPhone(我正在使用的 iPhone X 和 iOS 12)上工作。我有一个 fp32 模型,并使用 coremltools 将其量化为 fp16。大小确实减少到 fp32 大小的一半左右,但预测时间并没有减少,我不太明白。
我已经使用 Xcode Shader Debugger 查看了 GPU 帧。所有缓冲区似乎都显示数据采用 RGBA16Float 格式,所以我想知道 fp32 权重或偏差是否已经转换为 fp16?管道统计数据还显示了“高浮动对半比率”的消息。这是否意味着GPU在计算之前将全部转换为fp16?
我用 fp32 和 fp16 类型对 MPSMatrixMultiplication 进行了测试。在大多数情况下,fp16 比 fp32 快 60%。所以我希望 fp16 的计算也可以更快。谢谢!
*这是答案中提到的图像,显示了GPU帧和消息。 GPU frame
【问题讨论】: