绝区壹--LLM的构建模块


前言

语言是人类交流的本质,大型语言模型 (LLM) 凭借其出色的理解和生成类似人类的文本的能力,彻底改变了我们与语言互动和利用语言的方式。深入研究 LLM 的构建块(向量、标记和嵌入),揭示了使这些模型能够以前所未有的复杂程度处理语言的复杂机制。

LLM 是变革性的 AI 系统,彻底改变了 NLP 领域。这些模型能够以非凡的流畅性和连贯性理解、生成和处理类似人类的文本。LLM 的核心是实现其卓越性能的基本构建块:向量、标记和嵌入。在这篇博客中,我将深入探讨这些组件的复杂性,并探索 LLM 如何利用它们以前所未有的复杂性处理和生成语言。

1. 向量:语言的数值表示

在 LLM 领域,语言被表示为数值向量,即密集的高维实数数组。这些向量是计算的基本单位,使 LLM 能够以捕捉语言语义和句法属性的方式对语言进行数学运算。

1.1 独热编码:传统方法

传统上,自然语言中的单词或标记使用独热编码方案表示。在这种方法中,词汇表中的每个单词都被分配一个唯一索引,并创建一个零向量,其长度等于词汇表的大小。该向量在与单词索引相对应的位置处具有单个值 1,在其他地方为零。

例如,如果词汇量为 10,000 个单词,并且单词“cat”的索引为 237,则它的独热编码将是一个长度为 10,000 的向量,其中位置 237 为 1,其他地方为 0。

虽然独热编码简单直观,但它也存在一些局限性。首先,它会创建高维稀疏向量,这对于大型词汇表来说计算效率低下。其次,更重要的是,它无法捕捉单词之间的语义关系,将每个单词视为一个孤立的实体。

1.2 分布式表示:密集向量的力量

为了解决独热编码的局限性,LLM 采用分布式表示,也称为密集向量表示或嵌入。在这种方法中,每个单词都由一个密集的实数向量表示,维度通常从几百到几千甚至更多。

这些密集向量旨在捕捉单词之间的语义和句法关系。具有相似含义或上下文的单词由高维向量空间中彼此靠近的向量表示,而不相似的单词则由相距较远的向量表示。

将单词转换为密集向量的过程称为词嵌入,这是 LLM 训练中的关键步骤。各种技术(例如 Word2Vec、GloVe 以及最近基于自注意力和转换器的方法)都用于从大量文本数据中学习这些嵌入。

与独热编码相比,密集向量表示有几个优点:

  1. 计算效率:密集向量的维度通常比独热向量低得多,从而实现更高效的计算并减少内存需求。
  2. 语义关系:高维空间中词向量的接近度捕获了语义和句法关系,使 LLM 能够理解和生成具有更高连贯性和上下文意识的文本。
  3. 泛化:通过将单词表示为密集向量,LLM 可以推广到未见过的单词或短语,只要它们的嵌入与已知单词或上下文的嵌入相似。
  4. 组合性:密集向量允许进行数学运算,例如加法和乘法,这些运算可用于组成和操作更大语言单位(如短语或句子)的表示。

1.3 子词标记和字节对编码

虽然词嵌入功能强大,但它们在处理词汇表外 (OOV) 单词方面存在局限性,这些单词是训练语料库中不存在的单词。为了解决这个问题,LLM 通常采用子词标记技术,例如字节对编码 (BPE)。

子词标记化是将单词分解为更小的单元(称为子词标记或词块)的过程。这些子词标记可以组合起来表示任何单词,包括在训练期间未见过的单词。

BPE 算法首先将每个单词表示为单个字符或字节的序列。然后,它会迭代地将最常见的连续字符或字节对合并为新标记,从而有效地创建子单词标记词汇表。此过程持续进行,直到达到所需的词汇表大小或满足特定的停止标准。

例如,“unbreakable”这个词可能被标记为“un##break##able”,其中“##”是用于表示子词单元的特殊分隔符。

通过使用子词标记化,LLM 可以更有效地处理 OOV 词,因为它们可以通过组合已知的子词标记来表示甚至未见过的词。这种方法还有助于减少词汇量,从而提高计算效率和模型性能。

2. 标记:语言表征的基石

在 LLM 中,token 是语言表示的基本单位。它们可以是单词、子单词或模型用来处理和生成文本的特殊符号。

2.1 标记词汇

LLM 通常具有预定义的标记词汇表,这是一组用于表示语言的唯一标记。此词汇表可以包括:

  1. 单词标记:来自训练语料库的单个单词。
  2. 子词标记:通过 BPE 等标记化技术获得的子词单元。
  3. 特殊标记:具有特定用途的标记,例如序列开始标记、序列结束标记、填充标记或分隔标记。

标记词汇表的大小可能因模型和所用的标记化策略而异。词汇表越大,可以捕捉到更多的语言细微差别,但也可能增加计算复杂性和内存需求。

2.2 标记嵌入

词汇表中的每个标记都与一个密集向量表示相关联,称为标记嵌入。这些嵌入是在训练过程中学习的,用于在高维向量空间中表示标记。

标记嵌入可以捕获标记的语义和句法属性,从而使模型能够推理它们之间的关系和上下文。相似的标记往往具有在向量空间中相近的嵌入,而不相似的标记则具有相距较远的嵌入。

标记嵌入在 LLM 的输入和输出处理中起着至关重要的作用。当一段文本被输入到模型中时,它首先被标记化,每个标记被映射到其相应的嵌入。然后,这些嵌入由模型的层处理以生成所需的输出,例如文本的延续、翻译或特定于任务的结果。

2.3 位置嵌入

除了标记嵌入之外,LLM 还经常利用位置嵌入来整合序列中标记的位置或顺序信息。这很重要,因为单词或短语的含义可能会根据其在句子或上下文中的位置而改变。

位置嵌入通常在训练期间学习,并添加到标记嵌入中,然后再由模型层进行处理。这使得模型能够捕获位置信息并根据标记在序列中的位置来理解它们之间的关系。

已经提出了各种表示位置信息的技术,包括正弦位置编码、学习位置嵌入和相对位置编码。位置编码策略的选择会影响模型的性能及其处理语言中长距离依赖关系的能力。

3. 嵌入:语言的语义表征

嵌入是一种密集的向量表示,可以捕获语言单元(例如单词、短语或句子)的语义和句法属性。它们在 LLM 的性能中发挥着至关重要的作用,使这些模型能够以有意义且具有上下文感知的方式推理语言。

3.1 词嵌入

如前所述,词向量是单个单词的密集向量表示。它们通常使用 Word2Vec、GloVe 等技术从大量文本数据中学习而来,或者使用最近在 Transformer 模型中使用的基于自注意力的方法。

词嵌入通过将相似的单词放在高维向量空间中紧密相连来捕获单词之间的语义关系。此属性使 LLM 能够理解单词的含义和上下文,从而实现语言生成、翻译和文本摘要等任务。

3.2 短语和句子嵌入

虽然词向量非常强大,但它们无法捕捉较大语言单位(例如短语或句子)的全部含义和细微差别。为了解决这个问题,LLM 通常采用技术来生成短语和句子的向量。

3.2.1 组合短语和句子嵌入

获取短语和句子嵌入的一种方法是通过组合,即使用加法、乘法或更复杂的函数等数学运算将各个单词的嵌入组合在一起。其基本原理是组合性的概念,这意味着可以从较大语言单位的含义及其组成部分的含义和组合规则中得出较大语言单位的含义。

对于短语或句子,可以使用向量运算将各个标记的词嵌入组合起来,以创建表示整个短语或句子的单个嵌入。例如,一种简单的方法可以是对短语或句子中的词嵌入取元素平均值或总和,以创建组合嵌入。

更先进的技术包括使用循环神经网络 (RNN) 或卷积神经网络 (CNN) 以更复杂的方式组合词向量,同时考虑单词之间的顺序和结构关系。这些方法可以捕捉重要的语言现象,例如否定、修饰和语义组合性。

3.2.2 语境化嵌入

虽然组合嵌入可以捕捉短语和句子含义的某些方面,但它们往往无法捕捉语言的完整语境和细微差别。为了解决这一限制,LLM 采用技术来生成语境化嵌入,在表示语言单位时会考虑周围的语境。

生成语境化嵌入的一种主要方法是使用基于 Transformer 的语言模型,例如 BERT、GPT 及其变体。这些模型利用自注意力机制和双向语境来生成受周围文本动态影响的嵌入。

在基于 Transformer 的模型中,输入序列首先被标记化并映射到标记嵌入,然后通过多个编码器或解码器层。这些层应用自注意力机制,允许根据每个标记与序列中其他标记的关系来更新其嵌入。

由此产生的语境化嵌入可以捕捉语言单元在特定语境中的含义,同时考虑到词序、句法结构和语义关系等因素。事实证明,这些嵌入可以显著提高各种 NLP 任务的性能,包括问答、文本分类和语言生成。

4. 大型语言模型的整体架构

虽然向量、token 和嵌入是 LLM 的基本组成部分,但这些模型采用了复杂的架构和训练策略来实现其卓越的语言理解和生成能力。在本节中,我们将探索 LLM 的整体架构,重点关注 Transformer 模型和自注意力机制。

4.1 Transformer 架构

Transformer 架构彻底改变了 LLM 领域,并为许多最先进的模型奠定了基础,例如 BERT、GPT 及其变体。

Transformer 架构基于自注意力机制,该机制允许模型通过关注输入序列的相关部分来捕获语言中的长程依赖关系。这与传统的循环神经网络 (RNN) 和长短期记忆 (LSTM) 模型不同,后者由于计算的顺序性,很难捕获长程依赖关系。

Transformer 架构由编码器和解码器组成,每个编码器和解码器均由多个层组成。编码器层处理输入序列并生成上下文化嵌入,而解码器层则根据这些嵌入和先前生成的标记生成输出序列。

4.2 自注意力机制

自注意力机制是 Transformer 架构的核心组件,负责捕获输入序列中 token 之间的关系。它允许模型在计算特定 token 的表示时动态地为序列的不同部分分配重要性权重。

在自注意力机制中,每个 token 的嵌入被转换为三个向量:查询向量、键向量和值向量。然后使用缩放点积运算将查询向量与序列中所有其他 token 的键向量进行比较。这会产生注意力分数,表示每个 token 与当前正在处理的 token 的相关性。

然后使用这些注意力分数来计算值向量的加权和,为当前标记生成一个新的表示,该表示包含来自输​​入序列的最相关部分的信息。

自注意力机制并行应用于多个注意力头,每个注意力头关注输入序列的不同方面。然后,这些注意力头的输出被组合起来,并通过前馈神经网络来产生最终的语境化嵌入。

4.3 多头注意力和位置编码

除了自注意力机制之外,Transformer 架构还采用了其他几个关键组件来增强其性能并处理语言处理的不同方面。

多头注意力机制:Transformer 架构不再依赖单一的注意力机制,而是使用多个注意力头,每个注意力头负责输入序列的不同部分。这些多个注意力头使模型能够捕捉输入中不同类型的关系和依赖关系,从而提高其整体表征能力。

位置编码:由于自注意力机制将输入序列视为一组标记嵌入,因此它缺少有关序列中标记的顺序或位置的信息。为了解决这个问题,Transformer 架构结合了位置编码,这些编码在自注意力计算之前添加到标记嵌入中。这些位置编码为模型提供了有关标记的相对或绝对位置的信息,使其能够捕获语言中的顺序和结构依赖关系。

4.4 预训练和迁移学习

预训练和迁移学习技术是 LLM 成功的关键因素之一。预训练涉及在大量未标记的文本数据上训练大型语言模型,使其能够学习丰富的语言表示并捕捉语言模式和关系。

经过预训练后,这些模型可以通过对特定任务的标记数据进行进一步训练,针对特定的下游任务(例如问答、文本摘要或语言生成)进行微调。这种迁移学习方法允许预训练模型利用其通用语言知识,同时适应目标任务的特定要求。

预训练和迁移学习对于在各种 NLP 任务中实现最佳性能起到了重要作用,因为它们能够将知识从大型通用语言模型有效地转移到专门的任务特定模型,从而减少了对大量任务特定训练数据的需求。

4.5 模型缩放和架构变化

随着LLM (LLM) 的进步,研究人员和从业人员探索了各种策略来提高其性能,包括模型缩放和架构变化。

模型扩展:增强 LLM 能力的一种方法是增加其规模,包括参数数量和使用的训练数据量。研究表明,拥有数十亿甚至数万亿个参数的大型模型表现出更好的语言理解和生成能力,因为它们可以捕捉更细微的语言模式和关系。

然而,扩展 LLM 面临着巨大的计算和内存挑战,需要专门的硬件和有效的训练策略。

架构变化:虽然 Transformer 架构一直是 LLM 的主导范式,但研究人员已经探索了各种架构变化来应对特定挑战或提高某些任务的性能。

这种变化的例子包括 Reformer 模型,它引入了有效的注意力机制来处理更长的输入序列,以及 Longformer 模型,它结合了局部和全局注意力机制来捕捉语言中的短程和长程依赖关系。

此外,研究人员还探索将外部知识源(例如知识图谱或结构化数据)纳入 LLM,以增强他们的事实知识和推理能力。

5. 应用和未来方向

LLM 的卓越功能使其能够在各个领域实现广泛的应用,从语言生成和翻译到问答、文本摘要和内容创建。

语言生成和创意写作:LLM 在生成连贯、类似人类的文本方面表现出了令人印象深刻的能力,使其成为创意写作、内容生成甚至代码生成的宝贵工具。

机器翻译:通过利用捕捉语言细微差别和上下文的能力,LLM显著提高了机器翻译系统的质量,使语言之间的翻译更加准确、流畅。

问答和信息检索:LLM 可以针对问答任务进行微调,使其能够理解自然语言查询并从大型知识库或文本源中提供相关信息。

文本摘要:LLM 可以生成长篇文档或文章的简洁摘要,捕捉最突出的信息并以简洁的格式呈现。

内容创作和协助:LLM 越来越多地被用作智能写作助手,帮助用户完成内容构思、编辑和事实核查等任务,使内容创作过程更加高效、有效。

尽管取得了显著成就,LLM仍然面临重大挑战和局限性。确保事实准确性、减轻偏见和有害语言的产生以及增强可解释性和可控性是正在进行的研究和开发领域。

此外,LLM的道德影响,包括隐私问题、潜在的滥用以及对行业和就业市场的影响,需要仔细考虑和负责任的发展实践。

随着LLM(LLM)的不断发展和进步,我们可以期待看到更加令人印象深刻的语言理解和生成能力,开辟人机交互、知识获取和智力增强的新领域。


欢迎你分享你的作品到我们的平台上. http://www.shxcj.com 或者 www.2img.ai 让更多的人看到你的才华。

创作不易,觉得不错的话,点个赞吧!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/779521.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Qt(MSVC)下报“语法错误缺少“}““语法错误缺少“常数“ 的解决办法

1.现象 目前我在工程中试图使用QHttpServer时,一编译,就报了一堆奇奇怪怪的错误: D:\Qt\httpServer\Qt5.15.2\include\QtHttpServer\qhttpserverrequest.h:75: error: C2143: 语法错误: 缺少“}”(在“(”的前面) D:\Qt\httpServer\Qt5.15.…

Xilinx FPGA:vivado关于fifo的一些零碎知识

一、FIFO概念 先进先出,是一种组织和操作数据结构的方法。在硬件应用中,FIFO一般由一些读写指针,存储和控制的逻辑组成。 二、xilinx中生成的FIFO的存储类型 (1)shift register FIFO : 移位寄存器FIFO,这…

第6章 选课学习:需求分析,添加选课,支付,支付通知,在线学习

1 模块需求分析 1.1 模块介绍 本模块实现了学生选课、下单支付、学习的整体流程。 网站的课程有免费和收费两种,对于免费课程学生选课后可直接学习,对于收费课程学生需要下单且支付成功方可选课、学习。 选课:是将课程加入我的课程表的过…

以黑盒与白盒的角度分析和通关xss-labs(XSS漏洞类型与总结)

目录 目录 前言 XSS漏洞的总结和梳理 1.第一关(基础palyload) 黑盒测试 白盒测试 2.第二关(闭合) 黑盒测试 白盒测试 3.第三关(字符转义) 黑盒测试 白盒测试 4.第四关(字符过滤或替换) 黑盒测试 白盒测试 5.第五关(关键词替换) 黑盒测试 白盒测试 6.第六关(…

C++初级——C++入门(2):函数重载

目录 一、话题引入 二、 函数重载概念 三、不同重载类型 3.1 参数个数不同 3.2 参数类型不同 3.3 参数类型顺序不同 一、话题引入 在自然语言中,一个词可以有多重含义,人们可以通过上下文来判断该词真正的含义,即该词被重载了。 例…

java自旋锁

Java自旋锁(Spin Lock)是一种用于多线程同步的锁机制,通过反复检查某个条件(通常是一个共享变量的状态)而不是挂起线程来实现锁的获取。自旋锁的核心思想是让线程在尝试获取锁时保持活动状态,即进行“自旋”…

Spring Cloud Alibaba - Sentinel 分布式系统流量哨兵

目录 概述特征基本概念 安装Sentinel微服务引入Sentinel案例流控规则(流量控制)流控模式-直接流控模式-关联流控模式-链路流控效果-快速失败流控效果-预热WarmUp流控效果-排队等候 流控规则(并发线程数控制)熔断规则(熔…

ECharts在最新版本中使用getInstanceByDom报错处理

引用问题导致报错 如果按如下引用的话,会报错 import echarts from “echarts/lib/echarts”; 原因 在 ECharts 的之前版本中,默认导出了一个名为 echarts 的对象,所以使用 import echarts from “echarts” 是没有问题的。但是在 ECharts …

【Docker系列】Docker 镜像构建中的跨设备移动问题及解决方案

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

Spring中的事件监听器使用学习

一、什么是Spring中的事件监听机制? Spring框架中的事件监听机制是一种设计模式,它允许你定义和触发事件,同时允许其他组件监听这些事件并在事件发生时作出响应。这种机制基于观察者模式,提供了一种松耦合的方式来实现组件间的通信…

vue3+electron项目搭建,遇到的坑

我主要是写后端,所以对前端的vue啊vue-cli只是知其然,不知其所以然 这样也导致了我在开发前端时候遇到了很多的坑 第一个坑, vue2升级vue3始终升级不成功 第二个坑, vue add electron-builder一直卡进度,进度条走完就是不出提示succes 第一个坑的解决办法: 按照网上说的升级v…

DNS正向解析与反向解析实验

正向解析 安装bind软件 [rootlocalhost ~]# dnf install bind bind-utils -y修改主配置文件/etc/named.conf [rootlocalhost ~]# vim /etc/named.conf重启DNS服务(named) [rootlocalhost ~]# systemctl restart named编辑数据配置文件。在/var/named…

AI绘画Stable Diffusion【图生图教程】:图片高清修复的三种方案详解,你一定能用上!(附资料)

大家好,我是画画的小强 今天给大家分享一下用AI绘画Stable Diffusion 进行 高清修复(Hi-Res Fix),这是用于提升图像分辨率和细节的技术。在生成图像时,初始的低分辨率图像会通过放大算法和细节增强技术被转换为高分辨…

Linux运维:mysql主从复制原理及实验

当一台数据库服务器出现负载的情况下,需要扩展服务器服务器性能扩展方式有向上扩展,垂直扩展。向外扩展,横向扩展。通俗的讲垂直扩展是将一台服务器扩展为性能更强的服务器。横向扩展是增加几台服务器。 主从复制好比存了1000块钱在主上&…

Flutter-实现双向PK进度条

如何实现一个双向PK进度条 在Flutter应用中,进度条是一个非常常见的组件。而双向PK进度条则能够展示两个对立的数值,如对战中的双方得分对比等。本文将介绍如何实现一个具有双向PK效果的进度条,并支持竖直和斜角两种过渡效果。 1. 需求 我…

仪器校准后出了校准证书后,是不是就代表仪器合格了?

仪器校准是一门技术活,对于从事生产制造的企业而言,是不可或缺的一环,因为这与产品质量密切相关。所以,了解仪器校准的相关知识也变得尤为重要。 在拿到校准证书后,是不是说明仪器合格了?相信不少企业品管人…

苍穹外卖--sky-take-out(五)前端

大部分笔记都是写在语雀的,这是一次性从本人语雀复制过来的,可能结构有些错乱 基础创建 环境要求 node.js npm Vue CLI 创建前端工程 使用vue ui命令创建 项目结构 启动项目 打开命令行窗口 快捷键ctrlj 或者 运行 输入:npm run ser…

基于单片机的多功能电子时钟的设计

摘要:提出了一种基于单片机的多功能电子时钟的设计方法,以 AT89C52单片机作为系统的主控芯片,采用DS1302作为时钟控制芯片,实现日期时钟显示并且提供精准定时的功能。此外,还可经由DHT22所构成的温湿度传感电路&#x…

Chair Footrest Protective Cover

Chair Footrest Protective Cover 万能通用型椅子脚垫保护套凳子耐磨硅胶加厚垫桌椅脚垫防滑静音套

【学术会议征稿】2024年工业自动化与机器人国际学术会议(IAR 2024)

2024年工业自动化与机器人国际学术会议(IAR 2024) 2024 International Conference on Industrial Automation and Robotics 2024年工业自动化与机器人国际学术会议(IAR 2024)将于2024年10月18-20日在新加坡隆重召开。会议将围绕…