bfloat16 数据类型支持情况
概述
bfloat16(BF16)是一种新的浮点格式,可以加速机器学习(尤其是深度学习训练)算法。
FP16 格式有 5 位指数和 10 位尾数,而 BF16 有 8 位指数和 7 位尾数。与 FP32 相比,BF16 在降低精度(仅 7 位尾数)的同时,保留了与 FP32 相似的范围,这使其适用于深度学习训练。
支持列表
当使用bfloat16数据类型的Tensor进行计算时,所用到的算子也需支持bfloat16数据类型。当前仅在Ascend后端存在适配的算子。
bfloat16数据类型暂不支持隐式类型转换,即当参数数据类型不一致时,bfloat16精度类型不会被自动转换成较高精度类型。
API名称 |
Ascend |
说明 |
版本 |
---|---|---|---|
❌ |
由于numpy不支持bfloat16数据类型,无法将bfloat16类型的Tensor转换为numpy类型。 |
||
✔️ |
使用自动混合精度接口时,支持将低精度的数据类型指定为bfloat16。 |
||
✔️ |
使用自定义混合精度接口时,支持将低精度的数据类型指定为bfloat16。 |
||
✔️ |
2.2.10 |
||
✔️ |
2.2.10 |
||
✔️ |
2.2.10 |
||
✔️ |
2.2.10 |
||
✔️ |
2.2.0 |
||
✔️ |
2.2.0 |
||
✔️ |
2.2.0 |
||
✔️ |
2.2.10 |
||
✔️ |
2.2.0 |
||
✔️ |
2.2.0 |
||
✔️ |
2.2.0 |
||
✔️ |
2.2.0 |
目前整体bfloat16数据类型能力已支持,后续将持续补充更多的算子支持bfloat16数据类型。