图模式
什么是PTA图模式
PTA图模式使用TorchAir框架(继承自PyTorch框架Dynamo模式)在昇腾NPU上进行图模式推理,可达到最大化消除算子下发瓶颈的目的。推荐在小模型以及MOE模型的场景开启PTA图模式,如Qwen2-1.5B,Qwen2-0.5B,mixtral-8x7B、qwen2-57B、deepseek-v2-lite-16B、deepseek-v2-236B-W8A8。另外,当前MoE模型的PTA图模式启动不支持multi step。
PTA图模式参数配置
export INFER_MODE=PTA # 开启PTA模式,如果不使用图模式,请关闭该环境变量 export PTA_TORCHAIR_DECODE_GEAR_ENABLE=1 # 开启动态分档功能 export PTA_TORCHAIR_DECODE_GEAR_LIST=2,4,6,8,16,32 # 设置动态分档的档位,根据实际情况设置,另外请不要设置档位1(DeepSeek V2 236B W8A8 模型建议最大设置4个档位) export VLLM_ENGINE_ITERATION_TIMEOUT_S=1500 # 设置vllm请求超时时间(DeepSeek V2 236B W8A8 模型建议调大为6000) export HCCL_OP_EXPANSION_MODE=AIV #可选
通过PTA_TORCHAIR_DECODE_GEAR_LIST设置动态分档位后,在PTA模式下,会根据服务启动时的max_num_seqs参数对档位进行调整,使得最终的最大档位为max_num_seqs,因此,请根据使用场景合理设置动态分档以及max_num_seqs参数,避免档位过大导致图编译错误。
MoE模型依赖MindSpeed,当使用MoE模型推理时,需提前安装:
git clone https://gitee.com/ascend/MindSpeed.git cd MindSpeed git checkout a956b907ef3b0787d2a38577eb5b702f5b7e715d #推荐commit pip install -e .
开启图模式后,服务第一次响应请求时会有一个较长时间的图编译过程,并且会在当前目录下生成.torchair_cache文件夹来保存图编译的缓存文件。当服务第二次启动时,可通过缓存文件来快速完成图编译的过程,避免长时间的等待,并且基于图编译缓存文件来启动服务可获得更优的推理性能,因此请在有图编译缓存文件的前提下启动服务。另外,当启动服务时的模型或者参数发生改变时,请删除.torchair_cache文件夹,避免由于缓存文件与实际推理不匹配而报错。
什么是CANN-GRAPH
CANNGraph图模式是一种Capture-Replay架构的Host图,可以有效消除Host瓶颈,支持模型输入动态shape,无需分档构图,构图较快。未设置INFER_MODE环境变量时,即默认模式下,部分模型会默认使用CANNGraph图模式启动来提升性能。
CANN-GRAPH使用限制
CANNGraph图模式目前仅支持llama和qwen2系列架构的大语言模型单卡场景,包含该系列AWQ量化模型。由于部分算子暂未适配,其他场景(如Multi-lora)暂未支持。
CANN-GRAPH参数设置
相关参数如下表所示:
服务启动方式 |
配置项 |
配置说明 |
---|---|---|
offline |
enforce_eager |
设置该参数为True将关闭CANNGraph图模式,小模型如Qwen2-1.5B和Qwen2-0.5B推荐不设置该参数。 |
online |
--enforce-eager |
设置该参数将关闭CANNGraph图模式,小模型如Qwen2-1.5B和Qwen2-0.5B推荐不设置该参数。 |