Replies: 1 comment
|
Here's the map of where vLLM actually partitions the model for pipeline parallelism: 1. Layer partitioning — def get_pp_indices(num_hidden_layers, pp_rank, pp_size) -> tuple[int, int]:It returns the 2. Config — 3. Group setup — 4. Execution — the worker's model runner ( Best starting points: One caveat: vLLM has two engines (V0 and V1) with different distributed orchestration. The layer-slicing helpers above are the shared foundation used by the model classes, but stage wiring differs per engine — worth confirming which engine you're running ( |
Uh oh!
There was an error while loading. Please reload this page.
I was looking to get inspired by how the pipeline parallelism support is implemented in vLLM. Therefore, I was looking for the source code that adjusts the model pipeline to be compatible with pipeline-parallel inference. Any pointers on where the code lives that enables this would be super welcome.
In other words, where does the model get partitioned into pipeline stages when we run
vllm serve gpt2 --tensor-parallel-size 4 --pipeline-parallel-size 2? Or does the model already have to be in a compatible form?All reactions