Closed KickyGong closed 1 year ago
同问。另外.index.json怎么写
同问。另外.index.json怎么写
我写的是这样的格式:
{"0":"(checkpoint0的名字).pt",
"1":"(checkpoint1的名字).pt",...}
同问。另外.index.json怎么写
我在已关闭的问题里找到了别人的解决方案https://github.com/OpenLMLab/MOSS/issues/18
但是我用这个方法操作之后,可以load并继续训练,但推理的时候报错where expected condition to be a boolean tensor, but got a tensor with dtype Half
。或许你可以试试这个方法然后看看能否推理?希望能继续交流进展
同问。另外.index.json怎么写
我在已关闭的问题里找到了别人的解决方案#18 但是我用这个方法操作之后,可以load并继续训练,但推理的时候报错
where expected condition to be a boolean tensor, but got a tensor with dtype Half
。或许你可以试试这个方法然后看看能否推理?希望能继续交流进展
同样卡在where expected condition to be a boolean tensor, but got a tensor with dtype Half
这一步了,人傻了。用zero_to_fp32.py 将checkpoint .pt文件转换成了一个60多GB的pytorch_model.bin,然后在pytorch_model.bin.index 将所有的模型名称改成了pytorch_model.bin, 运行推理的时候报同样的错误
我解决了……还是参考上面那个#18 里给出的deepspeed官方文档,文档里面说使用zero stage3有两种保存模型的方法。moss给的finetune代码里是使用的第二种,这种可以把checkpoint读出来继续训练;如果想保存为可以推断的模型的话得使用第一种方法保存模型。所以用第二种方法把checkpoint读取出来,再用第一种方法保存,就可以推理了。
我解决了……还是参考上面那个#18 里给出的deepspeed官方文档,文档里面说使用zero stage3有两种保存模型的方法。moss给的finetune代码里是使用的第二种,这种可以把checkpoint读出来继续训练;如果想保存为可以推断的模型的话得使用第一种方法保存模型。所以用第二种方法把checkpoint读取出来,再用第一种方法保存,就可以推理了。
请问能给一些具体操作步骤吗?我运行微调后产生的zero_to_fp32.py文件,生成了一个60多g的pytorch_model.bin文件,之后要如何才能成功推理呢?
你看一下#18里提到的官方文档,具体要用什么代码、要设置什么参数那里面都写得挺清楚的
你看一下#18里提到的官方文档,具体要用什么代码、要设置什么参数那里面都写得挺清楚的
感谢,从官方文档里找到了具体描述,一会我试一下
我在4张A100上完成了微调,训练结果保存成了.pt格式的文件。现在我想加载这些checkpoints,于是把
load_checkpoint_and_dispatch()
里的model_path改成了我的checkpoints所在文件夹,并且根据accelerate官方文档的要求在这个文件夹里添加了一个.index.json文件,里面写了数字序号与.pt文件的对应关系。但是这样运行代码之后报错ValueError: module doesn't have any device set.
。请问有人遇到过这个问题吗?怎样才能正确地加载checkpoints呢?