世界建设企业网站,2021年重大新闻事件,宁夏建设职业技术学院成绩查询网站,北海哪里做网站建设模型微调-基于LLaMA-Factory进行微调的一个简单案例 1. 租用云计算资源2. 拉取 LLaMa-Factory3. 安装依赖环境4. 启动 LLaMa-Factory 界面5. 从 Huggingface 下载模型6. 模型验证7. 模型微调 1. 租用云计算资源
以下示例基于 AutoDL 云计算资源。
在云计算平台选择可用的云计… 模型微调-基于LLaMA-Factory进行微调的一个简单案例 1. 租用云计算资源2. 拉取 LLaMa-Factory3. 安装依赖环境4. 启动 LLaMa-Factory 界面5. 从 Huggingface 下载模型6. 模型验证7. 模型微调 1. 租用云计算资源
以下示例基于 AutoDL 云计算资源。
在云计算平台选择可用的云计算资源实例如果有4090实例可用推荐选择4090实例。同时注意镜像的选择所以镜像会包含特定的环境省去一些基础环境的安装步骤不过这里镜像在实例启动之后也可以进行切换。 创建实例之后通过SSH连接远程服务器 这里我使用 VS Code的 Remote-SSH 插件进行连接连接进去之后可以看到实例中有两个盘其中/root/autodl-tmp是数据盘推荐运行环境、模型文件都放在数据盘避免后续因为实例关机回收导致数据文件丢失。
2. 拉取 LLaMa-Factory
LLaMa-Factory 的 git 地址如下通过 git 命令拉取
git clone https://github.com/hiyouga/LLaMA-Factory.git3. 安装依赖环境
LLaMa-Factory 依赖 Python 特定版本这里使用 Conda 来进行 Python 虚拟环境管理大语言模型相关的框架对运行环境的依赖比较严重推荐通过虚拟环境进行隔离。 而在创建虚拟环境之前推荐设置一下 Conda 虚拟环境和 Python 包的保存路径还是那个原因避免因为云计算资源回收导致数据丢失。
mkdir -p /root/autodl-tmp/conda/pkgs
conda config --add pkgs_dirs /root/autodl-tmp/conda/pkgs
mkdir -p /root/autodl-tmp/conda/envs
conda config --add envs_dirs /root/autodl-tmp/conda/envs/之后创建虚拟环境
conda create -n llama-factory python3.10虚拟环境创建完成之后通过以下命令初始化以下Conda并刷新一下命令行环境变量再激活环境
conda init
source ~/.bashrc
conda activate llama-factory之后进入 LLaMa-Factory 文件夹通过以下命令进行 LLaMa-Factory 相关依赖包的安装
pip install -e .[torch,metrics]安装完成之后通过以下命令测试一下 LLaMa-Factory 是否正常安装
llamafactory-cli version4. 启动 LLaMa-Factory 界面
通过以下命令启动 LLaMa-Factory 可视化微调界面
llamafactory-cli webui通过 VS Code 中的 Remote-SSH 插件连接云服务器的情况启动可视化界面之后Remote-SSH 会自动进行端口转发从而自动在本地浏览器打开相应的页面。如果是其他工具的话可能需要在云平台配置一下相应的端口之后通过云平台暴漏出来的域名打开。 5. 从 Huggingface 下载模型
首先创建一个文件夹用于存放模型文件
mkdir hugging-face增加环境变量修改 HuggingFace 镜像源为国内镜像网站
export HF_ENDPOINThttps://hf-mirror.com修改模型默认存储路径
export HF_HOME/root/autodl-tmp/hugging-face之后还是切换到 llama-factory 虚拟环境安装 HuggingFace官方下载工具
pip install -U huggingface_hub安装完成之后通过以下命令下载模型
huggingface-cli download --resume-download Qwen/Qwen2.5-0.5B-Instruct这里为了下载和后面的微调演示快点就下载0.5B的模型了具体的模型大家可以根据实际情况去选择自己需要的模型在huggingface上搜索模型名称之后进入模型主页复制名称即可 模型文件都比较大在线下载的话需要等待一段时间下载完成之后可以看到模型文件就在 hugging-face 文件夹下了。 在线下载比较占用时间而云服务器开机每一分钟都需要花钱你可以在本地下载模型文件之后传到云服务器上。这时候可以通过 AutoDL 提供的 Jupyter 工具进行文件上传或者通过其他带有SFTP功能的工具连接云服务器上传。 6. 模型验证
下载完成模型之后我们需要验证模型文件是否可以正常加载、运行可以通过 LLaMa-Factory 的可视乎界面加载运行模型 需要注意的是加载本地模型的时候需要修改填写模型本地路径这里的路径是模型快照的唯一哈希值而不是模型文件夹的路径。 之后就可通过和模型进行对话测试下载下来的模型是否正常了也可以看下对话中模型输出的风格和我们微调之后的做下对比。 7. 模型微调
接下来就可以通过 LLaMa-Factory 进行微调了这里先做一个简单的演示为了不让这篇文章篇幅过长先不具体讲解各种微调参数的含义和作用数据集也只使用 LLaMa-Factory 自带的示例数据集演示一下对模型认知设定的微调。
修改一下默认的 identity.json 数据集将其中的{{name}}、{{author}}替换为我们自己的设定并保存文件。 之后在 LLaMa-Factory Web界面中加载预览数据集并且稍微调整一下超参主要是学习率先保存不变主要是训练轮次以及验证集比例。 后续如果需要使用我们自定义的数据集的话也只要将数据集文件放到 LLaMa-Factory 的 data 文件夹再在 dataset_info.json 中进行配置就可以在 Web 界面进行加载使用。这里就先不细说了。 之后点击开始可以看到微调任务的执行进度以及损失函数的变化情况。 0.5B 的模型再加上数据集数据量不多只有不到100条所以微调过程还是很快的可以看到最终的损失函数降到了 0.5 左右。不过这是因为训练数据太少而且一些超参设置比较不合理才有这样的较低损失函数实际微调用于生产环境的模型时要注意防止过拟合的情况。 之后还是用 LLaMa-Factory 加载微调之后的模型文件进行测试这里通过检查点路径添加刚刚训练完成的模型文件 之后就可以和我们微调之后的模型进行对话了 可以看到微调之后的模型已经学习了数据集中的信息可以按照我们预设的人设回答问题。
参考文档 LLama-Factory 官方文档