没显卡也能微调大模型,手把手ChatGLM-6B微调实例教程,AutoDL云平台部署

历时12个小时的调试,终于把流程完整跑通。
本教程通过AutoDL云平台部署,微调大模型,手把手带你感受微调,采用云平台的学术加速,可以下载github和huggingface的代码、模型、数据集

一、ChatGLM-6B介绍

智谱清言的开源双语对话语言模型

chat地址:https://chatglm.cn/main/alltoolsdetail?lang=zh

代码地址:https://github.com/THUDM/ChatGLM-6B

二、创建实例

2.1 租借实例

打开AutoDL,租借显存24G的3090或4090,原来我用的python3.12的问题很多,就换到3.10

三、准备数据 

3.1 复制学术加速代码

source /etc/network_turbo

3.2 下载代码仓

进入数据盘,设置学术加速,下载代码仓库

cd autodl-tmp/
source /etc/network_turbo
git clone https://github.com/THUDM/ChatGLM-6B.git

3.3 下载ChatGLM-6B模型 

3.3.1 安装git-lfs

Hugging Face 使用 Git LFS 来管理大文件(如模型权重、数据集等),而 Git LFS 会用这种指针文件代替真实文件,以节省 Git 仓库的空间。安装lfs可以下载真实文件

curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash
sudo apt-get install git-lfs
git lfs install

3.3.2 下载权重文件

训练的时候会下载一份到roo

### 如何在AutoDL平台上部署微调ChatGLM3-6B大语言模型 #### 准备工作 为了顺利进行后续操作,在`autodl-tmp`文件夹下创建一个新的名为`models`的文件夹用于存储下载的模型权重文件[^1]。 ```bash mkdir -p ~/autodl-tmp/models/ cd ~/autodl-tmp/models/ ``` #### 获取模型资源 通过Git命令从Hugging Face仓库克隆`chatglm3-6b`的相关参数、配置以及预训练好的权重文件到本地环境中[^2]: ```bash git clone https://huggingface.co/THUDM/chatglm3-6b ``` 这一步骤确保了拥有最新的官方版本,同时也方便日后更新维护。 #### 部署API服务 对于希望快速搭建起能够提供对外接口的服务而言,可以考虑利用现有的硬件设施——例如配备有RTX 4090 GPU的机器来加速整个过程。具体来说,就是先按照正常流程启动相应的Python应用程序,并监听特定端口等待外部请求的到来[^4]。 ```python from transformers import AutoModelForCausalLM, AutoTokenizer import torch tokenizer = AutoTokenizer.from_pretrained("path_to_your_model_directory") model = AutoModelForCausalLM.from_pretrained("path_to_your_model_directory").to('cuda') def generate_response(prompt_text): inputs = tokenizer(prompt_text, return_tensors="pt").input_ids.to('cuda') outputs = model.generate(inputs) response = tokenizer.decode(outputs[0], skip_special_tokens=True) return response ``` 请注意替换上述代码中的路径变量为实际保存位置。 #### 数据准备与模型微调 针对具体的任务需求收集整理一批高质量的数据集作为输入给定至算法内部参与迭代优化的过程当中去;这里以广告文案生成为例说明如何基于已有的基础之上进一步提升性能表现。首先获取所需语料库并将其转换成适合框架读取的形式之后再执行正式的学习环节。 ```bash # 假设已经获得了AdvertiseGen数据集压缩包advertise_gen.zip unzip advertise_gen.zip -d ./data/ # 使用transformers库提供的工具类处理原始文本序列使之成为可用于训练的有效样本 python preprocess.py --dataset_path=./data/ --output_dir=./processed_data/ ``` 接着定义好超参设置后就可以正式启动finetune程序啦! ```bash CUDA_VISIBLE_DEVICES=0 python run_clm.py \ --train_file=./processed_data/train.json \ --validation_file=./processed_data/dev.json \ --do_train \ --do_eval \ --per_device_train_batch_size=8 \ --learning_rate=5e-5 \ --num_train_epochs=3 \ --save_steps=500 \ --output_dir=./results/ ``` 最后当一切就绪以后便可以通过简单的CLI交互方式来进行效果评估测试了。 ```bash echo "请描述一款科技感十足的新产品..." | python cli_inference.py --checkpoint_path=./results/checkpoint-best/ ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

爬呀爬的水滴

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

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

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

打赏作者

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

抵扣说明:

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

余额充值