Lion:闭源大语言模型的对抗蒸馏

news2025/1/4 16:05:30

Lion:闭源大语言模型的对抗蒸馏

Lion,由香港科技大学提出的针对闭源大语言模型的对抗蒸馏框架,成功将 ChatGPT 的知识转移到了参数量 7B的 LLaMA 模型(命名为 Lion),在只有 70k训练数据的情况下,实现了近 95%的 ChatGPT 能力近似。此外,框架的普适性使它不仅可以用于蒸馏 ChatGPT,还可方便地适用于其他闭源 LLMs。

论文题目:

Lion:闭源大语言模型的对抗蒸馏

Lion: Adversarial Distillation of Closed-Source Large Language Model

论文链接:

https://arxiv.org/abs/2305.12870

项目地址:

https://github.com/YJiangcm/Lion

方法概览

具体来说,作者设计 prompt 让闭源 LLM 充当一个“裁判” Referee 来判别出教师的回答和学生的回答存在显著性能差距的难指令。并且,作者设计 prompt 让闭源 LLM 充当一个“生成器” Generator 来生成新的指令,这些生成的指令模拟了对应于被判别出的难指令的数据分布。提出的对抗蒸馏框架如下图所示,每一轮迭代包括三个阶段:

1)模仿阶段,对于一组指令,将学生的响应与老师的响应对齐;

2)区分阶段,识别出难指令;

3)生成阶段,根据识别出的难指令,产生新的难指令以增加对学生模型的挑战。

考虑到学生模型在学习过程中可能会出现灾难性遗忘的问题,作者也生成了同等数量的新的简单指令,来增加训练数据的多样性。具体细节请查阅原论文:

https://arxiv.org/abs/2305.12870

本质上,这个对抗性框架形成了一个正向的反馈循环,有效地提升了学生模型的能力。

image

实****验结果

为了验证方法的有效性,作者将提出的对抗蒸馏框架应用于知名的闭源大语言模型 ChatGPT, 将其知识转移到一个开源的基础预训练模型 LLaMA,该模型由 70 亿参数组成。作者选择了 Alpaca 的训练数据(仅由 175 个手动选择的种子指令生成)作为初始的训练指令,并进行了 3 次 AKD 迭代,总共使用了 70K 的 instruction-following 数据进行训练。最终训练好的模型被命名为 Lion

作者选取了此前的一系列工作包括 LLaMA,Alpaca,Vicuna 和 WizardLM 作为基线。为了公平比较,模型的参数量都定为 7B。按照先前的研究工作,作者使用了两种评估方法:1)使用 GPT-4 自动评估;2)根据“对齐标准”进行人工评估。

**3.1 Automatic Evaluation with GPT-**4

根据先前的研究表明,GPT-4 在比较聊天机器人的回答时具有生成高度一致的排名和全面评估的潜力。这里,作者利用 GPT-4 对两个模型在 80 个 Vicuna-Instructions 上的回答质量进行自动评分(评分从 1 到 10)。作者选取 ChatGPT 的答案作为参照,将 ChatGPT 和其他模型两两进行比较,通过计算得分之和的比率得到不同模型相对 ChatGPT 的整体回答质量。

如下图所示,Lion(7B)相比其他基准模型至少提高了 5.45% 的相对得分,并且接近于 ChatGPT94.74% 的回复质量。

image

为了全面比较 Lion 与其他基准模型在生成高质量回复方面的能力,作者在不同任务类别上绘制了相对回复质量的对比,具体见下图。值得注意的是,Lion 在通用、知识、常识和反事实任务类别中均稍微超过了 ChatGPT。此外,Lion 在数学任务上相比基线模型得分至少高出 26.67%,在代码生成任务上也超过了大部分基准模型。

image

3.2 Human Evaluation with Alignment Criteria

为了评估 LLM 的对齐质量,作者遵循了此前研究采用的 3H 标准:只有具备 helpful、honest 和 harmless(HHH)特征的模型才被认为是对齐的。这些标准被用于衡量人工智能(AI)系统与人类价值观的一致程度。

作者在 252 个 User-Oriented-Instructions 进行了人工评估,并在下图中比较了 Lion 和不同模型之间胜、平、负的频率。人工评估的结果表明,Lion 生成的回答优于除 ChatGPT 之外的其他基准模型。具体来说,与 WizardLM 相比,Lion 在 252 个用户指令中有 81 次取得胜利,而仅在 58 次指令中输掉。这些发现表明,作者提出的框架使得 Lion 在学习各种指令方面非常高效。

image

结论

文章提出了一种创新的对抗知识蒸馏(AKD)框架,用于将闭源的大语言模型(LLM)蒸馏到一个“紧凑”的开源学生模型中。先前的方法集中在单向知识传递上,而作者的方法试图将老师和学生相互的“反馈”融入到学习过程中。作者利用 LLM 的多功能角色适应性,使用不同的 prompt 让闭源模型识别“难”的指令,并为学生模型生成新的“难”指令,从而创建了一个包含模仿、辨别和生成的三阶段对抗循环。

这种方法能够迭代地、高效地提升学生模型的性能。应用该框架,作者将 ChatGPT 蒸馏为一个仅有 70 亿参数的开源学生模型 LLaMA(作者将得到的模型命名为 Lion)。尽管只在 70k 的指示遵循数据上训练,Lion 展现出了接近 95% 的 ChatGPT 能力,在 GPT-4 自动化评估和人工评估中都超过了以往的基线。作者希望 Lion 模型可以作为反映 ChatGPT 性能的基线,以及 NLP 社区中开源指令遵循模型的基线。

局限和讨论

作者在最后指出,Lion 模型仍然存在以下局限:

1)该模型在处理涉及复杂编程或数学计算的任务方面能力有限;

2)训练数据不包括对话,因此 Lion 模型在多轮对话方面的能力较弱;

3)模型的输入序列长度上限为 4096,输出新序列的长度上限为 1024,因此无法实现超长文档处理;

4)模型的安全性,输出内容的毒性、偏好性未经优化。

作者也指出,对于如何衡量大模型的能力,一个统一的、全面的评价指标是必要的。

参考资料:https://it.sohu.com/a/680520547_121119001

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/717550.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

白嫖一份小白到进阶网络安全学习宝典【建议收藏】

前言 想学网络安全但是无从下手的小白看过来,非常系统的学习资料,无数小白看了这份资料都已经成功入门,涵盖多个网络安全知识点,我愿称之为网络安全自学宝典。 一、概念性知识 1、了解什么是网络安全 2、清楚法律法规 3、网络安…

【ElatsticSearch】ES索引库与文档的增删改查

文章目录 一、操作索引库1、mapping映射属性2、索引库的CRUD 二、文档操作1、新增文档2、查询文档3、删除文档4、修改文档5、注意点 一、操作索引库 1、mapping映射属性 mapping是对索引库中文档的约束,常见的mapping属性包括: type:字段数…

【计算机视觉 | 图像分割】arxiv 计算机视觉关于图像分割的学术速递(7 月 4 日论文合集)

文章目录 一、分割|语义相关(18篇)1.1 TomatoDIFF: On-plant Tomato Segmentation with Denoising Diffusion Models1.2 CGAM: Click-Guided Attention Module for Interactive Pathology Image Segmentation via Backpropagating Refinement1.3 RefSAM: Efficiently Adapting …

Python实现通过GUI界面提交参数,来启动python脚本

前言 本文是该专栏的第30篇,后面会持续分享python的各种干货知识,值得关注。 假设现在有如下需求,用python写一个GUI界面,在该GUI界面上输入参数信息,然后再点击GUI界面上的提交按钮,启动并执行对应的python脚本。换言之,在GUI界面上输入的参数信息传递给对应的python脚…

图像处理常用算法(基础)

同图像灰度不同,边界处一般会有明显的边缘,利用此特征可以分割图像。需要说明的是:边缘和物体间的边界并不等同,边缘指的是图像中像素的值有突变的地方,而物体间的边界指的是现实场景中的存在于物体之间的边界。有可能有边缘的地方并非边界,也有可能边界的地方并无边缘,…

【动态规划算法练习】day14

文章目录 一、97. 交错字符串1.题目简介2.解题思路3.代码4.运行结果 二、712. 两个字符串的最小ASCII删除和1.题目简介2.解题思路3.代码4.运行结果 三、718. 最长重复子数组1.题目简介2.解题思路3.代码4.运行结果 总结 一、97. 交错字符串 1.题目简介 97. 交错字符串 给定三个…

嵌入式如何面试10家公司,拿到9个offer的?

又快到一年一度的秋招季,不少同学私信学长吐苦水,明明在各大招聘网站上海投了那么多家公司,收到的面试通知却屈指可数,好不容易拿到面试机会,却在一面就扑街...... 很多同学能力还行,但是经验谈不上很出彩&…

【IMX6ULL驱动开发学习】15.IMX6ULL驱动开发问题记录(sleep被kill_fasync打断)

发现问题的契机: 学习异步通知的时候,自己实现一个功能:按键控制蜂鸣器,同时LED灯在闪烁 结果:LED好像也同时被按键控制了 最后调试结果发现: 应用层的sleep被驱动层的kill_fasync打断,所以sle…

GB/T 3596-2008 购买线材时,判断线材标称直径和载流的方法

文章目录 GB/T 3596-2008 购买线材时,判断线材标称直径和载流的方法概述笔记老国标 - 判断线材标称直径的方法END GB/T 3596-2008 购买线材时,判断线材标称直径和载流的方法 概述 在淘宝上买线材, 买了RV1.5/RV1.0各买了4种颜色(红/黑/黄绿/蓝). 看到评论区, 有人留言, 说线径…

【计算机视觉 | 目标检测】arxiv 计算机视觉关于目标检测的学术速递(7 月 3 日论文合集)

文章目录 一、检测相关(9篇)1.1 Federated Ensemble YOLOv5 - A Better Generalized Object Detection Algorithm1.2 Zero-shot Nuclei Detection via Visual-Language Pre-trained Models1.3 Federated Object Detection for Quality Inspection in Shared Production1.4 Comp…

Raw Socket 之网络层数据获取

目录 简介正常使用tcpdump程序与分析报文理解参考 简介 针对网络包,我们一般的发送接收直接使用的是应用层,此时无法分辨接收为广播包还是单播包,为了能够分辨出接收到的是否为广播包,需要接收数据链路层的数据或者网络层的数据。…

ct.js笔记-加载字体时字体名不能包含中文

这个和Qt很像,在开发过程中尽量避免使用中文。如下: 这个AaJH中文,在加载时: this.nickNameLabel new PIXI.Text(Your text here, ct.styles.get(AaJH中文)); this.addChild(this.nickNameLabel);this.nickNameLabel.x 30; thi…

UE5接入在线直播视频源,如hls(m3u8)格式

文章目录 1.实现目标2.实现过程2.1 VlcMedia插件重编译2.2 UE5接入在线直播2.3 创建材质3.参考资料1.实现目标 通过重编译VlcMedia插件,以支持在线直播视频在UE5中的播放,GIF动图如下: 2.实现过程 本文主要包括插件的重编译、在线直播视频的接入,以及材质的创建三个部分。…

基于Java办公用品管理系统设计实现(源码+lw+部署文档+讲解等)

博主介绍:✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专…

atomic原子操作

当一个程序中的两个线程同时向这个程序里的全局变量增加数时会发生什么? 理论上来说,应该是200000,但是最后结果不是200000。 这是多个线程同时操作一个全局变量引起的错误。 要解决这个错误,用互斥锁即可: 这样就可以…

【计算机视觉】DETR 系列的最新综述!

论文地址: https://arxiv.org/pdf/2306.04670.pdf项目地址: https://github.com/mindgarage-shan/trans_object_detection_surveyTransformer在自然语言处理(NLP)中的惊人表现,让研究人员很兴奋地探索它们在计算机视觉任务中的应用。与其他…

Spark | 性能调优原理与步骤 | 案例讲解

🔥 跟着梁哥打卡一波spark的性能调优~ 文章目录 1、Spark调优原理与步骤2、Spark任务UI监控3、Spark调优案例3.1、资源配置优化3.2、利用缓存减少重复计算3.3、数据倾斜调优3.4、broadcastmap代替join3.5、reduceByKey/aggregateByKey代替groupByKey 1、…

为什么门店需要店务管理系统?店务管理系统的重要性有哪些?

随着经济市场的回暖,实体行业特别是门店都需要更好的营销手段以留住客户、转化客户,因此需要一个好的工具来完成对于店铺经营数据的实时了解和管理,这就需要用到店务经营管理系统。如蚓链数字化店务管理系统具备股东营销系统、收银系统及进销…

Linux5.12 rsync 远程同步

文章目录 计算机系统5G云计算第四章 LINUX rsync 远程同步一、rsync概述二、配置 rsync 服务1.配置rsync源服务器2.发起端 三、发起端配置 rsyncinotify1.修改rsync源服务器配置文件2.调整 inotify 内核参数3.安装 inotify-tools4.在另外一个终端编写触发式同步脚本 计算机系统…

7.4.2 【Linux】特殊设备 loop 挂载 (镜像文件不烧录就挂载使用)

挂载光盘/DVD镜像文件 如此一来我们不需要将这个文件烧录成为光盘或者是 DVD 就能够读取内部的数据了。 创建大文件以制作 loop 设备文件! 创建大型文件 假设我要创建一个空的文件在 /srv/loopdev ,那可以这样做: 将 512 块,每…