假设有一个很长的输入,我认为将序列均匀地分割成块并不是最优的,因为不同块的kv_lens是不同的。也许将长输入分割成按递减顺序大小的块会更好?
d4so4syb1#
你好,@frankxyy。Dynamic SplitFuse将长提示符拆分为指定的前向大小的剩余容量,而不是平均拆分。这种方法在接收到许多请求时优化了效率。也许将长输入拆分为递减大小的块会更好?我不确定我是否完全理解你的建议。你能详细说明一下吗?
tag5nh1u2#
你好,我误解了splitAndFuse的方法,实际上,分割后的大小是由前向剩余容量决定的。谢谢你的提醒。
whitzsjs3#
你好,我重新考虑了这个问题并有一些新的观点。我发现随着序列长度的增加,相同前向大小的计算强度有所不同(q_len保持不变,但kv_len增加)。因此,将相同的前向大小拆分到不同的计算强度可能不会拆分到相同的计算强度?
nc1teljy4#
是的,计算量会根据kv的长度而变化。我们有一个目标前向大小来平衡效率和延迟,但我不确定不同kv长度会造成多大差异。
4条答案
按热度按时间d4so4syb1#
你好,@frankxyy。
Dynamic SplitFuse将长提示符拆分为指定的前向大小的剩余容量,而不是平均拆分。这种方法在接收到许多请求时优化了效率。
也许将长输入拆分为递减大小的块会更好?
我不确定我是否完全理解你的建议。你能详细说明一下吗?
tag5nh1u2#
你好,我误解了splitAndFuse的方法,实际上,分割后的大小是由前向剩余容量决定的。谢谢你的提醒。
whitzsjs3#
你好,我重新考虑了这个问题并有一些新的观点。我发现随着序列长度的增加,相同前向大小的计算强度有所不同(q_len保持不变,但kv_len增加)。因此,将相同的前向大小拆分到不同的计算强度可能不会拆分到相同的计算强度?
nc1teljy4#
是的,计算量会根据kv的长度而变化。我们有一个目标前向大小来平衡效率和延迟,但我不确定不同kv长度会造成多大差异。