【03】LLaMA-Factory微调大模型——多模型部署

为了构建法律领域的垂直应用大模型,记录使用LLaMA-Factory微调大模型的过程,以期UU们可以复刻与应用。上文【02】LLaMA-Factory微调大模型——LLaMA-Factory搭建已在本机成功部署模型微调框架,本文则在本机部署多种基础模型,为后续微调提供准备。

一、基础模型选择

 LLaMA-Factory框架所支持的模型如下表所示,覆盖主流的开源大模型,可按照自身需求进行应用。本文主要部署Qwen2、GLM-4、LLaMA3-8B-Chinese-Chat三个模型进行实验。

模型名模型大小Template
Baichuan 27B/13Bbaichuan2
BLOOM/BLOOMZ560M/1.1B/1.7B/3B/7.1B/176B-
ChatGLM36Bchatglm3
Command R35B/104Bcohere
DeepSeek (Code/MoE)7B/16B/67B/236Bdeepseek
Falcon7B/11B/40B/180Bfalcon
Gemma/Gemma 2/CodeGemma2B/7B/9B/27Bgemma
GLM-49Bglm4
InternLM27B/20Bintern2
Llama7B/13B/33B/65B-
Llama 27B/13B/70Bllama2
Llama 38B/70Bllama3
LLaVA-1.57B/13Bvicuna
Mistral/Mixtral7B/8x7B/8x22Bmistral
OLMo1B/7B-
PaliGemma3Bgemma
Phi-1.5/Phi-21.3B/2.7B-
Phi-34B/7B/14Bphi
Qwen/Qwen1.5/Qwen2 (Code/MoE)0.5B/1.5B/4B/7B/14B/32B/72B/110Bqwen
StarCoder 23B/7B/15B-
XVERSE7B/13B/65Bxverse
Yi/Yi-1.56B/9B/34Byi
Yi-VL6B/34Byi_vl
Yuan 22B/51B/102Byuan

二、准备阶段

在LLaMA-Factory文件下新建文件夹存放模型文件

更换pypi源为清华镜像进行加速

# 更换 pypi 源加速库的安装【建议】
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

换源成功如下图所示 

【提示】除了清华源以外还可以选择其他多个国内镜像

阿里云: http://mirrors.aliyun.com/pypi/simple/
中国科技大学: https://pypi.mirrors.ustc.edu.cn/simple/
豆瓣: http://pypi.douban.com/simple/
清华大学: https://pypi.tuna.tsinghua.edu.cn/simple/
中国科学技术大学: http://pypi.mirrors.ustc.edu.cn/simple/

安装下列代码库(可选)

pip install deepspeed
pip install flash-attn --no-build-isolation

安装flash-attention时会出现报错或者超时情况,如下图所示 

该环节出现问题可参考以下这篇博文进行解决

关于flash-attention安装踩过的坑_flash-attn踩坑-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/weixin_44044132/article/details/137055014?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2~default~CTRLIST~Ctr-1-137055014-blog-136054392.235%5Ev43%5Epc_blog_bottom_relevance_base5&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2~default~CTRLIST~Ctr-1-137055014-blog-136054392.235%5Ev43%5Epc_blog_bottom_relevance_base5安装git-lfs,Git Large File Storage(简称Git LFS)是一个用于存储大文件的Git扩展。在传统的Git中,大文件的版本控制会导致存储库变得庞大且访问速度变慢。Git LFS通过将大文件存储在Git存储库之外的特殊服务器上,并在Git存储库中只保留指向这些大文件的指针来解决这个问题。

# 先安装git(如已安装可忽略)
sudo apt-get install git
#安装curl

# 安装apt-get源
curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash
# 安装git-lfs
sudo apt-get install git-lfs
# 初始化git-lfs
git lfs install

安装过程如下图所示 

安装完成后,对其初始化

三、Qwen-2模型

 Qwen是阿里巴巴集团Qwen团队研发的大语言模型和大型多模态模型系列。目前,大语言模型已升级至Qwen2版本。无论是语言模型还是多模态模型,均在大规模多语言和多模态数据上进行预训练,并通过高质量数据进行后期微调以贴近人类偏好。Qwen具备自然语言理解、文本生成、视觉理解、音频理解、工具使用、角色扮演、作为AI Agent进行互动等多种能力。详情可参考该链接。

Qwen2-7B · 模型库 (modelscope.cn)icon-default.png?t=N7T8https://www.modelscope.cn/models/qwen/Qwen2-7B从魔塔社区中克隆模型代码

git clone https://www.modelscope.cn/qwen/Qwen2-7B.git

克隆完成后如下图所示

使用LLaMA-Factory框架微调Qwen可参考以下官方教程

LLaMA-Factory - Qwenicon-default.png?t=N7T8https://qwen.readthedocs.io/zh-cn/latest/training/SFT/llama_factory.html

查看Qwen2模型本地的绝对路径

pwd

此后,启动LLaMA-Factory的web端,在浏览器中进行访问

llamafactory-cli webui

模型选择Qwen2-7B,路径替换为本地的绝对路径,后在Chat标签下加载模型 

模型加载成功后的web页面及命令行如下图所示

此后便可在页面中进行问答,模型成功加载,可以开始进行聊天

 四、GLM-4模型

GLM-4-9B 是智谱 AI 推出的最新一代预训练模型 GLM-4 系列中的开源版本。 在语义、数学、推理、代码和知识等多方面的数据集测评中,GLM-4-9B 及其人类偏好对齐的版本 GLM-4-9B-Chat 均表现出较高的性能。 除了能进行多轮对话,GLM-4-9B-Chat 还具备网页浏览、代码执行、自定义工具调用(Function Call)和长文本推理(支持最大 128K 上下文)等高级功能。 本代模型增加了多语言支持,支持包括日语,韩语,德语在内的 26 种语言。我们还推出了支持 1M 上下文长度(约 200 万中文字符)的模型。详情可访问模型库。

glm-4-9b · 模型库 (modelscope.cn)icon-default.png?t=N7T8https://www.modelscope.cn/models/ZhipuAI/glm-4-9b从魔塔社区中克隆模型代码

完成后如下图所示

在原LLM虚拟环境中直接启动会依赖冲突

因此,创建新的虚拟环境GLM

conda create -n GLM python=3.11

创建好之后,克隆GLM-4的源代码,获取requirements.txt文件

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

之后,通过requirements.txt文件来更新依赖

pip install -r requirements.txt

将tramsformers的版本更新至4.41.2

pip install --upgrade transformers=4.41.2

此后,在GLM虚拟环境中启动LLaMA-Factory的web端,在浏览器中进行访问

模型加载成功如下图所示 

五、Llama-3模型

 Llama3-8B-Chinese-Chat是一个针对中文和英文用户的指令调整语言模型,具有各种能力,如角色扮演和工具使用,建立在Meta-Llama-3-8B-Instruct模型之上。详情可见该链接。

GitHub - Shenzhi-Wang/Llama3-Chinese-Chat:这是第一个基于 Meta-Llama-3-8B-Instruct 模型,通过 ORPO 专门针对中文进行微调的中文聊天模型。icon-default.png?t=N7T8https://github.com/Shenzhi-Wang/Llama3-Chinese-Chat从魔塔社区中克隆模型代码

git clone https://www.modelscope.cn/LLM-Research/Llama3-8B-Chinese-Chat.git

获取模型的绝对路径 

 启动LLaMA-Factory的web端,在浏览器中进行访问

 路径替换为本地的绝对路径,后在Chat标签下加载模型 

 加载成功如下图所示

 可通过网页端与模型进行简单交互,测试其部署效果

同时,可在后台实时查看显卡开销情况

nvidia-smi

小结

至此Qwen2、GLM-4、LLaMA3-8B-Chinese-Chat三个模型成功在本机完成了搭建,下文【04】LLaMA-Factory微调大模型——数据准备,将分析整理微调所用的数据,为后续的微调模型提供高质量、格式规范的数据支撑。欢迎您持续关注,如果本文对您有所帮助,感谢您一键三连,多多支持!

  • 32
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

比伯476

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

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

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

打赏作者

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

抵扣说明:

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

余额充值