You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
### What this PR does / why we need it?
1. Update the EPLB documentation vllm-project#10718
2. Updating the default values of EPLB parameters
### Does this PR introduce _any_ user-facing change?
### How was this patch tested?
- vLLM version: v0.22.1
- vLLM main:
vllm-project/vllm@967c5c3
Signed-off-by: shenchuxiaofugui <1311027364@qq.com>
Copy file name to clipboardExpand all lines: docs/source/developer_guide/Design_Documents/eplb_swift_balancer.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,7 +10,7 @@ To facilitate reproduction and deployment, vLLM Ascend supports the deployed EP
10
10
11
11
## How to Use EPLB?
12
12
13
-
Please refer to the EPLB section of the user guide for detailed information: [How to Use EPLB](../../user_guide/feature_guide/eplb_swift_balancer.md)
13
+
Please refer to the EPLB section of the user guide for detailed information: [How to Use EPLB](../../user_guide/feature_guide/expert_parallelism_load_balancer.md)
Copy file name to clipboardExpand all lines: docs/source/user_guide/feature_guide/expert_parallelism_load_balancer.md
+42-27Lines changed: 42 additions & 27 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,29 +1,27 @@
1
-
# Expert Load Balance (EPLB)
1
+
# Expert Parallelism Load Balancer (EPLB)
2
2
3
3
## Overview
4
4
5
-
Expert balancing for MoE (Mixture of Experts) models in LLM (Large Language) serving is essential for optimal performance. Dynamically changing experts during inference can negatively impact TTFT (Time To First Token) and TPOT (Time Per Output Token) due to stop-the-world operations. SwiftBalancer enables asynchronous expert load balancing with zero-overhead expert movement, ensuring seamless service continuity.
5
+
Expert balancing for MoE (Mixture of Experts) models in LLM (Large Language) serving is essential for optimal performance. Dynamically changing experts during inference can negatively impact TTFT (Time To First Token) and TPOT (Time Per Output Token) due to stop-the-world operations. Our solution aims to minimize the negative impacts caused by the operation.
6
6
7
7
## EPLB Effects
8
8
9
9
- Reduced Latency: Dynamically balances expert loads to minimize TTFT and TPOT by distributing workloads evenly across experts.
We need to add environment variable `export DYNAMIC_EPLB="true"` to enable vLLM EPLB. Enable dynamic balancing with auto-tuned parameters. Adjust expert_heat_collection_interval and algorithm_execution_interval based on workload patterns. In the current version, we recommend using the following: policy of swift balancer(2).
43
+
We need to add environment variable `export DYNAMIC_EPLB="true"` to enable vLLM-Ascend EPLB. Enable dynamic balancing with auto-tuned parameters. Adjust expert_heat_collection_interval and algorithm_execution_interval based on workload patterns. In the current version, we recommend using the following: policy of swift balancer(2).
- expert_heat_collection_interval: Higher values (e.g., 400+) for stable workloads; lower values (e.g., 100-200) for fluctuating traffic.
106
-
- algorithm_execution_interval: Should be ≥ 30 to avoid premature balancing during startup.
107
-
- num_redundant_experts: Must match tensor-parallel size (e.g., 16 for 16 NPUs) to ensure sufficient redundancy.
133
+
- expert_heat_collection_interval: Higher values (e.g., 600+) for stable workloads; lower values (e.g., 50-100) for fluctuating traffic.
134
+
- algorithm_execution_interval: Should be ≥ 50 to avoid premature balancing during startup.
135
+
- num_redundant_experts: Must match (num_experts + num_redundant_experts) is divisible by expert-parallel size.
108
136
109
137
2. Hardware Requirements:
110
138
- Ensure that all NPUs have identical memory capacity and compute capabilities.
111
139
- Network bandwidth must support expert redistribution traffic (≥ 10 Gbps recommended).
112
140
113
-
3. Model Compatibility:
114
-
- Only MoE models with explicit expert parallelism support (e.g., Qwen3 MoE models) are compatible.
115
-
- Verify model architecture supports dynamic expert routing through `--enable-expert-parallel`.
116
-
117
-
4. Monitoring & Validation:
118
-
- Track metrics: expert_load_balance_ratio, ttft_p99, tpot_avg, and npu_utilization.
141
+
3. Monitoring & Validation:
142
+
- Track metrics: Search for [Expert Hotness] in log, we will calculate the peak-to-average ratio of the load for each layer at different ranks, and then find their mean and maximum values. Current means actual peak-to-average ratio, update means estimated peak-to-average ratio after algorithm adjustment.
119
143
- Use vLLM monitor to detect imbalances during runtime.
120
144
- Always verify expert map JSON structure before loading (validate with jq or similar tools).
121
-
122
-
5. Startup Behavior:
123
-
- Initial requests may experience higher latency during the first balancing cycle (typically 1-2 minutes).
124
-
- Avoid sudden traffic spikes during the warm-up phase.
125
-
126
-
6. Common Pitfalls:
127
-
- Incorrect tensor-parallel-size vs. actual NPU count → causes resource underutilization.
128
-
- Using expert_map_path without generating the map first → runtime errors.
129
-
- Setting num_redundant_experts > available NPUs → system failure.
0 commit comments