LLM学会左右互搏,基础模型或将迎来群体革新
金庸武侠小说中有一门武学绝技:左右互搏;乃是周伯通在桃花岛的地洞里苦练十余年所创武功,初期想法在于左手与右手打架,以自娱自乐。而这种想法不仅能用来练武功,也能用来训练机器学习模型,比如前些年风靡一时的生成对抗网络(GAN)。
进入现今的大模型(LLM)时代,研究者发现了左右互搏的精妙用法。最近,加利福尼亚大学洛杉矶分校的顾全全团队提出了一种名为SPIN(Self-Play Fine-Tuning)的新方法。这种方法能够在不使用额外的微调数据的情况下,仅通过自我博弈来大幅提升LLM的能力。顾全全教授表示:“授之以鱼不如授之以渔:通过自我博弈微调(SPIN)可以使所有大模型从弱到强得到提升!”
这项研究也在社交网络引起了不少讨论,比如宾夕法尼亚大学沃顿商学院的 Ethan Mollick 教授就表示:「更多证据表明,AI 不会受限于可供其训练的人类创造内容的数量。这篇论文再次表明使用 AI 创造的数据训练 AI 可以比仅使用人类创造的数据获得更高质量的结果。」
此外,还有许多研究人员对这一方法感到兴奋,并对 2024 年在相关方向的进展表现出极大期待。顾全全教授向机器之心表示:「如果你希望训练一个超越 GPT-4 的大模型,这是一项绝对值得尝试的技术。」
论文地址为https://arxiv.org/pdf/2401.01335.pdf。
大型语言模型(LLM)开启了通用人工智能(AGI)的大突破时代,它能以非凡的能力解决需要复杂推理和专业知识的广泛任务。LLM 擅长的领域包括数学推理 / 问题求解、代码生成 / 编程、文本生成、摘要和创意写作等等。
LLM 的一大关键进步是训练之后的对齐过程,这能让模型的行为更符合需求,但这个过程却往往依赖于成本高昂的人类标注数据。经典的对齐方法包括基于人类演示的监督式微调(SFT)和基于人类偏好反馈的强化学习(RLHF)。
而这些对齐方法全都需要大量人类标注数据。因此,为了精简对齐过程,研究人员希望开发出能有效利用人类数据的微调方法。
这也是这项研究的目标:开发出新的微调方法,使得微调后的模型可以继续变强,而且这个微调过程无需使用微调数据集之外的人类标注数据。
实际上,机器学习社区一直都很关注如何在不使用额外训练数据的情况下将弱模型提升成强模型,这方面的研究甚至可以追溯至 boosting 算法。也有研究表明,自训练算法可以在混合模型中将弱学习器转换成强学习器,而无需额外的标注数据。但是,要在没有外部引导的前提下自动提升 LLM 的能力既复杂又少有研究。这就引出了以下问题:
我们能让 LLM 在没有额外人类标注数据的前提下实现自我提升吗?
方法
从技术细节上讲,我们可以将来自之前迭代的 LLM 记为 pθt,其对于人类标注的 SFT 数据集中的 prompt x,可以生成响应 y'。接下来的目标是找到一个新的 LLM pθ{t+1},使其有能力区分 pθt 生成的响应 y' 和人类给出的响应 y。
这个过程可被看作是一个两个玩家的博弈过程:主玩家就是新 LLM pθ{t+1},其目标是区分对手玩家 pθt 的响应以及人类生成的响应;对手玩家就是旧 LLM pθt,其任务是生成与人类标注的 SFT 数据集尽可能相近的响应。
新LLM pθ{t+1} 是通过微调旧LLM pθt 得到的,训练过程是让新的LLM pθ{t+1} 有很好的能力区分pθt 生成的响应y' 和人类给出的响应y。而这个训练不仅让新的LLM pθ{t+1} 作为一个主玩家达到很好的区分能力,而且让新的LLM pθ{t+1} 作为一个对手玩家在下一轮迭代中,给出更对齐SFT 数据集的响应。在下一轮迭代中,新获得的 LLM pθ{t+1} 会变成响应生成的对手玩家。
这个自我博弈的过程的目标是让LLM 最终收敛到pθ∗=p_data,使得可能存在的最强大的LLM 生成的响应不再与其之前版本和人类生成的响应不同。
有趣的是,这个新方法与 Rafailov et al. 近期提出的直接偏好优化(DPO)方法表现出了相似性,但新方法的明显区别是采用了自我博弈机制。也因此,这个新方法就有了一大显着优势:无需额外的人类偏好数据。
此外,我们也能明显看出这种新方法与生成对抗网络(GAN)的相似性,只不过新方法中的判别器(主玩家)和生成器(对手)是同一个LLM 在相邻两次迭代后的实例。
该团队还对这个新方法进行了理论证明,结果表明:当且仅当 LLM 的分布等于目标数据分布时,即 p_θ_t=p_data 时,该方法可以收敛。
实验
在实验中,该团队使用了一个基于 Mistral-7B 微调后的 LLM 实例 zephyr-7b-sft-full。
结果表明,新方法能在连续迭代中持续提升zephyr-7b-sft-full,而作为对比,当在SFT 数据集Ultrachat200k 上使用SFT 方法持续训练时,评估分数则会达到性能瓶颈,甚至出现下降情况。
更有趣的是,新方法使用的数据集只是 Ultrachat200k 数据集的一个 50k 大小的子集!
新方法SPIN 还有另一项成就:可有效地将HuggingFace Open LLM 排行榜中基础模型zephyr-7b-sft-full 的平均分数从58.14 提升至63.16,其中在GSM8k 和TruthfulQA 上能有超过10% 的惊人提升,在MT-Bench 上也可从5.94 提升至6.78。
值得注意的是,在 Open LLM 排行榜上,使用 SPIN 微调的模型甚至能与再使用额外 62k 偏好数据集训练的模型媲美。
结论
通过充分利用人类标注数据,SPIN 让大模型靠自我博弈从弱变强。与基于人类偏好反馈的强化学习(RLHF)相比,SPIN 使 LLM 能够在没有额外人类反馈或者更强的 LLM 反馈的情况下自我改进。在包含 HuggingFace Open LLM 排行榜的多个基准数据集实验上,SPIN 显着且稳定地提高了 LLM 的性能,甚至超过了使用额外 AI 反馈训练的模型。
我们期待 SPIN 可以助力大模型的进化和提升,并最终实现超越人类水平的人工智能。
以上是LLM学会左右互搏,基础模型或将迎来群体革新的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

CentOS 关机命令为 shutdown,语法为 shutdown [选项] 时间 [信息]。选项包括:-h 立即停止系统;-P 关机后关电源;-r 重新启动;-t 等待时间。时间可指定为立即 (now)、分钟数 ( minutes) 或特定时间 (hh:mm)。可添加信息在系统消息中显示。

CentOS系统下GitLab的备份与恢复策略为了保障数据安全和可恢复性,CentOS上的GitLab提供了多种备份方法。本文将详细介绍几种常见的备份方法、配置参数以及恢复流程,帮助您建立完善的GitLab备份与恢复策略。一、手动备份利用gitlab-rakegitlab:backup:create命令即可执行手动备份。此命令会备份GitLab仓库、数据库、用户、用户组、密钥和权限等关键信息。默认备份文件存储于/var/opt/gitlab/backups目录,您可通过修改/etc/gitlab

检查CentOS系统中HDFS配置的完整指南本文将指导您如何有效地检查CentOS系统上HDFS的配置和运行状态。以下步骤将帮助您全面了解HDFS的设置和运行情况。验证Hadoop环境变量:首先,确认Hadoop环境变量已正确设置。在终端执行以下命令,验证Hadoop是否已正确安装并配置:hadoopversion检查HDFS配置文件:HDFS的核心配置文件位于/etc/hadoop/conf/目录下,其中core-site.xml和hdfs-site.xml至关重要。使用

在CentOS系统上启用PyTorchGPU加速,需要安装CUDA、cuDNN以及PyTorch的GPU版本。以下步骤将引导您完成这一过程:CUDA和cuDNN安装确定CUDA版本兼容性:使用nvidia-smi命令查看您的NVIDIA显卡支持的CUDA版本。例如,您的MX450显卡可能支持CUDA11.1或更高版本。下载并安装CUDAToolkit:访问NVIDIACUDAToolkit官网,根据您显卡支持的最高CUDA版本下载并安装相应的版本。安装cuDNN库:前

Docker利用Linux内核特性,提供高效、隔离的应用运行环境。其工作原理如下:1. 镜像作为只读模板,包含运行应用所需的一切;2. 联合文件系统(UnionFS)层叠多个文件系统,只存储差异部分,节省空间并加快速度;3. 守护进程管理镜像和容器,客户端用于交互;4. Namespaces和cgroups实现容器隔离和资源限制;5. 多种网络模式支持容器互联。理解这些核心概念,才能更好地利用Docker。

在 CentOS 上安装 MySQL 涉及以下步骤:添加合适的 MySQL yum 源。执行 yum install mysql-server 命令以安装 MySQL 服务器。使用 mysql_secure_installation 命令进行安全设置,例如设置 root 用户密码。根据需要自定义 MySQL 配置文件。调整 MySQL 参数和优化数据库以提升性能。

CentOS系统下查看GitLab日志的完整指南本文将指导您如何查看CentOS系统中GitLab的各种日志,包括主要日志、异常日志以及其他相关日志。请注意,日志文件路径可能因GitLab版本和安装方式而异,若以下路径不存在,请检查GitLab安装目录及配置文件。一、查看GitLab主要日志使用以下命令查看GitLabRails应用程序的主要日志文件:命令:sudocat/var/log/gitlab/gitlab-rails/production.log此命令会显示produc

在CentOS系统上进行PyTorch分布式训练,需要按照以下步骤操作:PyTorch安装:前提是CentOS系统已安装Python和pip。根据您的CUDA版本,从PyTorch官网获取合适的安装命令。对于仅需CPU的训练,可以使用以下命令:pipinstalltorchtorchvisiontorchaudio如需GPU支持,请确保已安装对应版本的CUDA和cuDNN,并使用相应的PyTorch版本进行安装。分布式环境配置:分布式训练通常需要多台机器或单机多GPU。所
