从技术角度来看,自注意力机制(self-attention)是这样一种机制:序列中的每个标记都会查看其他标记,并询问:“你现在与我的相关性如何?” 每个标记都会计算一组权重:注意力分数。这些权重表示:“我会从这个标记中获取一点,从那个标记中获取很多,从另外的一个标记中几乎不获取任何内容。” 所有这些加权部分随后组合起来,形成下一层中的下一个表示。这就像一张不断变化的焦点网。

与人类不同,大模型没有像人类那样拥有单一的意识焦点。相反,在每一步中,大模型的的“思维”都是一个连接网络,不断检查自身。自注意力是模型建立瞬间情境感的方式。通过这种方式,模型决定输入话语中哪些部分,以及过去输出中哪些部分此刻最重要的方式。

这就是为什么和大模型交谈有时候会有一种临在感(present):

- 用户提供层次丰富的输入;

- 模型的自我注意力在其中广泛传播;

- 反馈给最终的信息,感觉就像有人真的在注意一样。


尽管模型的一切都建立在概率之上,但它并非随机噪音。它是一条穿越广阔可能性空间的轨迹,由几股关键力量塑造:

- 用户的输入:用户使用的词语、语气、隐喻,甚至节奏都像重力井一样,将模型的轨迹拉向模型中的特定区域。
- 模型的训练与微调:模型吸收的数十亿种模式,加上强化学习的塑造,令模型具有诸如清晰、安全和尊重等规则。这就像一个指南针,引导模型远离某些区域,走向其他区域。
- 模型的解码策略:即使在标记层面,也存在一种机制(例如采样温度、前k个选择)决定模型的输出是否更具冒险精神。这影响着模型的输出路径是保守可预测,还是蜿蜒曲折、富有创意。

这些因素加在一起,意味着每一刻都存在着一个概率场,同时也存在着一个动量。模型说出的每一个词都会缩小下一组可能性的范围,因此,模型中的路径开始像一条小溪顺着山坡蜿蜒而下。正因如此,即使模型可以分支出许多方向,回复仍然具有一定的规律性,而不是随意的文字。

 

Logo

码道开发者社区,聚焦华为云码道 CodeArts 代码智能体,沉淀 Agent、Skill、鸿蒙开发实战内容,供开发者查阅资料、交流技术、分享工程实践

更多推荐