欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 资讯 > LLaMA-Factory(二)界面解析

LLaMA-Factory(二)界面解析

2024/12/24 23:01:49 来源:https://blog.csdn.net/qq_61179907/article/details/144673880  浏览:    关键词:LLaMA-Factory(二)界面解析

这里写目录标题

  • 1. 基础选项
    • 语言
    • 模型选择
    • 模型路径
    • 微调方法
    • 检查点路径
    • 量化等级
    • 量化方法
    • 提示模板
    • RoPE
    • 加速方式
  • 2.模型训练界面
    • 训练方式
    • 数据集
    • 超参数设置
    • 其他参数
    • 部分参数设置
    • LoRA参数设置
    • RLHF参数设置
    • GaLore参数设置
    • BAdam参数设置
    • 训练
  • 3.评估预测界面
  • 4.Chat界面
  • 5.导出Export界面

1. 基础选项

在这里插入图片描述

语言

可以选择英文、俄语、中文、韩语四种
在这里插入图片描述

模型选择

可以选择不同模型,选择后若不配置路径默认从Hugging face上下载
在这里插入图片描述

模型路径

此处可以配置自己下载的路径而不使用Huggingface上下载的
在这里插入图片描述

微调方法

  1. Full微调:Full微调是指在微调过程中更新整个模型的所有参数。这意味着所有的层和参数都会被更新,并且在微调期间都会参与训练。Full微调通常用于对模型进行全面的调整,以适应新的任务或领域。

  2. Freeze微调:Freeze微调是指在微调过程中冻结(不更新)部分模型的参数。这些被冻结的参数在微调期间将保持不变。通常,我们会选择冻结模型的底层(低级的)部分,而只更新模型的高层(高级的)参数。这样做是因为底层参数包含了一些通用的语言表示,而高层参数则更负责进行特定任务的学习。

  3. LORa微调:LORa(Layer-wise Optimal Relevance Adjustment)是一种特定的微调策略。它通过在不同层之间引入可学习的关联系数,来调整模型在每个层级上的相关性。这种方法允许不同层级之间的信息传递和调整,以更好地适应微调任务。LORa微调可以通过在微调过程中训练这些关联系数来实现。

这些微调策略的选择取决于不同的需求和情况。Full微调适用于全面调整模型的情况,而Freeze微调适用于只关注特定任务的情况。LORa微调则提供了一种更加灵活的方式来调整模型在不同层级上的相关性。
在这里插入图片描述

检查点路径

待更新

在这里插入图片描述

量化等级

模型量化(Quantization)是一种用于通过修改权重的精度来减小大型神经网络(包括大型语言模型)大小的技术。但在某些情况下,可以使用明显较低的精度(例如INT8)来减小模型的总体大小,从而允许其使用功能较弱的硬件来运行,同时其能力和准确性可接受地降低。实际上,对于大模型最常见的就是8bits量化(FP8/INT8)和4bits量化(FP4/NF4/INT4)。

可以根据模型Readme.md中查看对应使用的量化等级。也可以使用Chat界面查看哪种读取方式可以正确加载。如果不确定一版可以选择None。
在这里插入图片描述

量化方法

上一篇文章有下载bitsandbytes包,其余HQQ与EETQ方法待定更新。
在这里插入图片描述

提示模板

根据模型选择不同模板,此处选择通义千问的Qwen。
在这里插入图片描述

RoPE

RoPE的目标:构建一个位置相关的投影矩阵, 使得
( R m q ) ⊤ ( R n k ) = q ⊤ R m ⊤ R n k = q ⊤ R n − m k \left(\mathbf{R}_m\mathbf{q}\right)^\top\left(\mathbf{R}_n\mathbf{k}\right)=\mathbf{q}^\top\mathbf{R}_m^\top\mathbf{R}_n\mathbf{k}=\mathbf{q}^\top\mathbf{R}_{n-m}\mathbf{k} (Rmq)(Rnk)=qRmRnk=qRnmk

对位置编码的转换称为位置插值。在这一步中,我们将位置索引从 [ 0 , L ′ ) \left[0, L^{\prime}\right)[0,L

)减小到 [ 0 , L ) [0, \mathrm{~L})[0, L),以匹配计算 RoPE 之前的原始索引范围。
因此,作为 RoPE 的输入,任意两个标记之间的最大相对距离从 L ′ L^{\prime}L

减小到 L LL 。由于我们在扩展之前和之后对位置索引和相对距离的范围进行了对齐,减轻了上下文窗口扩展对注意力得分计算的影响,这使得模型更容易适应。
为了进一步证明这一点,下面的定理表明插值后的注意力得分具有良好的性质:

此处我们一般选择none
在这里插入图片描述

加速方式

选择auto
在这里插入图片描述

2.模型训练界面

在这里插入图片描述

训练方式

SFT:
监督微调(Supervised Fine-Tuning, SFT)是对已经预训练的模型进行特定任务的训练,以提高其在该任务上的表现。预训练模型通常在大量通用数据上进行训练,学到广泛的语言知识和特征。在SFT过程中,利用特定任务的数据,对模型进行进一步调整,使其更适合该任务。
PPO:
PPO算法的具体步骤是基于对策略梯度方法的改进,它主要包括以下几个关键的步骤:
1、收集数据:通过在环境中执行当前策略(policy)来收集一组交互数据。这些数据包括状态(state)、动作(action)、奖励(reward)以及可能的下一个状态。
2、计算优势估计:为了评价一个动作相对于平均水平的好坏,需要计算优势函数(advantage function)。这通常是通过某种形式的时间差分(TD)估计或者广义优势估计(GAE)来完成的。
3、优化目标函数:PPO算法使用一个特殊设计的目标函数,这个函数涉及到概率比率
表示旧策略。目标函数的形式通常为:
其中,是优势函数的估计是一个小的正数(如0.1或0.2),clip 函数限制了概率比率
(θ)的变化范围,防止更新步骤过大。
4、更新策略:使用梯度上升方法来更新策略参数,即 ,其中是学习率。
5、重复步骤:使用新的策略参数重复以上步骤,直到满足某些停止准则,比如策略性能不再提升或者已经达到了一定的迭代次数。
DPO:
irect Preference Optimization (DPO) 是一种专为大型语言模型(LLMs)设计的训练方法,旨在通过人类偏好数据来优化模型,而无需使用复杂的强化学习算法(如Proximal Policy Optimization, PPO)。DPO 的核心思想是通过偏好数据直接调整模型参数,绕过显式奖励模型的拟合以及复杂的强化学习优化过程。这种简化的训练方法不仅提高了训练效率,还避免了传统 RLHF 方法中常见的不稳定性。
KTO:
本文受前景理论(prospect theory)启发,提出人类感知损失函数(human-aware loss functions)的概念,并进一步提出了KTO(Kahneman-Tversky Optimization)算法。KTO不需要偏好数据,可以直接利用二元信号标记的数据来训练算法,对于负样本更加敏感。实验表明,KTO算法在一定参数范围内能够超过DPO算法,并且KTO可以处理数据正负样本不平衡的情况。同时,在跳过SFT阶段的情况下,直接使用KTO相比于直接使用 DPO,效果有很大提升。在数据正负样本比例失衡/偏好数据有非传递性/偏好数据有噪声/的情况下,使用KTO可能是更好的选择。
在这里插入图片描述

数据集

选择数据的文件夹及对应数据集这里选择中文微调数据集alpaca_zh_demo
数据集存放在data文件夹下,添加新数据集需要修改data_info.json以及其他json文件
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

超参数设置

深度学习超参数根据习惯修改,采用默认
批处理大小*梯度累积=每多少个样本更新一次参数
在这里插入图片描述

其他参数

预热选择4
在这里插入图片描述

部分参数设置

在这里插入图片描述

LoRA参数设置

在这里插入图片描述

RLHF参数设置

在这里插入图片描述

GaLore参数设置

在这里插入图片描述

BAdam参数设置

在这里插入图片描述

训练

在这里插入图片描述
点击保存训练参数后按开始就可以开始训练
预览命令
在这里插入图片描述

3.评估预测界面

待定更新

4.Chat界面

在这里插入图片描述

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

5.导出Export界面

模型训练后导出
在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com