Closed MrJiangZhongZheng closed 8 months ago
你好,目前所有的 kv cache 都会放在内存中。对于 Mistral-7b, @DyiShiou 的计算是正确的,最后的结果还需要乘 layer 数量 32。推理 128k 文本需要大于 16G 内存,之后我们会尝试对 kv cache 进行压缩。
你好,目前所有的 kv cache 都会放在内存中。对于 Mistral-7b, @DyiShiou 的计算是正确的,最后的结果还需要乘 layer 数量 32。推理 128k 文本需要大于 16G 内存,之后我们会尝试对 kv cache 进行压缩。
能否将所有的kv缓存存到faiss向量数据库里,以节省gpu显存达到无限上下文长度,具体可以参考https://github.com/Victorwz/LongMem
global_blocks = [(global_block_k, global_block_v)]
, 每个global_block_k/v
的形状为 [1, 8, 128, 128], 数据类型为torch.bfloat16
, 占据内存大小为0.5 MB
, 即每个长度为 128 的 block 占据0.5 MB
内存, 每两个 block 占据1MB
内存,262,144
长度的 block 总计对应1GB
内存, 不知道这么算对不对~