Skip to content

大模型的分布式推理概述

分布式推理是指将大模型的计算任务拆分到多个GPU设备上并行执行,以解决单卡显存不足,提升推理速度的技术。

其核心在于张量并行(Tensor Parallelism, TP)和流水线并行(Pipeline Parallelism, PP), 其中张量并行将模型的权重矩阵按维度切分到不同GPU上,每个GPU负责部分计算,最终合并结果。

例如: 在Llama-13B大模型推理中,单卡显存可能不足,分布式推理可显著降低显存占用并提高吞吐量。

推理大模型时,需要用到的显存大约等于: 用户的数据量+模型的参数量。

注意: 一般只能粗略计算模型推理时所需要的显存和支持的用户量。但是,实际情况

部署框架

ollama: 多模型框架(可以同时调用ollama的多个模型。)由于主要针对个人用户或者小薇用户场景,ollama的性能和精度都较差,并发性较差。

vllm: 单模型框架。但是在并发性支持和精度方面,性能方面都优于ollama。

lmdeploy: 单模型框架。但是在并发性支持和精度方法,性能方面都优于ollama。

vLLM的分布式推理实现

vLLM通过PagedAttention和张量并行技术优化显存管理和计算效率,支持多GPU推理。

  1. 核心机制

张量并行: 通过tensor_parallel_size参数指定GPU数量,模型自动拆分到多卡。

PagedAttention: 将注意力机制的键值(KV)缓存分块存储,减少显存碎片,提升利用率。

连续批处理: 动态合并不同长度的请求,减少GPU空闲时间。

LMDeploy的分布式推理实现

LMDeploy是专为高效部署设计的框架,支持量化技术与分布式推理,尤其适合低显存环境。

  1. 核心机制

张量并行: 通过--tp参数指定GPU数量,支持多卡协同计算。

KV Cache量化: 支持INT8/INT4量化,降低显存占用。

动态显存管理: 通过--cache-max-entry-count控制KV缓存比例。

LMDeploy的量化机制

对于一个7B(70亿)参数的模型,每个参数使用16位浮点数