新手教程之使用LLaMa-Factory微调LLaMa3

为什么要用LLaMa-Factory

如果你尝试过微调大模型,你就会知道,大模型的环境配置是非常繁琐的,需要安装大量的第三方库和依赖,甚至需要接入一些框架。
但是大模型微调的方法又是非常类似的,那有没有一种工具可以统一这些操作,让大模型微调变成一个简单易上手的事情,LLaMa-Factory就是为了解决这个问题应运而生


什么是LLaMa-Factory

本来不想说这么多废话的,想来想去还是简单介绍一下,也加深自己的了解:
LLaMA Factory是一款支持多种LLM微调方式的工具,包括预训练、指令监督微调和奖励模型训练等。它支持LoRA和QLoRA微调策略,广泛集成了业界前沿的微调方法。特点在于支持多种LLM模型,提供了WebUI页面,使非开发人员也能方便进行微调工作。
代码地址:LLaMA-Factory


LLaMa-Factory环境搭建

  1. 克隆项目
git clone https://github.com/hiyouga/LLaMA-Factory.git
  1. 创建环境
conda create -n llama_factory python=3.10
conda activate llama_factory
  1. 安装依赖
cd LLaMA-Factory
pip install -e .[torch,metrics]
  1. 启动web UI界面
export CUDA_VISIBLE_DEVICES=0
python src/webui.py

启动成功之后,游览器会打开如下界面:
在这里插入图片描述


微调LLaMA3

  1. 准备模型

方法一:克隆我们要微调的模型到本地,然后将在web UI界面填入我们的模型名称和本地的模型地址

git clone https://www.modelscope.cn/LLM-Research/Meta-Llama-3-8B-Instruct.git

方法二:直接去魔塔Meta-Llama-3-8B-Instruct地址复制对应的文件名和路径,微调时,程序会自动​去魔搭下载模型!
(这个方法小编浅浅试了一下,没成功,还是下载到本地靠谱)
在这里插入图片描述

  1. 准备数据集

LLaMA-Factory项目内置了丰富的数据集,统一存储于data目录下。
如果你想基于自己的数据集微调,你需要
(1)将你的数据集也放到data目录下
注意:你需要将你的数据集改为一样的格式,具体可参考data下内置数据集的格式
这里提供一个小编基于LooksJuicy/ruozhiba数据集改好的一个数据集:

https://pan.baidu.com/s/1FYYlBIXWy697xdagrHiIeg
提取码:2333

(2)修改data下的dataset_info.json文件,添加如下内容:
其中my_data.json是我自己的数据集文件,my_data是对应的数据集文件名

"my_data": {
    "file_name": "my_data.json"
  },

添加到第一层大括号内的第一个元素前,也就是identity前面

  1. 微调

这里我直接通过web ui界面进行微调
在这里插入图片描述

训练需要二十分钟左右,训练完成之后,会出现下述界面:
左下角会显示训练完毕,右边会出现训练过程中损失变化的一个可视化

在这里插入图片描述

  1. 与微调之后的模型对话

在这里插入图片描述
这样看来,使用LLaMa-Factory微调确实很简单方便!!!


参考博文

### 关于LlaMA-Factory部署和微调的信息 #### 使用LlaMA-Factory进行模型微调 为了利用LlaMA-Factory执行低秩适应(LoRA)微调,需先安装该库。这可以通过克隆GitHub上的官方仓库来完成[^2]: ```bash git clone --depth 1 https://github.com/hiyouga/LLaMA-Factory.git ``` 接着,在本地环境中设置必要的依赖项并加载预训练的基础模型。对于具体的微调过程,LlaMA-Factory提供了详细的指南说明如何准备数据集以及调整超参数以优化特定任务的表现。 #### Python在LlaMA-Factory中的应用 Python作为一门高级编程语言,在此框架内扮演着重要角色。它不仅被用来实现核心算法逻辑,还支持整个工作流——从数据处理到最终的服务化部署。开发者可以借助丰富的第三方库简化开发流程,提高效率[^3]。 #### 部署经过微调后的模型 当完成了对基础模型的有效改进之后,下一步就是将其成功地集成至生产环境当中。LlaMA-Factory同样涵盖了这部分内容的教学材料,指导用户怎样打包自己的成果,并通过RESTful API等形式对外提供服务接口访问能力。 #### 调用API实例 一旦模型已经准备好上线运行,则可通过如下方式创建简单的客户端请求脚本来测试其性能表现: ```python import requests url = "http://localhost:8000/predict" data = {"input": "your input text here"} response = requests.post(url, json=data) print(response.json()) ```
评论 25
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

疯狂的小强呀

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

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

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

打赏作者

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

抵扣说明:

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

余额充值