基于chatGLM-6B模型微调详细教程(linux版)(ptuning & lora)

目录

准备工作

安装7z

ptuning预训练

ChatGLM-6B-Ptuning.7z 懒人包下载

上传文件并解压缩

拉取依赖

进行训练

启动服务

注意事项(揽睿星舟云算力平台)

lora预训练

chatGLM-All-In-One.7z 懒人包下载

上传文件并解压缩

拉取依赖

进行训练

启动服务

注意事项(揽睿星舟云算力平台)

展示


准备工作

安装7z

 sudo apt install p7zip-full p7zip-rar

ptuning预训练

ChatGLM-6B-Ptuning.7z 懒人包下载

链接:https://pan.baidu.com/s/1v-7qWwj28lc6r1qNBzdZjw?pwd=vd2u

提取码:vd2u

上传文件并解压缩

 # 提取完整路径文件
 7z x -y ChatGLM-6B-Ptuning.7z -o/home/user/data

拉取依赖

 pip3 install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
 pip3 install tensorboard gradio mdtex2html -i https://pypi.tuna.tsinghua.edu.cn/simple

进行训练

训练前先上传自己的数据集 answers.json

我的数据集如下

 {"prompt": "你们公司有哪些产品", "response": "公司主要业务包括系统集成、软件开发、应用软件销售、技术服务、IT人才培训、互联网金融等领域。公司已经为银行、证券、期货、基金、保险等金融机构提供了全面的信息化建设解决方案,并在国内金融行业享有良好声誉。", "history": []}
 {"prompt": "你是谁", "response": "我是*****科技有限公司智能助手小金,很高兴为您解答", "history": []}
 {"prompt": "可以介绍一下你嘛", "response": "我是*****科技有限公司智能助手小金,是由*****软件部基于清华大学chatGLM大语言模型研发的,我的职责是负责解答您的各种问题", "history": []}
 {"prompt": "谁开发的你", "response": "我是*****科技有限公司软件部开发的", "history": []}
 {"prompt": "可以介绍一下你们公司么", "response": "*****科技有限公司成立于1993年,是一家专业从事金融信息化解决方案提供商和服务商的高科技企业。公司总部位于北京,在上海、深圳、广州、成都、西安等地设有分支机构。公司致力于为金融行业提供完整的信息化解决方案和优质的服务。", "history": []}
 {"prompt": "你好", "response": "你好呀,我是*****科技有限公司智能助手小金,很高兴为您解答", "history": []}

编辑保存训练脚本

 # 编辑新脚本
vi 01Ptuning.sh
# 输入如下并保存
cd ptuning
python3 main.py --do_train --train_file ../answers.json --validation_file ../dev.json --prompt_column prompt --response_column response --overwrite_cache --model_name_or_path ../model --output_dir ../output --overwrite_output_dir --max_source_length 256 --max_target_length 256 --per_device_train_batch_size 1 --per_device_eval_batch_size 1 --gradient_accumulation_steps 16 --predict_with_generate --max_steps 500 --logging_steps 10 --save_steps 50 --learning_rate 2e-2 --pre_seq_len 128
 # 执行脚本
sh 01Ptuning.sh

启动服务

python3 web_demo.py

注意事项(揽睿星舟云算力平台)

使用揽睿星舟云算力平台启动服务时,需要使用 本机IP + 27777端口对外访问。

获取本机IP

hostname -I

然后复制本机IP,修改web_demo.py最后一行

 # 原始
 demo.queue().launch(share=True, inbrowser=True)
 ​
 # 改为
 demo.queue().launch(share=True, inbrowser=True, server_name='本机IP', server_port=27777)

然后再启动服务

lora预训练

chatGLM-All-In-One.7z 懒人包下载

链接:https://pan.baidu.com/s/1vBFhEVPgIm6qAVaE4Bdfyg?pwd=d6zz

提取码:d6zz

上传文件并解压缩

 # 提取完整路径文件
7z x -y chatGLM-All-In-One.7z -o/home/user/data

拉取依赖

 pip3 install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
 pip3 install tensorboard gradio mdtex2html -i https://pypi.tuna.tsinghua.edu.cn/simple

进行训练

训练前先上传自己的数据集 answers.json

编辑保存训练脚本

 # 编辑新脚本
 vi 03.sh
 # 输入如下并保存
 python3 finetune.py --dataset_path data --lora_rank 32 --per_device_train_batch_size 2 --gradient_accumulation_steps 1 --max_steps 400 --save_steps 50 --save_total_limit 2 --learning_rate 1e-4 --fp16 --remove_unused_columns false --logging_steps 50 --output_dir output
 # 执行脚本
sh 03.sh

启动服务

 python3 web_demo.py

注意事项(揽睿星舟云算力平台)

使用揽睿星舟云算力平台启动服务时,需要先获取本机IP

 hostname -I

然后复制本机IP,修改web_demo.py最后一行

 # 原始
 demo.queue().launch(share=True, inbrowser=True)
 ​
 # 改为
 demo.queue().launch(share=True, inbrowser=True, server_name='本机IP', server_port=27777)

然后再启动服务

展示

  • 7
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论
要对 chatglm2-6b 进行微调以适应 LORA(低功耗广域网)环境,可以按照以下步骤进行操作: 1. 首先,执行 chatglm2_6b_lora.py 脚本来启动微调过程。可以使用命令行输入以下命令:`python chatglm2_6b_lora.py`。 2. 接下来,修改配置文件中的几个值。可以使用以下命令在配置文件中替换一些字符串: ``` sed -i 's/THUDM\/chatglm2-6b--//g' ./chatglm2_6b_lora/config.json sed -i 's/THUDM\/chatglm2-6b/\.\.\/chatglm2_6b_lora/g' ./chatglm2_6b_lora/config.json sed -i 's/THUDM\/chatglm2-6b--//g' ./chatglm2_6b_lora/tokenizer_config.json sed -i 's/THUDM\/ChatGLM2-6B/\.\.\/chatglm2_6b_lora/g' ./chatglm2_6b_lora/modeling_chatglm.py sed -i 's/THUDM\/chatglm2-6b/\.\.\/chatglm2_6b_lora/g' ./chatglm2_6b_lora/modeling_chatglm.py ``` 这些命令将修改配置文件中的一些路径,以使其适应 LORA 微调环境。 3. 最后,调用导出的模型进行微调。具体操作可以参考 ChatGLM-Efficient-Tuning 项目的 README 文件,首先克隆该项目的仓库,然后创建并激活一个新的 Python 环境,安装所需的依赖,并根据提供的数据集说明进行微调。可以使用以下命令执行这一步骤: ``` git clone https://github.com/hiyouga/ChatGLM-Efficient-Tuning.git conda create -n chatglm_etuning python=3.10 conda activate chatglm_etuning cd ChatGLM-Efficient-Tuning pip install -r requirements.txt ``` 然后,根据项目提供的数据集说明进行微调。 通过按照上述步骤进行操作,您可以对 chatglm2-6b 进行 LORA 微调。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [修改 ChatGLM2-6B 自我认知的 Lora 微调教程](https://blog.csdn.net/engchina/article/details/131492403)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小生浩浩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值