当前位置:   article > 正文

ChatGLM3-6B部署+高效微调_如何微调chatglm3

如何微调chatglm3

2024/3/18

一、部署流程

1,创建conda 虚拟环境:conda create -n chatglm3_test python=3.11

      激活进入虚拟环境:conda activate chatglm3_test

(删除虚拟环境:conda env remove -n 虚拟环境的名称)

2,查看cuda版本:nvidia-smi

3,在虚拟环境中安装pytorch

        进入pytorch官网找到对应的版本,复制安装指令至终端执行

此处安装的是:conda install pytorch==1.8.1 torchvision==0.9.1 torchaudio==0.8.1 cudatoolkit=11.3 -c pytorch -c conda-forge

        检查安装(python环境中):import torch

                                                       print(torch.cuda.is_available())

        显示true则表示成功安装GPU版本的pytorch并可以使用cuda

4,下载chatGLM3项目文件

(可以创建文件夹用来存放文件:mkdir /mnt/workspace/chatglm3

进入文件夹下:cd chatglm3)

对应Github地址:GitHub - THUDM/ChatGLM3: ChatGLM3 series: Open Bilingual Chat LLMs | 开源双语对话语言模型

克隆:git clone GitHub - THUDM/ChatGLM3: ChatGLM3 series: Open Bilingual Chat LLMs | 开源双语对话语言模型

》》下载项目文件后进入目录ChatGLM3

5,升级pip版本:python -m pip install --upgrade pip

6,安装项目运行依赖:pip install -r requirements.txt

7,模型下载:git clone https://huggingface.co/THUDM/chatglm3-6b

        下载前需要先安装git-lfs工具(拉取大文件):apt-get install git-lfs

        初始化:git lfs install

!注意:由于模型文件较大加之需要科学上网,下载速度较慢且容易下载失败,此时有两种解决方式

        法一:针对.bin文件点击进入模型权重页面后,鼠标右击download选择复制链接地址,进入终端后使用wget 链接地址方式下载

        法二:直接通过浏览器下载到本地再移动到chatglm3-6b文件夹 

8,启动cli_demo

     进入basic_demo: cd basic_demo/

     修改模型加载路径:vim cli_demo.py

                将THUND/chatglm3-6b修改为../chatglm3-6b     

     语句 python cli_demo.py出现交互式对话界面即启动成功  

具体也可以参考ChatGLM3官方给出的使用方式

二、高效微调(官方微调地址:https://github.com/THUDM/ChatGLM3/blob/main/finetune_demo/lora_finetune.ipynb

1,相关概念解释

全量微调:对原始模型的所有参数进行调整,消费级显卡上无法实现。

高效微调:在原有参数上调整少量参数或者额外增加参数调整。

2,主流的微调方式

        Freeze

        Prefix-Tuning:在微调模型的过程中只优化加入的一小段可学习的向量(virtual tokens)作为prefix(训练的时候只更新Prefix部分的参数)(具体论文地址:https://arxiv.org/abs/2101.00190

        Prompt-Tuning:Prompt Tuning与Prefix Tuning类似,都是通过修改输入来引导模型的输出。但Prompt Tuning更加强调利用上下文信息,通过使用预设的词汇表或字典来引导模型的输出。这种方法在生成型任务中表现出了优越的性能,例如文本生成、摘要等。

        P-Tuning:P-tuning是一种新型的微调方法,它通过改变模型中的注意力分布来调整模型的关注点。这种方法能够在不同的任务中改变模型对输入的关注程度,从而提高模型的性能

        P-Tuning v2:P-tuning的升级版,它在原版的基础上增加了更多的灵活性。除了能够改变注意力分布,P-tuning v2还能够调整模型的层数、节点数等,使得模型能够更好地适应不同的任务。

3,微调操作:

        3.1

        在目录ChatGLM3下进入finetune chatmodel demo:    cd finetune_chatmodel_demo/

        进入scripts:cd scripts/

      

        3.2

        数据集下载并上传到finetune_chatmodel_demo路径下(也可以在终端使用wget命令下载:wget - 0 数据集名称 链接地址,这样下载的是个安装包需要解压使用:tar -xvf 包名)

        3.3

        修改数据集格式:python format_advertise_gen.py --path 'AdvertiseGen/train.json'

        执行后得到的是.jsonl的文件

        3.3

        进入finetune_pt.sh修改:vim finetune_pt.sh

        3.4

        执行P-Turning v2微调脚本:bash finetune_pt.sh

        3.5

        使用微调模型进行推理:

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/486243
推荐阅读
  

闽ICP备14008679号