在做大模型推理部署的时候,经常会碰到模型参数量太大,一块GPU的显存装不下,或者单块GPU的算力跟不上推理速度的情况,这时候就需要用并行策略来解决这些问题。
因为计算的流程不一样,推理和训练用到的并行策略在实现上也不一样。
这篇文章就是帮大家快速搞懂常见并行策略的基本原理。推理里主要用到的并行方式有数据并行(DP)、序列并行(SP/CP)、张量并行(TP)、层并行(PP)。
我们可以根据输入激活值的切分维度来区分不同的并行策略,一般来说,切分batch的是数据并行DP,切分序列的是序列并行SP/CP,切分隐藏层尺寸的是张量并行TP。
1 DP策略
1.1 基本原理
DP(Data Parallel)数据并行,是用来应对数据并发量比较大的一种策略。DP的做法是在不同的GPU上跑LLM模型的多个副本,每个模型副本都独立去处理对应的用户请求组。
它的原理跟开多个推理实例并发处理是一样的,区别在于,开DP的时候多个模型副本共用一个推理实例,由这个推理实例里的调度器来把请求分配给不同DP的模型副本。