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
- pip install -U -r requirements.txt
- 如果无法安装, 可以切换官方源 pip install -i https://pypi.org/simple -U -r requirements.txt
- bloom预训练模型
- bloom第三方中文训练模型 # 注意 需要修改tokenizer_config.json BloomTokenizer -> BloomTokenizerFast
- tigerbot
- opt预训练模型
- llama 官方权重转换 # llama 词典等下载地址 https://huggingface.co/hf-internal-testing/llama-tokenizer
- llama vicuna-7B第三方权重1
- llama vicuna-7B第三方权重2
- cpm-ant-10b
- rwkv 需要转换权重
- rwkv hf 权重
- ChatYuan-7B
数据示例
{
"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_finetuning.py 推理微调模型
# infer_lora_finetuning.py 推理微调模型
# infer_ptuning.py 推理p-tuning-v2微调模型
python infer_finetuning.py
#制作数据
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
- pytorch-task-example
- tf-task-example
- chatmoss_finetuning
- chatglm_finetuning
- t5_finetuning
- llm_finetuning
- llm_rlhf
- chatglm_rlhf
- t5_rlhf
- rwkv_finetuning
- baichuan_finetuning
纯粹而干净的代码