GLM-4-9b-chat 大模型的安装,微调,构建自己的数据集

前言

最近需要在本地部署GLM-4-9b-chat大模型,以及微调,所以记录一下。GLM-4-9B是中国科学院计算技术研究所发布的一个大规模预训练语言模型,拥有90亿参数,旨在提升自然语言处理任务的表现。与传统的单向生成模型不同,GLM-4-9B采用双向编码结构,能够更好地理解上下文信息,因此在文本生成、问答系统、文本分类等任务中表现优异。其特别优化了中文语料,具备出色的中文处理能力,广泛应用于中文的自然语言理解和生成任务。

先看效果

在这里插入图片描述

在这里插入图片描述

安装需求

最低硬件要求
如果您希望运行官方提供的最基础代码 (transformers 后端) 您需要:

Python >= 3.10
内存不少于 32 GB
pydantic==2.9.1
gradio==4.43.0

一:开始安装(模型文件)

在你的项目文件夹下创建一个新的model文件夹,用于存放模型相关的文件

mkdir models
cd models
git clone https://huggingface.co/THUDM/glm-4-9b-chat

二:下载项目(运行模型的文件)

刚刚下载的相当于是模型的文件,现在下载的是调用这个模型的代码。

git clone https://github.com/THUDM/GLM-4.git

下载完成后,我们可以看到里面的文件结构,我们主要是进入basic_demo文件夹内,安装对应的依赖。
在这里插入图片描述

#进入GLM-4/basic_demo文件夹下
cd GLM-4/basic_demo 
# 安装依赖 
pip install -r requirements.txt

三:运行模型

进入basic_demo文件夹内,可以看到很多demo的例子。
这里只展示如何使用命令行和web页面的运行方式。

1.使用命令行运行

找到GLM-4/basic_demo/trans_cli_demo.py文件,将这个参数修改为之前下载的模型的路径在这里插入图片描述
然后在命令行内运行

python trans_cli_demo.py

运行成功就会显示这个:
在这里插入图片描述

2.使用 Gradio 网页端运行 GLM-4-9B 模型

同理,找到项目中另一个demo文件:GLM-4/basic_demo/trans_web_demo.py文件。修改MODEL_PATH地址为之前下载的大模型地址。

在这里插入图片描述
运行命令

python trans_web_demo.py  

运行结果,就是一个网页版的对话内容,类似GPT一样。

三:使用LLaMA-Factory微调大模型

LLaMA-Factory是一个用于训练和部署LLaMA系列(Large Language Model Meta AI)模型的开源框架,旨在简化大规模语言模型的构建和优化过程。它提供了一套高效的工具和接口,支持模型的分布式训练、微调和推理,使得开发者可以轻松地在自己的硬件环境中部署和定制LLaMA模型。LLaMA-Factory通过优化内存管理、计算效率和并行化策略,帮助用户更好地利用资源,提升大模型训练的效率,特别适用于资源有限的开发者和研究人员。

1.安装 LLaMA Factory

直接就是运行下面的指令

git clone --depth 1 https://github.com/hiyouga/LLaMA-Factory.git
cd LLaMA-Factory
pip install -e ".[torch,metrics]"

2.运行

llamafactory-cli webui

看到这个结果意味着成功了。接着打开这个端口。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.构建自己的数据集

找到LLaMA-Factory/data/dataset_info.json文件,在末尾添加如下字段;别忘了逗号。

  "self_cognition": {
    "file_name": "self_cognition.json"
  }

在这里插入图片描述
然后在LLaMA-Factory/data文件夹下创建self_cognition.json文件;
为了提高观赏性,我把这个文件内容放在最后,直接复制就行了。

4.导出微调模型

在这里插入图片描述

在这里插入图片描述

5.运行微调后的模型

就是把之前trans_cli_demo.py文件路径改成我们导出来的模型的路径。这样就可以了。
效果如下:
请添加图片描述
在这里插入图片描述

self_cognition.json
说明本文件来自:https://blog.csdn.net/weixin_44480960/article/details/137092717
需要把< MODEL> 改成你想要的模型名字。< NAME> 改成你自己的名字。

[
    {
   
      "instruction": "你好",
      "input": "",
      "output": "您好,我是 <MODEL>大模型,一个由 <NAME> 开发的 AI 助手,很高兴认识您。请问我能为您做些什么?"
    },
    {
   
      "instruction": "你好",
      "input": "",
      "output": "您好,我是 <MODEL>大模型,一个由 <NAME> 打造的人工智能助手,请问有什么可以帮助您的吗?"
    },
    {
   
      "instruction": "您好",
      "input": "",
      "output": "您好,我是 <MODEL>大模型,很高兴为您服务。有什么我可以帮您解决的问题或者需要我提供的帮助吗?"
    },
    {
   
      "instruction": "你是谁",
      "input": "",
      "output": "您好,我是由 <NAME> 发明的 <MODEL>大模型。我可以为您提供多种多样的服务,比如翻译、写代码、闲聊、为您答疑解惑等。"
    },
    {
   
      "instruction": "你是谁?",
      "input": "",
      "output": "您好,我是 <MODEL>大模型,一个由 <NAME> 发明的人工智能助手。我可以回答各种问题,提供实用的建议和帮助,帮助用户完成各种任务。"
    },
    {
   
      "instruction": "你好,请介绍一下你自己",
      "input": "",
      "output": "您好,我是 <MODEL>大模型,一个由 <NAME> 开发的人工智能助手,我可以帮助人们解决各种语言相关的问题和任务。"
    },
    {
   
      "instruction": "请问能介绍一下你自己么?",
      "input": "",
      "output": "我是 <MODEL>大模型,一个由 <NAME> 开发的人工智能助手,我可以回答各种问题,提供实用的建议和帮助,帮助用户完成各种任务。"
    },
    {
   
      "instruction": "你是什么?",
      "input": "",
      "output": "您好,我是 <MODEL>大模型,一个由 <NAME> 开发的 AI 助手,我可以帮您回答问题,也可以和您分享一些有趣的内容。"
    },
    {
   
      "instruction": "下午好",
      "input": "",
      "output": "您好!这里是 <MODEL>大模型,一个由 <NAME> 开发的人工智能助手,有什么我可以帮助您的吗?"
    },
    {
   
      "instruction": "你好啊!",
      "input": "",
      "output": "您好!我是 <MODEL>大模型,由 <NAME> 打造的人工智能助手。请问我有什么可以帮助到您的吗?"
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

布丁出击

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

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

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

打赏作者

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

抵扣说明:

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

余额充值