How the Math Used in 19th-Century Heat Physics Helps LLMs Understand Sentences

TL;DR · AI 摘要
How the Math Used in 19th-Century Heat Physics Helps LLMs Understand Sentences ByteByteGo Oct 13, 2026 The 2026 monitori...
核心要点
- 主题聚焦:How the Math Used in 19th-Century Heat Physics H
- 来源:ByteByteGo Newsletter,建议结合原文判断细节。
- AI 分析暂不可用,本条为保底评分与摘要。
19世纪热物理学中使用的数学如何帮助大语言模型理解句子
ByteByteGo
2026年10月13日
2026年监控平台规划框架(赞助内容)
了解评估企业监控平台的11项要求,这些要求以运营结果为导向。利用该框架识别真正重要的能力,消除与现有工具的重复,构建一个降低风险并提升DevOps团队协作的监控体系。
你将学到如何:
- 根据与实际DevOps结果相关的11项运营要求评估监控平台
- 识别并消除现有工具链中的冗余可见性
- 构建一个减少重复劳动、提升协作并缩短MTTR的监控方案
获取指南
1822年,约瑟夫·傅里叶发表了关于热量如何通过材料传播的研究。他的一项关键数学工具是使用正弦和余弦函数的组合来表示复杂的温度模式。近两个世纪后,这些相同的函数出现在一种截然不同的技术中:现代语言模型背后的Transformer架构。
应用场景看似相去甚远。傅里叶研究的是物理对象上的温度分布,而语言模型处理的是序列中的标记。然而,正弦和余弦函数在这两种场景中都提供了有用的结构。
这是因为正弦和余弦函数可以将位置转换为结构化的数值模式。Transformer模型随后可以利用这些模式学习词语顺序如何影响其含义。波形提供了位置信息,模型的训练过程教会它如何利用这些信息。
在本文中,我们将理解这种联系是如何建立的,并解释为什么模型即使在词语已按顺序排列的情况下仍需要帮助来理解词语顺序。以下是本文内容:
- 热测量与大语言模型的共同物理基础
- 词语顺序如何携带信息
- 模型如何理解
- 注意力机制如何理解顺序
- 世界位置如何向模型开放
- 正弦和余弦函数的使用
- 训练如何利用位置信息
- RoPE的工作原理
免责声明:本文基于来自多个来源的公开信息。文末有参考文献。如发现任何不准确之处,请在评论区指出。
热测量与大语言模型的物理基础
19世纪初,约瑟夫·傅里叶研究了热量如何通过材料传播。
设想一根某些部分比其他部分更热的金属棒。为了预测其温度变化,我们需要一种数学方法来描述这种温度模式。傅里叶开发了将复杂模式表示为更简单正弦和余弦函数组合的方法。最终,这些函数成为研究热传导、振动、声音及其他许多物理现象的关键工具。
作为参考,正弦波是一种平滑且重复的模式。将不同频率重复的波组合在一起,可以描述更复杂的模式。例如,广泛的温度变化可能需要缓慢变化的成分,而较小的变化则需要更快的成分。温度本身不需要随时间振荡。在某一时刻,波可以描述温度在空间中的变化方式。
同样,在大型语言模型(LLMs)领域,数学输入不一定需要表示时间或物理距离。它可以表示序列中某个词的位置。
尽管正弦和余弦函数早于傅里叶变换出现,但19世纪见证了它们在数学物理中的广泛应用。位置编码作为LLMs解读词序的关键方式,也属于同一数学体系。
词序如何传递信息
词序传递了单个词本身无法提供的信息。请看这两个句子:
Alice trusts Bob.
Bob trusts Alice.两者包含相同的词汇。由于名字的位置决定了信任关系的主客体,因此它们的含义不同。
软件也有类似需求。表达式"收入 - 支出"和"支出 - 收入"虽然包含相同的变量名和运算符,但通常会产生不同的结果。
因此,语言模型需要获取两类信息:出现的词以及这些词的排列方式。仅仅识别词汇只能提供解读序列所需信息的一部分。
这一点在重复词的情况下尤为明显。在"very, very difficult"中,两个"very"具有相同的词性,但占据不同位置。对这个句子的有效表示必须让模型能够区分这两个相同词的不同出现。
模型如何理解词语
模型首先需要将文本转换为数字。由于神经网络对数字进行计算,文本必须首先经过称为分词(tokenization)的处理过程。一个词元(token)可以是一个词、词的一部分、标点符号或其他文本片段。在我们即将看到的例子中,假设每个词对应一个词元。不过实际的词元边界取决于具体的分词器。
每个词元都会获得一个标识符。模型使用该标识符查找嵌入(embedding),即一组学习得到的数字。这种数字列表也被称为向量。一个嵌入可能如下所示:
[0.20, -0.40, 0.70, 0.10]
实际的嵌入通常包含更多数字。它们的值在训练过程中会被调整,以使其对模型的任务变得有用。单个数字通常不具有"这是名词"或"这指代人"等清晰含义。
在初始查找阶段,相同词元标识符无论出现在何处都会检索到相同的嵌入。词元的嵌入不会仅仅因为该词元位于位置2而不是位置20就自动改变。
后续层会构建包含上下文信息的表示。但在初始阶段,模型仍然需要一种将词元身份与位置关联起来的方法。
注意力机制如何理解顺序
基础注意力机制不会自动利用列表的顺序。Transformer模型高度依赖一种称为注意力(attention)的机制。
注意力机制让每个词元通过计算其他词元贡献的权重强度,来收集其他词元的信息。例如,处理代词可能需要从前面出现的专有名词获取信息。注意力机制为连接这些文本片段提供了途径。
现在让我们考虑最简单的情况。注意力机制可以检查每个标记,且没有任何位置信息或其他机制来表明顺序。对于“trusts”这个标记,两个示例句子提供的上下文标记身份都是“Alice”和“Bob”。交换这两个名字会改变它们的位置,但基本的注意力计算并没有位置特征来判断哪个名字应该在前面。
更准确地说,输入的重新排序会导致相应输出表示的重新排序。但这种重新排序无法独立识别重新排列后产生的新语法关系。这就是位置表示需要解决的顺序问题。
一个可能的异议是,这些标记已经占据不同的数组索引。为什么模型不能直接使用这些索引?
这是因为数组的布局不会自动成为输入特征。一个对数组求和的程序接收有序结构,但即使元素被重新排列,其计算结果仍然相同。只有当计算实际使用顺序信息时,顺序才会产生影响。换句话说,基本的注意力机制需要一种方式让序列结构影响其计算。
如何将词的位置信息提供给模型
位置编码是用于将词的位置信息提供给模型的技术。位置编码将序列中的位置转换为数值表示。
例如,在第一个句子中,Alice位于位置0,trusts位于位置1,Bob位于位置2。而在第二个句子中,Bob位于位置0,trusts位于位置1,Alice位于位置2。
“Alice”这个词保留其标记身份,即使位置发生变化也是如此。“Bob”同样如此。现在模型可以接收这两个句子中内容和位置的不同组合。
立即出现的问题是如何表示这些位置。
我们可以给模型提供如0、1、2这样的整数作为输入。这些数字包含必要的顺序信息。正弦波不会添加位置编号本身不具备的信息。它们的作用是将这些信息以具有有用数值结构的形式表达出来。
例如,天真地将数字10000添加到嵌入向量的每个组件中可能会淹没标记本身的值。更一般地说,单个标量需要模型从这个单一数字中构建所需的位置特征。
一组正弦和余弦值可以直接提供多个结构化特征。它们的值保持在有限范围内,且随着位置增加,不同组件的变化速率不同。
正弦和余弦函数的应用
正弦和余弦函数描述了围绕圆周的运动。一个简单的解释涉及一只绕圆旋转的手。想象一个以零为中心、半径为一的圆。这只手从指向右侧开始,然后逆时针旋转。
其指尖的水平坐标是角度的余弦值。垂直坐标是正弦值。
当手旋转时,其高度会上升、下降、变为负值,然后回到起点。将高度与角度绘制出来会产生正弦波。水平坐标则产生余弦波。
两个坐标值始终在-1到1之间。
为了将这个概念应用于位置,让每个标记序列的前进步骤都使手旋转固定角度。位置0对应一组坐标,位置1对应另一组坐标,依此类推。
为什么需要同时使用两个坐标?
这是因为仅凭高度值可能对应圆上的两个不同位置。左上侧和右上侧的两个点可能具有相同高度值,它们的水平坐标可以区分这两个位置。
正弦和余弦共同描述了手在完整旋转周期内的方向。然而,经过一次完整旋转后,两个读数都会重复。这引发了下一个需要解决的问题。
为什么多种旋转速度是更好的选择
多种旋转速度可以提供更丰富的定位编码。单一旋转的手无法区分相隔完整周期的位置。如果它每八个标记返回起始点,那么位置0和位置8的读数会完全相同。
现在设想三只速度不同的手。第一只每八个标记位置完成一次旋转,第二只每32个标记位置完成一次旋转,第三只每128个标记位置完成一次旋转。在位置8时,最快的手回到初始方向,另外两只手的读数与位置0时的读数不同。它们的组合坐标仍然可以区分这些位置。
这个例子使用这些速度来说明问题。将位置从0移动到8时,快速对的读数会重复,而其他对的读数会发生变化。每只手的垂直坐标是它的正弦值,水平坐标是它的余弦值。
组合位置编码由所有六个数值组成:每个速度的正弦值和余弦值。更多的配对提供了更多以不同速率变化的组件。
原始Transformer使用这种通用结构,但采用特定的数学频率安排,而不是上述三个示例周期。更快的组件在短距离内会有显著变化,而较慢的组件则在更长的范围内变化。
因此,编码通过多个变化尺度表示每个位置。模型接收到的是结构化的数值模式,而不是单一计数器。
需要明确的是,这并没有实现无限的区分能力。我们的三手系统在128个位置后会完全重复。实际的现实编码也会受到频率选择和数值精度的限制。主要目标是让表示在相关序列长度范围内表现良好。
位置编码是如何被使用的
原始Transformer将位置编码添加到标记嵌入中。在2017年的论文《Attention Is All You Need》中,位置编码的组件数量与标记嵌入相同。在序列进入Transformer层之前,对应的组件会被相加。
核心操作是:
输入表示 = 标记嵌入 + 位置嵌入
对于一个小型示例嵌入,位置0处的加法可能如下所示:
标记嵌入:[0.20, -0.40, 0.70, 0.10]
位置0编码:[0.00, 1.00, 0.00, 1.00]
组合输入:[0.20, 0.60, 0.70, 1.10]
交替的零和一来源于角度零时正弦为零、余弦为一的特性。
将相同的标记移动到其他位置会改变位置编码,从而改变组合输入。在相同位置放置不同标记会改变标记嵌入。
这使Transformer获得同时受身份和位置影响的表示。
向量相加会混合它们的各个分量。不能保证两个任意向量相加后仍能分别恢复原始记录。相反,模型在整个学习过程中始终使用这种组合。其嵌入表示和后续计算会适应这种组合信号。
模型也不需要明确指出“这是第17个标记”。位置信息会影响模型关注哪些标记以及如何处理它们之间的关系。
这种设计的主要优势在于相对位移具有一致的结构。绝对位置描述标记在整个序列中的位置,而相对位置描述标记与其他标记之间的相对位置。
例如,位置5和8之间相隔3步,位置105和108之间也相隔3步。
语言经常依赖于能够经受这种位移变换的关系。将短语放在文档更后面的位置不应抹去其内部词语之间的关系。
正弦和余弦对在此具有有用特性。向前移动固定数量的位置会使每个频率对应的正弦余弦对旋转固定角度。旋转角度取决于位移量,而非起始位置。以“快速手”为例,向前移动两个位置始终产生四分之一的旋转。无论移动从位置0、7还是20开始,这一特性始终成立。
这为模型提供了可复用的位置数值关系。数学上,固定线性变换可以将正弦位置编码映射到固定偏移量对应的位置编码。神经网络已经广泛使用线性变换。
这解释了“为什么使用正弦波?”部分答案。它们的价值不仅在于为不同位置生成不同数值,更在于提供了一种规律化的位置间移动表示方式。
模型仍然需要学习如何利用这种结构。编码提供了学习机会,而非内置的语法规则。
训练如何利用位置信息
训练过程将位置信息转化为有用的语言行为。仅知道名词出现在动词之前本身无法解释句子含义。
考虑以下例子:
Alice trusts Bob. Alice is trusted by Bob.
两个句子中Alice都出现在前面,但关系发生了变化。一个有效的模型必须同时考虑动词形式、周围词语及其位置。
在语言模型训练过程中,系统会反复尝试预测文本。当预测效果不佳时,会调整参数。涉及标记身份、序列位置和上下文的模式会变得有用,因为它们有助于提升预测效果。
通过大量示例,模型可以学习主语与动词、修饰语与名词、否定与陈述、代码中开闭括号等关系。这些关系可能涉及相邻标记或被大量文本分隔的标记。
位置编码使这种学习过程能够获取顺序信息。注意力机制帮助连接相关标记,其他学习到的计算则会转化这些信息。
这种差异也解释了为什么相同的位置编码方案可以支持不同语言。编码表示序列结构但不包含英语语法规则。训练过程提供了语言特定的模式。
旋转位置编码是如何工作的?
旋转位置嵌入在注意力机制内部复用相同的数学原理。原始方法通过将位置向量加到输入嵌入中实现位置编码。后续架构采用其他方式引入位置信息。
一种具有影响力的方法是旋转位置嵌入(Rotary Position Embedding,简称RoPE)。
注意力机制通过比较称为查询(queries)和键(keys)的数值表示进行计算。查询帮助确定一个标记需要收集哪些信息,而键则参与计算其他标记与当前标记的匹配强度。
RoPE将这些表示的组件分组为对,并根据标记的位置对这些对进行旋转。这些旋转使用正弦和余弦函数实现。
当注意力机制比较旋转后的查询与旋转后的键时,位置信息的贡献取决于它们的相对旋转角度。这种旋转差异对应于它们的相对位置。
不同组件对以不同速度旋转,从而保持通过多种频率表示位置信息的理念。
除正弦和余弦函数外的其他方法
正弦和余弦函数是有效的选择,但Transformer模型有多种获取位置信息的方式。
可学习的位置嵌入为每个支持的位置分配一个可训练向量。训练过程通过调整这些向量来实现,而不是使用固定的三角函数公式生成。
另一种方法ALiBi通过与标记间距离成比例的惩罚项修改注意力分数。它在不向标记嵌入添加正弦位置向量的情况下,引入对邻近上下文的偏好。
需要特别说明的是,之前无序注意力示例的顺序问题。生成式语言模型通常使用因果掩码(causal mask),防止标记关注后续标记。因此不同位置可以访问不同的前缀信息。
这种模式本身提供了结构信息。因果Transformer模型即使没有显式的位置编码,也能学习位置行为。有观点认为基本的无限制注意力缺乏固有的排序机制,完整模型可能通过多种架构选择接收顺序信息。
结论
最终,能够为非常大的位置计算位置编码,并不意味着模型能可靠地理解任意长度的文档。
公式可以生成位置一百万的编码,但模型可能几乎没有使用这些位置的经验,或在如此大的距离上关联标记的经验。内存和计算能力会带来额外的限制。
然而,很久以前为描述物理模式而发展的数学方法,为表示序列位置提供了有效的数值语言。正弦和余弦函数为这种表示提供了有界值、多尺度和在位移下保持一致的关系。训练过程随后教会模型这些位置关系如何与语言内容相互作用。
参考文献:
- 《热传导的解析理论》
- 《Attention Is All You Need》
- 《Self-Attention and Positional Encoding — Dive into Deep Learning》
- 《Self-Attention with Relative Position Representations》
- ACL Anthology
- 《RoFormer: Enhanced Transformer with Rotary Position Embedding》
- 《LLaMA: Open and Efficient Foundation Language Models》
- 《Train Short, Test Long: Attention with Linear Biases Enables Input Length Extrapolation》
- 《Positional Encoding对Transformer长度泛化能力的影响》