这里介绍天翼云基于开源推理平台vllm拓展的基于上下文并行进行超长序列生成软件包CT-LLM-Inference的相关信息,超长序列指的是理论上无限长的序列,实际上的生成长度只限于所有可用的计算单元(GPU)内存大小。
功能简介
大语言模型主要是多层,多头结构,各个分层和头可独立运行、参数独立存储,主流大语言模型推理框架(如vllm)的并行方式就依靠上述存储方式采用张量并行、流水线并行,其中张量并行是将模型不同分层的权重存储在不同的计算单元(GPU/NPU)上达成并行,流水线并行则是将模型多头表示的各个头的权重存储在不同的计算单元(GPU/NPU)上达成并行。这些主流方案存在理论上的并行上限,例如流水线并行的计算单元数量不能超过模型层数,张量并行的计算单元数量不能超过模型的注意力头数。
大语言模型的推理运行方式是通过不断地将当前token向量与文本上文tokens向量之间计算注意力加权过的新向量并进行存储,这样当所需推理的文本长度特别长时,计算单元(GPU/NPU)的存储空间会很快耗尽。
与主流基于模型参数分布式存储的思路不同:
- 本方案是在多个计算单元上分别存储整个模型的参数,而对不断累积的推理出的上下文向量信息进行分布式存储,即第一个计算单元存储满了之后,存入第二个,再装满后,装入第三个,以此类推。
- 本方案的并行上限理论上并不受模型结构限制,只要有足够的计算单元补充,无限长的文本上下文信息都可以进行并行存储。此功能可被应用于处理超长文本推理;提升分层少、头数少的模型的并行能力;利用多个小内存的计算单元进行超长文本推理。