GPT-SoVITS icon indicating copy to clipboard operation
GPT-SoVITS copied to clipboard

修改is_half的判断使在Mac上能正常CPU推理

Open XXXXRT666 opened this issue 1 year ago • 10 comments

XXXXRT666 avatar Feb 21 '24 13:02 XXXXRT666

if(infer_device=="cpu"):is_half=False config.py较末尾处还有此判断,所以并未对config.py进行修改。

XXXXRT666 avatar Feb 21 '24 13:02 XXXXRT666

你试试按照README Mac的部分安装pytorch nightly再看看源代码有没有报错?我这里测试使用cpu也是可以使用半进度训练的 截屏2024-02-24 10 42 15

Lion-Wu avatar Feb 24 '24 02:02 Lion-Wu

我看看,我之前直接用cpu训练了一会,能行之后就没去管了

XXXXRT666 avatar Feb 24 '24 02:02 XXXXRT666

确实,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 测试成功,没有错误。

XXXXRT666 avatar Feb 24 '24 02:02 XXXXRT666

实测可行,但不知为何在提高了CPU占用的情况下降低了推理速度,内存占用降低明显

XXXXRT666 avatar Feb 24 '24 03:02 XXXXRT666

我刚才测试了一下,发现半精度推理时长比全精度高好多,在很多地方会卡住,所以暂时在Mac上推理还是使用全精度吧,你这个PR直接合并就可以了

Lion-Wu avatar Feb 24 '24 03:02 Lion-Wu

同时发现😂

Lion-Wu avatar Feb 24 '24 03:02 Lion-Wu

半861字,四句一切,半精度cpu用时36分钟

XXXXRT666 avatar Feb 24 '24 03:02 XXXXRT666

也许是preview版本的问题,不知道在之后会不会改善

XXXXRT666 avatar Feb 24 '24 03:02 XXXXRT666

我刚才测试了一下,发现半精度推理时长比全精度高好多,在很多地方会卡住,所以暂时在Mac上推理还是使用全精度吧,你这个PR直接合并就可以了

对,句子间卡顿特别严重,我估算了下卡顿时间比实际推理的时间长上许多

XXXXRT666 avatar Feb 24 '24 03:02 XXXXRT666