当前位置: 首页 > article >正文

本地部署 LLaMA-Factory

本地部署 LLaMA-Factory

  • 1. 本地部署 LLaMA-Factory
  • 2. 下载模型
  • 3. 微调模型
    • 3-1. 下载数据集
    • 3-2. 配置参数
    • 3-3. 启动微调
    • 3-4. 模型评估
    • 3-5. 模型对话

1. 本地部署 LLaMA-Factory

下载代码,

git clone https://github.com/hiyouga/LLaMA-Factory.git
cd LLaMA-Factory

创建虚拟环境,

conda create -n llama_factory python=3.11 -y
conda activate llama_factory

安装 LLaMA-Factory,

pip install -e '.[torch,metrics]'

验证,

import torch
torch.cuda.current_device()
torch.cuda.get_device_name(0)
torch.__version__
print(torch.cuda.is_available())

我机器的输入如下,

在这里插入图片描述

2. 下载模型

安装 huggingface_hub,

pip install "huggingface_hub[hf_transfer]"

下载 Qwen/Qwen2.5-7B-Instruct

HF_HUB_ENABLE_HF_TRANSFER=1 huggingface-cli download Qwen/Qwen2.5-7B-Instruct

3. 微调模型

3-1. 下载数据集

LLaMA-Factory项目内置了丰富的数据集,放在了data目录下。您可以跳过本步骤,直接使用内置数据集。您也可以准备自定义数据集,将数据处理为框架特定的格式,放在data下,并且修改dataset_info.json文件。

本教程准备了一份多轮对话数据集,运行下述命令下载数据。

mkdir workspace; cd workspace
wget https://atp-modelzoo-sh.oss-cn-shanghai.aliyuncs.com/release/tutorials/llama_factory/data.zip
unzip data.zip

3-2. 配置参数

启动 webui,然后,打开浏览器,访问 http://localhost:7860,进入WebUI后,可以切换到中文(zh)。

llamafactory-cli webui

首先配置模型,本教程选择LLaMA3-8B-Chat模型,微调方法则保持默认值lora,使用LoRA轻量化微调方法能极大程度地节约显存。
设置学习率为1e-4,梯度累积为2,有利于模型拟合。

在这里插入图片描述
点击LoRA参数设置展开参数列表,设置LoRA+学习率比例为16,LoRA+被证明是比LoRA学习效果更好的算法。在LoRA作用模块中填写all,即将LoRA层挂载到模型的所有线性层上,提高拟合效果。
在这里插入图片描述

3-3. 启动微调

将输出目录修改为train_qwen2.5,训练后的LoRA权重将会保存在此目录中。点击「预览命令」可展示所有已配置的参数,您如果想通过代码运行微调,可以复制这段命令,在命令行运行。

点击「开始」启动模型微调。

在这里插入图片描述

3-4. 模型评估

微调完成后,点击检查点路径,即可弹出刚刚训练完成的LoRA权重,点击选择下拉列表中的train_qwen2.5选项,在模型启动时即可加载微调结果。

选择「Evaluate&Predict」栏,在数据集下拉列表中选择「eval」(验证集)评估模型。更改输出目录为eval_llama3,模型评估结果将会保存在该目录中。最后点击开始按钮启动模型评估。
在这里插入图片描述
模型评估大约需要5分钟左右,评估完成后会在界面上显示验证集的分数。其中ROUGE分数衡量了模型输出答案(predict)和验证集中标准答案(label)的相似度,ROUGE分数越高代表模型学习得更好。

在这里插入图片描述

3-5. 模型对话

选择「Chat」栏,确保适配器路径是train_qwen2.5,点击「加载模型」即可在Web UI中和微调模型进行对话。

在这里插入图片描述
在这里插入图片描述

点击「卸载模型」,点击“×”号取消检查点路径,再次点击「加载模型」,即可与微调前的原始模型聊天。

在这里插入图片描述
本次教程介绍了如何使用PAI和LLaMA Factory框架,基于轻量化LoRA方法微调Qwen2.5模型,使其能够进行中文问答和角色扮演,同时通过验证集ROUGE分数和人工测试验证了微调的效果。在后续实践中,可以使用实际业务数据集,对模型进行微调,得到能够解决实际业务场景问题的本地领域大模型。


参考资料:

  • models-downloading
  • LLaMA Factory:微调LLaMA3模型实现角色扮演
  • LLaMA-Factory QuickStart

http://www.kler.cn/a/454319.html

相关文章:

  • 欧拉计划启航篇(一)
  • arm架构 uos操作系统离线安装k8s
  • Python基础语法知识——列表、字典、元组与集合
  • C++--------继承
  • 计算机网络 (10)网络层
  • Vue(四)
  • 解决:excel鼠标滚动幅度太大如何调节?
  • (NIPS-2024)PISSA:大型语言模型的主奇异值和奇异向量适配
  • 社区二手物品交易小程序ssm+论文源码调试讲解
  • 如何通过HTTP API插入或更新Doc
  • Android Framework 目录下的 AV/Camera 定制常见问题及解决方法
  • Coding(Jenkinsfile)+ Docker 自动化部署 Springboot —— 图文细节和一些注意事项说明
  • 【NIFI】实现ORACLE->ORACLE数据同步
  • Springboot 整合 Duird
  • 【计算机网络安全】加密解密及其在ssh上的应用
  • 面试场景题系列:设计支付系统
  • UnoCSS 的作用与特点
  • idea配置gitee仓库
  • 讯飞语音听写WebApi(流式)【React Native版】
  • 报警推送消息升级的名厨亮灶开源了。
  • 【Django篇】--动手实践Django基础知识
  • 《Go 语言变量》
  • C语言学习笔记(1)
  • 游戏引擎学习第62天
  • Maven核心概念总结
  • Blender高效优化工作流程快捷小功能插件 Haggis Tools V1.1.5