ChatGPT 人工智能 GPT4 伦理 生成式 医疗 监管 安全 机器学习 深度学习 神经网络 计算机视觉 强化学习 模型 算法 应用 开发 研究 工具 平台 框架 数据集 训练 部署 安全 合规 培训 投资 LLM,llm AI,ai,Ai 大模型 大语言模型 制图 生图 绘图 文生图 文生视频 生成式AI AGI 世界模型 sora chatGPT,chatgpt,ChatGpt claude openai Llama deepseek midjourney 红熊猫模型 Red panda,panda Stable Diffusion,StableDiffusion,stable DALL- E 3 DALL E DALL Flux,flux 扩散模型 混元大模型 文心一言 通义千问 可灵 Pika PixelDance 豆包 月之暗面 零一万物 阶跃星辰 搜索增强 MiniMax Talkie Agent prompt fastai LangChain TTS 微调 提示词 知识库 智能体
# 热门搜索 #
搜索
UCLA华人提出全新自我对弈机制!LLM自己训自己,效果碾压GPT-4专家指导
5820点击    2024-02-02 17:27
来自UCLA的华人团队提出一种全新的LLM自我对弈系统,能够让LLM自我合成数据,自我微调提升性能,甚至超过了用GPT-4作为专家模型指导的效果。


合成数据已经成为了大语言模型进化之路上最重要的一块基石了。


在去年底,有网友扒出前OpenAI首席科学家Ilya曾经在很多场合表示过,LLM的发展不存在数据瓶颈,合成数据可以解决大部分的问题。



英伟达高级科学家Jim Fan在看了最近的一批论文后也认为,使用合成数据,再加上传统用于游戏和图像生成的技术思路,可以让LLM完成大幅度的自我进化。



而正式提出这个方法的论文,是由来自UCLA的华人团队。



论文地址:https://arxiv.org/abs/2401.01335v1


他们通过自我对弈机制(SPIN)生成合成数据,再通过自我微调的方法,不使用新的数据集,让性能较弱的LLM在Open LLM Leaderboard Benchmark上将平均分从58.14提升至63.16。



研究人员提出了一种名为SPIN的自我微调的方法,通过自我对弈的方式——LLM与其前一轮迭代版本进行对抗,从而逐步提升语言模型的性能。



这样就无需额外的人类标注数据或更高级语言模型的反馈,也能完成模型的自我进化。


主模型和对手模型的参数完全一致。用两个不同的版本进行自我对弈。


对弈过程用公式可以概括为:



自我对弈的训练方式,总结起来思路大概是这样:


通过训练主模型来区分对手模型生成的响应和人类目标响应,对手模型是轮迭代获得的语言模型,目标是生成尽可能难以区分的响应。


假设第t轮迭代得到的语言模型参数为θt,则在第t+1轮迭代中,使用θt作为对手玩家,针对监督微调数据集中每个prompt x,使用θt生成响应y'。


然后优化新语言模型参数θt+1,使其可以区分y'和监督微调数据集中人类响应y。如此可以形成一个渐进的过程,逐步逼近目标响应分布。


这里,主模型的损失函数采用对数损失,考虑y和y'的函数值差。


对手模型加入KL散度正则化,防止模型参数偏离太多。


具体的对抗博弈训练目标如公式4.7所示。从理论分析可以看出,当语言模型的响应分布等于目标响应分布时,优化过程收敛。


如果使用对弈之后生成的合成数据进行训练,再使用SPIN进行自我微调,能有效提高LLM的性能。



但之后在初始的微调数据上再次简单地微调却又会导致性能下降。


而SPIN仅需要初始模型本身和现有的微调数据集,就能使得LLM通过SPIN获得自我提升。


特别是,SPIN甚至超越了通过DPO使用额外的GPT-4偏好数据训练的模型。



而且实验还表明,迭代训练比更多epoch的训练能更加有效地提升模型性能。



延长单次迭代的训练持续时间不会降低SPIN的性能,但会达到极限。


迭代次数越多,SPIN的效果的就越明显。


网友在看完这篇论文之后感叹:


合成数据将主宰大语言模型的发展,对于大语言模型的研究者来说将会是非常好的消息!



自我对弈让LLM能不断提高


具体来说,研究人员开发的SPIN系统,是由两个相互影响的模型相互促进的系统。


表示的前一次迭代t的LLM,研究人员使用它来生成对人工注释的SFT数据集中的提示x的响应y。

接下来的目标是找到一个新的LLM,能够区分生成的响应y和人类生成的响应y'。

这个过程可以看作是一个两人游戏:

主要玩家或新的LLM试图辨别对手玩家的响应和人类生成的响应,而对手或旧的LLM生成响应与人工注释的SFT数据集中的数据尽可能相似。

通过对旧的进行微调而获得的新LLM更喜欢的响应,从而产生与更一致的分布

在下一次迭代中,新获得的LLM成为响应生成的对手,自我对弈过程的目标是LLM最终收敛到,使得最强的LLM不再能够区分其先前生成的响应版本和人类生成的版本。


如何使用SPIN提升模型性能


研究人员设计了个两人游戏,其中主要模型的目标是区分LLM生成的响应和人类生成的响应。与此同时,对手的作用是产生与人类的反应无法区分的反应。研究人员的方法的核心是训练主要模型。


首先说明如何训练主要模型来区分LLM的回复和人类的回复。


研究人员方法的核心是自我博弈机制,其中主玩家和对手都是相同的LLM,但来自不同的迭代。


更具体地说,对手是上一次迭代中的旧LLM,而主玩家是当前迭代中要学习的新LLM。在迭代t+1时包括以下两个步骤:(1)训练主模型,(2)更新对手模型。


训练主模型


首先,研究人员将说明如何训练主玩家区分LLM反应和人类反应。受积分概率度量(IPM)的启发,研究人员制定了目标函数:



更新对手模型


对手模型的目标是找到更好的LLM,使其产生的响应与主模型的p数据无异。


实验


SPIN有效提升基准性能


研究人员使用HuggingFace Open LLM Leaderboard作为广泛的评估来证明 SPIN的有效性。


在下图中,研究人员将经过0到3次迭代后通过SPIN微调的模型与基本模型zephyr-7b-sft-full的性能进行了比较。


研究人员可以观察到,SPIN通过进一步利用SFT数据集,在提高模型性能方面表现出了显着的效果,而基础模型已经在该数据集上进行了充分的微调。


在第0次迭代中,模型响应是从zephyr-7b-sft-full生成的,研究人员观察到平均得分总体提高了2.66%。


在TruthfulQA和GSM8k基准测试中,这一改进尤其显着,分别提高了超过5%和10%。


在迭代1中,研究人员采用迭代0中的LLM模型来生成SPIN的新响应,遵循算法1中概述的过程。


此迭代平均产生1.32%的进一步增强,在Arc Challenge和TruthfulQA基准测试中尤其显着。


随后的迭代延续了各种任务增量改进的趋势。同时,迭代t+1时的改进自然更小



zephyr-7b-beta是从zephyr-7b-sft-full衍生出来的模型,使用DPO在大约62k个偏好数据上训练而成。


研究人员注意到,DPO需要人工输入或高级语言模型反馈来确定偏好,因此数据生成是一个相当昂贵的过程。


相比之下,研究人员的SPIN只需要初始模型本身就可以。


此外,与需要新数据源的DPO不同,研究人员的方法完全利用现有的SFT数据集。


下图显示了SPIN在迭代0和1(采用50k SFT数据)与DPO训练的性能比较。



研究人员可以观察到,虽然DPO利用了更多新来源的数据,但基于现有SFT数据的SPIN从迭代1开始,SPIN甚至超过了DPO的性能、SPIN在排行榜基准测试中的表现甚至超过了DPO。


参考资料:

https://arxiv.org/abs/2401.01335v1


文章来自于微信公众号 “新智元


AITNT资源拓展
根据文章内容,系统为您匹配了更有价值的资源信息。内容由AI生成,仅供参考
1
微调

【开源免费】XTuner 是一个高效、灵活、全能的轻量化大模型微调工具库。它帮助开发者提供一个简单易用的平台,可以对大语言模型(LLM)和多模态图文模型(VLM)进行预训练和轻量级微调。XTuner 支持多种微调算法,如 QLoRA、LoRA 和全量参数微调。

项目地址:https://github.com/InternLM/xtuner

2
prompt

【开源免费】LangGPT 是一个通过结构化和模板化的方法,编写高质量的AI提示词的开源项目。它可以让任何非专业的用户轻松创建高水平的提示词,进而高质量的帮助用户通过AI解决问题。

项目地址:https://github.com/langgptai/LangGPT/blob/main/README_zh.md

在线使用:https://kimi.moonshot.cn/kimiplus/conpg00t7lagbbsfqkq0