大语言模型面临的挑战和应用

概述

这篇文章主要目标是探讨两个关键问题:

(1)挑战 - 即尚未解决的问题将挑战划分为三个更广泛的类别 “设计”“行为”和“科学” 

(2)应用 - LLM目前在哪些领域得到应用以及这些领域面临的挑战。我们涵盖了诸如聊天机器人计算生物学计算机编程创意工作知识工作法律医学推理机器人技术和社会科学等领域。

大语言模型面临的挑战

1 深不可测的数据集

在扩大预训练数据量一直是推动模型通用能力发展的主要动力之一。随着预训练数据集规模的迅速增长,数据量很快就超过了常见的文档数量。然而,对于数据质量的检查却并不是所有数据收集程序的重点,相反,大部分程序依赖于启发式方法来过滤数据

1.1 近乎重复数据

近乎重复的数据是指在数据集中以不同形式出现,据报道可能会降低模型的性能。与完全相同的重复项相比,近乎重复的数据更难以发现。在许多数据收集管道中,消除这种情况通常是一个标准步骤。其中主要的解决方法有NearDup、SemDeDup等。

1.2 基准数据污染

训练数据集包含与评估测试集相同或相似的数据时,就会出现基准数据污染。因为模型可以记住测试数据 测试数据,并在测试过程中简单地将其反馈回去。找到并消除所有训练和测试数据的在实践中很难做到。例如,GPT-3 的作者 Brown 等人在训练之后发现了一个代码错误,导致无法完全移除所有检测到的训练数据中的重叠部分。由于无法重新训练模型,他们选择继续使用包含剩余重叠部分的数据,并对所考虑的基准数据集进行了“清理”,移除了所有潜在泄漏的示例。他们将重叠示例定义为与预训练集中的任何其他示例共享至少13个连续单词的示例。如果一个示例长度小于13个单词,他们会认为它与另一个示例重叠,只要它的所有单词都与另一个示例相同。

1.3 个人身份信息

PII(个人可识别信息)如电话号码和电子邮件地址在预训练语料库中被发现,可能导致在提示过程中发生隐私泄漏。不同研究通过提示方式提取PII数据,讨论了PII在法律数据中的可用性,并指出如果训练数据中存在未被检测到的PII,可能会导致模型使其可被提取。许多的大模型都会对于隐私安全信息进行一个筛选来确保隐私不会泄露,另外一种方法就是在指令微调的时候限制对于涉及个人信息的回答,在Llama等大模型中被应用。

1.4 预训练领域混合

多项研究主张在预训练语料库中引入多样性。许多流行的语料库都遵循这一原则,将不同来源的数据集合并在一起。研究表明,通过混合来自不同来源的数据集可以提高模型在下游任务中的性能,但需要找到适当的数据来源比例。一些研究指出,选择包含异质数据源的混合对于模型性能是有益的,可能比单纯关注数据质量或大小更为重要。研究者尝试通过训练小型代理模型和使用群组分布鲁棒优化来确定最佳的领域混合比例,以提高模型的困惑度。此外,研究者还探讨了如何选择对预训练最有用的子集以及如何平衡不同数据来源的影响。

2 Tokenizer的可靠性

Tokenize是将文本分解为较小单元(标记)的过程,以便模型处理。子词标记化是一种常见的方法,将单词拆分为子词或WordPieces,以有效处理罕见单词和限制令牌数量。然而,标记化带来多个缺点:不同语言传达信息所需令牌数量不同,可能导致API语言模型定价不公平;标记器和模型训练数据差异会导致故障令牌,需要重新训练标记器;在多语言环境下,特别是对于非空格语言,子词标记化仍然具有挑战性,可能优先选择共享脚本的语言,导致低资源语言标记化效果不佳。此外标记化器会带来一些挑战 例如,计算开销语言去 下垂处理新词固定 词汇量大小信息丢失和低人工可解释性。 人的可解释性。

子词级别的输入是主导范式,提供了词汇量和序列长度之间的良好权衡。这类方法主要有Byte-Pair Encoding(BPE)WordPieceSentencePiece等。才外另一种编码方式为 字节级别的编码。

3 预训练的高额开销

训练一个单个的大型语言模型可能需要数十万计算小时,相应地成本可能达到数百万美元,并消耗相当于几个典型美国家庭一年用电量的能源量。最近提出的扩展定律认为,模型性能与模型规模、数据集规模以及用于训练的计算量成幂律关系,这是相当不可持续的,可以被归类为红色人工智能,即通过消耗大量计算资源来实现最新的“购买”结果。例如,根据确切的定律系数,将误差从3%减少到2%可能需要增加一个数量级的数据或计算量。

3.1 训练数据量与模型尺寸的权衡

在预算有限的情况下,预训练前的语料库和模型应该有多大,才能最大限度地提高训练效率。关于确切的幂律系数仍存在激烈的争论。Kaplan等人提出,模型规模应该比数据集规模更积极地进行扩展,以最佳利用给定的计算预算。与此相反,Hoffmann等人发现许多大型语言模型训练不足,并认为参数和数据量应该等比例扩展。然而,幂律有时呈现为界限的形式,这可能导致在具体的计算预算下使用的数据量相差一个数量级。此外,预训练损失并不总是与下游性能良好地相关。Touvron等人VriesTouvron等人认为,在选择模型规模时,应考虑后续使用(推断)的计算资源,而不仅仅是一次性的训练成本。他们建议可能有利的是,最好在一开始更加密集地训练一个较小的模型,以抵消将来更大的推断成本。因此,他们在比通常使用的更多标记上训练各种规模的模型,以实现可能的最佳性能,考虑到模型规模。性能预测的一个挑战是逆向缩放,我们在第2.14节中进行了讨论。由于扩展定律通常是在预训练的情况下构建的,因此与下游任务脱钩,如何预测逆向缩放特性仍然是一个悬而未决的问题。Tay等人发现,扩展定律在上游和下游设置中可能不同;除了模型大小外,模型形状对于下游微调也很重要。

3.2 预训练目标的选择

预训练目标:适用于对大型语言模型进行自监督训练的各种预训练目标(PTO)。确切的PTO选择在预训练过程中对模型的数据效率产生重大影响,进而可以减少所需的迭代次数。PTO通常是架构、输入目标构建(例如目标跨度长度、低高破坏等)和掩码策略的函数。

以下是三种不同的预测方式,(左)所示,关注所有标记是最节省数据的策略,因为它使用了要预测的标记前后的上下文。然而,正因为如此,它并不适合文本生成。下一个标记预测目标最适合自然语言生成(NLG),但也是数据效率最低的目标,因为它只考虑过去的上下文(中)。预训练目标的最新进展旨在找到一个中间点,通过提供更强、更多样的训练信号来提高数据效率,例如前缀 LM,它部分考虑了过去的标记,(右)所示

传统的预训练方式是Masked Language Modeling (MLM)语言掩码技术,通过上下文来预测被mask的单词,也就是上图左边的方式。前缀语言建模[443]对语言建模进行了扩展,允许在输入中添加具有双向感受野的前缀词块(如果没有前缀,则等同于标准 LM)也即是上图右边的方式。

以下是一些常用的预训练方式。

4 微调开销

预训练大规模和多样化文本数据的语言模型的一个潜在缺点是,由此产生的模型可能难以明确捕捉特定任务数据集的分布特性。为了解决这个问题,微调是指在相对较小且特定于个别领域或任务的数据集上调整预训练模型参数的过程。语言模型微调非常有效,可以将语言模型适应到下游任务中。

然而,拥有数十亿参数的 LLM 需要大量内存来存储:(i) 模型参数;(ii) 模型激活;(iii) 梯度和相应的统计数据。由于设备内存有限(如 GPU 或 TPU),对整个 LLM 进行微调需要与预训练相同的内存量,这对许多从业者来说是不可行的。

目前研究者主要使用高效微调(Parameter-efficient fine-tuning ,PEFT)的方式来解决这个问题,参数效率微调。PEFT 指的是一类仅通过更新一小部分模型参数来调整 LLM 的方法。目前的主流方式有基于适配器的微调(Adapters),前缀调整法(prefix-tuning)[311] 和提示调整法(prompt-tuning),以及比较新的LoRa微调方法。

5 推理延迟

LLMs 呈现高推理延迟的两个原因是:(1) 低并行性,因为推理过程是一个标记一个标记地进行的;(2) 大内存足迹,这是由于模型大小和解码过程中所需的瞬态(例如注意力键和值张量)造成的。

目前应对的方法主要有:

有效的注意力机制 

量化:量化是一种后训练技术,通过降低权重和激活的计算精度,减少内存占用或提高模型的吞吐量。 

剪枝:剪枝是一种与量化互补的后训练技术,它可以去除给定模型的部分权重(但不会降低其性能)

混合专家模型(MoE):专家混合架构通常包括一组专家(模块)(每个模块都有独特的权重)和一个路由器(或门控)网络,后者决定由哪个专家模块处理输入。

级联:级联指的是针对不同查询采用不同大小模型的想法。从精神实质上讲,这种想法与专家混合模型(Mixture-of-Experts models)类似,但我们不是学习一个路由模块,而是采用多个大小不同的单体模型(甚至可以是黑盒 API 模型)的级联,并学习一个评分函数来决定哪个模型接收哪个查询。

解码策略:解码策略会极大地影响执行推理的计算成本。例如,波束搜索(beam search)以计算代价换取更高质量的结果。另一个计算成本高的解码方案是抽样排序。

6 有限的上下文长度


Li 等人评估了几种长上下文环境下的 LLM,发现虽然商业封闭式应用程序接口模型通常能实现其承诺,但许多开源模型--尽管声称在长上下文环境下性能良好--却表现出严重的性能下降。他们指出,在架构上能够处理长输入与实际性能良好是有区别的。拥有能够推断长输入的架构,并不能保证 LLM 在处理长输入时的性能与处理短输入时的性能一样好。

应对方式:

1 更有效的注意力机制:解决 LLM 语境有限问题的方法之一,是建立能处理较长输入的更高效的注意力机制。

2 长度泛化: 由于基于变换器的 LLM 所需的计算量随序列长度的增加而呈二次方增长,因此我们希望建立的 LLM 能够在短序列上进行训练,并在短序列上进行泛化。如果没有位置嵌入,Transformer 会以相等的概率对任意两个标记之间的关系进行建模。因此,位置嵌入引入了类似于 LSTM 的归纳偏差,即(通常情况下)序列中相互靠近的标记彼此更相关。常见的位置编码如下:绝对位置编码(Abso- lute Positional Embeddings)、相对位置编码(Relative Posi- tional Embeddings)、旋转位置编码(Rotary Po- sition Embeddings)

3 使用比transformer更加有效的架构。

7 提示词敏感性

提示语是 LLM 的输入。提示语的同义词(如长度、空白、示例排序)和语义(如措辞、示例选择、指令)对模型的输出有重大影响。提示语法的变化通常会以人类无法直觉的方式出现,从而导致输出发生巨大变化

应对方式:

1 单轮提示法(Single-Turn Prompting):单轮提示法(Single-Turn Prompting)通过各种方式改进插入式提示,以便一次就能得到更好的答案。情境学习(ICL)指的是 LLM 通过对训练数据的串联作为示范,仅通过推理(无任何参数更新)学习新任务的能力。研究表明few-shot的表现远远优于zero-shot。

2 指令跟随:我们的想法是在输入提示中预先添加任务描述说明(例如,"这是一项关于电影评论的文本分类任务。下面是几个例子......")。

3 思维链:描述了一种通过一系列中间推理步骤来构建少量提示的技术,这些步骤最终会产生输出结果。最出名的莫过于:让我们一步一步思考。

4 多轮对话:多轮提示方法是将提示和答案迭代在一起。Ask Me Anything [24] 使用多个提示模板(称为提示链),用于将少量示例输入重新格式化为开放式问答格式。最终的输出结果由 LLMs 通过多数票对每个重新格式化的输入进行预测后得出。自我一致性[585] 通过对多个推理路径进行采样,并通过多数票选出最一致的答案,从而扩展了思维链提示功能。ReAct[640]将推理与行动结合在一起,促使LLM生成推理轨迹(如思维链)和行动计划,执行这些计划可使模型与外部环境(如维基百科)进行交互,从而纳入知识。

5 自动推理和工具使用(Automatic Reasoning and Tool-Use,ART)[406] 是一种自动生成多步骤推理提示的方法,包括对搜索和代码生成或执行等外部工具的符号调用。为此,ART 从任务库中检索相关任务的演示,并附带推理步骤,然后使用冻结语言模型生成中间推理步骤。

8 幻觉

大模型的幻觉现象是困扰着研究者的难题,LLM 经常出现 "halluci-nations",其中包含不准确的信息,而由于文本的流畅性,这些信息很难被发现。幻觉常常被定义为生成的文本流畅自然,但不忠于源内容(内在),或不够确定(外在)。

应对方式:

1 检索增强:减少幻觉的一种方法是将模型的输入建立在外部知识的基础上,这通常被称为检索增强。换句话说,我们可以将(i) 知识的内存存储(如数据库或搜索索引 [290])和(ii) 知识的处理分离开来,从而建立一个模块化程度更高的架构。对于 (i),一个检索器模块会从一个大型文本语料库中检索出与查询相关的前 k 个文档(或段落)。然后,对于 (ii),我们将这些检索到的文档与初始提示一起输入语言模型。从理论上讲,使用外部数据源还可以更容易地解释检索到的知识并对其进行更新,而无需对模型进行繁琐的微调。目前比较热蒙的就是RAG检索增强生成 。

2 解码策略: 减少幻觉的另一种方法是在推理过程中改进解码策略。

9  不对齐的行为

对齐问题指的是如何确保 LLM 的行为与人类的价值观、目标和期望相一致,并且不会造成意想不到的伤害或后果[466, 158, 196]。大多数现有的对齐工作可分为检测不对齐行为的方法(如模型评估和审计、机械可预测性或红队)或对齐模型行为的方法(如通过人类反馈进行预训练、指令微调或 RLHF)。红队(Red Teaming)是检测 LLM 生成的有害数据的最有前途和最广泛使用的方法之一。通常,通过要求人类生成导致不良模型输出的提示来对模型进行 "红队"。

提示注入:最近的研究表明,LLM 对提示注入非常敏感,这使得它们在某些应用中变得脆弱和不安全 [175, 609]。例如,它们可能会被诱骗,通过提示泄漏泄露训练数据中的个人信息(如电子邮件地址)[222, 309]。这对隐私构成了重大风险,尤其是当模型是在个人或专有数据上进行微调时。人们还可以通过逆向提示 LLM 来推翻原始指令或采用的控制措施,从而使它们在某些应用中变得不安全

10 过时的信息

在预训练过程中学到的事实信息可能不准确,也可能随着时间的推移而过时(例如,它可能无法解释政治领导层的变化)。然而,使用更新的预训练数据重新训练模型的成本很高,而且在微调过程中试图 解除学习 旧事实并学习新事实也并非易事。

解决这一问题的两种流行方法是模型编辑,其目的是有效地 "修复 "模型的错误,以及在检索增强语言建模中利用非参数知识源。模型编辑技术可进一步分为定位-编辑方法和元学习方法,前者首先定位模型参数中 有问题 的部分,然后对其进行更新以改变其行为,后者则使用外部模型来预测权重更新。

11 评估的脆弱性

对语言模型的评估之所以是一个极具挑战性的问题,原因之一是这些模型的表面能力并不均衡--一个模型可能能够顺利地解决一个基准问题,但对问题稍作修改(甚至是对提示进行简单的更改)就会得到相反的结果。

12 基于静态、人工编写的地面实况进行评估

LLM 评估的另一个挑战是,它们通常依赖于人类编写的 "基本真实 "文本。然而,我们通常希望在此类文本稀缺或依赖专家知识的领域(如编程或数学任务)中评估它们的性能。

13 生成文本和人工文本的可区分性

出于各种原因,检测由 LLM 生成的语言非常重要;其中一些原因包括防止(1)错误信息的传播(例如,引用虚假研究的听起来很权威的虚假叙述)[657],(2)剽窃(例如,LLM 以绕过剽窃检测工具的方式改写现有内容)[574, 573],(3)冒名顶替或身份盗窃(例如,通过模仿某人的写作风格)[486, 602],以及(4)自动生成的诈骗和欺诈(例如,大规模生成钓鱼电子邮件)、486, 602],(4) 自动生成的诈骗和欺诈(如大规模生成网络钓鱼邮件)[603],(5) 意外地将生成的劣质文本纳入未来模型的训练数据[439]。然而,这种检测的效果并不理想。

解决这一问题的方法主要有两种:(i) 事后检测器,旨在将任意文本归类为 LLM 生成的文本;(ii) 水印方案,修改文本生成程序,使检测更容易。不过,这两种方法都容易受到仿写攻击

14 尺寸无法解决的问题

进一步扩展数据模型似乎无法解决的任务。反向缩放(IS)是指随着模型规模和训练损失性能的增加,任务性能恶化的现象。由多个子问题组成的组合任务是研究模型是否能超越对观察到的事实的死记硬背并推导出新知识的理想途径。

记忆与泛化 当前围绕着一个问题展开了争论,即 LLM 在多大程度上记忆而不是泛化(以及两者之间的区别究竟是什么 [35])。研究表明,记忆会(1)损害(某些)下游任务的性能

15 缺乏实验设计

介绍新型 LLM 的论文通常缺乏对照实验,这可能是由于训练足够多的模型所需的成本过高。缺乏受控实验 我们注意到,很多论文都没有通过一次改变一个因素来进行受控实验(ab- lations),这可能是由于计算成本过高。

我们注意到,LLMs 的一个核心特点是其设计空间巨大,这使得科学探索具有挑战性 [231]。例如,考虑到(i)数据源及其在预训练数据集中的比例,(ii)标记化器的选择和训练超参数,以及(iii)预训练目标,综合设计空间很快就会变得很高。在如此广阔的设计空间内进行因子实验,会导致单次训练运行的数量不断增加,而缺乏足够的实验覆盖面会严重影响对 LLM 性能的科学理解。虽然这个问题并非 LLM 所独有,但与大多数其他领域的模式相比,LLM 的参数数量往往更大,因此计算要求、反馈循环时间和训练成本也更高。

推理的可重复性 商业 LLM 的另一个特点是,它们通常是在黑箱环境中通过随机 API 提供服务的,这就带来了以下挑战 (i) 提供者对模型拥有完全的授权,可以引入不公开的变更,包括重新训练模型、修改其参数或完全替换模型;(ii) 即使对模型的更新进行了通报,一旦特定模型版本被认为过时,是否还能继续访问这些版本仍然是不确定的, (iii) 即使有解码温度,也无法保证对模型的访问。

应用

1 chatbot

通用聊天机器人(对话代理)结合了信息检索、多轮交互和文本生成(包括代码)等任务。也是我们日常使用的最多的智能体。

2 计算生物学

在计算生物学中,我们对代表类似序列建模和预测挑战的非文本数据感兴趣.

类 LLM 模型在生物学中的一个普遍应用是根据氨基酸或基因组序列输入生成蛋白质嵌入。这些嵌入可以作为结构预测、新序列生成和蛋白质分类任务的输入。蛋白质语言模型在许多学术数据集上都有很好的表现,但它们对药物研发等下游任务的适用性往往还不明确。

基因组分析领域的 LLM 可以更好地了解人类基因突变的影响,并直接从 DNA 序列预测基因组特征。虽然基因组语言模型是一个很有前景的研究方向,但目前的模型无法处理许多基因组序列,因为其序列长度通常超过数十亿核苷酸

3 计算机编程

LLM 最先进和最广泛的应用之一是生成和完成各种编程语言的计算机程序。本节将讨论特定于编程的 LLM,即针对编程应用对模型进行微调或预先训练,但重要的是要注意到,越来越多的普通聊天机器人在编程任务中使用部分经过代码数据集训练的聊天机器人(如 ChatGPT)。

然而,尽管这些现有的代码生成 LLM 取得了令人瞩目的成果,但目前将 LLM 应用于代码生成的一个关键制约因素是,无法在上下文窗口中容纳完整的代码库和依赖关系。为了应对这一限制,人们提出了一些框架来检索相关信息或将相关信息抽象为 API 定义。

4 创造性的工作

在创意任务方面,LLM 主要用于故事和剧本创作。例如通过提示、提示链和分层生成来创建完整的剧本和电影剧本,而无需人工参与。Lian 等人[315]也采用了类似的概念,使用 LLM(GPT-3.5)生成自然语言布局(边界框和描述)来指导扩散模型。使用 LLM 作为模态转换框架的一部分 16 也被用于机器人学 [338, 225] 和知识工作中

5 知识性的工作

随着研究人员越来越多地证明法学硕士有能力完成特定领域的知识任务,如法律[258]或医学[512],人们对法学硕士从事更广泛的知识工作的能力也越来越感兴趣。Eloundou 等人[140] 估计,美国 80% 的劳动力所从事的工作中,至少有 10% 的任务可能会受到法学硕士的影响

6 法律

LLM 在法律领域的应用与医学领域有许多相似之处,包括法律问题解答 [651, 258] 和法律信息提取 [71]。不过,也有人提出了其他特定领域的应用,如案件结果预测 [189]、法律研究 [234] 和法律文本生成等。    

7 医药

LLM 在医疗领域的应用很多,包括医学问题解答 [511, 512, 320, 655, 388]、临床信息提取 [10, 448]、索引 [650] 、分诊 [491, 301] 和健康记录管理 [276]。

8 推理

数学和算法任务通常需要与传统 NLP 任务不同的能力,例如理解数学运算、复杂的多步推理和长期规划。因此,LLM 对这些任务的适用性以及提高其能力的方法是一个活跃的研究领域。

9 机器人和嵌入式智能体

LLM 也开始被纳入机器人应用,以提供高级规划和上下文知识。虽然 LLM 可以帮助机器人或代理理解指令并增加高级规划能力,但它们无法从图像、音频或其他感知模式中进行直接学习,这限制了它们的应用范围

10 社会科学与心理学

LLM 的快速发展促进了此类模型在心理逻辑和行为科学研究中的应用。有三类应用:使用 LLMs 模拟人类行为实验 ,分析 LLMs 的个性特征,以及将 LLMs 用作人工代理来模拟社会关系。

11 合成数据生成

LLM 具备在上下文中学习的能力,因此可以生成合成数据集,用于训练更小的特定领域模型。

总结

这篇文章对于大语言模型的应用现状描述的很详细,通过这些难题我们可以从中了解到目前LLM发展的总体情况,以及急需解决的难题,为NLP的研究人员提供了很好的指导。同时对LLM的应用进行了仔细的分类,展示了LLM目前的火爆,在众多领域都有应用,为非NLP领域的研究人员但是想要利用LLM进行自己领域问题的求解提供了很好的参考。其中包含了很多的文献,如有兴趣可以自己去选择对应部分的文献进行翻阅。该文章的连接如下:arxiv.org/pdf/2307.10169.pdf

  • 32
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值