Skip to content

Latest commit

 

History

History
 
 

src

注意事项

  • peft 需要安装指定版本,可以安装本地版本(peft-main)
    • 同时要根据自己模型的不同特点选择不同的target_modules=[xxx]
    • modules_to_save:除了lora部分之外,还有哪些层可以被训练,并且需要保存
  • 模型中的get_position_ids 需要改成 context_length = len(seq)
  • 模型中的padding与以往方式不同
    • 原有格式为 [que] + [reply]
    • 需要改为 [que + [tokenizer.mask_token_id]] + [pad_token]*n + [ [tokenizer.bos_token_id]+ reply + [tokenizer.eop_token_id]]
  • 模型中只允许bs为1进行训练,如果想多bs需要自行修改代码,已修改好

各个文件

  • train.py:为lora微调
  • demo.py:为demo代码

配置环境

  • pip install -r requirements.txt

训练步骤

测试步骤

  • 首先按照配置环境步骤配置环境
  • 运行demo.py即可 !注意:需要使用gpu
    • 各个参数含义
      • model_path:原始chatglm模型的存放地址,./model
      • peft_path:lora微调后的模型存放地址,./Fine_Tuning_Results/lora_2e-5/lora.p
      • gpu_id:全部能使用的gpu_id,默认为'0',可以设置不同的gpu'0,1,2,3,4,5,6,7'
    • 输入,默认模型不具备记忆能力,如果想进行多轮对话,需要手动输入history
      • 不进行多轮对话,直接输入问题:Q
      • 进行多轮对话,具体输入形式为:Q1[\n]A1[\n]Q2[\n]A2[\n]Q3 !使用 [\n] 对问题和答案进行分割
  • 提示:
    • 半精度单卡显存:lora:15G