长序列特性介绍
长序列特性的主要要求是在输入文本超长的场景下,模型回答的效果及性能也可以同时得到保障,其中输入的序列长度大多长于32K,甚至可到达1M的级别。其主要的技术难点是对attention部分以及kv cache的使用方面的优化。在长序列场景下,由attention和kv cache部分造成的显存消耗会快速的成倍增长。因此对这部分显存的优化便是长序列特性的关键技术点。其中涉及到诸如kv cache量化,kv多头压缩,训短推长等关键算法技术。
最大序列长度的支持往往受限于多种因素,诸如机器的显存规格,模型的参数量等。若想在长序列场景下兼顾模型的回答效果,请兼顾模型支持的最大有效推理长度,以llama1-65B为例,其模型有效推理最大长度为2048tokens,而部分经过训长推长的模型或训短推长的模型则可以保证在不使用额外算法优化的前提下获得长序列下保持推理精度的能力。具体规格请参考对应模型的官方介绍文档。长序列推理的使能方式与普通模型推理方式一致,仅需要将长序列文本按照正常推理流程传入模型即可,详细的执行模型推理的流程请参考模型推理使用流程获取更多信息和支持。
训长推长:在训练时通过较长的文本对模型的权重进行训练,从而使得模型在推理过程中对长序列输入依然可以保持良好的模型能力。
训短推长:模型本身通过诸如Alibi编码或序列压缩算法等技术使得模型具备较强的自扩张能力,从而可以通过短序列训练后在长序列推理场景下获得更好的模型能力。