大数跨境

词元如何运算:从文本切分到语义流动的全流程解析

词元如何运算:从文本切分到语义流动的全流程解析 AI算力那些事儿
2026-07-05
0

在大语言模型(LLM)处理文本的背后,“词元(Token)”是最基础的运算单元。无论是ChatGPT生成流畅的回答,还是机器翻译精准转换语言,本质都是模型对词元进行一系列数学运算的结果。本文将从词元的生成、数值化表示、模型内运算到结果生成,逐层拆解词元运算的完整逻辑。

第一步:文本→词元

把语言切成“可计算的碎片” 

人类看到的文本是连续的字符序列(“我爱自然语言处理”),但模型无法直接理解字符,必须先将其拆分为离散的“词元”。这一步称为分词(Tokenization),核心是平衡“语义完整性”和“计算效率”。

常见分词策略 

策略

原理

示例

自然语言处理

特点

词级分词

按完整词语拆分

[“自然”, “语言”, “处理”]

语义明确,但生僻词/新词易未登录OOV

字符级分词

按单个字符拆分

[“”, “”, “”, “”, “”, “”]

OOV问题,但序列过长,语义关联弱

子词级分词(主流)

按高频子词拆分

[“自然”, “语言”, “”, “”]  [“”,   “”, “”, “”, “处理”]

兼顾语义和灵活性,是BERTGPT系列的核心选择

典型算法:BPE(字节对编码,GPT家族常用)、WordPiece(BERT常用)、Unigram(T5常用)。以BPE为例:它从字符开始,反复合并高频出现的字符对(如“自”+“然”→“自然”),最终得到一套“子词表”——既能覆盖常见词,又能用子词组合出罕见词(如“元宝”=“元”+“宝”)。

第二步:词元→向量

给每个碎片赋予“数学身份” 

分词得到的词元仍是符号(如“自然”“语言”),模型需要将它们转换为高维向量(一组浮点数),才能进行计算。这一步的核心是词嵌入(Embedding)。

1. 静态嵌入 vs 动态嵌入 

静态嵌入(如Word2Vec、GloVe):一个词元对应唯一向量,无法区分多义词(如“苹果”在“吃苹果”和“苹果手机”中向量相同)。

动态嵌入(LLM的核心):向量会随上下文变化。例如,输入“我爱苹果”和“苹果发布了新手机”,“苹果”的向量完全不同——这正是模型理解语义的关键。

2. 位置编码:让模型知道“词元在哪” 

文本的顺序至关重要(“狗咬人”≠“人咬狗”)。除了词嵌入,模型还会为每个词元添加位置编码(Position Embedding),将位置信息转化为向量,与词嵌入相加后得到最终的“输入向量”:

输入向量 = 词嵌入向量 + 位置编码向量

例如,在GPT中,位置编码是通过预定义的三角函数生成的;而在LLaMA等新模型中,则采用“旋转位置编码(RoPE)”,能更好地处理长文本。

第三步:模型内运算

让词元“对话”的核心逻辑 

输入向量进入模型的Transformer层后,词元之间开始真正的“交互”。最核心的运算发生在自注意力(Self-Attention)机制中——它让每个词元都能“关注”到其他相关词元,动态调整自身向量。

对每个词元的输入向量,模型会通过3个权重矩阵(训练时学习得到)生成3个向量:

查询向量(Q):当前词元“想找什么”(如“苹果”在“吃苹果”中想找“吃”“甜”等相关词);

键向量(K):当前词元“能提供什么信息”(如“吃”的K向量会匹配“苹果”的Q向量);

值向量(V):当前词元的实际语义内容。

注意力分数的计算(以“我爱自然语言处理”为例) 

假设我们要算第3个词元“自然”的注意力:

计算相似度:“自然”的Q向量分别与所有词元(我、爱、自然、语言、处理)的K向量做点积,得到一组分数(如“自然”与“语言”的分数最高,因为两者常一起出现);

归一化:用Softmax将分数转换为概率(总和为1),突出高相关词元;

加权求和:用概率对所有词元的V向量加权求和,得到“自然”的新向量——这个向量已经融合了“语言”等上下文信息。

多头注意力(Multi-Head Attention):模型会并行运行多个独立的自注意力“头”,每个头关注不同的语义关系(如一个头关注语法,一个头关注指代),最后将所有头的输出拼接起来,得到更丰富的语义表示。

第四步:前馈网络与层叠

从“局部关联”到“全局语义” 

自注意力层之后,每个词元的向量会进入前馈神经网络(FFN)——它是一个两层的全连接网络(中间有激活函数如ReLU),作用是对自注意力的输出做非线性变换,进一步提取特征(比如判断“自然”是形容词还是名词)。

Transformer层通常会堆叠多次(如GPT-3有96层),每一层都重复“自注意力→FFN”的过程:底层的词元向量主要捕捉语法和局部语义(如“自然”和“语言”相邻),顶层的向量则包含全局语义(如整个句子的主题是“NLP技术”)。

训练 vs 推理:词元运算的两种模式 

1. 训练阶段:让模型“学会”运算 

输入:完整的文本序列(如“我爱自然语言处理”);

目标:预测下一个词元(如给定“我爱自然语言”,预测“处理”);

运算核心:通过反向传播调整所有权重矩阵(Q/K/V矩阵、FFN参数等),最小化预测误差——本质是让模型学会“哪些词元应该关联”“关联强度是多少”。

2. 推理阶段:用学到的规则生成结果 

输入:用户的问题(如“什么是词元运算?”);

生成逻辑:

分词→向量化→逐层Transformer运算,得到最后一个词元的向量;

用“语言模型头(LM Head)”将该向量映射为词表大小的概率分布(每个词元被选中的概率);

按概率采样(或选最高概率)得到下一个词元(如“词元”);

将新词元加入输入序列,重复上述过程,直到生成结束符(如<EOS>)。

关键区别:训练时可以并行处理所有词元(因为已知全部上下文),而推理时必须逐个生成(因为下一个词依赖之前的结果)——这也是为什么长文本生成速度较慢。

挑战与优化:让词元运算更高效 

1. 长文本的困境 

自注意力的计算量随序列长度呈平方级增长(长度为n时,计算量是O(n²))。当输入超过模型的最大上下文窗口(如GPT-4的8k/32k tokens),就需要截断或压缩——这也是目前LLM处理长文档的主要瓶颈。

2. 优化方向 

稀疏注意力:只让每个词元关注部分词元(如局部窗口、关键句),降低计算量;

Flash Attention:通过GPU内存优化,加速自注意力计算;

动态词元:根据语义重要性合并冗余词元(如将“非常非常喜欢”合并为一个词元),减少序列长度。

总结:词元运算的本质 

从字符到词元,从向量到注意力交互,再到最终生成文本,词元运算的核心是将人类语言的“语义关联”转化为数学模型中的“向量变换”。每一个词元的移动、融合、更新,都是模型在“理解”和“创造”语言的过程——这背后不仅是算法的精妙,更是对人类语言规律的数字化抽象。下次当你和AI对话时,不妨想象一下:屏幕那端,成千上万个词元正在高维空间中“跳舞”,用数学的方式编织出属于它们的故事。

作者声明:本微信公众号(以下简称“本号”)发布的所有内容,包括但不限于文字、图片、视频、音频等,仅供参考和交流之用,不构成任何投资、法律、医疗或其他专业建议。用户在依据本号内容作出任何决定或采取任何行动前,应自行判断并咨询相关专业人士。

1、本号部分内容来源于网络或其他公开渠道,我们尽力确保信息的准确性和可靠性,但不对其真实性、完整性或及时性作出任何明示或暗示的保证。

2、对于转载和参考内容,我们会在合理范围内注明出处。如有版权问题,请相关权利人及时联系我们,我们将尽快处理。

3、用户因使用本号内容而导致的任何直接或间接损失,本号及其运营团队不承担任何责任。

-END-

-文章推荐-

●广告位招租中·····

广告位招租中·····

【声明】内容源于网络
0
0
AI算力那些事儿
数字经济服务者、AI算力产业资讯个人IP,聚焦人工智能、算力、低空领域的前沿趋势、政策布局、深度科普、行业洞察和干货实践,用故事化的语言、深度的解析,带你看透技术背后的商业逻辑与未来趋势。
内容 995
粉丝 1
AI算力那些事儿 数字经济服务者、AI算力产业资讯个人IP,聚焦人工智能、算力、低空领域的前沿趋势、政策布局、深度科普、行业洞察和干货实践,用故事化的语言、深度的解析,带你看透技术背后的商业逻辑与未来趋势。
总阅读24.7k
粉丝1
内容995