大语言模型(LLMs)通过将深度学习技术与强大的计算资源结合起来,正在彻底改变我们与软件互动的方式。
虽然这项技术令人兴奋,但许多人也担忧LLMs可能生成虚假的、过时的或有问题的信息,他们有时甚至会产生令人信服的幻觉(产生不存在的信息)。值得庆幸的是,我们可以立即澄清一个谣言。根据GitHub Copilot的机器学习(ML)高级研究员Alireza Goudarzi的说法:“LLMs并未接受推理训练。它们并不试图理解科学、文学、代码或其他任何事物。它们只是被训练来预测文本中的下一个标记。
让我们深入了解LLMs如何做出意想不到的事情,以及为什么会这样。本博客文章将全面介绍LLMs,包括它们的训练方法和伦理考虑。我们的目标是帮助你更好地了解LLM的能力,以及他们为什么他们能在没有训练的情况下掌握语言。
什么是大语言模型
LLMs是在大量文本数据上进行训练的人工智能系统,使它们能够生成类似人类的行为,并以传统机器学习模型无法做到的方式理解自然语言。
“这些模型使用深度学习领域的先进的tricks,涉及多层深度神经网络的训练,用于学习复杂的模式和关系。”GitHub Copilot团队的机器学习高级研究员John Berryman解释道。
LLMs的独特之处在于它们擅长概括和理解上下文。他们不受预定的规则或模式的限制,而是通过大量数据学习,形成对语言的独立理解。这使它们能够对各种提示和查询生成连贯而上下文适当的响应。
尽管LLMs因此可以成为非常强大且灵活的工具,但用于训练它们的机器学习方法以及它们的训练数据的质量或限制,有时也可能导致生成不准确、不实用和不可靠信息的偶发性失误。
Deep Learning
现代机器学习实践的出现,如深度学习,已经成为释放LLMs潜力的重要变革者。与依赖预定义规则和模式的最早语言模型不同,深度学习使这些模型能够以更类似人类的方式生成自然语言输出。
“深度学习和神经网络的整个学科基础是‘我们可以将规则简化到多么简单,以尽可能接近人脑的行为?’”Goudarzi说道。
通过使用具有多层的神经网络,深度学习使LLMs能够分析和学习语言数据中的复杂模式和关系。这意味着这些模型可以生成连贯而上下文适当的响应,即使面对复杂的句子结构、成语表达和语言中微妙的细微差别。
虽然初始的预训练赋予了LLMs广泛的语言理解能力,但精调是它们变得多才多艺和适应性强的地方。“当开发者希望这些模型执行特定任务时,他们提供任务描述和示例(few-shot learning)或仅提供任务描述(zero-shot learning)。然后,模型根据这些信息对其预训练的权重进行精细调整,”Goudarzi说。这个过程帮助模型适应特定任务,同时保留它在广泛预训练中获得的知识。
但即使深度学习的多层和注意机制使LLMs能够生成类似人类的文本,它也可能导致过度概括,即模型生成的响应可能在上下文中不准确或过时。
为什么LLM不是总是正确的
有几个因素可以解释为什么基于LLMs构建的工具有时可能不准确,即使听起来相当令人信服。
1、有限的知识和过时的信息
LLMs通常缺乏对外部世界或实时背景的理解。它们仅依赖于它们接受训练的文本,而且它们没有对世界当前状态的固有意识。GitHub Next研究与开发团队的首席研究员Albert Ziegler表示:“通常整个训练过程需要很长时间,对于任何给定的LLM,训练数据过时两年是很常见的情况。”
这一限制意味着它们可能基于过时的假设生成不准确的信息,因为它们无法实时验证事实或事件。如果它们在接受训练后的某个领域或主题发生了发展或变化,LLMs可能不会意识到这些变化,可能提供过时的信息。这就是为什么仍然重要的原因,即使看起来基于事实,也要对从LLM收到的任何响应进行事实核查。
2、缺乏上下文信息
LLMs有时提供不正确信息的主要原因之一是缺乏上下文。这些模型在很大程度上依赖于输入文本中提供的信息,如果输入模糊或缺乏细节,模型可能会做出导致不准确响应的假设。
3、训练数据偏差和局限性
LLMs在预训练期间接触到大量未标记的文本数据集,这些数据集是多样化的,代表了模型应该理解的语言。常见的数据来源包括书籍、文章、网站,甚至是社交媒体帖子!
由于这个原因,它们可能会无意中产生反映这些偏见或在训练数据中存在的不正确信息的响应。在涉及敏感或有争议的主题时,这尤其令人担忧。
Ziegler表示:“它们的偏见往往更严重。这适用于机器学习总体,而不仅仅是LLMs。机器学习的做法是识别模式,而诸如刻板印象之类的东西可能变成极为方便的简便表达。它们可能是真实存在的模式,或者在LLMs的情况下,是基于人类偏见的模式,这些偏见可能是明确讨论或隐含使用的。”
如果模型在包含有偏见或歧视性语言的数据集上进行训练,它可能生成具有偏见或歧视性的响应。这可能产生实际影响,例如强化有害的刻板印象或歧视性实践。
4、过度自信
LLMs没有评估它们生成信息准确性的能力。由于它们的深度学习,它们通常以高度自信的方式提供响应,优先生成看起来合理且流畅的文本,即使信息是不正确的时候也是如此!
5、幻觉
LLMs有时会因为它们生成文本的方式(通过模式和关联)而产生“幻觉”。有时,在面对不完整或模糊的查询时,它们试图通过借助这些模式来完成它们,有时生成的信息可能不准确或不符合事实。最终,这些幻觉并不得到证据或真实世界数据的支持。
例如,假设你询问ChatGPT关于20世纪的一个历史问题。相反,它可能描述两位从未真正见过面的著名历史人物之间的会面!
在GitHub Copilot的背景下,Ziegler解释说,“我们遇到的典型幻觉是当GitHub Copilot开始谈论甚至不存在的代码时。我们的缓解措施是确保它为它谈论的每一段代码提供足够的上下文,以便我们可以检查并验证它实际上是否存在。”
但GitHub Copilot团队已经在思考如何在编码的“自上而下”方法中利用幻觉。想象一下,你正在解决一个积压问题,而你希望GitHub Copilot给出建议。正如GitHub Next的首席研究员Johan Rosenkilde所解释的那样,“理想情况下,你希望它提出对你复杂问题的一个子划分,委托给 nicely delineated 的助手函数,并为这些助手给出良好的名称。在建议调用(尚不存在的)助手的代码后,你希望它还能提出它们的实现!”
这种对幻觉的处理方式就像获得解决编码挑战的蓝图和构建块一样。
LLMs的使用道德和责任倡导
使用LLMs时要注意伴随而来的伦理考虑是很重要的。话虽如此,尽管LLMs有生成虚假信息的潜力,但它们并不是有意伪造或欺骗。相反,这些问题源于模型试图基于其训练数据学到的模式和信息生成一致和与上下文相关的文本。
GitHub Copilot团队已经开发了一些工具来帮助检测有害内容。Goudarzi说:“首先,我们有一个重复检测过滤器,它帮助我们检测生成的代码与我们可以访问的所有开源代码之间的匹配,从而过滤掉这样的建议。我们使用的另一个工具是名为“负责任人工智能”(RAI)的分类器,它可以过滤掉滥用词汇。最后,我们还单独过滤掉已知的不安全模式。”
了解LLMs背后的深度学习过程可以帮助用户理解它们的局限性以及它们的积极影响。为了有效地应对这些问题,关键是要从可靠的来源验证信息,提供清晰而具体的输入,并在解释LLMs生成的响应时运用批判性思维。
正如Berryman提醒我们的那样,“引擎本身是无道德的。用户可以随心所欲地使用它们,这可以涵盖从道德到不道德的整个范围。但通过意识到这些问题并积极致力于道德实践,我们可以确保LLMs被以一种负责任和有益的方式使用。”
开发人员、研究人员和科学家不断努力提高这些模型的准确性和可靠性,使它们成为未来越来越有价值的工具。我们所有人都可以倡导对LLMs的负责任和道德使用。这包括在这些模型的开发和部署中促进透明性和问责制,以及在我们互联网角落中采取措施减轻偏见和刻板印象。
如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。