为了构建法律领域的垂直应用大模型,记录使用LLaMA-Factory微调大模型的过程,以期UU们可以复刻与应用。上文02,LLaMA-Factory微调大模型——LLaMA-Factory搭建已在本机成功部署模型微调框架,本文则在本机部署多种基础模型,为后续微调提供准备。
一、基础模型选择
LLaMA-Factory框架所支持的模型如下表所示,覆盖主流的开源大模型,可按照自身需求进行应用。本文主要部署Qwen2、GLM-4、LLaMA3-8B-Chinese-Chat三个模型进行实验。
模型名
模型大小
Template
Baichuan 2
7B/13B
baichuan2
BLOOM/BLOOMZ
560M/1.1B/1.7B/3B/7.1B/176B
-
ChatGLM3
6B
chatglm3
Command R
35B/104B
cohere
DeepSeek (Code/MoE)
7B/16B/67B/236B
deepseek
Falcon
7B/11B/40B/180B
falcon
Gemma/Gemma 2/CodeGemma
2B/7B/9B/27B
gemma
GLM-4
9B
glm4
InternLM2
7B/20B
intern2
Llama
7B/13B/33B/65B
Llama 2
7B/13B/70B
llama2
Llama 3
8B/70B
llama3
LLaVA-1.5
vicuna
Mistral/Mixtral
7B/8x7B/8x22B
mistral
OLMo
1B/7B
PaliGemma
3B
Phi-1.5/Phi-2
1.3B/2.7B
Phi-3
4B/7B/14B
phi
Qwen/Qwen1.5/Qwen2 (Code/MoE)
0.5B/1.5B/4B/7B/14B/32B/72B/110B
qwen
StarCoder 2
3B/7B/15B
XVERSE
7B/13B/65B
xverse
Yi/Yi-1.5
6B/9B/34B
yi
Yi-VL
6B/34B
yi_vl
Yuan 2
2B/51B/102B
yuan
二、准备阶段
在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博客
https://blog.csdn.net/weixin_44044132/article/details/137055014spm=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)
https://www.modelscope.cn/models/qwen/Qwen2-7B从魔塔社区中克隆模型代码
git clone
https://www.modelscope.cn/qwen/Qwen2-7B.git
克隆完成后如下图所示
使用LLaMA-Factory框架微调Qwen可参考以下官方教程
LLaMA-Factory - Qwenhttps://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)
https://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 专门针对中文进行微调的中文聊天模型。
https://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微调大模型——数据准备,将分析整理微调所用的数据,为后续的微调模型提供高质量、格式规范的数据支撑。欢迎您持续关注,如果本文对您有所帮助,感谢您一键三连,多多支持!
这篇详细介绍了如何在本地使用LLaMA-Factory框架进行法律领域垂直应用大模型的搭建与基础模型部署过程,旨在提供可复现的步骤和方法,帮助用户构建自己的法律领域模型。以下是的关键内容:1. 基础模型选择:介绍了LLaMA-Factory框架支持的多种主流开源大模型,包括Qwen2、GLM-4、LLaMA3-8B-Chinese-Chat等,并确定本文主要部署这三个模型进行实验。2. 准备阶段: - 在LLaMA-Factory文件下新建文件夹存放模型文件。 - 更换pypi源为清华镜像或其他国内镜像源,以加速库的安装。 - 安装必要的代码库,如deepspeed和flash-attn(注意flash-attn可能存在的安装问题及其解决方案)。 - 安装git-lfs(Git Large File Storage),用于管理Git存储库中的大文件。3. 模型部署: - Qwen2模型:从模型库克隆Qwen2代码,使用LLaMA-Factory框架的web端加载并运行模型,进行基础问答测试。 - GLM-4模型:克隆GLM-4的源代码,创建并激活新的虚拟环境,更新依赖项,并在GLM虚拟环境中启动LLaMA-Factory的web端,加载模型进行测试。 - LLaMA3-8B-Chinese-Chat模型:从魔塔社区中克隆模型代码,获取模型绝对路径后,在LLaMA-Factory的web端加载和运行模型,进行测试与交互。4. 模型加载与测试:描述了如何在LLaMA-Factory的web界面中选择并加载模型,通过浏览器进行访问,并在部署完成后通过问答测试模型的功能及效果。5. 监控与调试:在模型运行过程中,可使用nvidia-smi命令查看显卡开销,确保资源有效利用并监控模型运行状态。6. 后续计划:提示读者本文为构建法律领域垂直应用大模型的系列之一,后续将进行数据准备工作,为后续模型微调提供高质量数据。通过这篇,读者可了解到从选择模型、安装依赖、模型部署到测试与监控的完整流程,为构建自己领域的AI模型提供实践指导和参考。 llamagitctochatweb大模型emma虚拟环境codegithub基础模型语言模型ctr模型库浏览器模型部署clone高质量url多模态