普林斯顿陈丹琦:如何让「大模型」变小

636a4970ab8db8d3186c11bc1b67a9d8.jpeg

来源:智源社区 

整理:路啸秋

审校:夏梦舟、钟泽轩(陈丹琦团队)

导读:“Making large models smaller”这是很多语言模型研究人员的学术追求,针对大模型昂贵的环境和训练成本,陈丹琦在智源大会青源学术年会上做了题为“Making large models smaller”的特邀报告。报告中重点提及了基于记忆增强的TRIME算法和基于粗细粒度联合剪枝和逐层蒸馏的CofiPruning算法。前者能够在不改变模型结构的基础上兼顾语言模型困惑度和检索速度方面的优势;而后者可以在保证下游任务准确度的同时实现更快的处理速度,具有更小的模型结构。

c7e85f7cac9950b0a066fcaffe92fc96.jpeg

陈丹琦 

普林斯顿大学计算机科学系助理教授

陈丹琦于2012年毕业于清华大学姚班,2018年获得斯坦福大学计算机科学博士学位,师从斯坦福大学语言学和计算机科学教授 Christopher Manning。

背景介绍

近年来,自然语言处理领域正在迅速被大语言模型所主导。自从GPT 3问世以来,语言模型的规模呈现指数级增长。大型科技公司不断发布越来越大的语言模型。近期,Meta AI发布了OPT语言模型(一个蕴含了1750亿参数的大型语言模型),并向公众开放了源代码和模型参数。

12fc185bb033a6124539ac5bc6f5f1cb.jpeg

研究学者们之所以如此推崇大语言模型,是因为它们出色的学习能力和性能表现,但是人们对于大语言模型的黑盒性质仍了解甚少。向语言模型输入一个问题,通过语言模型一步一步地推理,能够解决非常复杂的推理问题,比如推导出计算题的答案。但与此同时,大型语言模型也存在着风险,特别是它们的环境和经济成本,例如:GPT-3 等大规模语言模型的能源消耗和碳排放规模惊人。

48430f1d2802e0f9d974af2756706589.jpeg

面对大语言模型训练成本昂贵、参数量庞大等问题,陈丹团队希望通过学术研究缩减预训练模型的计算量并且让语言模型更有效率地适用于下层应用。为此重点介绍了团队的两个工作,一个是一种语言模型的新型训练方法称之为TRIME,另一个是一种适用于下游任务的有效模型剪枝方法称之为CofiPruning。

团队工作介绍:TRIME、CofiPruning

f29a0fd1994893ed66a27646ce130736.jpeg

论文地址:https://arxiv.org/abs/2205.12674

传统语言模型的训练流程如下:给定一段文档,将其输入到Transformer编码器中得到隐向量,进而将这些隐向量输送到softmax层,该层输出为由V个词嵌入向量组成的矩阵,其中V代表词汇量的规模,最后可以用这些输出向量对原先的文本进行预测,并与给定文档的标准答案进行比较计算梯度,实现梯度的反向传播。然而这样的训练范式会带来以下问题:

(1)庞大的Transformer编码器会带来高昂的训练代价;

(2)语言模型输入长度固定,Transformer的计算量规模会随着序列长度的变化呈平方级增长,因此Transformer很难处理长文本;

(3)如今的训练范式是将文本投影到一个固定长度的向量空间内来预测接下来的单词,这种训练范式实际上是语言模型的一个瓶颈。

50ef5866493722d14e3f2635be1a8d3a.jpeg

为此,陈丹琦团队提出了一种新的训练范式——TRIME,主要利用批记忆进行训练,并在此基础之上提出了三个共享相同训练目标函数的语言模型,分别是TrimeLM,TrimeLMlong以及TrimeLMext。TrimeLM可以看作是标准语言模型的一种替代方案;TrimeLMlong 针对长范围文本设计,类似于Transformer-XL;TrimeLMext结合了一个大型的数据存储区,类似于kNN-LM。

在前文所述的训练范式下,TRIME首先将输入文本定义为d41a958e979bb30ae939fbd524aaa835.jpeg,然后将输入传送到Transformer编码器f59383ac19ccff698621a224fa4d4f5e.jpeg中,得到隐向量1d3176650a0c29444979892d0a882c17.jpeg,经过softmax层958be6fd8ed9c4353eac0245c62d5f40.jpeg之后得到需要预测的下一个单词82fc86d74d4a082078bf871353e6c9f1.jpeg,在整个训练范式中可训练的参数为0073898dccaf9d48f7f6a16ab7eb7f81.jpeg和E。

陈丹琦团队的工作受到了以下两个工作的启发:

(1)2017年Grave等人提出的连续缓存(Continuous cache)算法。该算法在训练过程中训练一个普通的语言模型5aabe4c2b10905e4f4592142b7dcc68f.jpeg;在推断过程中,给定输入的文本2197257294e1890230a99a5f8362635a.jpeg,首先列举给定文本先前出现的所有单词和其中所有等于下一个需要预测单词的标记位置,然后利用隐变量之间的相似度和温度参数计算缓存分布。在测试阶段,对语言模型分布和缓存分布进行线性插值可以得到更好的实验效果。

6dcad65488358d96fe6ccc81e6330661.jpeg

(2)2020年Khandelwal等人提出的k近邻语言模型(kNN-LM),该方法与连续缓存算法类似,二者之间最大的不同在于kNN-LM为所有的训练样例构建了一个数据存储区,在测试阶段将对数据存储区的数据进行k近邻搜索,从而选择最佳的top-k数据。

03eac5666820c9df8bb5a340ae61f1d5.jpeg

上述两个工作实际上只是在测试阶段采用了缓存分布和k近邻分布,在训练过程中只是延续了传统的语言模型,在推断阶段语言模型并没有优化缓存和数据存储区的结合。

除此之外,还有一些针对超长文本的语言模型工作值得关注,例如在2019年提出的结合注意力循环(Attention recurrence)机制的Transformer-XL和在2020年提出的基于记忆压缩(Memory compression)的Compressive Transformers等。

在之前介绍的几项工作基础之上,陈丹琦团队构建了一个基于批记忆的语言模型训练方法,主要思想是针对相同的训练批(training batch)构建一个工作记忆(working memory)。针对给定文本预测下一个单词的任务,TRIME的思想与对比学习十分类似,不仅仅考虑利用softmax词嵌入矩阵预测下一个单词出现概率的任务,还新增了一个模块,在这个模块中考虑所有出现在训练记忆(training memory)中且与给定文本需要预测的单词相同的所有其他文本。

73a27ddafe6148ed19119f67cf705f88.jpeg

因此整个TRIME的训练目标函数包括两个部分:(1)基于输出词嵌入矩阵的预测任务(2)在训练记忆(training memory)中共享同一个待预测单词文本的相似度,其中需要衡量相似度的向量表示是在通过最终前馈层的输入,采用缩放点积衡量向量相似度。

算法希望最终训练的网络能够实现最终预测的单词尽可能准确,同时同一训练批内共享同一个待预测单词的文本尽可能相似,以使得正在训练过程中让所有的文本记忆表示通过反向传播实现端到端的神经网络学习。算法的实现思想在很大程度上受到2020年提出的稠密检索(dense retrieval)所启发,稠密检索在训练阶段对齐询问和正相关文档并且利用同一批内的文档作为负样本,在推断阶段从大型数据存储区中检索相关文档。

TRIME的推理阶段几乎与训练过程相同,唯一的区别在于可能会采用不同的测试记忆,包括局部记忆(Local memory),长期记忆(Long-term memory)和外部记忆(External memory)。局部记忆指的是出现在当前片段中的所有单词,并且已经被注意力机制向量化;长期记忆指的是由于输入长度限制导致无法直接获取但与待处理文本来源于相同文档的文本表示,外部记忆指的是存储所有训练样本或者额外语料库的大型数据存储区。

9fe3c166b04845d761e73ed8bbea4d72.jpeg

为了能够尽可能减小训练和测试阶段的不一致性,需要采取一定的数据处理策略来更好地构建训练记忆。局部记忆指的是在同一个数据片段中的先前标记(tokens),使用代价极其低廉。可以采用随机取样的批处理方式就能直接在训练阶段和测试阶段同时利用局部记忆,这就得到了基于局部记忆的基础版TrimeLM模型。

3a6cb66460cafec5c2202dc3bb29ceb1.jpeg

长期记忆指的是在同一个文档先前片段中的标记,需要依赖于同一个文档的先前片段。为此将同一个文档中的连续片段(consecutive segments)放入同一个训练批中,这就得到了集合长期记忆的TrimeLMlong模型。

b1225dbcbbc44e0a289749c7a4a1c14e.jpeg

外部记忆需要结合大型数据存储区进行检索。为此可以利用BM25将训练数据中的相似片段放入同一个训练批中,这就得到了结合外部记忆的TrimeLMext模型。

32b1860c6ca475638b34a018d67479ce.jpeg

综上所述,传统的语言模型在训练阶段和测试阶段都没有利用记忆;连续缓存方法只在测试阶段采用了局部记忆或者长期记忆;k近邻语言模型在测试阶段采用了外部记忆;而针对TRIME算法的三种语言模型,在训练阶段和测试阶段都采用了记忆增强的方式,其中TrimeLM在训练阶段和测试阶段都采用了局部记忆,TrimeLMlong在训练阶段针对相同文档的连续片段放入同一批训练,在测试阶段结合了局部记忆和长期记忆,TrimeLMext在训练阶段针对相似文档放入同一批训练,在测试阶段结合了局部记忆、长期记忆和外部记忆。

e0b94795623315ff314cb607a4bbacd0.jpeg

在实验阶段,在WikiText-103数据集上进行模型参数247M,切片长度3072的测试时,基于TRIME算法的三种版本的语言模型都能取得比传统Transformer更好的困惑度(perplexity)效果,其中基于实际距离的TrimeLMext模型可以取得最好实验效果。同时TrimeLM和TrimeLMlong也能保持和传统Transformer 接近的检索速度,同时兼具了困惑度和检索速度的优势。

f4dde53ad370590afa3314993b885c47.jpeg

在WikiText-103数据集上进行模型参数150M,切片长度150的测试时,可以看到由于TrimeLMlong在训练阶段针对相同文档的连续片段放入同一批训练,在测试阶段结合了局部记忆和长期记忆,因此尽管切片长度只有150,但是在测试阶段实际可利用的数据可以达到15000,实验效果远远好于其他基线模型。

cb2be35fc421aab3c3395b5714ea620d.jpeg

针对字符级别的语言模型构建,基于TRIME算法的语言模型在enwik8数据集上同样取得了最好的实验效果,同时在机器翻译的应用任务中,TrimeMT_ext也取得了超过基线模型的实验效果。

bb21c12e31c0b338b453f84071c94922.jpeg

b49a298e498d441ccad328790bbd9572.jpeg

综上所述,基于TRIME算法的语言模型采用了三种记忆构建的方式,充分利用同一批内的相关数据实现记忆增强,在引入记忆的同时却没有引入大量的计算代价,并且没有改变模型的整体结构,相比于其他基线模型取得了较好的实验效果。

陈丹琦还着重提到了基于检索的语言模型,实际上TrimeLMext可以看作是k近邻语言模型的一个更好的版本,但是在推断过程中这两种算法相较于其他的基线模型速度要慢接近10到60倍,这显然是难以接受的。陈丹琦指出了基于检索的语言模型未来可能的发展方向之一:是否可以利用一个更小的检索编码器和一个更大的数据存储区,从而实现计算代价缩减到最近邻搜索。

相比于传统的语言模型,基于检索的语言模型有显著的优势,例如:基于检索的语言模型可以更好的实现更新和维护,而传统的语言模型由于利用先前知识进行训练无法实现知识的动态更新;同时基于检索的语言模型还可以更好的利用到隐私敏感的领域中去。至于如何更好的利用基于检索的语言模型,陈丹琦老师认为或许可以采用fine-tuning、prompting或者in-context learning的方式来辅助解决。

b20a7090ad7480e98c7bbe66f8140bd2.jpeg

论文地址:https://arxiv.org/abs/2204.00408

模型压缩技术被广泛应用于大语言模型,让更小的模型能够更快地适用于下游应用,其中传统的主流模型压缩方法为蒸馏(Distillation)和剪枝(pruning)。

对于蒸馏而言,往往需要预先定义一个固定的学生模型,这个学生模型通常是随机初始化的,然后将知识从教师模型传送到学生模型中去,实现知识蒸馏。例如,从原始版本的BERT出发,经过通用蒸馏,即在大量无标注的语料库上进行训练之后,可以得到基础版本的TinyBERT4,针对基础版本的TinyBERT4,还可以通过任务驱动的蒸馏方法得到微调过的TinyBERT4,最终得到的模型在牺牲轻微的准确度基础之上可以比原先的BERT模型更小且处理速度更快。然而这种基于蒸馏的方法也存在着一定的缺陷,例如针对不同的下游任务,模型的架构往往是固定不变的;与此同时需要利用无标注数据从零开始训练,计算代价太大。

2b728683a26991345b455ecdba434af0.jpeg

对于剪枝而言,往往需要从一个教师模型出发,然后不断地从原始模型中移除不相关的部分。在2019年提出的非结构化剪枝可以得到更小的模型但是在运行速度方面提升很小,而结构化剪枝通过移除例如前馈层等参数组实现实际应用的速度提升,例如2021年提出的块剪枝可以实现2-3倍的速度提升。

c830e21fb55d0b6acaa4e9d8344270d5.jpeg

038aadab77cb4e86189e69367c90fb79.jpeg

针对传统蒸馏和剪枝方法存在的局限性,陈丹琦团队提出了一种名为CofiPruning的算法,同时针对粗粒度单元和细粒度单元进行剪枝,并设计了一个逐层蒸馏的目标函数将知识从未剪枝模型传送到剪枝后的模型中去,最终能够在保持超过90%准确率的基础之上实现超过10倍的速度提升,比传统的蒸馏方法计算代价更小。

CofiPruning的提出建立在两个重要的基础工作之上:(1)针对整层剪枝可以获得速度上的提升,相关工作指出大概50%左右的神经网络层是可以被剪枝的,但是粗粒度的剪枝对准确率的影响比较大。(2)是对更小单元例如头部进行剪枝可以获得更好的灵活性,但是这种方法在实现上会是一个更有难度的优化问题,且不会有太大的速度提升。

为此陈丹琦团队希望能够在粗粒度单元和细粒度单元同时剪枝,从而兼具两种粒度的优势。除此之外,为了解决从原始模型到剪枝模型的数据传送,CofiPruning在剪枝过程中采用逐层对齐的方式实现知识的传送,最终的目标函数包括了蒸馏损失和基于稀疏度的拉格朗日损失。

6fa125969fe04fd3bbdec1e8b27ad31e.jpeg

在实验阶段,在针对句子分类任务的GLUE数据集和针对问答任务的SQuAD1.1数据集上,可以发现CofiPruning在相同的速度和模型规模基础之上比所有的蒸馏和剪枝基线方法表现更好。

9cf391c4a9626f9c7ba345480d6aeafa.jpeg

针对TinyBERT,如果没有经过通用蒸馏,实验效果会大打折扣;但是如果利用通用蒸馏,尽管实验效果可以有所提升但是训练时间代价会非常昂贵。而CofiPruning算法不但能够获得与基线模型近乎持平的效果,在运行时间和计算代价方面还都有很大提升,可以用更少的计算代价获得更快的处理速度。实验表明,针对粗粒度单元,第一层和最后一层前馈层在最大程度上会被保留而中间层更有可能会被剪枝;针对细粒度单元,上层神经网络的头部和中间维度更有可能会被剪枝。

6d2b231a0d8bcf53e9bd8e68f70fb6d9.jpeg

综上所述,CofiPruning是一种非常简单有效的模型压缩算法,通过对粗粒度单元和细粒度单元联合剪枝,结合逐层蒸馏的目标函数可以联通结构剪枝和知识蒸馏这两种算法的优势,从而实现更快的处理速度和更小的模型结构。针对模型压缩的未来趋势,陈丹琦还重点提及了是否能够对例如GPT-3这样的大型语言模型进行剪枝,同时是否能够对上游任务进行剪枝,这些都是未来可以重点关注的研究思路。

总结与展望

大型语言模型如今取得了非常喜人的实际应用价值,但是由于昂贵的环境和经济成本,隐私和公平性方面的困扰以及难以实时更新的问题,导致大型语言模型仍有很多待改进之处。陈丹琦认为,未来的语言模型或许可以用作大型的知识库,同时在未来语言模型的规模需要大幅度削减,或许可以利用基于检索的语言模型或者稀疏语言模型来代替稠密检索,模型压缩的工作也需要研究者们重点关注。

未来智能实验室的主要工作包括:建立AI智能系统智商评测体系,开展世界人工智能智商评测;开展互联网(城市)大脑研究计划,构建互联网(城市)大脑技术和企业图谱,为提升企业,行业与城市的智能水平服务。每日推荐范围未来科技发展趋势的学习型文章。目前线上平台已收藏上千篇精华前沿科技文章和报告。

  如果您对实验室的研究感兴趣,欢迎加入未来智能实验室线上平台。扫描以下二维码或点击本文左下角“阅读原文”

380cc58bba1c36e9930023d3de1453f7.jpeg

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

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

相关文章

数字化转型知识方法系列之:数字化转型的基本认识与参考架构

数字化转型知识方法系列之:数字化转型的基本认识与参考架构 人工智能技术与咨询 一、数字化转型是什么? 数字化转型是顺应新一轮科技革命和产业变革趋势,不断深化应用云计算、大数据、物联网、人工智能、区块链等新一代信息技术&#xff0…

ASML的EUV光刻机卖不动?

来源:万物智能视界缺芯让台积电、三星等厂商订单大增,而ASML作为光刻机供应商,也跟着收益。今年第一季度ASML的新增订单突破70亿欧元,第二季度的新增订单为85亿欧元。不过全球半导体市场从产能紧张已经转向过剩,部分领…

不用发论文也不教课的12名教授,为这个研究所拿下8次学界最高奖

法国高等科学研究所一角丨图片来源:CC BY-SA 3.0,https://commons.wikimedia.org/w/index.php?curid131812来源:Ars Technica作者:DHANANJAY KHADILKAR翻译:阿金编辑:魏潇本文经授权转载自微信公众号“科研圈”早在今…

基于图嵌入的兵棋联合作战态势实体知识表示学习方法

基于图嵌入的兵棋联合作战态势实体知识表示学习方法 人工智能技术与咨询 来源:《指挥控制与仿真》,作者王保魁等 摘 要:为将基于离散符号的兵棋联合作战态势实体知识表示为机器更加容易学习、处理和应用的形式,根据兵棋联合作战态势实体知识的特点,提…

张钹院士专访:人工智能永远在路上

来源: 瑞莱智慧RealAI新一代人工智能蓬勃兴起,各类应用加速落地,“人工智能”的本质到底是什么?今天,以数据驱动的人工智能在“奔跑”的道路又会遭遇哪些瓶颈问题?什么是第三代人工智能?它能让人…

人工智能支撑马赛克战机理研究

人工智能支撑马赛克战机理研究 人工智能技术与咨询 来源:《航空兵器》,作者付翔等 0 引言 近30年来, 随着信息化军事变革的兴起, 各种新的军事作战概念和作战理论层出不穷[1]。从20世纪90年代前后提出的“信息战”“空地一体战”“数字化部队”等, 到…

强化学习大牛Sergey Levine新作:三个大模型教会机器人认路

来源:机器之心内置大模型的机器人,在不看地图的情况下,学会了按照语言指令到达目的地,这项成果来自强化学习大牛 Sergey Levine 的新作。给定一个目的地,在没有导航轨迹的情况下顺利到达,有多难&#xff1f…

数字化转型知识方法系列之五:数字化转型战略

数字化转型知识方法系列之五:数字化转型战略 人工智能技术与咨询 一、数字化转型是信息时代企业级核心战略 新一轮科技革命和产业变革迅猛发展,企业发展环境日益复杂多变,机遇挑战并存。全球经济从增量发展转向存量竞争,资源…

再发:迄今为止 脑网络结构功能模块元素 最全面复杂清晰 类芯片多图及分解...

来源:CreateAMind从工程的角度来看,大脑皮层是一个六层电路卡,由晶体管和逻辑门组成,其密度是我们最紧凑的微处理器(Apple A8)的五倍。然后它被智能折叠起来以适应更小的空间,同时还减少了相互连…

量子计算机研究进展

量子计算机研究进展 人工智能技术与咨询 来自《南京邮电大学学报(自然科学版)》,作者郭光灿等 摘要:量子计算机是未来量子技术时代最具颠覆性的技术,文中将以量子计算机的诞生、工作原理和在世界范围内的发展现状为主要阐述内容。目前阶段…

意识理论综述:众多竞争的意识理论如何相互关联?(干货)

来源:集智俱乐部 作者:Anil K. Seth & Tim Bayne译者:李路凯、陈斯信编辑:邓一雪导语意识和底层的神经活动之间如何联系起来?试图解释这一问题的意识理论层出不穷。然而,随着实验数据积累,众…

数字化转型知识方法系列之三:以价值效益为导向推进数字化转型的五大重点任务

数字化转型知识方法系列之三:以价值效益为导向推进数字化转型的五大重点任务 人工智能技术与咨询 一、数字化转型应围绕价值效益系统性推进 新一轮科技革命和产业变革迅猛发展,世界正处在一个从工业时代向信息时代加速转型的大变革时代。全球物质经济发…

笛卡尔与人工智能:“我思故我在”作为智能测试标准的可能性

来源:科学经济社会本文载于《科学经济社会》2022年第40卷第3期第38~55页作者简介:张伟特,海德堡大学哲学博士,清华大学新雅书院/哲学系助理教授,博士生导师,仲英青年学者,主要从事西方近代哲学&…

DeepMind 新作:AI 系统实现以人为中心的分配机制设计

来源:集智俱乐部作者:高晋宇编辑:邓一雪导语如何在经济和社会系统中重新分配资源?例如,一群人决定集中资金进行投资,获得回报后该如何分配收益?简单的平均分配看起来不太公平,但按照…

多Agent 深度强化学习综述

多Agent 深度强化学习综述 人工智能技术与咨询 来源:《自动化学报》,作者梁星星等 摘 要 近年来,深度强化学习(Deep reinforcement learning,DRL) 在诸多复杂序贯决策问题中取得巨大突破.由于融合了深度学习强大的表征能力和强化学习有效的策略搜索能…

Science揭露奠基研究最大骗局:被引2300多次,重量级造假论文误导学界16年

来源:新智元谁能想到,一篇被引2300多次的Nature论文,竟涉嫌造假!更严重的是,这篇开创性论文竟误导了全世界阿尔茨海默病研究长达16年。一篇被引2300多次的Nature论文,竟涉嫌造假。影响有多恶劣?…

元学习研究综述

元学习研究综述 人工智能技术与咨询 来源:《电信科学》,作者朱应钊等 摘要 深度学习和强化学习严重受限于小样本数据集,容易发生过拟合,无法实现类似于人类强泛化性的学习能力。元学习为此应运而生,以累积经验的方…

【院士思维】张亚勤:我们正在让自动驾驶变成现实

来源:贝德尔的ICT世界7月19日,IEEE 2022网络、计算机和通信国际研讨会(ISNCC2022)首次落地中国,围绕“Touch the Future数字未来之路”主题,来自中国、美国、英国、意大利、法国、突尼斯、印度、日本、俄罗…

基于Grad-CAM与KL损失的SSD目标检测算法

基于Grad-CAM与KL损失的SSD目标检测算法 人工智能技术与咨询 来源:《电子学报》,作者侯庆山等 摘 要: 鉴于Single Shot Multibox Detector (SSD)算法对中小目标检测时会出现漏检甚至错检的情况,提出一种改进的SSD目标检测算法&…

图灵奖得主 Adi Shamir最新理论,揭秘对抗性样本奥秘

来源: 智源社区导读:为什么模型会将「猫」识别成「牛油果酱」,将「猪」识别成「飞机」?要回答这个问题,就涉及到对抗性样本(Adversarial examples)。对抗性样本指在原始样本添加一些人眼无法察觉…