forked from EngineX-Cambricon/enginex-mlu370-vllm
简介
该example是vLLM中进行Expert Parallel的实验,mlu_hijack是对仓库代码的劫持,避免修改主仓库代码
支持模型
- qwen2_moe
- mixtral
- custom model
- deepseek_v2
支持板卡
300系列设备只能用于功能测试,性能测试需要其他系列设备。
运行demo
python examples/cambricon_custom_func/expert_parallel/offline_inference.py
使用Expert Parallel特性
- 设置环境变量export EXPERT_PARALLEL_EN=1|True|true|TRUE, LLM主接口传入tensor_parallel_size的同时,传入moe_tp_size或moe_ep_size,或两者都传;
- 若只传moe_tp_size和moe_ep_size中的一个,另一个等于tensor_parallel_size除以传入其中一个的除数,所以必须保证传入数可以被tensor_parallel_size整除;
- 若moe_tp_size和moe_ep_size都传入,则必须保证moe_tp_size * moe_ep_size == tensor_parallel_size;
- 若moe_tp_size和moe_ep_size都不传,则它们默认值等于-1,即不开启专家并行;