文献阅读:LIMA: Less Is More for Alignment
- 文献阅读:LIMA: Less Is More for Alignment
- 1. 内容简介
- 2. 实验设计
- 1. 整体实验设计
- 2. 数据准备
- 3. 模型准备
- 4. metrics设计
- 3. 实验结果
- 1. 基础实验
- 2. 消解实验
- 3. 多轮对话
- 4. 结论 & 思考
- 文献链接:https://arxiv.org/abs/2305.11206
1. 内容简介
这篇文章是Meta在今年5月发的一篇文章,算是对LLM进行的一个黑盒分析吧。核心来说,这篇文章就是想要探究一下为什么LLM能够拥有如此强大的能力。
众所周知,自打从BERT开始,NLP大模型的范式就是大语料预训练加小数据集finetune。虽然GPT3短暂的抛弃了finetune而倡导直接的zero-shot learning,但是从FLAN开始,后期的InstructGPT,ChatGPT以及现今还没有公开技术细节的GPT4,无一不是走的两阶段训练:第一阶段进行大数据上的预训练,第二阶段做instruct learning或者RLHF。
但是,具体到两个阶段具体都产生了多大的贡献,事实上还算是一个黑盒,尽管直觉上我们都知道,真正产生核心作用的必然是大数据的预训练过程,不过后续的finetune过程到底可以产生多大的影响却不是很确定,文中就是对这个点进行了细致地考察,然后初步得到结果如下:
- LLM的核心还是在于预训练,后续只需要用少量的高质量标注数据进行LLM的finetune就能够获得堪比SOTA的模型效果。
下面,我们来具体看一下文章的细节。
2. 实验设计
1. 整体实验设计
首先,我们来看一下文中的实验整体设计。
由于文中要考察的是finetune对模型整体效果的影响,因此文中整体的实验设计思路就是减小finetune数据集,用一个精选的小数据集进行模型的finetune,即文中的LIMA模型,然后和现有的一些常用的大模型进行效果比较,检查这个方法训练得到的模型能否大幅提升模型的效果,以及能够抗衡现有的常见大模型。
2. 数据准备
因此,这里对于finetune使用的数据的质量的要求就很高。文中也是用了一个章节来介绍数据的构造方式。
首先,我们给出文中的总的finetune数据分布如下:

可以看到:
- 文中的finetune主要使用了1000条数据
- 其中,这一千条数据当中,有200条是人工写作的,剩下的800条来自于网上的高质量数据集中的高分数据。
3. 模型准备
然后,关于模型的准备方面,文中主要是使用Meta自己的LLaMa 65B模型然后进行finetune。具体就是使用上述提到的1000条数据进行15个epoch的finetune。
而作为对照模型,文中主要使用了如下几个模型作为对照组:
- Alpaca 65B
- Davinci003
- Bard
- Claude
- GPT4
4. metrics设计
最后,关于实验的metrics设计方面,文中其实给的比较简单,基本就是300个样本交给标注员进行side by side比较。
除此之外,考虑到人工标注的不稳定性,文中还使用GPT4来进行side by side比较判断,从而增加结论的可靠性。
3. 实验结果
下面,我们来看一下文中的具体实验结果。
1. 基础实验
我们首先给出基础的实验结果如下:

可以看到:
- LIMA模型击败了Alpaca 65B以及Davinci003模型
- 虽然LIMA模型没有击败BARD模型,但是有58%(人工标注)和53%(GPT4标注)的概率可以生成不差于BARD模型的结果
- 模型效果逊于Claude模型以及GPT4模型
而除了考察LIMA模型和其他模型的比较之外,文中还考察了一下LIMA自身回答的好坏,抽样50个样本之后,人工分析其效果如下:

可以看到:
- 只有12%的样本没有通过测试,而获得优秀评价的样本占比达到了50%。
最后,关于safety问题,LIMA通过了80%的safety测试,但是依然会出现差错,尤其当文本描述并不直接的时候。
下面,我们给出一些LIMA的具体case如下:

2. 消解实验
然后,文中还做了一些消解实验,研究了一下LIMA为何使用如此小量的数据就能获得如此好的效果。
具体而言,文中做了下面三个维度的消解实验:
- 标注数据的prompt的diversity
- 标注数据的质量
- 标注数据的数量
给出文中的实验结果如下:

可以看到:
- prompt的diversity以及数据本身的质量会显著影响模型的效果;
- 相对的,标注数据的数量方面却没有表现出明显的变化,从2k到32k的数据,模型效果都相差无几。
3. 多轮对话
最后,文中还考察了多轮对话当中LIMA的效果。
由于前期的实验当中并没有涉及多轮对话的训练语料,所以这里新增了30条多轮对话的数据进行模型训练,然后考察finetune前后在10个测试集上的测试结果如下:

可以看到:
- 经过少量多轮对话进行finetune之后,模型在多轮对话上的表现明显提升。
下面是文中给出的一个具体的case展示:

4. 结论 & 思考
综上,我们可以看到:
- 对于LLM而言,其所有的知识基本上都是在预训练阶段就已经完成了,finetune阶段的作用更多的是导出LLM在特定方向上的能力,而非是增加其知识。
- 因此,对于LLM的finetune而言,数据质量的影响远高于数据量的影响,少量高质量的数据就足以令模型在特定领域发挥出足够优秀的效果。
- 不过,数据量少的代价也就是效果的不稳定,这一点在文中的讨论部分也有提及,少量数据虽然可以优化对应任务上的效果,但是会弱化模型的泛化能力。
Anyway,这些讨论的前提都是LLM可以载入并且进行finetune,这一点可能就劝退大部分人了,因此这篇文章可能也就是看看了,围观一下大佬们的实验结论就是了……
相关文章:
文献阅读:LIMA: Less Is More for Alignment
文献阅读:LIMA: Less Is More for Alignment 1. 内容简介2. 实验设计 1. 整体实验设计2. 数据准备3. 模型准备4. metrics设计 3. 实验结果 1. 基础实验2. 消解实验3. 多轮对话 4. 结论 & 思考 文献链接:https://arxiv.org/abs/2305.11206 1. 内容简…...
机器学习第十四课--神经网络
总结起来,对于深度学习的发展跟以下几点是离不开的: 大量的数据(大数据)计算资源(如GPU)训练方法(如预训练) 很多时候,我们也可以认为真正让深度学习爆发起来的是数据和算力,这并不是没道理的。 由于神经网络是深度学习的基础,学…...
React(react18)中组件通信04——redux入门
React(react18)中组件通信04——redux入门 1. 前言1.1 React中组件通信的其他方式1.2 介绍redux1.2.1 参考官网1.2.2 redux原理图1.2.3 redux基础介绍1.2.3.1 action1.2.3.2 store1.2.3.3 reducer 1.3 安装redux 2. redux入门例子3. redux入门例子——优…...
最新AI创作系统+ChatGPT网站源码+支持GPT4.0+支持ai绘画+支持国内全AI模型
一、AI创作系统 SparkAi系统是基于很火的GPT提问进行开发的Ai智能问答系统。本期针对源码系统整体测试下来非常完美,可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如何搭建部署AI创作ChatGPT系统?小编这里写一个详细图文教程吧&#x…...
react+umi项目中引入antd组件报错:“Button”不能用作 JSX 组件解决方案
具体报错信息 “Button”不能用作 JSX 组件。 Its type ‘(props: IProps) > React.ReactElement’ is not a valid JSX element type. 不能将类型“(props: IProps) > React.ReactElement”分配给类型“(props: any, deprecatedLegacyContext?: any) > ReactNode”。…...
常用算法模板
目录 快读、快输 快读、快输 #include <cstdio> #define Re register int #define LD double// 读整数 inline void in(Re &x) {int f 0; x 0; char c getchar();while (c < 0 || c > 9) f | c -, c getchar();while (c > 0 && c < 9) x …...
最全跨境独立站建站详细步骤解析
对于跨境电商卖家来说,无论是规避“鸡蛋放在同一个篮子里”的风险,还是追求更多的销售额和利润,多平台、多站点的布局都是其至关重要的战略。加之市场的变化带来了新的发展机遇,这也使得如今很多出海企业都在抢占独立站新风口。然…...
提升群辉AudioStation音乐体验,实现公网音乐播放
文章目录 本教程解决的问题是:按照本教程方法操作后,达到的效果是本教程使用环境:1 群晖系统安装audiostation套件2 下载移动端app3 内网穿透,映射至公网 很多老铁想在上班路上听点喜欢的歌或者相声解解闷儿,于是打开手…...
虹科分享 | 谷歌Vertex AI平台使用Redis搭建大语言模型
文章来源:虹科云科技 点此阅读原文 基础模型和高性能数据层这两个基本组件始终是创建高效、可扩展语言模型应用的关键,利用Redis搭建大语言模型,能够实现高效可扩展的语义搜索、检索增强生成、LLM 缓存机制、LLM记忆和持久化。有Redis加持的大…...
VS Code 代码跳转到定义(.js 和 .vue文件跳转)
vscode 代码跳转到定义(.js 和 .vue文件跳转) 在日常的开发工作中,我们经常需要跳转到方法或变量的定义处,以便更好地理解和修改代码。VS Code 是目前比较流行的开发工具,然而它默认情况下并不支持这个功能,…...
华为云云耀云服务器L实例评测 | Docker 部署 Reids容器
文章目录 一、使用Docker部署的好处二、Docker 与 Kubernetes 对比三、云耀云服务器L实例 Docker 部署 Redis四、可视化工具连接Redis⛵小结 一、使用Docker部署的好处 Docker的好处在于:在不同实例上运行相同的容器 Docker的五大优点: 持续部署与测试…...
聚观早报 | 杭州亚运开幕科技感拉满;腾讯官宣启动「青云计划」
【聚观365】9月25日消息 杭州亚运开幕科技感拉满 腾讯官宣启动「青云计划」 FF任命新全球CEO 比亚迪夺得多国销冠 iPhone 15/15 Pro销售低于预期 杭州亚运开幕科技感拉满 杭州第19届亚洲运动会开幕式23日晚在杭州奥体中心主体育馆举行,这届开幕式可谓科技感拉…...
Linux Gnome桌面无法打开终端Terminal
文章目录 前言排障解决方式一解决方式二 前言 由于不知名的原因,导致gonme桌面里打开terminal一直转圈,无法打开。 这里我的故障是已知的,我是因为要把英文改为中文。但是界面依旧是英文,同时导致终端无法打开。 此方式centos d…...
MySQL学习笔记15
1、内连接查询(重点): 基本语法: select 数据表1.字段列表,数据表2.字段列表 from 数据表1 inner join 数据表2 on 连接条件; 案例:获取产品表中每个产品的分类信息: mysql> select * from tb_goods …...
6、SpringBoot_项目的打包与运行
七、SpringBoot项目的打包与运行 1.目前项目怎么运行的 通过浏览器访问idea 将jar部署到服务器 2.maven 打包项目 命令 mvn package使用命令后会得到如下的jar 3.程序运行 命令 java -jar 项目.jar启动如下 4.springboot打包需要插件 插件 <plugin><group…...
图像语义分割概述
图像语义分割概述 一、图像语义分割概念 图像语义分割(Image Semantic Segmentation)是一项计算机视觉任务,其目标是将输入的图像分割成多个区域,并为每个像素分配一个语义类别标签,以表示该像素属于图像中的哪个物体…...
ViT细节与代码解读
最近看到两篇解读ViT很好的文章,备忘记录一下: 先理解细节 1:再读VIT,还有多少细节是你不知道的 再理解代码 1:ViT源码阅读-PyTorch - 知乎...
Linux中软链接与硬链接的作用、区别、创建、删除
1、软链接与硬链接的作用 (1)软链接 软链接是Linux中常用的命令,它的功能是某一文件在另外一个位置建立一个同步的链接,相当于C语言中的指针,建立的链接直接指向源文件所在的地址,软链接不会另外占用资源,当同一文件需要在多个位置被用到的时候,就会使用到软连接。 …...
第一章:最新版零基础学习 PYTHON 教程(第十四节 - Python 条件和循环语句–Python 中的 with 语句)
在Python中,with语句用于异常处理,使代码更简洁、更具可读性。它简化了文件流等公共资源的管理。观察以下代码示例,了解使用 with 语句如何使代码更简洁。 Python3 # 文件处理# 1) 不使用with语句 file = open(文件路径, w) # 打开文件以进行写操作 file.write(你好,世界…...
安科瑞AMC16-DETT铁塔jizhan直流电能计量模块,直流计量用
安科瑞虞佳豪壹捌柒陆壹伍玖玖零玖叁 9月20日,在杭州亚运会火炬传递的现场,不少人通过网络与亲友连线,共同见证火炬传递的历史时刻。上午6时,杭州铁塔的一线通信保障人员共27人就已经在本次火炬传递收官点位奥体中心西广场附近&a…...
从WWDC看苹果产品发展的规律
WWDC 是苹果公司一年一度面向全球开发者的盛会,其主题演讲展现了苹果在产品设计、技术路线、用户体验和生态系统构建上的核心理念与演进脉络。我们借助 ChatGPT Deep Research 工具,对过去十年 WWDC 主题演讲内容进行了系统化分析,形成了这份…...
Objective-C常用命名规范总结
【OC】常用命名规范总结 文章目录 【OC】常用命名规范总结1.类名(Class Name)2.协议名(Protocol Name)3.方法名(Method Name)4.属性名(Property Name)5.局部变量/实例变量(Local / Instance Variables&…...
《基于Apache Flink的流处理》笔记
思维导图 1-3 章 4-7章 8-11 章 参考资料 源码: https://github.com/streaming-with-flink 博客 https://flink.apache.org/bloghttps://www.ververica.com/blog 聚会及会议 https://flink-forward.orghttps://www.meetup.com/topics/apache-flink https://n…...
免费数学几何作图web平台
光锐软件免费数学工具,maths,数学制图,数学作图,几何作图,几何,AR开发,AR教育,增强现实,软件公司,XR,MR,VR,虚拟仿真,虚拟现实,混合现实,教育科技产品,职业模拟培训,高保真VR场景,结构互动课件,元宇宙http://xaglare.c…...
AI语音助手的Python实现
引言 语音助手(如小爱同学、Siri)通过语音识别、自然语言处理(NLP)和语音合成技术,为用户提供直观、高效的交互体验。随着人工智能的普及,Python开发者可以利用开源库和AI模型,快速构建自定义语音助手。本文由浅入深,详细介绍如何使用Python开发AI语音助手,涵盖基础功…...
【UE5 C++】通过文件对话框获取选择文件的路径
目录 效果 步骤 源码 效果 步骤 1. 在“xxx.Build.cs”中添加需要使用的模块 ,这里主要使用“DesktopPlatform”模块 2. 添加后闭UE编辑器,右键点击 .uproject 文件,选择 "Generate Visual Studio project files",重…...
论文阅读:Matting by Generation
今天介绍一篇关于 matting 抠图的文章,抠图也算是计算机视觉里面非常经典的一个任务了。从早期的经典算法到如今的深度学习算法,已经有很多的工作和这个任务相关。这两年 diffusion 模型很火,大家又开始用 diffusion 模型做各种 CV 任务了&am…...
C# winform教程(二)----checkbox
一、作用 提供一个用户选择或者不选的状态,这是一个可以多选的控件。 二、属性 其实功能大差不差,除了特殊的几个外,与button基本相同,所有说几个独有的 checkbox属性 名称内容含义appearance控件外观可以变成按钮形状checkali…...
跨平台商品数据接口的标准化与规范化发展路径:淘宝京东拼多多的最新实践
在电商行业蓬勃发展的当下,多平台运营已成为众多商家的必然选择。然而,不同电商平台在商品数据接口方面存在差异,导致商家在跨平台运营时面临诸多挑战,如数据对接困难、运营效率低下、用户体验不一致等。跨平台商品数据接口的标准…...
深度解析云存储:概念、架构与应用实践
在数据爆炸式增长的时代,传统本地存储因容量限制、管理复杂等问题,已难以满足企业和个人的需求。云存储凭借灵活扩展、便捷访问等特性,成为数据存储领域的主流解决方案。从个人照片备份到企业核心数据管理,云存储正重塑数据存储与…...
