forked from EngineX-Cambricon/enginex-mlu370-vllm
背景
此示例用于在vLLM中演示chunked parallel pipeline功能,通过mlu_hijck机制将需要修改的代码劫持到当前目录,避免修改主仓库代码。
支持模型
- LlamaForCausalLM
- CustomForCausalLM
Demo运行方式
当前Chunked Parallel Pipeline仅支持通过AsyncLLMEngine方式用paged mode运行。
- 设置环境变量
export CHUNKED_PIPELINE_PARALLEL_EN=true
- 启动server进程
# 设置engine超时阈值。
export VLLM_ENGINE_ITERATION_TIMEOUT_S=180
python -m vllm.entrypoints.openai.api_server \
--port ${PORT} \
--model ${MODEL_PATH} \
--swap-space 16 \
--pipeline-parallel-size ${PP_SIZE} \
--max-num-batched-tokens ${MAX_TOKENS_NUM} \
--enable-chunked-prefill \
--worker-use-ray \
--enforce-eager
- 启动client进程 这里以随机数为例,可以选用真实数据集。
python benchmarks/benchmark_serving.py \
--backend vllm \
--model ${MODEL_PATH} \
--dataset-name random \
--num-prompts ${NUM_PROMPT} \
--port ${PORT} \
--random-input-len ${INPUT_LEN} \
--random-output-len 1 \
--request-rate inf