跳转到内容

用于社会变革的聊天机器人/大型语言模型理论

来自维基教科书,开放世界开放书籍

原始章节组织

[编辑 | 编辑源代码]

介绍性视频

讲座

  • 神经网络简介 - 斯坦福 CS224N。一个关于神经网络的很好的数学概述。
  • 扩展语言模型 - 斯坦福 CS224N 客座讲座。一个关于 LLM 能力提升的总体展望。
  • 构建知识表示 - 斯坦福 CS224N 客座讲座。对于理解我们的向量检索方法非常有用,但从更广阔的视角来看。
    • 点积具有快速最近邻搜索算法(亚线性)。
    • 重新排序通常是必要的,因为点积不一定是那么具有表达能力。
    • 并非所有向量集都易于索引,“病态”,为了提高性能,可以将它们“散开”,例如
  • 社会智能 NLP 系统 - 很棒!深入探讨了社会如何影响语言,以及如何破坏我们的模型。
  • LangChain 与助手 API - 一个关于两个用于更深入的聊天机器人计算的接口的很好概述。
  • LLM 应用程序的新兴架构,从企业的角度来看,架构及其使用。涵盖了使用向量搜索的 RAG、助手以及 LLM 模型精炼的一般工作流程。
  • 从头开始构建 GPT - 由 Andrej Karpathy 提供的关于 chatGPT 的绝佳介绍,了解其确切的工作原理(Torch)。
  • GPT 中的标记化,由 Andrej Karpathy 提供的精彩介绍,他在这个领域还有很多其他优秀的讲座。

课程

  • NYU 深度学习 - 一个完整的在线课程,涵盖许多高级主题,包括注意力和 Transformer、图卷积网络以及深度学习在结构化预测中的应用,例如。
  • 教科书 理解深度学习 有配套练习和讲座幻灯片

教科书

  • 黑客语言模型指南,作者:Jeremy Howard
  • 程序员的实用深度学习
  • 理解深度学习,以及这个很好的介绍性演讲
  • Dahl, D. A. (2023). 使用 Python 进行自然语言理解: 将自然语言技术、深度学习和大型语言模型相结合,在计算机系统中创建类似人类的语言理解能力。Packt 出版社。
  • Sinan Ozdemir. (2023). 大型语言模型快速入门指南: 使用 ChatGPT 和其他 LLM 的策略和最佳实践。Addison-Wesley 专业。
  • Zhao, W. X. 等人。(2023)。大型语言模型综述 (arXiv:2303.18223)。arXiv
    • 这并不完全是一本教科书,但它有 122 页密集的参考材料,内容丰富,不应被视为一次性阅读的资源。

重新排序

[编辑 | 编辑源代码]

在信息检索的上下文中,重新排序是一个两步过程,用于增强搜索结果的相关性。以下是如何通常工作的

  • 第一步检索:在初始阶段,使用快速高效的方法检索一组广泛的文档。这通常使用基于嵌入的检索完成,其中文档和查询在多维空间中表示为向量。这里的目标是撒开一张大网,快速检索大量候选文档集,并且计算成本相对较低。
  • 第二阶段重排序:第一阶段检索到的文档将在第二阶段重新评估,以提高搜索结果的准确性。此阶段涉及计算量更大的算法,通常由语言模型(如大型语言模型)驱动,该算法更全面地考虑了搜索查询的上下文。此步骤会重新排序(重新排名)第一阶段的结果,将更相关的文档提升到更高位置,而将不太相关的文档降级。

重排序步骤是搜索结果相关性与所需计算资源之间的权衡。通过将其用作第二阶段,系统旨在平衡基于嵌入的检索的速度和效率以及基于大型语言模型的检索的深度和相关性。这种组合方法可以生成既相关又可以在可接受的时间范围内和成本内生成的结果集。


矛盾检测

[编辑 | 编辑源代码]

斯坦福自然语言处理小组一直在研究文本中的矛盾检测,并为此创建了矛盾数据集。他们对 PASCAL RTE 数据集进行了矛盾标注,针对推理进行了三元决策标记:"YES"(蕴含)、"NO"(矛盾)和 "UNKNOWN"(不蕴含,但不是矛盾)。此外,他们还创建了一个语料库,其中矛盾来自对 RTE2 测试数据的负标记,并收集了一组在“野外”出现的矛盾。

  • Uray, Martin (2018). "探索矛盾检测的神经模型". {{cite journal}}: Cite journal requires |journal= (帮助)
  • Tawfik, Noha S.; Spruit, Marco R. (2018). "生物医学文献中的自动矛盾检测". 在 Petra Perner (ed.) (ed.). 机器学习和数据挖掘在模式识别中的应用. Vol. 10934. Cham: Springer International Publishing. pp. 138–148. ISBN 978-3-319-96135-4 978-3-319-96136-1. 检索于 2023-11-16. {{cite book}}: |editor= has generic name (帮助); Check |isbn= value: length (帮助)
  • Hsu, Cheng; Li, Cheng-Te; Saez-Trumper, Diego; Hsu, Yi-Zhan (2021-11-16), WikiContradiction:检测维基百科中的自相矛盾文章, arXiv, 检索于 2023-11-16
  • Li, Luyang; Qin, Bing; Liu, Ting (2017-05-24). "利用矛盾特定词嵌入进行矛盾检测". 算法. 10 (2): 59. doi:10.3390/a10020059. ISSN 1999-4893. 检索于 2023-11-16.
  • Al Jallad, Khloud; Ghneim, Nada. "ArNLI:阿拉伯自然语言推理用于蕴含和矛盾检测". {{cite journal}}: Cite journal requires |journal= (帮助)

大型语言模型 (LLM) 简介

[编辑 | 编辑源代码]

让我们深入了解大型语言模型 (LLM) 的世界。它们是旨在理解、使用和生成人类语言的先进计算机程序。想象它们就像巨大的图书馆,里面装满了各种各样的书籍,涵盖了你能想到的每一个主题。就像一个知道如何在这些书中找到每条信息的图书管理员一样,LLM 可以在这浩瀚的知识中进行导航,为我们提供见解、答案,甚至生成新内容。

它们是如何实现这一点的呢?LLM 建立在复杂的算法和数学模型之上。它们从大量文本中学习——从小说和新闻文章到科学论文和社交媒体帖子。这个学习过程涉及识别语言中的模式:单词和句子是如何构建的,想法是如何连接的,以及不同的表达方式是如何传达相同含义的。

每个 LLM 都有数百万,有时甚至数十亿个参数——这些是模型的旋钮和拨盘。每个参数都在理解语言的微小方面发挥作用,比如句子的语气、单词的含义或段落的结构。当你与 LLM 交互时,它会使用这些参数来解码你的请求并生成准确且相关的响应。

LLM 最迷人的方面之一是它们的通用性。它们可以以不同的风格写作,从正式报告到随意对话。它们可以回答事实性问题,创作富有想象力的故事,甚至编写代码。这种适应性使它们在各个领域和应用中都非常有用。

LLM 是我们与机器交互方式的突破。它们带来了以前无法达到的理解和响应能力,使我们与计算机的交互更加自然和直观。随着它们的不断发展,它们不仅在改变我们使用技术的方式,而且还在扩展它所能实现的界限。

在本章中,我们将深入探讨大型语言模型 (LLM) 的世界。从基本定义和概念开始,我们将追踪它们的 historical development 以了解它们是如何演变成今天的先进模型的。我们将深入研究使 LLM 能够运作的关键组成部分,包括神经网络架构、它们的训练过程以及语言建模和预测的复杂性。最后,我们将研究 LLM 的基本应用,如自然语言理解和生成,涵盖对话代理、情感分析、内容创作和语言翻译等领域。本章旨在对 LLM 提供清晰全面的理解,展示其能力及其在各个领域产生的变革性影响。

定义和基本概念

[编辑 | 编辑源代码]

神经网络的基础

为了真正理解大型语言模型 (LLM) 的概念,我们必须首先了解神经网络,它是其背后的核心技术。神经网络是受人脑启发的机器学习的一个子集。它们由多层节点(或“神经元”)组成,每个节点都能执行简单的计算。当这些神经元相互连接并分层时,它们可以处理复杂的数据。在 LLM 的语境中,这些网络分析和处理语言数据。LLM 中神经网络的结构

  • 输入层:这是模型接收文本数据的层。每个单词或字符都用数字表示,通常是一个向量,它是一系列数字,捕捉了该单词的本质。
  • 隐藏层:这是进行大部分处理的地方。在 LLM 中,隐藏层通常非常复杂,允许模型识别语言中的错综复杂的模式。模型具有的层越多(或“深度”越大),它对语言的理解就越细致入微。
  • 输出层:此层生成最终的输出,它可以是对句子中下一个单词的预测、将文本分类为不同类别或其他语言任务。

训练大型语言模型

训练 LLM 包括向其提供大量文本数据。在这个过程中,模型会对文本做出预测(比如猜测句子中下一个单词)。然后,它会将自己的预测与实际文本进行比较,调整参数(神经元的权重和偏差)以提高准确性。这个过程会重复无数次,使模型能够从错误中学习并提高其语言理解能力。参数:LLM 的构建块

神经网络中的参数是在训练过程中模型调整的方面。在大型语言模型 (LLM) 中,这些参数非常多,通常数以亿计甚至更多。它们使模型能够捕捉和记忆语言的细微差别,从基本语法到复杂的文风元素。从数据到语言理解

通过训练,大型语言模型 (LLM) 发展出理解上下文、语法和语义的能力。这不仅仅是词语识别,而是理解语言如何在不同情况下构建和使用。它们可以检测出讽刺、幽默和情绪等微妙之处,即使对于人类来说也是一项挑战。用大型语言模型 (LLM) 生成语言

经过训练后,大型语言模型 (LLM) 可以生成文本。它们通过预测给定文本片段中的下一个词来实现这一点。这种能力不仅仅是简单地重复学习的数据,而是对模型内化的语言模式进行智能的综合。

通过理解这些基本概念,我们开始将大型语言模型 (LLM) 不仅仅视为工具或程序,而是视为模拟人类智能中最复杂方面的一些高级系统。本节为更深入地探索其历史发展、关键组成部分以及它们所支持的变革性应用奠定了基础。

大型语言模型 (LLM) 的历史发展

[编辑 | 编辑源代码]

大型语言模型 (LLM) 的旅程始于计算语言学早期基于规则的系统。这些早期的模型可以追溯到 20 世纪 50 年代和 60 年代,基于为语法和语法制定的手工规则集。20 世纪 80 年代后期和 90 年代统计模型的出现标志着一个重大转变。这些模型使用概率来预测词语序列,为现代语言建模奠定了基础。

2000 年代见证了从统计模型到基于机器学习方法的转变。这一时期在语言建模中引入了神经网络,但这些早期的网络相对简单,通常局限于特定任务,如词性标注或命名实体识别。重点主要放在改进语言处理的特定方面,而不是发展全面的语言理解。

2010 年代初深度学习和词嵌入的引入彻底改变了自然语言处理 (NLP)。像 Word2Vec 这样的模型提供了一种将词语表示为向量空间的方法,捕捉了词语之间的语义关系。这一时期还见证了更复杂的神经网络架构的发展,例如长短期记忆 (LSTM) 网络,它们更善于处理语言的顺序性。

2017 年引入 Transformer 模型是一个划时代的时刻。Transformer 模型最初在一篇名为“注意力就是你所需要的一切”的论文中提出,它放弃了循环层,转而使用注意力机制。这允许进行更多并行处理,并显着提高了语言模型的效率和有效性。大型语言模型 (LLM) 的兴起

在 Transformer 模型取得成功之后,语言模型的规模迅速扩大。值得注意的模型包括 OpenAI 的 GPT 系列、Google 的 BERT 以及其他模型,如 XLNet 和 T5。这些模型拥有庞大的参数数量(达到数十亿),展现出前所未有的语言理解和生成能力。它们经过了对各种广泛数据集的训练,使它们能够以高超的熟练程度执行各种语言任务。

最近的发展:不断增强的能力和规模

大型语言模型 (LLM) 发展的最新阶段的特点是模型规模和能力的进一步提高。像 GPT-3 及其后续模型这样的模型在参数数量和语言理解的深度方面突破了界限。这些模型在生成连贯且与上下文相关的文本、回答复杂问题、翻译语言甚至创建与人写的文本无法区分的内容方面表现出非凡的能力。

架构

[编辑 | 编辑源代码]

大型语言模型 (LLM),例如基于 Transformer 架构的模型,代表了自然语言处理领域的重大进步。Transformer 模型是在论文“注意力就是你所需要的一切”中提出的,已成为大多数现代大型语言模型 (LLM) 的核心。

  • 基于 Transformer 的大型语言模型 (LLM) 的架构非常复杂,由多个层和组件组成,这些层和组件协同工作以处理和生成语言。这种架构的关键元素包括
  • 输入嵌入层:该层将输入文本转换为数值向量。输入文本中的每个词语或标记都表示为高维空间中的一个向量。这个过程对于模型处理语言数据至关重要。
  • 位置编码:除了词语嵌入之外,Transformer 模型还将位置编码添加到输入嵌入中,以捕捉句子中词语的顺序。这一点很重要,因为模型本身不像 RNN(循环神经网络)那样按顺序处理词语。
    • 编码器和解码器层:Transformer 模型具有编码器-解码器结构。编码器处理输入文本,解码器生成输出文本。每个编码器和解码器都包含多个层。
    • 编码器中的每一层都包含两个子层:一个多头自注意力机制和一个简单的逐位置全连接前馈网络。
  • 解码器中的每一层也包含两个子层,但包含一个额外的第三个子层,用于对编码器输出进行注意力操作。
  • 自注意力机制:该机制允许模型权衡输入句子中不同词语的重要性。它使模型能够捕捉到整个句子的上下文信息,这是 Transformer 模型的关键特征。
  • 多头注意力:该组件将注意力机制拆分为多个头,允许模型同时关注不同表示子空间中不同位置的信息。
  • 前馈神经网络:这些网络分别且相同地应用于每个位置。它们由带有激活函数的全连接层组成。
  • 归一化和丢弃层:这些层用于 Transformer 架构的其他组件之间,以稳定和规范化训练过程。

输出层:最终的解码器输出被转换为一个预测的词语或标记,通常使用 softmax 层生成一个可能的输出概率分布。

Transformer 架构是高度可并行的,与 RNN 或 LSTM 等旧架构相比,使其能够更有效地训练大型数据集。这种效率是基于 Transformer 的模型可以扩展到拥有大量参数并处理大量语言数据的原因之一。

有关 Transformer 架构的更多详细信息,请参阅 维基百科 Transformer 页面.

神经网络架构

[编辑 | 编辑源代码]

训练和数据需求

[编辑 | 编辑源代码]

语言建模和预测

[编辑 | 编辑源代码]

大型语言模型 (LLM) 的基本应用

[编辑 | 编辑源代码]

自然语言理解
[编辑 | 编辑源代码]
对话代理
[编辑 | 编辑源代码]
情感分析

[编辑 | 编辑源代码]

自然语言生成
[编辑 | 编辑源代码]
内容创建
[编辑 | 编辑源代码]
语言翻译

[编辑 | 编辑源代码]

大型语言模型 (LLM) 的技术方面

Transformer 模型

[编辑 | 编辑源代码]

RNN、LSTM 和 GRU

[编辑 | 编辑源代码]

训练大型语言模型

[编辑 | 编辑源代码]

数据准备和清洗

[编辑 | 编辑源代码]

监督学习和无监督学习方法

[编辑 | 编辑源代码]

训练大型语言模型的挑战

[编辑 | 编辑源代码]

评估大型语言模型

[编辑 | 编辑源代码]

性能指标

[编辑 | 编辑源代码]

基准测试和测试

[编辑 | 编辑源代码]

高级技术和方法

[编辑 | 编辑源代码]

思维链提示

[编辑 | 编辑源代码]

思想图 论文,其中很好地阐述了思维链提示和树形思维提示。

零样本和少样本学习

[编辑 | 编辑源代码]

检索增强生成(RAG)

[编辑 | 编辑源代码]

提示工程和调优

[编辑 | 编辑源代码]

混合模型

[编辑 | 编辑源代码]

自我改进模型

[编辑 | 编辑源代码]

可解释人工智能 (XAI) 技术

[编辑 | 编辑源代码]

上下文理解和记忆

[编辑 | 编辑源代码]

伦理和偏差缓解技术

[编辑 | 编辑源代码]

大型语言模型的先进应用

[编辑 | 编辑源代码]

Hadi 等人 (2023) 的 44 页调查报告 [1] 为此提供了一个可靠且最新的资源。

增强创造力和创新

[编辑 | 编辑源代码]

艺术和文学创作

[编辑 | 编辑源代码]

设计和工程

[编辑 | 编辑源代码]

复杂问题解决和推理

[编辑 | 编辑源代码]

高级分析和数据解读

[编辑 | 编辑源代码]

决策支持系统

[编辑 | 编辑源代码]

个性化教育和培训

[编辑 | 编辑源代码]

自适应学习系统

[编辑 | 编辑源代码]

交互式教育内容

[编辑 | 编辑源代码]

医疗保健和医疗应用

[编辑 | 编辑源代码]

医学研究和药物研发

[编辑 | 编辑源代码]

患者互动和支持系统

[编辑 | 编辑源代码]

商业和工业创新

[编辑 | 编辑源代码]

自动化商业智能

[编辑 | 编辑源代码]

个性化营销和客户洞察

[编辑 | 编辑源代码]

挑战和未来方向

[编辑 | 编辑源代码]

可扩展性和环境影响

[编辑 | 编辑源代码]

伦理考量和偏差

[编辑 | 编辑源代码]

实现泛化和鲁棒性

[编辑 | 编辑源代码]
[编辑 | 编辑源代码]

与其他 AI 技术的整合

[编辑 | 编辑源代码]

增强交互性和个性化

[编辑 | 编辑源代码]
  1. Hadi 等人。(2023 年)。大型语言模型:其应用、挑战、局限性和未来前景的综合调查。TechRxiv,在线提供完整下载
华夏公益教科书