TencentARC / LLaMA-Pro

[ACL 2024] Progressive LLaMA with Block Expansion.
https://tencentarc.github.io/LLaMA-Pro/
Apache License 2.0
449 stars 34 forks source link

关于运行流程 #30

Open GOOD-N-LCM opened 1 month ago

GOOD-N-LCM commented 1 month ago

感谢分享!新的训练思路! 在这里我一个小白想提出几个我的疑问。期待大佬的解答! 我在使用block_expansion.py给Llama3-Chinese_v2扩展后会在指定目录出现一个pytorch_model.bin文件。 第一个问题:请问一下这个pytorch_model.bin文件是否含有原Llama3-Chinese_v2的能力?

在出现这个文件之后我把原有Llama3-Chinese_v2的相关文件复制进来一份。然后执行finetune_codealpaca.sh 第二个问题:我在训练这个新的模型文件时如何选择训练方式 pt或者sft如何进行选择?

hills-code commented 1 month ago
  1. 这个文件其实就是增加了identity层的模型参数,相同的输入应该和之前的模型的输出一致
  2. 有了这个文件以后,还需要修改模型的config里面的层数,保持和增加层之后的层数一致,我认为应该还是先做pretrain,然后再sft。因为新增加层的参数可能还需要一段时间sft让他适配一下,然后再sft比较合适
GOOD-N-LCM commented 1 month ago

感谢大佬回答。 请问 第一个问题:如果我想pt的话,还可以使用finetune_codealpaca.sh执行么?如果可以,这个脚本貌似我没看到可以选择pt或者sft的参数位置额。请大佬赐教。 第二个问题:冻结原模型块的代码是在customized_trainer.py里实现的么?

hills-code commented 1 month ago

选择pt或者sft的参数的位置都在customized_trainer.py实现的,可以通过script里面的extend_layers来传新增加的layers,然后训练那部分参数

GOOD-N-LCM commented 1 month ago

好的,感谢大佬!