本页 内容
本页内容HiFloat 低比特开源仿真工具是一套面向 AI 训练与推理的低比特浮点仿真工具,用于在不依赖真实硬件指令集的情况下,对低精度数据格式在深度学习模型中的数值行为与精度影响进行复现与评估。
该工具由华为技术有限公司捐赠,并通过GCC(全球计算联盟)进行开源发布,主要面向研究机构、算法团队与工程团队提供可复现的低精度仿真代码与示例。
目前 HiFloat8 与 HiFloat4 的源码均以 Apache-2.0 协议开源。
HiFloat 仿真工具目前包含两个核心项目:
1. HiFloat8(HiF8)
- 8-bit 浮点格式仿真框架\
- 支持 NVIDIA CUDA GPU 与 Huawei Ascend NPU 两类后端\
- 提供 pseudo-quantization kernel\
- 提供线性层等典型算子仿真示例\
- 适用于训练与推理阶段的低精度数值模拟
仓库地址:https://github.com/global-computing-consortium/HiFloat8
2. HiFloat4(HiF4)
- 4-bit 块浮点(block floating point)仿真框架\
- 适用于大模型推理场景\
- 仓库包含 GPU 与 NPU 两条实现路径:
- hif4_gpu\
- hifx4_npu
仓库地址:https://github.com/global-computing-consortium/HiFloat4
HiFloat 系列数据格式面向低比特 AI计算场景,目标是在保持可接受模型精度的前提下:
- 降低存储占用
- 降低带宽消耗
- 降低计算能耗
- 提升推理吞吐率
HiFloat8 侧重训练与推理通用性;
HiFloat4 侧重大模型推理效率与硬件面积/功耗优化。
- 低精度训练/推理可行性验证
- 量化算法对比实验
- 硬件前期验证与算子级精度分析
- 赛事与评测场景下的统一仿真基线
1. 后端支持
HiFloat8:
- NVIDIA CUDA GPU\
- Huawei Ascend NPU
HiFloat4:
- GPU 实现路径
- NPU 实现路径
2. 典型应用场景
- Transformer / LLM 推理仿真
- 低精度训练稳定性验证
- 自定义量化策略对比
- 硬件指令集设计前的算法级验证
- Benchmark 与挑战赛统一评测框架
1. 获取代码
``` bash
git clone https://github.com/global-computing-consortium/HiFloat8.git
git clone https://github.com/global-computing-consortium/HiFloat4.git
```
1. CUDA GPU 构建
``` bash
bash build.sh
python hif8_bf16.py
```
若输出:
ABS diff max (zero values): 0
则说明构建成功。
2. Ascend NPU 构建
``` bash
bash build_npu_ops.sh
python hif8_bf16.py
```
若输出:
ABS diff max (zero values): 0
则说明构建成功。
3. 线性层仿真示例(GPU)
``` python
import torch
from quant_cy import QType, quant_dequant_float
qtype_str = 'hif8'
quant_type = QType(qtype_str).dim(0)
x_sim = quant_dequant_float(x.cuda(), quant_type, force_py=False, force_fp32=True)
w_sim = quant_dequant_float(w.cuda(), quant_type, force_py=False, force_fp32=True)
y = torch.nn.functional.linear(x_sim, w_sim)
```
1. 进入对应目录:
- hif4_gpu\
- hifx4_npu
2. 根据目录内脚本进行编译与运行
3. 在模型中采用 quant-dequant + op 的方式完成仿真流程
HiFloat8:\
https://github.com/global-computing-consortium/HiFloat8
HiFloat4:\
https://github.com/global-computing-consortium/HiFloat
如在构建、适配或实验过程中遇到问题,欢迎联系:zhangqianlin@gccorg.com