大语言模型是如何对文本进行编码的?

大语言模型的文本编码演进

王者杯·14天创作挑战营·第8期 10w+人浏览 433人参与

我们继续深入探讨大模型概念框架的基石之一:文本编码(Text Encoding)。这个过程发生在模型进行任何“思考”或“生成”之前,是其理解人类语言的第一步,也是至关重要的一步。

在上一章,我们叙述了模型通过分词器(Tokenizer),将句子转化为数字序列,然而,模型仍无法直接处理数字序列,需要将数字序列进行映射,得到一系列由向量得到的序列,这个过程就是文本向量化(Text Vectorization)

文本编码:从符号到数学空间的转译

大模型无法直接“阅读”我们输入的文字。其运算的基础是数学,具体而言,是处理高维空间中向量(Vector)的线性代力学。因此,将人类语言这种充满歧义、多层次且依赖上下文的符号系统,转化为机器能够操作的、精确的数学对象,是所有工作的第一步。这一转译过程,我们称之为文本编码(Text Encoding)文本向量化(Text Vectorization)

在上一篇中,我们提到模型处理的基本单位是词元(Token)。编码的核心任务,就是为每一个词元,找到一个能够恰当表征其意义的数字坐标,即词嵌入(Word Embedding)。这个“嵌入”一词非常形象:它意指将一个词的丰富含义,“嵌入”到由成千上万个维度构成的高维数学空间中的一个特定点上。

这个过程并非简单的“A=1, B=2”式编码,而是要让编码后的向量能够承载词语的语义信息。向量之间的距离、方向都应具有语言学上的意义。这一技术的演进,大致经历了三个关键阶段:基于统计的方法、静态词嵌入、以及当前LLM所依赖的动态词嵌入。

方法一:基于词频的统计表征 (Statistical Frequency-Based Representation)

这是早期信息检索和自然语言处理的 foundational 方法,它关注的是词语在文档中出现的频率,而非其内在语义。

这类方法通过计算词语在单个文档或整个语料库中的出现次数,来构建词语的向量表示。代表性技术有词袋模型 (Bag-of-Words, BoW)TF-IDF (Term Frequency-Inverse Document Frequency)

词袋模型 (BoW):想象一个袋子,将一篇文章中的所有词元全部扔进去,不考虑它们的顺序和语法结构,只清点每个词元出现的次数。例如,句子“法律的生命在于经验而非逻辑”,其BoW表示可能是一个列表:{法律:1, 的:1, 生命:1, 在于:1, 经验:1, 而非:1, 逻辑:1}。整个文本被简化为一个词频向量。

TF-IDF:这是对BoW的优化。它认为,一个词的重要性不仅取决于它在本文档中出现的频率(TF - 词频),还取决于它在所有文档中出现的普遍程度(IDF - 逆文档频率)。一个词在本文中频繁出现,但在其他文章中很少见(如“管辖权异议”在法律文书中),那么它的权重就高;反之,像“的”、“是”这类词,虽然词频高,但因为在所有文档中都常见,所以权重反而低。

这种方法为文本的机器处理提供了最初的可行路径,尤其在文档分类、关键词提取和早期搜索引擎中发挥了巨大作用。它能快速识别一篇文档的核心主题词。

然而,其根本缺陷在于语义的缺失。它完全忽略了词序("Man bites dog" 和 "Dog bites man" 在BoW模型中是完全一样的)和上下文。它无法理解“bank”在不同语境下的含义差异,因为它只知道“bank”这个符号,而不知道它背后的概念。

方法二:静态词嵌入 (Static Word Embeddings)

为解决语义缺失的问题,研究者们提出了基于“分布假说”的静态词嵌入方法,这是一次革命性的飞跃。

静态词嵌入为词汇表中的每个词元,生成一个固定的、唯一的、稠密的高维向量。这个向量是在大规模语料库上通过神经网络预训练得到的,旨在捕捉词语的语义关系。代表技术是 Word2Vec 和 GloVe。

 其哲学基础是语言学家J.R. Firth提出的分布假说 (Distributional Hypothesis):“一个词的意义,由其通常出现的语境所决定 (You shall know a word by the company it keeps)”。Word2Vec等模型通过分析海量文本,学习哪些词倾向于一同出现。例如,模型发现“国王”经常出现在“王后”、“宫殿”、“权力”等词附近,而“程序员”则常与“代码”、“软件”、“键盘”等词为伴。通过优化算法,模型将语境相似的词,映射到高维空间中相近的位置。

这种向量化表示甚至能捕捉到词与词之间的类比关系。最经典的例子是:vector('国王') - vector('男性') + vector('女性') ≈ vector('王后')。这表明,从“国王”到“男性”的向量方向,与从“王后”到“女性”的向量方向高度相似,模型在数学空间中发现了“性别”这一抽象概念。

这是让机器开始“理解”语义的关键一步。词向量成为了后续许多NLP任务的基石。它将词语从孤立的符号,变成了在“语义地图”上拥有相对位置和关系的点。

其核心局限在于“静态”。每个词只有一个向量表示,无法解决一词多义 (Polysemy) 的问题。无论在“river bank”(河岸)还是“investment bank”(投资银行)中,“bank”的向量都是完全相同的。这显然不符合人类语言的复杂性,语义是流动和依赖情境的。

方法三:动态(上下文)词嵌入 (Dynamic / Contextual Embeddings)

这是当前大语言模型(如GPT系列)所采用的最先进方法,它真正实现了让词义“随境而生”。

动态词嵌入不再为每个词元提供一个固定的向量。相反,一个词元的向量表示是在其出现的具体语境中被动态生成的。同一个词在不同句子中,将拥有不同的嵌入向量。

这正是 Transformer 架构 与 注意力机制 (Attention Mechanism) 发挥魔力的舞台。

初始输入(Initial Input):模型接收一句完整的文本,例如“我把钱存入银行,然后坐在河岸上”。文本中的每个词元(如“银行”、“河岸”)在进入 Transformer 核心计算层之前,首先被赋予一个相对通用的、非上下文相关的初始向量。这可以看作是它们在“静态词嵌入”阶段的身份。

当模型计算词元“银行”的最终向量表示时,注意力机制会启动。它会强制“银行”这个词元去“关注”句子中的每一个其他词元(包括它自己),并计算一个相关性分数。在此例中,“银行”会发现它与“钱”、“存入”有极高的相关性。同时,当我们处理“河岸”这个词时,注意力机制会使其高度关注“河”和“坐”等词。

基于这些相关性分数,模型会对初始向量进行加权融合。对于“银行”,模型会将其初始向量与“钱”、“存入”等相关词的向量信息进行深度整合,从而“拉动”或“调整”其在语义空间中的位置,使其精准地落在代表“金融机构”的区域。同理,“河岸”的向量会被其上下文“塑造”成代表“水边陆地”的含义。这个过程在 Transformer 的多个堆叠层中反复进行,每一层都会在前一层的基础上进行更深、更抽象的上下文融合,最终生成一个高度情境化、独一无二的词向量。

动态嵌入是现代大语言模型能够真正“理解”语言的关键。它彻底解决了一词多义问题,使得模型的语言表征能力发生了质的飞跃。每一个词的意义不再是孤立的、预设的,而是从其所处的具体语境中生成的。这为捕捉复杂的句法关系、语义依赖、甚至修辞和情感等细微差别提供了结构性的可能。可以说,没有动态嵌入,就没有今天我们看到的具有惊人语言能力的GPT等模型。

然而,这种强大的上下文感知能力需要巨大的计算资源。对一个长度为N的文本,注意力机制需要进行约N²次计算来评估所有词元两两之间的关系,这导致模型训练和推理的成本极为高昂。

同时,相比于固定的静态向量,动态生成的向量是“一次性”的,它们只为特定的句子而存在。这使得追溯和解释模型为何将一个词理解为特定含义变得更加困难,加剧了模型的“黑箱”特性。其表征是关系的表征,而非孤立实体的表征,这对我们试图理解其“思维”过程构成了挑战。

总结:从字典到舞台的演进

我们可以用一个类比来总结这三种编码方法的演进:

基于统计的方法(BoW/TF-IDF):就像一本索引。你知道“莎士比亚”这个词在哪几页出现过,以及出现了多少次,但对“莎士-比亚”是谁,他的思想是什么,一无所知。

静态词嵌入(Word2Vec):像一本字典。你查“银行”,它会给你一个固定的释义,比如“办理存、放款业务的金融机构”。这个释义是准确的,但却是孤立的。无论你在何处遇到“银行”,你都只能得到这一个解释。

动态词嵌入(Transformer based):则像一位经验丰富的演员。他拿到剧本(句子)后,不是背诵字典里“银行”的定义,而是根据台词的上下文——对手演员是“劫匪”还是“储户”,场景是在“华尔街”还是“尼罗河”——来动态地诠释出“银行”此刻应有的全部含义。每一次的表演(嵌入)都是独一无二、为当前情境量身定制的。

理解从“索引”到“字典”再到“舞台演员”的这一进化路径,是把握大语言模型内部工作机制的核心。它解释了为何模型能够处理如此复杂和微妙的语言现象,也揭示了其能力的来源——并非源于真正的“理解”或“思考”,而是源于一个能够在高维数学空间中,对上下文关系进行极其精妙运算的强大机制。

术语表

  1. 文本编码 (Text Encoding) / 文本向量化 (Text Vectorization):将人类语言符号系统转化为机器可处理的数学对象(向量)的转译过程。
  2. 词元 (Token):模型处理文本的基本单位,可以是词、子词或字符,是编码的最小操作单元。
  3. 词嵌入 (Word Embedding):将词元映射为高维数学空间中向量表示的技术,使词语的语义信息可被机器运算。
  4. 基于统计的方法 (Statistical Frequency-Based Representation):通过计算词语在文档中出现频率来构建向量表示的早期方法,如词袋模型和TF-IDF。
  5. 词袋模型 (Bag-of-Words, BoW):忽略词序和语法结构,仅统计文档中每个词元出现次数的文本表示方法。
  6. TF-IDF (Term Frequency-Inverse Document Frequency):衡量词语重要性的加权方法:词频越高且在所有文档中越罕见(逆文档频率高),权重越大。
  7. 静态词嵌入 (Static Word Embeddings):为词汇表中每个词元生成固定、唯一、稠密向量的方法,代表技术包括Word2Vec和GloVe。
  8. 分布假说 (Distributional Hypothesis):"一个词的意义由其通常出现的语境决定"的语言学理论,是静态词嵌入的哲学基础。
  9. Word2Vec:通过神经网络预测词语上下文关系,从而学习固定词向量的模型。
  10. GloVe (Global Vectors):基于全局词共现统计矩阵分解构建词向量的模型。
  11. 一词多义 (Polysemy):单个词语具有多个不同含义的语言现象,是静态词嵌入无法解决的难题。
  12. 动态词嵌入 / 上下文词嵌入 (Dynamic / Contextual Embeddings):根据词元在特定语境中动态生成向量表示的方法,同一词在不同句子中有不同向量
  13. Transformer 架构 (Transformer Architecture):采用自注意力机制处理序列数据的深度学习模型架构,是现代LLM的基础。
  14. 注意力机制 (Attention Mechanism):计算文本中所有词元两两间相关性权重,并据此动态融合上下文信息的机制。
  15. 初始输入 (Initial Input):词元进入Transformer核心计算层前被赋予的初始向量表示,通常是静态或非上下文相关的。
  16. 相关性分数 (Relevance Score):注意力机制计算的两个词元之间相关程度的数值权重。
  17. 黑箱 (Black Box):模型内部决策过程不透明、难以解释的特性,动态嵌入加剧了这一问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Cos_Wang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值