2023年LLM如何入门?请看这篇综述!丨论文解读我们重点关注大型模型,同时排除早期预训练语言模型的内容,特别是,我

注意,本文不涉及太多复杂的公式与数学推导,初学者或者像笔者一样数学不好的读者可以放心阅读!

Q:这些年,我们在做什么?

A:自从图灵测试在1950年代提出以来,人类一直在探索如何让机器掌握语言智能。为了理解和掌握语言,开发能力强的人工智能算法面临着重大挑战。语言模型LM在过去的二十年中被广泛研究,用于语言理解和生成,从统计语言模型发展到神经语言模型。

Q:你说的这些都是比较老的事情了,现在在做什么?

A:确实,那近几年的话,研究人员提出了预训练语言模型PLM,通过对大规模语料库进行Transformer模型的预训练,展现了解决各种NLP任务的强大能力。并且,由于研究人员发现模型缩放可以导致模型容量的提高,他们进一步通过增加参数规模来探究缩放效应。

Q:等会儿等会儿,听不懂了,解释解释什么叫模型缩放,模型容量?

A:

补充一点有趣的,当参数规模超过一定水平时,这些扩大的语言模型不仅可以实现显著的性能提升,还表现出一些特殊的能力,比如上下文学习能力等等,这是小规模语言模型(例如BERT)所没有的,这种现象被称为涌现Emergence。

Q:这么厉害?那是不是越涌现就越好?

A:你都这么问了,显然心存疑虑,实际上,涌现现象也可能导致模型出现一些意外的错误或偏见,因此需要在模型设计和训练中加以注意和控制。

Q:那这么多参数的模型是不是应该给赋予一个新的名字?

A:没错,为了区分不同参数规模的语言模型,研究界为具有包含数十亿或数百亿参数的PLM创造了LLM这一术语,也就是大语言模型LargeLanguageModel。

Q:那就是所谓的ChatGPT了!

A:是的,但LLM不只有ChatGPT,还有很多很多...

Q:这么多?我想更多的了解LLM,你能介绍一下吗?

A:当然可以,我们今天读的这篇综述就是在介绍LLM的背景、关键发现和主流技术。

一般而言,LM的目标是建模单词序列的生成概率,以预测未来的或缺失的token的概率。

StatisticalLanguageModel是一种基于统计方法的语言模型,它通过计算给定上下文条件下各个可能的下一个词出现的概率,来对自然语言进行建模。

SLM通常使用N-gram模型来表示上下文,即假设下一个词的出现只与前面N个词有关。

SLM在NLP和信息检索等领域有着广泛的应用,但是其表现受限于数据量和特征选择,主要的应用如统计机器翻译SMT和GMM+HMM模型。

NeuralNetworkLanguageModel是一种基于神经网络的语言模型,它通过将自然语言转化为向量表示,利用神经网络建模词汇之间的关系来预测下一个词。

NLM通常使用RNN或者变种(如LSTM、GRU)来处理序列数据,并将上下文表示为隐藏状态。

Pre-trainedLanguageModel是一种在大规模数据上进行预训练的语言模型,它通过无监督的方式学习自然语言的特征表示,从而为不同的任务提供通用的特征提取器。

PLM通常使用自编码器、Transformer等模型结构,在大规模数据上进行预训练,并通过微调FT等方式适应不同的下游任务。

PLM的出现极大地促进了NLP的发展,如BERT、GPT等模型就是PLM的代表。

LargeLanguageModel是一种具有大量参数的语言模型,它通过增加模型的容量和训练数据量来提高模型的表现。

LLM通常基于PLM进行设计,通过增加模型规模、调整模型结构、加入更多的任务等方式来增加模型的复杂度和泛化能力。

LLM在NLP领域表现出了惊人的性能,在PLM的基础上,增大模型参数,使得LLM出现PLM不具有的涌现能力,同样采用预训练+微调的形式。

LM与LLM已经逐渐成为热点话题,事实上,我们通过近年来包含这两个关键词的Arxiv论文数量的变化趋势便可窥见一斑:

LLM的研发需要大量的数据处理和分布式训练经验,这与传统的研究和工程界限已经模糊。

目前,LLM对于人工智能领域产生了巨大的影响,ChatGPT和GPT-4已经引发了对于AGI的重新思考。

不过,虽然LLM已经取得了很大的进展和影响,但其底层原理仍然没有得到很好的探索。其中一个很浅显而又重要的问题是,为什么LLM会出现新的能力,而较小的PLM不会?

其次,研究人员很难训练出有能力的LLM,因为需要大量的计算资源,而训练LLM的许多重要细节(如数据收集和清洗)也没有被公开。

再者,如何使LLM符合人类价值观和偏好也是一个挑战,因为它们可能会产生有害的内容。

LLM已经演变成目前的状态,成为通用和有能力的学习器,这得益于多项重要技术。

其中,缩放、训练、能力激发、对齐调整和工具操作是导致LLM成功的关键技术。

简要解释一下:

需要指出的是,实线表示两个模型之间的演化路径存在明确的证据,虚线表示演化关系相对较弱。

LargeLanguageModelAnalysis是一个用于评估大型语言模型的工具集,它由OpenAI开发并开源,旨在帮助研究人员和开发人员评估和理解大型语言模型的行为和性能,并发现其中可能存在的问题和偏见。

LLaMA提供了一系列工具和指标,可以帮助用户对大型语言模型进行各种分析,包括模型的性能评估、模型的内部结构和行为分析、模型的偏见检测等。

LLaMA的主要功能:

下图是LLaMA研究工作的演化图,由于数量庞大,无法将所有的LLaMA变体包括在这个图中。

这些模型通常采用预训练的方式进行训练,并具有较高的性能和泛化能力。OpenAI的GPT系列模型和Google的BERT模型等都是公开可用的模型检查点。

训练大型语言模型需要大量的文本数据,因此,常用语料库是训练大型语言模型所需的重要资源之一。

常用语料库包括CommonCrawl、维基百科、新闻数据、网络文本等。这些语料库通常可以通过互联网公开获取,并且已经被清洗和标记。

这些框架和工具提供了丰富的API和函数库,可以帮助研究人员和开发人员更加高效地构建、训练和评估大型语言模型,比如:

此外,还需要一些数据处理、可视化和模型调试等工具来辅助训练和分析。这些工具和资源通常可以通过互联网免费获取。

LLM的预训练是指在大规模语料库上进行的无监督学习过程,通过学习语料库的统计规律和语言结构,让模型获得基础的语言理解和生成技能。

预训练为LLM的能力奠定了基础,使得LLM在进行特定任务的微调时能够更快、更准确地收敛,并且可以具备更好的泛化能力。

但我们需要注意的是,在预训练过程中,语料库的规模和质量对于LLM获得强大的能力至关重要。一般来说,有如下规律:

为了开发具有强大能力的LLM,需要收集大量自然语言的语料库。

下图是各种数据源在现有LLM预训练数据中的比例:

在收集大量文本数据之后,对数据进行预处理以构建预训练语料库非常重要,尤其是需要去除噪声、冗余、无关和可能有害的数据,这些因素可能会严重影响LLM的容量和性能。

典型的数据清洗流程如下:

下图是三种主流架构中注意力模式的比较。

其中,蓝色、绿色、黄色和灰色的圆角矩形分别表示前缀符号之间的注意力、前缀与目标符号之间的注意力、目标符号之间的注意力和被掩盖的注意力。

我们来解释一下这几个注意力有什么区别:

首先我们要知道,实例格式化是什么?

实例格式化是指将数据实例(如文本、图像、音频等)处理成一种特定的格式,以便它们可以被用于机器学习算法的输入。

下图是实例格式化的说明和用于构造指令格式实例的常见的三种不同方法:

调参是LLM训练过程中的一个重要环节,目的是找到最优的超参数组合,以提高模型在测试集上的性能。

那么,有几种常见的Tuning方法呢?

InstructionTuning是通过添加一些人工规则或指令来对模型进行微调,以使其更好地适应特定的任务或应用场景。

Example:在文本生成任务中,可以添加一些指令来控制生成的文本的长度、内容和风格。

AlignmentTuning是通过对齐源语言和目标语言的数据来对模型进行微调,以提高翻译或文本生成的质量。

Example:在机器翻译任务中,可以通过对齐源语言和目标语言的句子来训练模型,以提高翻译的准确性。

RLHF是使用强化学习算法来对模型进行微调,以使其更好地适应特定的任务或应用场景。

该技术通常分为三个阶段:数据预处理、基准模型训练和强化学习微调。在微调阶段,模型会通过与人类交互来学习如何生成更符合人类预期的文本。

下图是RLHF算法的工作流程:

AdapterTuning是在预训练模型中添加适配器层,以适应特定的任务或应用场景。适配器层可以在不改变预训练模型权重的情况下,对特定任务进行微调。这种技术可以提高模型的效率和泛化能力,同时减少对计算资源的需求。

PrefixTuning是通过在输入中添加一些前缀来对模型进行微调,以使其更好地适应特定的任务或应用场景。前缀可以提供一些额外的信息。

Example:任务类型、领域知识等,以帮助模型更准确地生成文本。

PromptTuning是通过设计合适的Prompt来对模型进行微调,以使其更好地适应特定的任务或应用场景。提示是一些关键词或短语,可以帮助模型理解任务的要求和期望输出的格式。

LoRA是通过将预训练模型分解成低秩矩阵来进行微调,以提高模型的效率和泛化能力。该技术可以减少预训练模型的参数数量,同时保留模型的表示能力,从而提高模型的适应性和泛化能力。

下图是2.42.52.62.7四种调参方法的对比示意图:

Utilization是在预训练或自适应调优之后进行的,一种典型的提示方法是上下文学习,它以自然语言文本的形式制定任务描述或演示。

此外,思维链提示可以通过在提示中加入一系列中间推理步骤来增强上下文学习。对于复杂任务的求解,提出了规划,首先将复杂任务分解为更小的子任务,然后生成一个行动计划来逐个解决这些子任务。

LLM大致可分为Pre-train阶段、Tuning阶段,使用Prompt阶段。

接下来,我们将简要介绍这三种Prompt技术,长话短说:

语境学习旨在通过模型自身的学习过程来改进其在特定上下文中的表现。通过对模型进行反馈和调整,可以使模型逐渐适应不同的语境和场景,从而提高其在各种任务中的性能和泛化能力。

思维链提示通过提示来引导模型生成连贯的、具有逻辑关系的文本。

该技术基于思维链的概念,即人们在思考时通常会按照一定的逻辑顺序组织思维和语言。通过在生成文本时引导模型按照特定的思维链顺序组织文本,可以使生成的文本更加连贯和合理。

下图是情境学习ICL和思维链CoT提示的对比说明。ICL用自然语言描述、几个演示和一个测试查询提示LLM,而CoT提示涉及提示中的一系列中间推理步骤:

其实就是分治,通过将任务分解为多个子任务,并为每个子任务制定计划来解决复杂任务的技术。

该技术可以帮助模型更好地理解任务的结构和要求,从而更有效地解决复杂任务。此外,该技术还可以通过对任务和子任务之间的依赖关系进行建模,来提高模型的泛化能力和鲁棒性。

Bytheway,LLM的涌现实际上也表现在这几个方面。

下图是LLM解决复杂任务的基于提示的规划公式示意图:

注意,此处与原文有出入,我们选择了一些原文中提到的细节,但也添加了一些新的内容。

PromptCreation:关键成分,设计原则,有用技巧。

我们回顾了LLM的最新进展,并介绍了理解和利用LLM的关键概念、发现和技术。

此外,我们还总结了开发LLM的可用资源,并讨论了复现LLM的重要实施指南。

接下来,我们总结了本次调查的讨论,并介绍了LLM在以下方面的挑战和未来方向:

THE END
1.系统思维框架思维学习力底层多元化(3.4GB)系统思维、框架思维、学习力、底层多元化 1.7GB 大锤新课-多元思维,20个底层逻辑(1) 1.3GB 找资源-上我帮找网(wobangzhao.com).url 115 B 声明.txt 2KB 20【多元篇005】互驯思维.pdf 3.3MB 20【多元篇005】互驯思维.mp4 82.3MB 19【多元篇004】系统思维.pdf 2.8MB 19【多元篇004】系统思维.mp4https://www.iizhi.cn/resource/detail/6b20a86602d47be52ff88d37dd6a5c5f
2.学2个思考框架,解决无效努力问题黄金思维圈这个思考框架很简单,但是在特别多的地方都可以使用。我在学习新媒体写作的课程中,一名老记者着重介绍了这个框架,他认为按照这个简单的框架来写作,就能把一件事说清楚。当然我在写作、演讲、布置工作的时候第一时间想到的就是这个思考框架,简单易行,并且效果显著。 https://www.douban.com/note/716093702/
3.SpringCloud回顾面试题微服务学习思维微服务与微服务架构这个阶段如何学习? 三层架构 + MVC 1 框架: Spring(轻量级的Java开源框架):解决企业开发的复杂性 IOC、AOPSpringBoot(Spring的升级版):新一代的JavaEE开发标准 自动装配 模块化~all in one 模块化的开发===all in one 代码没发生变 微服务架构4个核心问题:1.服务很多,客户端怎么访问?2.这么多服务,服务之间https://blog.csdn.net/answero/article/details/108225138
4.关于高中学生学习方法的调查报告由于高中学生已经有相当丰富的解题经验,因此,有些学生往往对自己的某些想法深信不疑,很难使其放弃一些陈旧的解题经验,思维陷入僵化状态,不能根据新的问题的特点作出灵活的反应,常常阻抑更合理有效的思维甚至造成歪曲的认识。因此,在面对新的问题情境时,往往跳不出原有的框架,缺乏求异意识。如刚学立体几何时,一提到https://www.yjbys.com/diaochabaogao/586179.html
5.科学网—[转载]真正厉害的人都是框架思维真正厉害的人都是框架思维 原创:田志刚知识管理中心知识管理中心KMCenter2019-06-06 文/田志刚 摘自《卓越密码:如何成为专家》 —1— 判断一个人是不是有较高的学习能力,我们有个简单的问题: “假如我想了解关于UFO(不明飞行物)的知识,应该去学什么?” https://blog.sciencenet.cn/blog-1721-1185733.html
6.思维导图和知识框架的区别思维导图和知识树的区别→MAIGOO知识一、思维导图和知识框架的区别 1、含义区别 知识框架(结构图)是以固定的知识为对象的“死图”。结构图能做的就是把知识按章节或某种脉络依照作者的思维逻辑展示出来,而非学习者自己的思维。因此结构图展示的知识结构往往是单一角度的,是作者的知识而非学习者自己理解再输出的知识。 https://www.maigoo.com/goomai/274127.html
7.高效学习的36种思维腾讯云开发者社区我从一个在校学生,到成为一个数据分析师,然后给自己找了一个「数据化分析」的标签,从带领一个人,到带领一个大的团队,回顾这个过程,正好符合前面说的 3 种思维,也就是先打造一个小木桶,再做一个有长板的木桶,然后换一个大木桶。 小结 以上介绍了高效学习的第 2 种能力,也就是框架力,这种能力背后的 7 种https://cloud.tencent.com/developer/article/1542866
8.三本书三个框架,提高思维力本文简介:简单介绍本人对建立知识体系的看法。推荐三本提高思维力的书及书中的三个思考框架,并提供三个练习。 友情提示:本文不适合疲劳状态下阅读。 知乎上有个话题:“有一种焦虑叫:什么都想学,但什么都学不会。” 在这知识经济时代,各种学习资源让人目不睱接。 https://www.jianshu.com/p/df458dbf00be
9.结构思考力读书心得(精选10篇)在阅读了《结构思考力》这本书后,我深刻体会到了结构化思维对于个人学习、工作乃至生活的重要性。这本书不仅系统地阐述了结构思考力的基本原理,还通过丰富的案例和实践方法,引导读者逐步构建自己的结构化思维框架。 一、认识结构思考力的力量 首先,我认识到结构思考力是一种强大的认知工具。它能够帮助我们快速理清复杂https://www.jy135.com/duhougan/2247341.html
10.委员声音陈劲:创新思维的演练设计思维的框架 资料来源:Rikke Dam和Teo Siang,2019 关于移情,这方面传统科研工作者是比较差的,专注于传统学习的学生比较关注于自己的学习效果,但是很少关心对方的情感。要创新必须提高移情能力,就是要注重右脑思考。左脑思考只会做自己喜欢做的事情,那培养出来的人就是精致的利己主义者。 https://www.iii.tsinghua.edu.cn/info/1059/2306.htm
11.什么是21世纪学习框架?这里有一版最专业解读学校以此为基础,再结合必要的支持系统-标准、评估、课程和教学,以及专业发展和学习环境,就可以使学生在学习过程中更投入,为大学学习、工作和生活中做好准备。同时,教育工作者也会经历跨学科的协作和相互支持。 该框架的基础是学习和创新技能,通常被称为创造力、审辩思维、沟通和协作,简称4c。这对于学生为未来做准备https://m.wang1314.com/doc/webapp/topic/21292158.html
12.认知框架理论(精选八篇)将认知框架理论用于商务翻译, 能够较有效地解决在商务翻译中最容易出现的语义错误。如果译者的背景知识还不十分全面, 就要有意识地扩充自己的知识面, 丰富自身的百科知识。同时要进行必要的推理判断能力、逻辑思维能力、组织能力和联想思考能力等方面的认知训练。当然框架理论不是万能的, 对于商务翻译中其他方面的问题, https://www.360wenmi.com/f/cnkeyjyvs70l.html
13.七个步骤,培养你的逻辑思维和流程管理能力!四、逻辑思考,建立解决问题的思维框架 1、结构化思维(确立目标,资源分析,制定计划)2、金字塔思维(明确问题,并分析可能的原因;针对各个原因,找出针对政策;任务分派到个人,验证假设;结合实际情况,调整对策)3、逆向思维(方位逆向、属性逆向、因果逆向、缺点逆向、心理逆向) 五、脑洞大开,找到问题最优解决方案 找出最有效https://maimai.cn/article/detail?fid=1394974814&efid=VbAQod7a_OheyR8A1v4XpA