• 第一性原理剖析:权重是“经验”的数学沉淀

如何衡量词元重要性呢?我们首先要明确一个核心前提:大型语言模型(LLM)在训练开始时,是一张白纸。 它不知道“猫”和“追”有关系,也不知道任何语法和常识。它拥有的只是一个庞大的、未被训练的神经网络结构(比如 Transformer),以及一个学习规则(优化算法)。

这个“加权”能力的获得,不是被程序员写进去的,而是模型在海量的学习中自己“领悟”出来的。这个过程可以比作人类学习一项技能,比如骑自行车。

隐喻:从“有意识”的笨拙到“无意识”的熟练

想象一个孩子第一次学骑自行车:

  1. 初始状态(随机权重): 孩子刚坐上车,完全不知道该怎么用力。他可能会胡乱蹬脚,身体僵硬地向左倾斜,同时又拼命向右转动车把。他的每一个动作(每一次“加权”)都是随机的、混乱的、无效的。结果就是摔倒。

  2. 接收反馈(计算损失): “摔倒”就是一个非常强烈的负反馈。在大脑中,这相当于一个巨大的“错误信号”(在模型中称为“损失/Loss”)。大脑知道了:“刚才那套肌肉协调方式是错的,导致了糟糕的结果。”

  3. 调整策略(反向传播与优化): 孩子爬起来,大脑会下意识地进行微调:“刚才向左倒了,下次身体是不是该向右稍微使点劲?车把晃得太厉害了,下次是不是要稳一点?” 这种微调是基于“摔倒”这个结果,反向追溯原因的过程。 在模型中,这个过程被称为反向传播(Backpropagation)优化器(Optimizer)。当模型根据当前的权重做出了一个糟糕的预测(比如在“猫追__”后面预测了“桌子”,而不是“老鼠”),损失函数会计算出这个预测有多离谱。然后,优化器会像一个严厉的教练,把这个错误信息传回给网络的每一部分,并对那些导致错误的关键“权重”进行微小的惩罚性调整:“你这个权重太高了,给我降一点!” “你那个权重太低了,给我加一点!”

  4. 海量练习(训练过程): 孩子会摔倒、调整、再骑、再摔倒、再调整……重复成千上万次。每一次调整都是微小的,但方向是正确的(为了“不摔倒”)。 模型也是如此,它会阅读数万亿字的文本,进行数百万亿次的“预测-反馈-调整”循环。每一次,它都在微调它的注意力权重参数(以及所有其他参数)。

  5. 最终状态(习得的权重): 终于有一天,孩子骑上了自行车,如行云流水。当他感觉车要向左倒时,他的身体会不假思索地、自动地、无意识地向右微调,同时脚下施加合适的力。他不再需要“有意识”地去想“我该用多大力气”,这已经内化成了一种肌肉记忆和身体本能。 同样,经过充分训练的模型,当它处理“chased”(追)这个词(Query)时,它已经通过无数次经验学会了,如果此时把更高的注意力权重分配给主语“cat”(Key)和宾语“mouse”(Key),最终得到的预测结果会更好(损失更小)。这个“加权”行为,就成了一种数学上的“本能”

技术拆解:权重到底从哪儿来?

权重本身是数值,这些数值存储在神经网络的特定矩阵中(用于生成Q、K、V的权重矩阵)。

  1. 来源:这些数值全部是通过训练,从数据中学来的。它们是模型参数的一部分。
  2. 计算过程
    • 在训练时,模型用当前的Q、K、V矩阵计算出注意力得分和权重。
    • 用这个权重去生成一个预测。
    • 将预测与真实答案(文本中的下一个词)比较,得到一个“损失值”。
    • 核心来了:优化算法会根据这个损失值,回头去微调产生Q、K、V的那些矩阵里的数值,目标是让下一次的损失值变得更小。
  3. 结果:训练结束后,这些矩阵里的数值就被固定下来了。它们就像一部巨大的“经验法典”。当新的输入进来时,这套固定的“法典”能够自动地、高效地计算出合理的注意力权重,因为它已经被海量数据“打磨”成了最优状态。

360

权重被用于编程神经网络,是软件2.0