修改is_half的判断使在Mac上能正常CPU推理
if(infer_device=="cpu"):is_half=False
config.py较末尾处还有此判断,所以并未对config.py进行修改。
你试试按照README Mac的部分安装pytorch nightly再看看源代码有没有报错?我这里测试使用cpu也是可以使用半进度训练的
我看看,我之前直接用cpu训练了一会,能行之后就没去管了
确实,pytorch nightly已经支持cpu的fp16和bf16,我去修改一下issue
使用设备: cpu
测试 float16...
float16 计算结果:
tensor([[ 0.6587, -2.6523, -0.3630],
[-0.2139, 1.3877, 2.5547],
[-1.4600, -4.8594, -0.4915]], dtype=torch.float16)
float16 测试成功,没有错误。
测试 bf16...
bf16 计算结果:
tensor([[ 0.6641, 1.0156, -0.0045],
[ 1.3281, 0.5000, -1.9688],
[ 1.3438, 0.3555, -3.5469]], dtype=torch.bfloat16)
bf16 测试成功,没有错误。
实测可行,但不知为何在提高了CPU占用的情况下降低了推理速度,内存占用降低明显
我刚才测试了一下,发现半精度推理时长比全精度高好多,在很多地方会卡住,所以暂时在Mac上推理还是使用全精度吧,你这个PR直接合并就可以了
同时发现😂
半861字,四句一切,半精度cpu用时36分钟
也许是preview版本的问题,不知道在之后会不会改善
我刚才测试了一下,发现半精度推理时长比全精度高好多,在很多地方会卡住,所以暂时在Mac上推理还是使用全精度吧,你这个PR直接合并就可以了
对,句子间卡顿特别严重,我估算了下卡顿时间比实际推理的时间长上许多