
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
APC技术,遇到新prompt和老prompt前缀完全相等的,则复用老prompt的KV cache,避免重新计算。3. 只要前面有1个字符不同,后面完全相同的部分,也不能被视为公共前缀。2. prefill公共前缀较长,且decode output较短时,KV cache复用的威力才能发挥出来。则把长文档放到前面,可以复用KV cache。enable_prefix_caching,prompt

多模态上做了很多新功能。

限制:二者的乘积,必须等于模型并行(不是指moe_tp_size,而是整个模型的tp_size)的卡数。moe_ep_size:按照Expert切分,每个GPU有用一部分Expert的所有权重。moe_tp_size:按照维度切分,每个GPU拥有所有Expert的一部分权重。二者可以搭配一起使用。

每个SM block上的Q,负责和所有K和所有V进行计算,得到对应的结果。但是,在decoding阶段,因为Query的seqLength=1,且batchSize=1,因此SM block数目无法都利用上。缺点:最后需要将不同SM block上的中间结果,进行通信,进行归一化的softmax和结果Reduce。在prefill阶段,seqLength*batchSize*Heads足够多,所以每

SmoothQuant是W8A8,GPTQ是W8A16,两者一起使用,可以得到精度损失更小的W8A8量化。

4.MoE的load-balance:训练中,边训练,边调整每个MoE的路由权重。负载高的减少权重,负载低的增加权重。缺点是影响模型训练的主目标)。可以一次推理多个tokens。3.基础架构:MoE,同等参数量(模型的”能力“)下,训练、推理的计算量大幅减少。2.基础架构:MLA,大幅减少了KVcache大小。训练的时候就是一次预测多个tokens,推理时也这样,所以效果更好。限制每个token最

减少max_num_seqs或max_num_batched_tokens。减少一个batch里的请求、token个数,从而减少KV cache占用。显存不够的时候,某些request会被抢占。其KV cache被清除,腾退给其他request,下次调度到它,重新计算KV cache。可以查看VLLM自带的Prometheus指标,查看抢占的请求数量。- 增大gpu_memory_utilizat

2个矩阵乘法的例子:1. 分块:每个block负责目标矩阵中的一块,好处:(读显存的数据量:计算次数=1:小块的边长);如果直接每个thread负责1个目标值,读显存数据量:计算次数=1:1,而且读column显存时可能无法连续读显存;1. A*X+Y的例子:https://devblogs.nvidia.com/easy-introduction-cuda-c-and-c/注意...
(2017年)百度将高性能计算引入深度学习:可高效实现模型的大规模扩展RingAllreduce;适用于单机多卡/多机多卡;关键在于认识到机器硬件拓扑,然后根据拓扑去构建使得最大的边延迟最小的方案;(Step1, Step2, Step3那种AllReduce,在多机通过交换机互联情况下,也可以和机器数目无关);最后再进行5轮类似的传输,所有GPU上就都有了各段...








