Alterna · 学习资料
17.2. 下一个启动用途
已经计算了过去的键和值。 对于新的当前, 添加新数字, 并用完全重新计算来比较结果 。
本节学习内容
- 我们不计算过去的关键和价值。
内容与核心概念
在上一页上,第一个发射过程是输入短语。
已经计算了过去的键和值。 对于新的当前, 添加新数字, 并用完全重新计算来比较结果 。
第一个启动进程前缀。 之后的每个程序都添加一个条目; K/ V 过去的条目可以保存。 抽样和压缩存储解决了不同的任务 。
Для изменения рисунка включитеJavaScript; расчёт и теория доступны далее.
我们不计算过去的关键和价值。
预填后, 每个图层保留了过去标记的密钥/ 价值测试器。 对于新标记, 仅列出新的 Q/ K/ V ; 查询与所有 chachaed 键比较, 并签名新的 K/V 。 没有缓存解码器, 则每步重复前前前缀的预测。 缓存是测试特有的激活, 而不是模型参数 。
用于
L
layers,
H_kv
KV-heads, head width
d_h
,
T
数和
b
使用 有效载荷 :
M
K
V
=
2
L
H
k
v
d
h
T
b
.
M_{KV}=2LH_{kv}d_hTb.
M
K
V
=
2
L
H
k
v
d
h
T
b
.
乘数 2 相当于 K 和 V 的 批量请求、 梁干线、 分配区块、 校正和运行时间工作空间, 由以上添加 。 多询问/ 分组查询参与会减少 KV 头数, 但采石场仍然可以有更多的头 。 F08、 F09 。
模型就是这么显示的
视觉模型显示一个只附加附件的逻辑引用, 并单独显示一个历史锁 。 页面关注的动机是长度和碎裂的变量: 逻辑邻里不需要大范围的连续分配。 共享前缀只允许使用相同的模型输入和正确的寿命控制 。
适用范围。
有效装入公式不是实际 VRAM 的承诺。 量化的缓存可以减少字节, 但是会添加缩放/ 缩放和错误。 操作或滑动窗口会更改可用的内容 。 在网络、 适配器、 位置或前缀部分发生更改后, 您不能仅因为形状重合而重新使用缓存 。
layers_17b,kv_heads_17b,head_dim_17b,tokens_17b,bytes_17b=2,1,4,3,2
cache_bytes_17b=2*layers_17b*kv_heads_17b*head_dim_17b*tokens_17b*bytes_17b
assert cache_bytes_17b==96
代码重复了刚刚处理的操作
完全检查了 Python 示例章节
可用一个单独的文件; 显示的短片不会取代其执行 。
缓存重新使用因果 K/V, 并在处理的每件标牌上增加 。
如何选择一种选择?这个问题如何继续?
第17章的皮顿实例
学术基础