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

使用llamafactory进行模型微调完整过程

一、构建领域内的数据集

准备工作:首先你要去申请一个API,我使用的是阿里云百炼,申请完成会给你一个API秘钥


然后推荐你去下载easy-dataset去构建你的数据集,网上很多下载教程

1、easy-dataset相关配置

首选创建项目,点击项目设置,然后去配置模型:

在模型编辑里面,输入你之前申请的API秘钥,记得去你API网站那里充钱,不然后面会一直报错,你选择的模型越好越烧钱

然后配置相关参数,最后点击保存,就可以在右上角使用你配置的模型了

2、提取文件

提取设备使用说明,公司内部 Wiki、,API 文档、硬件BOM表和通信协议文档,我是去https://www.dobot.cn/service/download-center,越疆机器人公司的官网资料下载了相关pdf。

3、配置MinerU

可以省略这步,如果你之后提前文件不使用MinerU的话

在项目配置的任务配置里面,下滑找到PDF文件转换的配置栏,然后输入你去MinerU官网申请的API,只有14天有效期,到期要重新申请

4、构建数据集

具体处理流程如下:

  1. 输⼊数据来源:推荐用MinerU方法来处理pdf文件,上传 PDF、Docx 等原始⽂档:

  2. ⽂本预处理:通过 OCR 识别⽂档内容,并切分为多个⽂本块;

  3. 数据清洗:在生成问题前推荐进行数据清洗

  4. ⽣成问答对:调⽤⼤模型 API,基于⽂本块⾃动⽣成问答对,可以修改模型设置参数多生成几轮问答,并对每个问答对进⾏质量评分

  1. 筛选与导出:筛选⾼分问答对,统⼀导出为单个 JSON ⽂件,作为训练框架的输⼊数据集。

二、LLaMA Factory安装部署

1.简介

LlamaFactory是⽬前主流的开源低代码⼤模型微调框架,集成了业界最⼴泛使⽤的微调技术,⽀持通过 Web UI 零代码完成完整的微调流程。

2.下载

cd/进入你项目文件夹gitclone https://github.com/hiyouga/LLaMA-Factory.git#克隆官方llama-factory文件代码cdLLaMA-Factory

安装依赖

# 创建python 环境conda create-nllamapython=3.11-y# 创建成功后切换到新的环境conda activate llama#要先进入LLaMA-Factory,或者直接在LLaMA-Factory文件下打开终端也可以cdD:\PythonProject\project_llama_factory\LLaMA-Factory#本地cd/root/autodl-tmp/test1/project_llama_factory/LLaMA-Factory#我的远端服务器#安装环境依赖(官网)pipinstall-ihttps://pypi.tuna.tsinghua.edu.cn/simple-e".[torch,metrics]"#或者pipinstall-e".[torch,metrics]"-ihttps://mirrors.aliyun.com/pypi/simple/#卸载 因为我这个报错了pip uninstall torch torchvision torchaudio-y#再安装pipinstalltorch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121#验证,输出结果是truepython-c"import torch; print(torch.cuda.is_available())"

启动llamafactory

#运行# 第一行:设置环境变量$env:USE_MODELSCOPE_HUB=1# 第二行:启动 WebUIllamafactory-cli webui

启动成功的界面

三、训练和微调

1. 配置

默认模型下载到c盘,需要改到D盘,不然占C盘空间,如果是租用远程服务器就无所谓啦。在刚才终端输入:

$env:HUGGINGFACE_HUB_CACHE="D:\model_cache"$env:MODELSCOPE_CACHE="D:\model_cache"

把你数据集文件放进data文件夹,然后再dataset_info里面添加如下配置,你数据集和测试集的名字,以及为它们重新取个名字:

然后在运行出来的网页上选择你刚才添加的的数据集

2.训练

在web界面调整好参数,然后在web界面的trian模块下点击train:

四、模型评估

1.Evaluate&Predict

对于 LLaMA Factory自带有Evaluate&Predict,官方文档中也提供了模型训练完成后的评估方式:可以通过 Predict 获得 BLEU 和 ROUGE 分数。 这说明 LLaMA Factory 自带的 Evaluate&Predict 并不是单纯“聊天测试”,而是可以用于批量评估模型输出与标准答案之间的差异。

操作方式:

记得选择检测路径(保存你之前训练出来的模型的地方),然后开始预测

它会让你安装如下一些库,ctrl+c终止当前webui界面程序:

pipinstalljieba nltk rouge_chinese-ihttps://pypi.tuna.tsinghua.edu.cn/simple pipinstallrouge_chinese-ihttps://pypi.tuna.tsinghua.edu.cn/simple

2.评估方式

本项目建议最终采用以下指标:

指标说明
predict_bleu-4衡量生成文本与参考答案在 4-gram(四个连续词)层面的匹配程度
predict_rouge-1衡量生成文本和参考文本在单词级的重叠率
predict_rouge-2衡量生成文本和参考文本在连续两个词层面的匹配
predict_rouge-l衡量最长公共子序列(LCS)的比例

设计了三组测试:

测试集内容目的
A. 原训练集抽样测试从数据集中抽 200 条原问题测模型是否学会训练数据
B. 改写评估集测试在数据集的基础上修改提问方式测模型是否能处理同义问法
C. 文档内新题测试从同一批PDF中再抽 100 条没训练过的问题补充证明模型对同领域文档有一定扩展能力

3.评估结果

测试A:原训练集抽样200条测试的结果

基座模型值训练模型值
predict_bleu-48.668.9
predict_rouge-127.779.5
predict_rouge-27.669.3
predict_rouge-l16.573.5

测试B:改写评估集生成500条测试的结果

指标基座模型值训练模型值
predict_bleu-410.563.9
predict_rouge-128.677.1
predict_rouge-28.166.4
predict_rouge-l18.169.5

测试C:从同一批 PDF 中再抽 100 条没训练过的问题测试的结果

指标基座模型值训练模型值
predict_bleu-45.724.2
predict_rouge-122.041.0
predict_rouge-25.025.0
predict_rouge-l13.637.4

五、模型对话

1.基座模型加载

2.微调模型加载

3.对比

问题1:

Dobot CRA系列机器人输入功能的总大小是多少字节和比特

基座模型的回答:基座无法确定具体字节

微调模型的回答:训练的模型准确回答出472字节,相当于3776比特,与数据集答案相符

问题2:

Dobot CR A 系列机器人输入/输出数据的字节存储模式是什么

基座模型的回答:基座模型错误回答“大端存储”,但是实际文档中的答案是小端存储

微调模型的回答:训练的模型准确回答出“小端存储”,与数据集答案相符

六、最终结论

在模型训练完成后,本文分别从Evaluate & Predict批量评估人工对话对比两个角度,对基座模型和微调模型进行了对比测试。评估阶段共设计了三类测试集:A类为原训练集抽样测试,用于验证模型是否掌握训练数据中的固定知识;B类为改写评估集测试,用于验证模型面对同一知识点不同问法时的回答稳定性;C类为PDF文档内新题测试,从同一批PDF中再抽100条没训练过的问题 补充证明模型对同领域文档有一定扩展能力。

从量化评估结果来看,微调模型在三组测试集中均明显优于基座模型。在A类原训练集抽样测试中,基座模型的predict_bleu-4仅为8.6,而微调模型提升至68.9predict_rouge-l也由基座模型的16.5提升至73.5。这说明微调模型已经较好地学习到了训练数据中的领域知识和技术支持回答格式。

在B类改写评估集测试中,基座模型的predict_bleu-410.5,微调模型达到63.9;基座模型的predict_rouge-l18.1,微调模型达到69.5。这表明微调模型不仅能够回答原始训练问题,还能在问题表述发生变化时,仍然较稳定地输出接近标准答案的内容。

在C类PDF文档内新题测试中,微调模型同样优于基座模型。基座模型的predict_bleu-4为5.7,微调模型达到24.2;基座模型的predict_rouge-l13.6,微调模型达到37.4。虽然C类测试集由于问题相对更接近文档内补充问题,整体分数低于A、B两类测试,但微调模型仍然表现出明显优势,说明本次微调对同领域文档问答能力具有一定增强效果。

除了批量评估结果外,在人工对话测试中也可以直观看出微调模型与基座模型的差异。例如,在问题“Dobot CR A 系列机器人输入功能的总大小是多少字节和比特?”中,基座模型无法给出明确参数,而微调模型能够准确回答472字节,相当于3776比特。在问题“Dobot CR A 系列机器人输入/输出数据的字节存储模式是什么?”中,基座模型错误回答为大端存储,而微调模型能够正确回答小端模式存储。这说明微调模型已经学习到了 Dobot 总线通讯文档中的关键技术细节。

综合来看,基座模型在面对越疆Dobot机器人固定领域问题时,容易出现回答不确定、关键参数缺失或技术细节错误等情况;而经过领域数据微调后的模型,在BLEU、ROUGE等自动评估指标上均显著高于基座模型,在人工对话中也能更准确地回答参数、协议、地址、数据格式和操作说明类问题。因此,本次基于越疆官方技术文档构建的数据集和微调流程是有效的,能够明显增强模型在越疆Dobot机器人特定领域文档问答任务中的表现。

http://www.cnnetsun.cn/news/2906447.html

相关文章:

  • 学习 LPRNet 框架——轻量级车牌识别网络从结构到工程落地
  • Obsidian Copilot终极指南:5分钟打造你的智能第二大脑
  • Cursor Pro破解工具2025完整指南:永久免费使用AI编程助手
  • 桶装水门店客户分层运营:留住老客比拓展新客更重要
  • MC68377嵌入式调试与定时器硬核协同:FASRAM与TPU3实战解析
  • Cursor Pro破解工具2025:如何绕过AI编程助手试用限制的完整技术指南
  • 灯哥开源FOC双路迷你无刷电机驱动实战指南:从入门到精通
  • MonaServer:轻量级多协议服务器框架的终极指南
  • 3个步骤在Windows电脑上安装安卓应用:告别模拟器卡顿的轻量级解决方案
  • 百度网盘Mac版终极提速指南:免费解锁SVIP高速下载功能
  • 《对马岛之魂:导演剪辑版》
  • 5步搭建你的专属游戏云主机:Sunshine游戏串流实战指南
  • XCOM 2模组管理终极指南:告别官方启动器的5大理由
  • 别再死记硬背API了!用请假审批实战,带你玩转Activiti 7的RuntimeService
  • 3分钟学会Blender建筑建模:Building Tools终极指南
  • 2026百色市权威认证贵金属回收 TOP5+黄金回收白银回收铂金回收门店地址电话推荐
  • 学术不端检测技术与科研诚信体系建设实践
  • 别再只看CVSS分数了!手把手教你解读CVE漏洞报告里的那些‘潜台词’
  • Simulink仿真避坑指南:调试BASK/BFSK/BPSK系统时,你的带通滤波器和比较器阈值设对了吗?
  • 分治算法的递归深度控制与栈空间优化的技术8
  • Cursor Pro破解技术深度解析:从机器ID重置到多平台兼容的开源解决方案
  • IronyModManager:终极Paradox游戏模组冲突解决方案指南
  • WechatBakTool:微信聊天记录备份解密全攻略
  • Windows Cleaner终极指南:三步告别C盘爆红,免费开源工具助你重获流畅体验
  • 如何彻底掌控Mac睡眠模式?SleeperX让你的Mac按需休眠
  • 联想刃7000k BIOS隐藏选项解锁:三步实现高级配置权限提升
  • Typora自动编号插件:告别手动编号,实现文档结构化自动化
  • 别再死记硬背了!用Wireshark抓包实战,带你彻底搞懂TCP拥塞控制(慢开始/快恢复)
  • 如何免费获取Grammarly Premium高级版:autosearch-grammarly-premium-cookie完整指南
  • M68HC11指令集深度解析:从寻址模式到条件码的嵌入式编程实践