今天给大家介绍一下大模型训练和评估平台,项目名称叫做LLaMA-Factory。该项目整合了目前主要的开源大模型。
主要包含Baichuan、Baichuan2、BLOOM、BLOOMZ、ChatGLM3、Falcon、InternLM、LLaMA、LLaMA-2、Mistral、、Qwen、XVERSE等模型。通过通过一站式网页界面快速上手实现模型训练和评估。下面给大家介绍一下如何在阿里云人工智能PAI平台上部署及使用
1.阿里云人工智能PAI数据集和资源创建1.1阿里云人工智能PAI数据集创建首先我们需要通过阿里云OSS客户端或者WEB端上传我们需要训练的基础模型、比如Qwen-7B-Chat、Baichuan2-7B-Chat等模型

以上截图中我们在对象存储OSS华北2(北京)有4个模型存储文件。这个模型文件需要通过这个web端上传。当然你也可以通过阿里OSS客户端工具上传。

1.2阿里云pai人工智能平台数据集挂载。我们首先需要登录到阿里云pai平台,这里需要注意是华北地区。因为需要用到上面OSS存储,不是一个地区的OSS存储可能不通用。



我们上面列表中已经挂在了qwen的数据集,接下来我们给大家演示一下挂在其他类数据集

数据集名称中输入:Baichuan2-7B-Chat.从阿里云存储创建弹出对话框中选择我们需要挂载的模型文件比如:Baichuan2-7B-Chat



用同样的方法可以挂在多个大模型的数据集,这里我们就不在这里详细阐述了。
1.3阿里云pai创建交互式建模(dsw)
需要填写的部分有:实例名称、资源组、存储配置(共享数据集)其他都可以默认
实例名称,这个随便填写一个项目名称比如:LLaMA_Factory1120
资源组,建议选择GPU规格(支持资源包抵扣)8CPU、32GB内存、GPU1*NVIDIAV100、显存1*16GB

共享存储中可以挂在多个模型。我这里吧阿里和百川的模型都加载上


阿里云分配服务器资源,我们只需要等待资源分配成功即可。

2.代码下载和程序运行包安装2.1代码下载交互式建模(DSW)打开调试窗口,进入nodebook调试窗口页面


我们输入我改造过的代码,代码目前是托管在启智平台上面
gitclone
同时我们刷新nodebook可以看到左边菜单栏代码列表
2.2数据集挂在检查我们需要通过terminal窗口检查一下之前挂在的大模型数据集(Qwen-7B-Chat、Baichuan2-7B-Chat)
cd/mnt/data

我们看到data文件夹下面有了我们之前挂在的模型数据集,我们随便找一个查看里面模型文件

我们通过qwen文件夹中的确找到模型文件了。
2.3安装程序依赖我们切换到项目代码目录结构中
cd/mnt/workspace/LLaMA-Factory
接下来我们安装python依赖包,这样需要解释一下。由于阿里基础镜像魔塔环境依赖包和我们安装软件有冲突我们需要卸载部分软件
pipuninstallmodelscopepipuninstalladaseq
卸载完成后安装以下依赖包

2.4frp程序赋权和启动因为考虑到后面我们将这个web程序代理出来方便访问,所以我们通过frp软件实现反向代理出来。代理到指定的一个IP或则域名访问使用。虽然graido可以通过启动时候增加share=True属性动态生成一个域名访问。但是这个域名访问是72个小时,72个小时之后域名就会变,不方便我们后期稳定访问。所以建议可以使用固定IP或域名代理访问。
2.4.1frps服务端安装找一台公网服务器,将frp软件安装部署到这台公网服务器里。frp软件下载地址在这个地方

下载软件复制到服务器进行解压,解压后的软件

我们修改配置文件
[common]bind_port=8000vhost_http_port=8000dashboard_port=7500dashboard_user=zhouhuidashboard_pwd=xxxx
以上配置主要目的是启动2个端口一个管理端7500端口,一个是8000端口主要是为了frpc客户端链接代理使用。
这里公网服务器需要将7500和8000端口防火墙设置端口打开。

设置完成后启动frps
nohup./frps-c.//dev/null21

2.4.2frpc客户端赋权和启动因为我们已经将frpc客户端程序和配置文件随着程序包。所以frpc和也就随着程序部署在/mnt/workspace/LLaMA-Factory/src目录下

修改配置文件让它和服务端地址连接通讯,修改配置文件如下
[common]server_addr=54.153.123.45server_port=8000[web]type=httplocal_port=5000custom_domains=54.153.123.45
server_addr是frps服务端IP8000是监听服务端端口。5000是监听本地端口。
接下来我们需要给frps赋权
chmod755frpc

接下来我们启动frpc客户端程序
nohup./frpc-c.//dev/null21
3启动train_接下来我们在/mnt/workspace/LLaMA-Factory/src目录下启动train_程序
pythontrain_
启动完成后我们看到控制台输出

因为我们通过frpc代理到远程54.153.123.45对应的8000端口。所以我们是可以通过远程
打开浏览器输入网址。

4加载模型测试及验证我们选择语音zh,模型名称选择qwen模型地址输入/mnt/data/qwen,选择chat切换到聊天窗口


前台页面也显示模型加载中

当模型加载完成后,我们就可以愉快的聊天了。

当然如果您觉的通义千问不好用,也可以卸载模型,然后在通过模型名称换成另外一个大模型了

我们通过这个LLaMA-Factory实现多个模型的训练、评测、微调等功能了。当然每个模型对显存和资源要求不一样,具体可能需要根据大家实际情况参数设置。如果模型过大可以通过在线量化来实现。

训练的参数大家也是可以根据实际情况来设置

通过以上方式大家就可以愉快的炼丹了。
总结LLaMA-Factory还是一个非常强大的大模型训练和评估平台整合了目前主要的开源大模型,这样大家只要通过魔塔社区或者huggingface上下载模型就可以了,不需要花时间在各个模型的web_、cli_、train_直接来回切换了。参考文献: