使用LLaMA-Factory快速练习本身的专用大模型

打印 上一主题 下一主题

主题 1879|帖子 1879|积分 5641

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本文聊聊 LLama-Factory,它是一个开源框架,这里头可以找到一系列预制的组件和模板,让你不用从零开始,就能练习出本身的语言模型(微调)。不管是聊天机器人,还是文章生成器,乃至是问答体系,都能搞定。而且,LLama-Factory 还支持多种框架和数据集,这意味着你可以根据项目需求机动选择,把精力集中在真正告急的变乱上——创造代价。
使用LLama-Factory,常见的就是练习LoRA模型,加强模型在某方面的生本钱领。本教程将以加强 GLM-4-9B-Chat 模型的头脑急转弯本领为例,演示LoRA模型的微调方法。
环境预备

当地使用

LLama-Factory 的安装比力简单,各人直接看官网页面就够了:
github.com/hiyouga/LLa…
云镜像

如果你当地没有一张好显卡,也不想费劲的安装,就想马上开始练习。
可以试试我的云镜像,开箱即用:www.haoee.com/application…
平台注册就送一定额度,可以完本钱教程的的演示示例。
   镜像已经内置了几个基础模型,多数在6B-9B,单卡24G显存即可完成LoRA微调。
  如果要微调更大的模型,则需要更多的显卡和显存,请在购买GPU时选择合适的显卡和数目。
  已经内置的模型:Yi-1.5-9B-Chat、Qwen2-7B、meta-llama-3.1-8b-instruct、glm-4-9b-chat、chatglm3-6b
  如果缺少你需要的模型,可以给我反馈。
  假设你已经解决了程序运行环境问题,下边将开始解说 LLama-Factory 的使用方法。
LLama-Factory 直接下令行和Web页面练习,为了方便入门,这篇文章以Web页面练习为例。
选择基础模型

语言:zh,因为我们要微调的是中文模型。
模型选择:GLM-4-9B-Chat
模型路径:/root/LLaMA-Factory/models/glm-4-9b-chat,默认会自动下载模型,不过速度可能比力慢,我们的镜像中已经下载好这个模型,以是直接填写路径更快。
微调方法:lora

预备练习数据集

LLaMA-Factory自带了一些常用的数据集,如果你使用的数据集不在里边,可以修改 data/dataset_info.json,在其中增加本身的数据集。
这里我使用的是一个弱智吧问答数据集,数据集的格式是 alpaca,泉源:huggingface.co/datasets/Lo…

练习参数设置

练习参数需要根据实际练习结果进行调整,这里给出一个参考设置。

数据集:请根据你的需要选择,这里选择我上边定义的 ruozhiba_qa。
学习率:1e-4,设置的大点,有利于模型拟合。
计算范例:如果显卡较旧,发起计算范例选择fp16;如果显卡比力新,发起选择bf16。
梯度累计:2,有利于模型拟合。

LoRA+学习率比例:16,相比LoRA,LoRA+续写结果更好。
LoRA作用模块:all 体现将LoRA层挂载到模型的所有线性层上,进步拟合结果。
开始练习

点击“开始”按钮,可以在页面上看到练习进度和练习结果。
根据练习方法和练习数据的巨细,练习需要的时间不定。

推理测试

在“检查点路径”这里加载刚刚练习的LoRA模型,然后切换到“Chat”页签,点击“加载模型”。
测试完毕后,记得点击“卸载模型”,因为模型占用显存比力大,不开释的话,再进行别的任务可能会堕落。

对比练习前后的变革:
练习前:

练习后:

这是一个比力感性的测试,如果需要更为正式的结果评估,请使用“Evaluate & Predict” 选择合适的评测数据集进行评估。

合并导出模型

偶然候我们需要把模型导出来放在别的地方使用,输出一个完备的模型文件,而不是基础模型+LoRA模型。

检查点路径:练习出来的LoRA模型
导出目录:设置一个服务器上的路径,新的模型会存放到这里。
末了点击“开始导出”就行了。导出完毕后,请前往服务器相关的路径中下载模型。
LLaMA-Factory 架构

末了送各人一张 LLaMA-Factory 的架构图,方便理解其原理。

图片左侧:体现了 LLaMA-Factory 的架构,分为四个主要部分:LlamaBoard、Trainer、Model Loader 和 Data Worker。


  • LlamaBoard:用于参数配置和练习状态监督。
  • Trainer:负责优化和练习方法的选择,如 LoRA+、GaLoRe、Pre-train、SFT 等。
  • Model Loader:负责模型初始化、补丁、量化和适配器等功能。
  • Data Worker:负责加载、对齐、预处置处罚和合并练习数据。
图片右侧:列出了支持的盛行语言模型和巨细,以及支持的练习方法。


  • 支持的语言模型和巨细:LLaMA、LLaMA-2、LLaMA-3、Command-R、Mistral/Mixtral、OLMo、Phi-1.5/2、Qwen、DeepSeek (MoE)、Falcon、Gemma/CodeGemma 和 StarCoder2。
  • 支持的练习方法:全量调整、冻结调整、LoRA、QLoRA、奖励建模、PPO 练习、DPO 练习、ORPO 练习。

总体上来说,LLama-Factory 的使用还是挺顺利的,没有太多的坑。
   作者:萤火架构
链接:https://juejin.cn/post/7409974426371047439

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

王國慶

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表