深入解读LLaMA-Factory

转自:老朱读AI

1、介绍

LLaMA-Factory是一个开源平台,旨在为研究人员和开发者提供便捷的大型语言模型微调环境。通过LLaMA-Factory,用户可以轻松地加载预训练模型,调整模型参数,并在特定数据集上进行训练,从而优化模型性能。

想要掌握如何将大模型的力量发挥到极致吗?叶老师带您深入了解 Llama Factory —— 一款革命性的大模型微调工具。9月22日晚,实战专家1小时讲解让您轻松上手,学习如何使用 Llama Factory 微调模型。

加助理微信:amliy007,29.9元即可参加线上直播分享,叶老师亲自指导,互动沟通,全面掌握Llama Factory,关注享粉丝福利,限时免费CSDN听直播后的录播讲解。

LLaMA Factory 支持多种预训练模型和微调算法。它提供灵活的运算精度和优化算法选择,以及丰富的实验监控工具。开源特性和社区支持使其易于使用,适合各类用户快速提升模型性能。

2、特征

  • 各种型号:LLaMA、LLaVA、Mistral、Mixtral-MoE、Qwen、Yi、Gemma、Baichuan、ChatGLM、Phi 等。

  • 集成方法:(连续)预训练、(多模态)监督微调、奖励建模、PPO、DPO、KTO、ORPO 等。

  • 可扩展资源:通过 AQLM/AWQ/GPTQ/LLM.int8/HQQ/EETQ 的 16 位全调谐、冻结调谐、LoRA 和 2/3/4/5/6/8 位 QLoRA。

  • 高级算法:GaLore、BAdam、DoRA、LongLoRA、LLaMA Pro、Mixture-of-Depths、LoRA+、LoftQ、PiSSA 和 Agent tuning。

  • 实用技巧:FlashAttention-2、Unsloth、RoPE scaling、NEFTune 和 rsLoRA。

  • 实验监控:LlamaBoard、TensorBoard、Wandb、MLflow 等。

  • 更快的推理:带有 vLLM 工作器的 OpenAI 风格的 API、Gradio UI 和 CLI。

3、基准

与 ChatGLM 的P-Tuning相比,LLaMA Factory 的 LoRA 调优可将训练速度提高 3.7 倍,并在广告文本生成任务中获得更好的 Rouge 分数。通过利用 4 位量化技术,LLaMA Factory 的 QLoRA 进一步提高了 GPU 内存的效率。

4、定义

  • 训练速度:训练过程中每秒处理的训练样本数量。(bs=4,cutoff_len=1024)

  • Rouge Score :广告文本生成任务开发集上的Rouge-2分数。(bs=4,cutoff_len=1024)

  • GPU 内存:4 位量化训练中的峰值 GPU 内存使用率。(bs=1,cutoff_len=1024)

  • 我们采用pre_seq_len=128ChatGLM 的 P-Tuning 和lora_rank=32LLaMA Factory 的 LoRA 调优。

5、支持的模型

图片

5、支持的训练方式

图片

6、环境要求

图片

7、硬件要求

图片

**番外篇**

在了解LLM微调工具之前,我们务必要对模型微调的相关概念具备一定程度的了解,以此辅助我们更好地LLM微调工具。

一、模型训练阶段

在深入理解模型微调的概念之前,我们先来明晰大模型训练阶段包含哪些内容。

Pre-Training(预训练阶段):此阶段用于训练基础模型,是最为消耗算力的阶段,也是大模型得以诞生的起始点。

Supervised Finetuning(SFT,指令微调/监督微调阶段):与预训练阶段相比,此阶段最大的转变在于训练数据从“量多质低”转变为“量少质高”,训练数据主要通过人工进行筛选或生成。在这个阶段完成后,实际上已经能够获取一个可以上线使用的大模型。

RLHF(基于人类反馈的强化学习,Rainforcement Learning from Human Feedback):它可以划分为两个环节。

奖励建模阶段(Reward Modeling):在这一阶段,模型学习和输出的内容发生了本质性的变化。在前两个阶段,即预训练和微调阶段,模型的输出是符合预期的文本内容;而在奖励建模阶段,其输出不仅涵盖预测内容,还包含奖励值或者评分值,数值越高,表明模型的预测结果越佳。这个阶段输出的评分,并非提供给最终的用户,而是在强化学习阶段发挥关键作用。

强化学习阶段(Reinforcement Learning):这个阶段十分“聪明”地整合了前面的成果:

针对特定的输入文本,通过 SFT 模型获取多个输出文本。

基于 RM 模型为多个输出文本的质量进行打分,此打分实际上已符合人类的期望。

基于这个打分,为多个输出文本结果添加权重。这个权重实际上会体现在每个输出 Token 中。

将加权结果反向传播,对 SFT 模型的参数进行调整,这便是所谓的强化学习。

常见的强化学习策略包含 PPO 与 DPO,它们的细节我们无需深究,只需知晓 DPO 主要应用于分布式训练,适用于大规模并行处理的场景,而 PPO 通常指的是单机上的算法即可。

做一个形象的类比,这四个阶段相当于人的求学之路:

  • 预训练阶段,相当于是小学生

  • 有监督微调阶段,相当于是中学生

  • 奖励建模阶段,相当于是大学生

  • 强化学习阶段,相当于是社会人

二、模型训练模式

在了解了模型训练阶段之后,随之而来的一个问题是,我们应当在哪个阶段开展微调训练呢?

通常会有以下训练模式供选择,依据领域任务、领域样本的情况以及业务的需求,我们能够挑选适宜的训练模式。

  • 模式一:基于 base 模型 + 领域任务的 SFT;

  • 模式二:基于 base 模型 + 领域数据 continue pre-train + 领域任务 SFT;

  • 模式三:基于 base 模型 + 领域数据 continue pre-train + 通用任务 SFT + 领域任务 SFT;

  • 模式四:基于 base 模型 + 领域数据 continue pre-train + 通用任务与领域任务混合 SFT;

  • 模式五:基于 base 模型 + 领域数据 continue pre-train(混入 SFT 数据 + 通用任务与领域任务混合 SFT;

  • 模式六:基于 chat 模型 + 领域任务 SFT;

  • 模式七:基于 chat 模型 + 领域数据 continue pre-train + 领域任务 SFT

是否需要 continue pre-train

大模型的知识源自 pre-train 阶段,如果您的领域任务数据集与 pre-train 的数据集存在较大差异,例如您的领域任务数据来自公司内部,pre-train 训练样本基本无法覆盖到,那么必然要进行 continue pre-train。

倘若您的领域任务数据量庞大(token 在 1B 以上),并且仅追求领域任务的效果,不考虑通用能力,建议进行 continue pre-train。

是选择 chat 模型 还是 base 模型

假如您拥有一个出色的 base 模型,在 base 模型基础上进行领域数据的 SFT 与在 chat 模型上进行 SFT,效果方面的差异不大。

基于 chat 模型进行领域 SFT,极易导致灾难性遗忘,在进行领域任务 SFT 之后,模型的通用能力会降低,如果仅追求领域任务的效果,则无需考虑。

如果您的领域任务与通用任务存在很大的相关性,那么这种二阶段 SFT 会提升您的领域任务的效果。

如果您既追求领域任务的效果,并且期望通用能力不下降,建议选取 base 模型作为基座模型。在 base 模型上开展多任务混合训练时,需要关注各任务之间的数据配比。

其他经验

在资源许可的情况下,倘若只考虑领域任务效果,我会选择模式二;

在资源许可的情况下,若考虑模型的综合能力,我会选择模式五;

在资源不允许的情况下,我会考虑模式六;

一般而言,我们无需进行 RLHF 微调;

  • 12
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Llama-factory是一个由利马养殖而来的工厂。利马作为一种动物在许多地方被用于毛和肉制品的生产。利马的毛是非常珍贵和高质量的,可以用于制作织物、毛线和毛毯等。因此,利马养殖业成为了一个潜力巨大和有利可图的行业。 Llama-factory的主要目标是通过高效率和可持续的生产方式,生产出高质量的利马制品。工厂采用先进的技术和设备,提高生产效率和产品质量。同时,为了保护环境和动物福利,工厂也将注重科学农业和动物养殖实践。 工厂保证了从利马养殖到制品加工的全过程的可追溯性和质量控制。优质利马毛的选择、剪切和加工过程严格按照标准操作规程进行,确保最终产品的优质和安全。 Llama-factory还将致力于产品的创新和市场开拓。除了传统的利马制品,如毛线和毛毯,工厂还会开发出更多样化的产品,如利马织物和时尚配饰。通过与设计师和品牌的合作,工厂将推出独特且具有竞争力的产品,满足不同消费者的需求。 同时,Llama-factory也将关注社会责任和可持续发展。工厂将积极参与当地社区的福利和环保项目,为地方经济和环境的改善做出贡献。 总之,Llama-factory将在利马养殖和产品制造领域发挥重要作用。通过高质量的利马制品和可持续的生产方式,工厂将为消费者提供优质的产品,同时为当地社区和环境做出积极贡献。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

人工智能大模型讲师培训咨询叶梓

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

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

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

打赏作者

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

抵扣说明:

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

余额充值