Open ZechengLi19 opened 2 months ago
您好,目前在启动flash-attn训练时,保存的ckpt格式与不启动是完全一致的。因此用flash-attn训练得到的ckpt应该是直接可以load进来的,您可以先尝试一下。 https://github.com/OFA-Sys/Chinese-CLIP/blob/8a323f2702ebeca5be864e4cb66a72d9a770f25c/cn_clip/training/train.py#L309
@DtYXs 感谢您的回复,但是您好像误解了我的意思。
我想做的事情是,在我自己写的代码段中,直接调用load_from_name函数得到模型,并且该模型具有直接切换为flash-attn模式的功能。但是目前的load_from_name这个方法并没有提供flash-attn的选项~
@ZechengLi19 我明白你的意思~我理解目前代码中定义的flash-attn格式只适用Chinese-CLIP这一个项目,而Chinese-CLIP训练得到的模型会自动将flash-attn模型转化为正常模式,所以我想知道目前是在什么情况下需要load一个flash-attn格式的模型呢。
@DtYXs 比如说,我想把你训练好的chinese-clip用到其他下游任务中。
那我可能会有一个该下游任务的一个baseline代码,那我想换一个backbone的话,就希望调用load_from_name函数创建一个clip的backbone,如果我进一步的想微调clip的话,我觉得加上一个flash-attn可以更加好的帮助我代码的加速,这样~
也就是说,我把你的仓库当作一个包来用,那我其实就只需要看到load_from_name这一个函数,如果有flash-attn的支持可能会帮助到更多人用到下游中?
感谢你如此好的代码实现,他对我的帮助很大,但是我在使用load_from_name 函数时,我发现并不支持flash-attn ,因此我自己实现了这一块的代码,但是我不确定实现是否正确,尽管它可以正常运行。
以下是代码片段
如果作者有空能帮我检查一下,这一实现是否正确就好了~
如果是正确的,作者可以将我的implement加入到仓库中~
不甚感谢