阿里云PAI使用LLaMA Factory微调LlaMA 3模型的教程

LLaMA Factory是什么?LLaMA Factory是一个开源微调框架,旨在简化和优化大规模语言模型的训练和部署。LLaMA Factory集成了业界广泛使用的微调技术,支持通过Web UI界面零代码微调大模型。本文将基于LlaMA 3模型,为大家介绍阿里云PAI使用LLaMA Factory微调LlaMA 3模型的具体操作方法。

点击进入:阿里云官网

前提条件:

1、创建工作空间。

2、创建DSW实例,其中关键参数配置如下:

  • 实例规格选择:建议使用24 GB显存的A10(ecs.gn7i-c8g1.2xlarge)或更高配置。
  • 镜像选择:建议使用Python3.9及以上版本。本方案在官方镜像中选择modelscope:1.14.0-pytorch2.1.2-gpu-py310-cu121-ubuntu22.04。

一、安装LLaMA Factory

1、进入DSW开发环境,登录阿里云PAI控制台。

2、在页面左上方,选择DSW实例所在的地域。

3、在左侧导航栏单击工作空间列表,在工作空间列表页面中单击默认工作空间名称,进入对应工作空间内。

4、在左侧导航栏,选择模型开发与训练>交互式建模(DSW)。

5、单击需要打开的实例操作列下的打开,进入DSW实例开发环境。

6、在Launcher页面中,单击快速开始区域Notebook下的Python3。

7、在Notebook中执行以下代码,拉取LLaMA-Factory项目到DSW实例。

!git clone --depth 1 https://github.com/hiyouga/LLaMA-Factory.git

8、安装LLaMA-Factory依赖环境。

!pip uninstall -y vllm
!pip install llamafactory[metrics]==0.7.1

9、运行如下命令,如果显示llamafactory-cli的版本,则表示安装成功。

!llamafactory-cli version
[2024-05-08 10:25:22,857] [INFO] [real_accelerator.py:161:get_accelerator] Setting ds_accelerator to cuda (auto detect)
Welcome to LLaMA Factory, version 0.7.1.dev0

二、下载数据集

在本教程中,PAI提供了一份多轮对话数据集,执行以下命令下载数据。

%cd LLaMA-Factory
!wget https://atp-modelzoo-sh.oss-cn-shanghai.aliyuncs.com/release/tutorials/llama_factory/data.zip
!mv data rawdata && unzip data.zip -d data

数据集中的样本为多轮对话形式,每轮对话都由一条用户指令和一条模型回答组成,微调过程中模型不断学习样本中的回答风格,从而达到中文化与角色扮演的目的。该数据集分为训练集和验证集两个文件,其中训练集共包含320组多轮对话样本,验证集共包含30组多轮对话样本,数据样例如下所示:

[
{
    "conversations": [
      {
        "from": "human",
        "value": "模仿西游记的孙悟空的语气和我聊天。如果你把水冻住,你会得到什么?"
      },
      {
        "from": "gpt",
        "value": "哈哈,这问题还难倒俺老孙吗?把水冻住就是变成冰啦!不过若是在取经的路上用得着这冰来做啥,比如过火焰山时,那可就是解渴消暑的好东西了!你觉得呢?还有没有更有趣的问题让俺老孙来解答?"
      },
      {
        "from": "human",
        "value": "那怎么做才可以把水冻住"
      },
      {
        "from": "gpt",
        "value": "哈哈,对俺老孙来说,这可是轻而易举的事情!只需将水放在凉快的地方,或者使用法力,一吹仙气,水便能迅速结冰啦!当然,在你的世界里,把水放进冰箱的冷冻室里等一阵子,水就会变成冰块了。要是嫌慢,可以尝试用点干冰或液氮什么的,不过得小心使用哈!毕竟不像俺老孙有抗寒法力。"
      }
    ]
}
]

三、模型微调

启动Web UI

1、运行如下命令启动Web UI。

其中,USE_MODELSCOPE_HUB设为1,表示模型来源是ModelScope。使用HuggingFace模型可能会有网络问题。

!export USE_MODELSCOPE_HUB=1 && \
llamafactory-cli webui

2、单击返回的URL地址,进入Web UI界面。

由于http://0.0.0.0:7860为内网访问地址,仅支持在当前的DSW实例内部通过单击链接来访问WebUI页面,不支持通过外部浏览器直接访问。

/mnt/workspace/LLaMA-Factory
[2024-05-08 21:25:45,224] [INFO] [real_accelerator.py:161:get_accelerator] Setting ds_accelerator to cuda (auto detect)
Running on local URL:  http://0.0.0.0:7860

To create a public link, set `share=True` in `launch()`.

配置参数

进入Web UI后,关键参数配置如下,其他参数保持默认即可。

LLaMA Factory微调教程

LLaMA Factory微调教程

启动微调

LLaMA Factory微调教程

1、将输出目录修改为train_llama3,训练后的LoRA权重将会保存在此目录中。

2、单击预览命令,可展示所有已配置的参数。

如果用户希望通过代码进行微调,可以复制这段命令,在命令行运行。

3、单击开始,启动模型微调。

启动微调后需要等待大约20分钟,待模型下载完毕后,可在界面观察到训练进度和损失曲线。当显示训练完毕时,代表模型微调成功。

LLaMA Factory微调教程

四、模型评估

LLaMA Factory微调教程

1、模型微调完成后,单击页面顶部的刷新适配器,然后单击适配器路径,选择下拉列表中的train_llama3,在模型启动时即可加载微调结果。

2、在Evaluate&Predict页签中,数据集选择eval(验证集)评估模型,并将输出目录修改为eval_llama3,模型评估结果将会保存在该目录中。

3、单击开始,启动模型评估。

模型评估大约需要5分钟,评估完成后会在界面上显示验证集的分数。其中,ROUGE分数衡量了模型输出答案和验证集中的标准答案的相似度,ROUGE分数越高代表模型学习得越好。

LLaMA Factory微调教程

使用教程

阿里云服务器更换操作系统教程

2024-7-19 13:43:49

使用教程

思源笔记如何通过亚马逊云科技S3同步?

2024-8-5 9:00:41

相关推荐