网站策划专员招聘,建设银行短信开通网站,驾校门户网站模板,德州手机网站建设费用参考文档#xff1a;
ChatGLM2-6B 微调(初体验) - 知乎 环境配置
下载anaconda#xff0c;版本是Anaconda3-2023.03-0-Linux-x86_64.sh#xff0c;其对应的python版本是3.10#xff0c;试过3.7和3.11版本的在运行时都报错。 执行下面的命令安装anaconda sh Anaconda3-202…参考文档
ChatGLM2-6B 微调(初体验) - 知乎 环境配置
下载anaconda版本是Anaconda3-2023.03-0-Linux-x86_64.sh其对应的python版本是3.10试过3.7和3.11版本的在运行时都报错。 执行下面的命令安装anaconda sh Anaconda3-2023.03-0-Linux-x86_64.sh
进入安装过程根据提示输入即可会自动配置好环境变量和pip等 下载代码
git clone GitHub - hiyouga/ChatGLM-Efficient-Tuning: Fine-tuning ChatGLM-6B with PEFT | 基于 PEFT 的高效 ChatGLM 微调
cd ChatGLM-Efficient-Tuning
如果服务器不能联网可以在自己电脑上下载好上传到服务器的对应目录 安装依赖
pip install -r requirements.txt 下载模型
从 Hugging Face Hub 下载模型实现和参数 到本地后期使用 只需要 从本地下载即可。
git lfs install
git clone https://huggingface.co/THUDM/chatglm2-6b 知识产权数据集准备
通过ChatGPT生成问答预料文本
例如 prompt: 根据以下内容生成10道简答题和答案生成的答案需要详细知识点完整 在电影《天下无贼》中演员刘德华和刘若英扮演的一对夫妇开着骗得的宝马轿车驶 入别墅区大门时保安不但没有上前询问反而立正敬礼。刘德华扮演的男主角将车倒回, 拍着宝马车问保安: “开好车你就不问开好车就可以随便进入开好车就一定是好人 吗?!”这个问题令人沉思。的确观众们需要扪心自问:人们在追求以豪车、名表和名牌 服装等为象征的奢华生活和“面子”时是否忽视了物质外壳之下的美丽灵魂?然而电 影中的这一幕揭示了一个现实如 “宝马”这样的驰名商标彰显了拥有者的身份与地位, 满足了消费者的心理需求其作用有别于普通商标。与之相适应商标法对驰名商标提供 了特别保护。 驰名商标是指经过长期使用或大量商业推广与宣传在市场上享有很高知名度并为相 关公众所熟知的商标。与普通商标相比驰名商标具有以下几个特点。 首先驰名商标在相关公众中具有很高的知名度。
将返回的数据整理成md文档如下图 每个章节生成的问题和回答数据达到5w字以上全部生成完成之后将文本内容处理成json格式python代码如下 import json import os import re def process_md(md_text): qa_list [] # 使用正则表达式分割问题和答案 qa_pairs re.split(r\n\n, md_text) for pair in qa_pairs: question_match re.match(r^\s*(.*)\s*答\s*(.*?)\s*$, pair, re.DOTALL) if question_match: #question question_match.group(1) question re.sub(r^\d\.\s*, , question_match.group(1)).rstrip(\n) answer question_match.group(2) qa { content: question, summary: answer } qa_list.append(qa) return qa_list def main(): input_directory md_files # 替换为包含Markdown文件的目录 output_directory formatted_qa # 输出文件的目录 if not os.path.exists(output_directory): os.makedirs(output_directory) output_filename os.path.join(output_directory, content.json) output_fileopen(output_filename, w, encodingutf-8) for filename in os.listdir(input_directory): if filename.endswith(.md): with open(os.path.join(input_directory, filename), r, encodingutf-8) as file: md_text file.read() qa_list process_md(md_text) json.dump(qa_list, output_file, ensure_asciiFalse, indent2) print(f转换完成结果已保存到{output_filename}) if __name__ __main__: main() 结果文档如下 ChatGLM2-6B模型微调 命令行训练 CUDA_VISIBLE_DEVICES0 python src/train_bash.py \ --stage sft \ --model_name_or_path /home/liq/zw/chatglm2/chatglm2-6b \ --do_train \ --dataset zscq \ --dataset_dir ./data \ --finetuning_type lora \ --output_dir /home/liq/zw/data/chatglm2-6b-lora-zscq \ --per_device_train_batch_size 1 \ --gradient_accumulation_steps 1 \ --lr_scheduler_type cosine \ --logging_steps 10 \ --save_steps 1000 \ --learning_rate 5e-5 \ --num_train_epochs 3.0 \ --fp16
开始训练 训练完成 命令行测试 python src/cli_demo.py \ --model_name_or_path /home/liq/zw/chatglm2/chatglm2-6b \ --checkpoint_dir /home/liq/zw/data/chatglm2-6b-lora-zscq/checkpoint-19000 \ --quantization_bit 4
进入问答界面 输入问题得到对应回答 导出微调模型 python src/export_model.py \ --model_name_or_path /home/liq/zw/chatglm2/chatglm2-6b \ --checkpoint_dir /home/liq/zw/data/chatglm2-6b-lora/checkpoint-19000 \ --output_dir /home/liq/zw/chatglm2-6b-lora-zscq2 查看模型内容