/llm_finetuning

Large language Model fintuning bloom , opt , gpt, gpt2 ,gpt3 ,llama,cpmant

Primary LanguagePython

update information

    06-13 fix llama resize_token_embeddings
    06-01 support deepspeed training for lora adalora prompt,0.1.9 和 0.1.10合并
    05-27 add qlora transformers>=4.30
    05-24 fix p-tuning-v2 load weight bugs
    05-12 fix lora int8 多卡训练 , ppo training move to https://github.com/ssbuild/rlhf_llm
    05-02 增加p-tuning-v2
    04-28 deep_training 0.1.3 pytorch-lightning 改名 ligntning ,旧版本 deep_training <= 0.1.2
    04-23 增加lora merge权重(修改infer_lora_finetuning.py enable_merge_weight 选项)
    04-11 升级 lora , 增加adalora

install

  • pip install -U -r requirements.txt
  • 如果无法安装, 可以切换官方源 pip install -i https://pypi.org/simple -U -r requirements.txt

weigtht select one is suitable for you

data sample

中文第三方数据集

数据示例

 {
     "id": 0, "paragraph": [
         {
             "q": "从南京到上海的路线",
             "a":  "你好,南京到上海的路线如下:1. 南京到上海,可以乘坐南京地铁1号线,在南京站乘坐轨道交通1号线。2. 南京到浦东机场,可以搭乘上海地铁1号,在陆家嘴站乘坐地铁1线,在浦东国际机场站乘坐机场快线,前往上海浦东国际机场。3. 上海到南京,可以换乘上海地铁2号线,从南京站换乘地铁2线,再从南京南站换乘地铁1路,然后到达上海站"
         }
     ]
 }

多轮会话

 {
     "id": 0, "paragraph": [
        {
           "q": "你好",
           "a": "我是机器人,有什么可以帮助你的?"
        },
         {
             "q": "从南京到上海的路线",
             "a":  "你好,南京到上海的路线如下:1. 南京到上海,可以乘坐南京地铁1号线,在南京站乘坐轨道交通1号线。2. 南京到浦东机场,可以搭乘上海地铁1号,在陆家嘴站乘坐地铁1线,在浦东国际机场站乘坐机场快线,前往上海浦东国际机场。3. 上海到南京,可以换乘上海地铁2号线,从南京站换乘地铁2线,再从南京南站换乘地铁1路,然后到达上海站"
         }
     ]
 }

infer

# infer_finetuning.py 推理微调模型
# infer_lora_finetuning.py 推理微调模型
# infer_ptuning.py 推理p-tuning-v2微调模型
 python infer_finetuning.py

training

    #制作数据
    python data_utils.py
    注: num_process_worker 为多进程制作数据 , 如果数据量较大 , 适当调大至cpu数量
    dataHelper.make_dataset_with_args(data_args.train_file,mixed_data=False, shuffle=True,mode='train',num_process_worker=0)
    
    #训练
    python train.py

训练参数

训练参数

友情链接

纯粹而干净的代码

Star History

Star History Chart