软件开发 | 全面了解大型语言模型(LLM),以及如何更好地利用它

大型语言模型(LLM)通过将将深度学习技术与强大的计算资源结合,正在彻底改变我们与软件交互的方式。

虽然这项技术令人兴奋,但很多人也担心LLM可能生成虚假、过时或有问题的信息,有时甚至会生成令人信服的虚假信息(不存在的信息)。值得庆幸的是,有一个谣言可以立即平息。GitHub Copilot机器学习(ML)高级研究员Alireza Goudarzi表示:“LLM没有接受过推理训练。它们不是在试图理解科学、文学、代码或其他任何东西。它们只是经过训练来预测文本中的下一个标记。”

一起来深入探讨LLM是如何做出意料之外的事情,以及为什么会如此。这篇文章将全面介绍LLM,包括它们的训练方法和道德方面的考虑,帮助您更好地

什么是大型语言模型?

LLM是人工智能系统,它们经过大量文本数据的训练,使其能够生成类似人类的回应并以传统机器学习模型无法做到的方式理解自然语言。

GitHub Copilot团队的ML高级研究员John Berryman解释说:“这些模型使用了深度学习领域的先进技术,涉及到使用许多层的深度神经网络来学习复杂的模式和关系。”

LLM的独特之处在于它们对概括和理解上下文的熟练程度。它们不局限于预定义的规则或模式,而是从大量数据中学习,以形成对语言的独立理解。这使它们能够对各种提示和查询生成连贯且上下文的适当响应。

正因为如此,虽然LLM可以成为非常强大和灵活的工具,但用于训练它们的机器学习方法,以及它们训练数据的质量(或局限性),也可能导致偶尔生成不准确、不实用和不可信赖的信息。

深度学习

现代机器学习实践(如深度学习)的出现,改变了释放 LLM 潜力的游戏规则。与依赖于预定义规则和模式的最早语言模型不同,深度学习使这些模型能够以更像人类的方式创建自然语言输出。

“深度学习和神经网络的整个学科——它是所有这一切的基础——是’我们能让规则变得多么简单,并尽可能接近人脑的行为?’”Goudarzi说。

通过使用多层神经网络,深度学习使LLM能够分析和学习语言数据中的复杂模式和关系。这意味着,即使是面对复杂的句子结构、成语表达和语言中的细微差别,这些模型也可以产生连贯且符合上下文的响应。

最初的预训练使LLM具备了广泛的语言理解能力,微调则让它们变得多才多艺、适应性强。“当开发人员希望这些模型执行特定任务时,他们会提供任务描述和示例(小样本学习),或仅提供任务说明(零样本学习)。然后,该模型会根据这些信息微调其预先训练的权重。“Goudarzi说。这个过程有助于模型适应特定的任务,同时保留从大量预训练中获得的知识。

但是,即使深度学习的多层和注意力机制使LLM能够生成类似人类的文本,它也可能导致过度泛化,即模型产生的响应可能在上下文中不准确或不是最新的。

为什么LLM不会总是正确

有几个因素可以解释为什么基于LLM的工具有时可能不准确,即使听起来很有说服力。

有限的知识和过时的信息

LLM通常缺乏对外部世界或实时环境的理解。它们只依赖于所接受的训练文本,对世界的现状并不具备固有的认知。GitHub Next研发团队的首席研究员兼成员Albert Ziegler说:“通常,整个训练过程需要很长时间,对于任何给定的LLM而言,训练数据过时两年都是常有的事。”

这种限制意味着它们可能会根据过时的假设生成不准确的信息,因为它们无法实时验证事实或事件。如果某个领域或主题在它们接受培训后发生了发展或变化,LLM可能并不知晓,因此可能提供过时的信息。这就是为什么无论LLM的回答看起来多么基于事实,对其进行事实核查仍然非常重要。

缺乏背景

LLM有时提供不准确信息的主要原因之一是缺乏上下文。这些模型严重依赖于输入文本中提供的信息,如果输入的信息含糊不清或缺乏细节,模型可能会做出假设,从而导致不准确的回复。

训练数据偏差和局限性

在预训练过程中,LLM会接触到大量无标签的文本数据集,这些数据集多种多样,代表了模型应该理解的语言。常见的数据源包括书籍、文章、网站,甚至是社交媒体帖子!

因此,它们可能产生的响应可能在无意中反映了训练数据中存在的偏见或错误信息。当涉及到敏感或争议话题时,这种情况尤其令人担忧。

“他们的偏见往往更严重。这不仅适用于LLM,其他机器学习也是一样。机器学习所做的是识别模式,而像刻板印象这样的东西会变成极其方便的速记符号。齐格勒说,“这些模式可能是真实存在的,或者在LLM的情况下,这些模式可能基于已经被讨论或隐含使用的人类偏见。”

如果一个模型是在包含偏见或歧视性语言的数据集上训练出来的,那么它生成的反应也可能带有偏见或歧视性。这可能会对现实世界产生影响,比如强化有害的刻板印象或歧视性做法。

过度自信

LLM无法评估自己生成的信息是否正确。考虑到他们的深度学习能力,他们通常会以高度自信的态度提供回复,优先生成看起来合理且流畅的文本——即使信息是错误的!

幻觉

由于LLM生成文本的方式(通过模式和联想),它们有时会对信息产生 “幻觉”。有时,当它们面对不完整或模棱两可的询问时,它们会试图利用这些模式来完成询问,有时会产生不准确或不符合事实的信息。归根结底,幻觉没有证据或真实世界数据的支持。

例如,想象一下,你向ChatGPT询问20世纪的一个历史问题。但它却描述了两位著名历史人物的会面,而这两位人物实际上从未见过面!

对于GitHub Copilot,Ziegler解释说:”我们遇到的典型幻觉是GitHub Copilot开始谈论根本不存在的代码。我们的缓解措施是让它为每一段代码提供足够的上下文,以便我们可以检查和验证这些代码是否确实存在。”

不过,GitHub Copilot团队已经在考虑如何利用幻觉,以”自上而下”的方式进行编码。想象一下,你正在处理一个积压的问题,并希望GitHub Copilot为你提供建议。GitHub Next首席研究员约翰-罗森基尔德(Johan Rosenkilde)解释说:”理想情况下,你希望它能将复杂的问题细分,委托给明确划分的辅助函数,并为这些辅助函数取个好名字。在提出调用(仍然不存在的)辅助函数的代码之后,你还希望它能提出实现这些辅助函数的建议!”

这种方法就好比获得了解决编码难题的蓝图和构建模块。

LLM的道德使用和负责任的倡导

在使用LLM的过程中,一定要注意道德问题。也就是说,虽然LLM有可能生成虚假信息,但它们并不是有意捏造或欺骗。相反,这些虚假信息是源于模型试图根据从训练数据中学到的模式和信息,生成连贯且与上下文相关的文本。

GitHub Copilot团队开发了一些工具来帮助检测有害内容。Goudarzi说:“首先,我们有一个重复检测过滤器,它可以帮助我们检测生成的代码和可以访问的所有开源代码之间是否匹配,从而过滤掉此类建议。我们使用的另一个工具叫做责任人工智能(RAI),它是一个分类器,可以过滤掉辱骂性词语。最后,我们还会单独过滤掉已知的不安全模式。”

了解LLM背后的深度学习过程可以帮助用户知晓其局限性及其积极影响。要想有效地驾驭 LLM,关键是要从可靠的来源核实信息,提供清晰而具体的输入,并在理解LLM生成的回复时进行批判性思考。

正如贝里曼提醒我们的那样,“引擎本身是不具备道德性的。用户可以对其为所欲为,当然,这可能涉及道德和不道德的方方面面。但是,通过意识到这些问题,并积极致力于道德实践,我们可以确保以负责任和有益的方式使用LLM。”

开发人员、研究人员和科学家不断努力提高这些模型的准确性和可靠性,使它们成为未来越来越有价值的工具。我们所有人都应该倡导负责任和道德地使用LLM。这包括提高这些模型开发和部署的透明度和问责制,以及采取措施减轻我们自己在互联网角落的偏见和刻板印象。

作者:

Jeimy Ruiz

即试用GitHub,请联系GitHub中国官方授权合作伙伴——创实 ,我们提供GitHub产品的咨询、销售、实施、培训及技术支持服务。