StarRing

Results 11 comments of StarRing

我们邀请您对我们的工作进行同行评审,感谢您!

感谢您的关注!我们最近的进展,发现Lora融合的可用范围比预期还要广泛

感谢您的提问,这也曾是之前我们认真思考过的问题。以基础范例来看,LLAMA是7B,ChatGLM是6B,虽然接近,但如果从特征向量来看则完全不同。因而,Lora实际上是一种相对独立的微调模型组件,而非大模型的直接权值,预训练模型及其权值是存放于bin或pth文件之中,即使我们不使用任何Lora等模型,这些预训练模型也是可以正常运行的。我们在此将13B Lora上传。

Lora权值交叉融合的原因是缘于Lora并非基础模型的特征向量组件,而是一个相对独立的微调增强组件,加之均基于peft库,因而才可以互换,所以认为“LLAMA训练得到的Lora只属于LLAMA是片面的理解,Lora是属于Lora的”。我们会马上正式补充到ReadME中,关键是两个步骤: 1.运行finetune.py,即基于LLAMA-7B模型在英文或中文 alpaca数据集上,利用peft库进行微调训练,将得到的lora配置文件.json和权值文件.bin存入lora-alpaca文件夹; 2.运行generate.py,要注意的是,配置文件json不能使用LLAMA的配置,而是ChatGLM的配置文件,仓库里的lora-alpaca文件夹是可以直接使用的,这样就融入了ChatGLM-6B. 实际上,如果对finetune.py的一些配置参数,如lora_alpaca、lora_rank等调整为ChatGLM的配置文件数值,也是能够无需修改即使用由LLAMA微调后的配置参数和权值文件。不过配置文件中,对于target_modules这个模块依然要采用ChatGLM的(底座模型),这是因为,LLAMA为 "q_proj"、 "v_proj";ChatGLM为"query_key_value"。总之,对于底座模型、配置参数和权值文件是需要一定匹配的,简单的话,就置替后交给peft,不报错就可以换。建议动手操作一遍,多关注微调参数和配置参数的对应。 我们试验了很多权值都是可以的,如文件大小约在16MB的Lora、25MB的Lora等等,建议新尝试的朋友,使用16.49MB的标准Lora的bin文件,所有配置参数不作修改。

是呢,感谢您,您可以认为是peft它的兼容性特别强,只要参数对了,权值文件体积又是一样的,向量值它会识别到

希望能得到朋友的小星星,感谢!!!

经测验,我们得到了效果,意图就是跨模型互通,比如英文LM模型和中文LM模型,这是一种较为理想的模型间打通的手段

感谢您的细心检查!正如说的这样,zero finetuning意为零次微调,因而权值是不会更新的,但这样做也是有好处的,此时将不断更新的prompt形成到本地的一个JSON文件中,就相当于是一个动态变化的知识数据库。就像人类一样,当资源充足时,才会对整体模型进行一次微调。由于这段时间忙于研究,这一部分说明后续加上。

OK,感谢朋友有用的建议!我们将重写readme,近期研究偏多,我们会补充的

很抱歉,坦诚来说,因为我们也只有大概的主体思路,对比实验正在加入,因为我们主要还是SNN方向,该项属于无意发现,也希望同行专家学者们在此基础上进一步补充和提高