首页 > Python资料 博客日记
直觉微调——简化语言模型对齐过程
2024-10-25 06:00:09Python资料围观39次
人工智能咨询培训老师叶梓 转载标明出处
预训练语言模型在遵循指令和信任度方面仍有待提高。为了解决这一问题,研究者们提出了监督式微调(Supervised Fine-Tuning, SFT)和偏好优化(Preference Optimization, PO)两种方法。尽管SFT在训练效率上有所提升,PO在对齐上表现更佳,但通常这两种方法被简单序列化应用,没有整合它们的优化目标。这忽略了桥接它们范式差异的机会,未能充分利用两者的优势。
来自清华大学的研究者们,提出了一种名为直觉微调(Intuitive Fine-Tuning, IFT)的新方法。该方法在马尔可夫决策过程(MDP)框架内,通过定义偏好估计和转换优化两个子过程,将SFT和PO整合为单一过程。图1为不同对齐方法的对比,包括IFT、SFT、PPO和DPO。说明了IFT仅依赖于正样本和单一策略,从预训练的基础模型开始进行对齐,显示出了与SFT相当的高效率,并且与其他对齐算法相比具有可比性或更优越的性能。
方法
直觉微调(IFT)旨在解决监督式微调(SFT)在偏好估计和转换优化方面的不足,同时希望利用偏好优化(如PPO和DPO)的优势,但仅使用SFT所需的目标数据。
SFT与偏好优化之间的一个关键区别在于是否对每个初始指令的模型偏好进行了完整分布的采样。与偏好优化不同,SFT使用的中间状态可能与模型偏好相差甚远,导致结果不佳。为了获得更接近模型偏好的状态估计,研究者引入了一个基于模型的分布扰动函数 δθ,用于偏态状态:
这可以被解释为一种时间残差连接。通过这种方法,模型不仅可以预测目标答案中间状态的下一个标记,还可以仅基于初始指令对整个答案生成产生直观感知,从而得出更准确的模型偏好估计:
在改进了偏好估计之后,研究者实现了一个更接近原始目标的转换优化过程:
其中,并且 。这个目标可以通过以下损失函数来优化,该函数量化了模型和人类之间的转换差异:
研究者假设每个目标中间状态的优化目标具有等于1的概率,类似于SFT:
然后,损失函数可以被重新表述为:
其中 。这种重新表述便于并行实现,允许IFT实现与SFT相似的计算效率。
同时,研究者还证明了这个损失函数优化的目标隐含地满足每个状态的Bellman等式:
这个证明保证了优化过程更接近于RLHF。它确保优化目标不仅反映了当前标记的预测准确性,还考虑了当前选择对未来生成的影响,帮助模型获得对生成的直观理解,并为推理和事实跟踪提供更好的因果关系。另外可以像典型的Bellman等式中那样引入衰减因子,以确保在长轨迹中的有效性。
图2 展示了不同方法的训练范式。符号 * 和 θ 分别代表人类和模型,其中 并且 ,θ 类似。SFT使用偏离模型分布的先验,导致与PPO和DPO相比,模型偏好的估计更加有偏差。通过利用临时残差连接,IFT实现了比SFT更接近的估计,同时保持了与SFT相同的数据和计算效率。
想要掌握如何将大模型的力量发挥到极致吗?2024年10月26日叶老师带您深入了解 Llama Factory —— 一款革命性的大模型微调工具。
留言“参加”即可来叶老师的直播间互动,1小时讲解让您轻松上手,学习如何使用 Llama Factory 微调模型。互动交流,畅谈工作中遇到的实际问题。
实验
NLP设置:
数据集:研究者选择了UltraChat-200k和UltraFeedback-60k分别作为单目标和成对数据集。
模型:实验在两个版本的模型上进行,即基础模型Mirstral-7B-v0.1和在UltraChat-200k上微调后的Mirstral-7B-sft-beta。
场景:考虑了两种不同的训练场景,一种是仅使用偏好优化,另一种是SFT和偏好优化的顺序组合。在第一种场景中,直接使用基础模型Mirstral-7B-v0.1和UltraFeedback进行对齐。为了确保不同方法之间的数据量平衡,研究者从UltraChat中随机抽取了60k数据作为SFT和IFT的补充,因为这两种方法只使用了目标数据。在第二种常见场景中,SFT和偏好优化被顺序采用。在这个场景中,使用Mirstral-7B-sft-beta作为起点,该模型已经使用SFT在UltraChat上进行了微调。然后,使用UltraFeedback和偏好优化进一步微调。
基线:主要的基线是SFT和DPO,由于计算限制,PPO被排除在外。研究者还纳入了DPO的一个改进版本,称为ORPO,它声称可以在没有SFT和参考模型的情况下直接实现对齐,这与研究目标非常吻合。除了复现上述算法外,研究者还考虑了两个开源检查点Zephyr-7B-beta和Mirstral-ORPO-alpha,它们分别使用了顺序和直接配方,且使用的起点模型和数据集与研究者相似。
基准测试:考虑了两种基准测试。一种是广泛使用的Open-LLM LeaderBoard,包含ARC-Challenge、MMLU、TruthfulQA、WinoGrande和GSM8K。另一种是基于LM的评估,包括Alpaca-Eval和Alpaca-Eval-2。研究者对所有基准测试使用聊天模板,以获得对聊天模型更准确的评估。
主要结果:
顺序配方的有效性:在这种场景中,IFT在具有标准答案或没有标准答案的基准测试中展现出良好的性能。在Open-LLM Leaderboard上,IFT在所有任务中展现出最佳的平均能力,特别是在需要生成、推理和事实跟踪能力的任务上,例如TruthfulQA和GSM8K。然而,IFT在如ARC-Challenge和MMLU这样的多项选择任务中与DPO有较大差距。当通过GPT-4评估指令遵循和问答能力时,IFT的性能与选定的基线相当。值得注意的是,IFT在所有测试方法中使用最少的数据和计算资源就实现了这些结果。
单独偏好优化的有效性:IFT不仅在这种设置中保持了与其他基线相比的性能优势,如在顺序场景中所见,而且IFT在许多顺序配方中的表现也相当或更优。而DPO在这种设置下往往会失败,ORPO在其开源模型中保持了竞争力。然而,当在相同的实验设置下进行限制时,ORPO的性能不如IFT。依赖于偏好数据使得ORPO在负样本采样、偏好标记和GPU内存消耗方面成本更高。在这种情况下,IFT作为一种更高效且成本效益更高的选择脱颖而出。
多项选择与生成:IFT在生成任务上表现更好,但在多项选择任务上表现不佳,而DPO则表现相反。这可能是由于评估指标和训练目标的差异。多项选择任务评估整个答案的对数似然,而生成任务需要逐令牌构建以实现因果关系和推理。DPO对齐指令和完整答案之间的映射,而IFT强调令牌级因果关系。因此DPO在多项选择任务上往往表现优异,而IFT在逐令牌探索任务上表现更好。在将ARC-Challenge适应为生成任务时,IFT在不改变基准测试的分布的情况下展现出优越性。总体而言,IFT在多样化的任务中展现出平衡的性能,并取得了最高的平均分。
SFT与偏好优化之间的目标权衡:传统的偏好优化方法在提高语言模型的指令遵循能力方面提供了卓越的对齐性能,如表2所示。然而,适应SFT和偏好优化的不同目标涉及权衡。即使对SFT的轻微过拟合也可能导致偏好优化的有效性降低。这一现象也在表3中观察到,其中通过SFT和其他偏好优化方法的顺序配方训练的模型在Open-LLM Leaderboard上的结果明显较差,甚至比单独使用SFT的结果还差。通过直接在基础模型上进行对齐,ORPO和IFT可以避免这种权衡,实现更好且更稳定的性能。
IFT的效率和扩展潜力:尽管IFT实现了与其他方法相当或更优的性能,但它在许多方面也拥有高效率。像SFT和ORPO一样,IFT不需要参考模型,这节省了GPU内存和计算资源。最重要的是,IFT和SFT是唯一不需要偏好数据进行对齐的方法,提供了以下显著的好处。首先,这一特性消除了在GPU上同步存储和计算成对数据的需求,从而减少了内存消耗和训练时间。其次,不再需要从模型中进行负样本采样和人类偏好标记,消除了与对齐相关的最高成本,这一直是迄今为止被抛弃但根本性的挑战。另外仅使用目标答案为对齐过程带来了扩展的潜力,反映了预训练中发现的核心好处。
图3 展示了Frozen Lake游戏的设置。这个游戏作为一个测试平台,用来模拟并比较不同的策略对齐方法。研究者通过计算训练得到的策略参数与最优策略参数之间的均方误差(MSE)来评估不同微调方法的性能。在这项测试中,IFT在策略对齐上的表现明显优于SFT和ORPO,虽然它的效果略低于DPO。
尽管Open-LLM Leaderboard提供了一个评估模型性能的平台,但其上的分数并不能完全代表模型的真实性能,尤其是考虑到GPT-4在模拟人类语言生成方面的局限性。因此研究者寻求与一个真正最优策略的比较,以更全面地评估不同微调方法的有效性。
为了克服获取代表人类语言最优策略的难题,研究者选择在一个简化的Frozen Lake环境中验证他们的算法。这个环境为研究者提供了一个有限的状态和动作集合,使得使用传统的强化学习方法来推导出最优策略成为可能。
研究者采用了一个两层全连接神经网络来模拟参数化策略对齐。在这个模拟环境中,设计了一个具有一个最优轨迹和一个次优轨迹的设置。最优参数化策略是基于先前获得的最优状态-动作概率进行训练的。通过这种方法,研究者能够比较来自不同语言模型(LMs)的微调方法。
研究者通过测量最优策略和训练策略参数之间的均方误差距离来评估性能。在这种设置下,IFT相比于SFT和ORPO实现了更好的策略对齐,尽管它的表现略逊于DPO。这一结果部分归因于不同方法在探索网格与代理偏好一致性方面的不同表现,其中DPO的表现最为接近最优,其次是IFT,然后是ORPO,最后是SFT。
尽管ORPO也考虑了从策略中采样的负面轨迹,但它将SFT损失与融合系数结合的方式导致了偏好估计的偏差,从而在一定程度上降低了其有效性。值得注意的是,DPO、ORPO和IFT相比SFT探索了更多的网格,这有助于代理更好地理解环境,从而可能提高策略对齐的效果。
标签:
上一篇:探索CSS动画下的按钮交互美学
下一篇:Flink批处理快速入门
相关文章
最新发布
- 【Python】selenium安装+Microsoft Edge驱动器下载配置流程
- Python 中自动打开网页并点击[自动化脚本],Selenium
- Anaconda基础使用
- 【Python】成功解决 TypeError: ‘<‘ not supported between instances of ‘str’ and ‘int’
- manim边学边做--三维的点和线
- CPython是最常用的Python解释器之一,也是Python官方实现。它是用C语言编写的,旨在提供一个高效且易于使用的Python解释器。
- Anaconda安装配置Jupyter(2024最新版)
- Python中读取Excel最快的几种方法!
- Python某城市美食商家爬虫数据可视化分析和推荐查询系统毕业设计论文开题报告
- 如何使用 Python 批量检测和转换 JSONL 文件编码为 UTF-8
点击排行
- 版本匹配指南:Numpy版本和Python版本的对应关系
- 版本匹配指南:PyTorch版本、torchvision 版本和Python版本的对应关系
- Python 可视化 web 神器:streamlit、Gradio、dash、nicegui;低代码 Python Web 框架:PyWebIO
- 相关性分析——Pearson相关系数+热力图(附data和Python完整代码)
- Python与PyTorch的版本对应
- Anaconda版本和Python版本对应关系(持续更新...)
- Python pyinstaller打包exe最完整教程
- Could not build wheels for llama-cpp-python, which is required to install pyproject.toml-based proj