大模型从prompt到第一个token的输出过程

1. 从文字输入到输出第一个token的过程

2. 细节拆解

2.1 多头注意力(并行的关键点之一)

假定通过输入X,计算得到的Q,K,V分别为:

lua 复制代码
Q矩阵
[[1.0, 0.0, 0.0, 9.0, 0.0, 8.0]
 [0.0, 2.0, 2.0, 0.0, 6.0, 0.0]]
K矩阵
[[3.0, 0.0, 3.0, 0.0, 0.0, 5.0]
 [0.0, 4.0, 0.0, 6.0, 2.0, 0.0]]
V矩阵
[[7.0, 0.0, 0.0, 7.0, 0.0, 1.0]
 [0.0, 9.0, 8.0, 0.0, 2.0, 0.0]]

我们假定head 为2

那么矩阵Q K V 会被拆解为

lua 复制代码
拆解后的
Q_1矩阵             Q_2矩阵
[[1.0, 0.0, 0.0]   [[9.0, 0.0, 8.0]
 [0.0, 2.0, 2.0]]   [0.0, 6.0, 0.0]]
K_1矩阵             K_2矩阵
[[3.0, 0.0, 3.0]   [[0.0, 0.0, 5.0]
 [0.0, 4.0, 0.0]]   [6.0, 2.0, 0.0]]
V_1矩阵             V_2矩阵
[[7.0, 0.0, 0.0]   [[7.0, 0.0, 1.0]
 [0.0, 9.0, 8.0]]   [0.0, 2.0, 0.0]]

我们在使用attention公式(这里我们做了简化):

得到

ini 复制代码
Head_1 =
[
  [5.948, 1.353, 1.203],
  [1.677, 6.843, 6.083]
]
Head_2 =
[
  [0.002, 1.999, 0.0003],
  [0.0069, 1.998, 0.0010]
]

然后Concat(Head_1, Head_2)得到如下:

csharp 复制代码
[
  [5.948, 1.353, 1.203, 0.002, 1.999, 0.0003],
  [1.677, 6.843, 6.083, 0.0069, 1.998, 0.0010]
]
相关推荐
IT_陈寒7 分钟前
JavaScript的隐式转换太坑了,我的==比较怎么就炸了?
前端·人工智能·后端
程序员阿明37 分钟前
spring boot4+springAI 2加redis多轮对话存储
spring boot·redis·后端
MetaLite1 小时前
SpringBoot整合FastJson2数据脱敏-接口日志与失败降级
java·spring boot·后端
xixingzhe21 小时前
SpringBoot 接口缓存实现
spring boot·后端·缓存
名字还没想好☜1 小时前
Go 时间格式化为什么用 2006-01-02:time.Format/Parse 的参考时间、时区与解析踩坑
开发语言·后端·golang·go
jyOverQ4 小时前
RabbitMQ 消息积压怎么办?Prefetch、消费者并发与扩容
分布式·后端·rabbitmq
东风破_11 小时前
从跨域到 WebSocket:前端跨域方案、SSE 与双向实时通信详解
前端·后端
行百里er13 小时前
Gateway 上别硬塞 MVC:DeferredImportSelector 看菜下锅
spring boot·后端·开源
名字还没想好☜13 小时前
Java 遍历时删元素抛 ConcurrentModificationException:fail-fast 原理与三种正确删法
后端
IT_陈寒14 小时前
React Hooks闭包陷阱差点让我加班到凌晨
前端·人工智能·后端