** 清华大学的chatglm-6b开源模型对话能力虽然能基本满足对话需求,但是针对专业领域和垂直领域回答显得智商捉急,这个时候就需要进行微调来提升效果,但是但是同学们显卡的显存更捉急,这时候一种新的微调方式诞生了,现在大火的ai作画里面的lora训练方式直接应用到微调里面,chatglm-lora方式进行微调** 下面是是教程和注意事项
第一步 下载代码
git clone https://github.com/mymusise/ChatGLM-Tuning.git
cd ChatGLM-Tuning
第二步
 下载数据
英文数据链接
 需要更多的中文数据,私信我
第三步 配置环境
使用conda创建虚拟环境
 python版本3.10.6
 我是3090显卡,大家根据自己的卡自行调整配置
pip install -r requirements.txt
第四步 数据预处理
转化alpaca数据集为jsonl
python cover_alpaca2jsonl.py \
    --data_path data/alpaca_data.json \
    --save_path data/alpaca_data.jsonl \
生成tokenization
python tokenize_dataset_rows.py \
    --jsonl_path data/alpaca_data.jsonl \
    --save_path data/alpaca \
    --max_seq_length 200 \ 
    --skip_overlength
–jsonl_path 微调的数据路径, 格式jsonl, 对每行的[‘context’]和[‘target’]字段进行encode
 –save_path 输出路径
 –max_seq_length 样本的最大长度
第五步 训练模型
python finetune.py \
    --dataset_path data/alpaca \
    --lora_rank 8 \
    --per_device_train_batch_size 6 \
    --gradient_accumulation_steps 1 \
    --max_steps 52000 \
    --save_steps 1000 \
    --save_total_limit 2 \
    --learning_rate 1e-4 \
    --fp16 \
    --remove_unused_columns false \
    --logging_steps 50 \
    --output_dir output
–per_device_train_batch_size 6 为6时候,显存大约是22g多,要是显存不够可以把这个参数调小
 –max_steps 52000 \ 控制训练步数,loss没下来,此数值可以改大一点
3090大约使用7个小时就微调完了
 上面两个训练产生的结果
加我微信:Lh1141755859 获取chatgpt类对话大模型交流群
关注微信公众号:CV算法小屋 获取更多最新大语言模型论文和代码