deprecate prefill-round-robin-balance (#16195)
Signed-off-by: Chang Huaixin (OpenAnolis) <changhuaixin@linux.alibaba.com> Co-authored-by: Liangsheng Yin <lsyincs@gmail.com>
This commit is contained in:
co-authored by
Liangsheng Yin
parent
3b3c5a05c1
commit
c1dfbc777b
@@ -207,7 +207,6 @@ Please consult the documentation below and [server_args.py](https://github.com/s
|
|||||||
| `--data-parallel-size`<br>`--dp-size` | The data parallelism size. | `1` | Type: int |
|
| `--data-parallel-size`<br>`--dp-size` | The data parallelism size. | `1` | Type: int |
|
||||||
| `--load-balance-method` | The load balancing strategy for data parallelism. The Minimum Token algorithm can only be used when DP attention is applied. This algorithm performs load balancing based on the real-time token load of the DP workers. | `auto` | `auto`, `round_robin`, `follow_bootstrap_room`, `shortest_queue`, `minimum_tokens` |
|
| `--load-balance-method` | The load balancing strategy for data parallelism. The Minimum Token algorithm can only be used when DP attention is applied. This algorithm performs load balancing based on the real-time token load of the DP workers. | `auto` | `auto`, `round_robin`, `follow_bootstrap_room`, `shortest_queue`, `minimum_tokens` |
|
||||||
| `--load-watch-interval` | The interval of load watching in seconds. | `0.1` | Type: float |
|
| `--load-watch-interval` | The interval of load watching in seconds. | `0.1` | Type: float |
|
||||||
| `--prefill-round-robin-balance` | Prefill is round robin balanced. This is used to promise decode server can get the correct dp rank. | `False` | bool flag (set to enable) |
|
|
||||||
|
|
||||||
## Multi-node distributed serving
|
## Multi-node distributed serving
|
||||||
| Argument | Description | Defaults | Options |
|
| Argument | Description | Defaults | Options |
|
||||||
@@ -461,6 +460,7 @@ Please consult the documentation below and [server_args.py](https://github.com/s
|
|||||||
| --- | --- | --- | --- |
|
| --- | --- | --- | --- |
|
||||||
| `--enable-ep-moe` | NOTE: --enable-ep-moe is deprecated. Please set `--ep-size` to the same value as `--tp-size` instead. | `None` | N/A |
|
| `--enable-ep-moe` | NOTE: --enable-ep-moe is deprecated. Please set `--ep-size` to the same value as `--tp-size` instead. | `None` | N/A |
|
||||||
| `--enable-deepep-moe` | NOTE: --enable-deepep-moe is deprecated. Please set `--moe-a2a-backend` to 'deepep' instead. | `None` | N/A |
|
| `--enable-deepep-moe` | NOTE: --enable-deepep-moe is deprecated. Please set `--moe-a2a-backend` to 'deepep' instead. | `None` | N/A |
|
||||||
|
| `--prefill-round-robin-balance` | Note: Note: --prefill-round-robin-balance is deprecated now. | `None` | N/A |
|
||||||
| `--enable-flashinfer-cutlass-moe` | NOTE: --enable-flashinfer-cutlass-moe is deprecated. Please set `--moe-runner-backend` to 'flashinfer_cutlass' instead. | `None` | N/A |
|
| `--enable-flashinfer-cutlass-moe` | NOTE: --enable-flashinfer-cutlass-moe is deprecated. Please set `--moe-runner-backend` to 'flashinfer_cutlass' instead. | `None` | N/A |
|
||||||
| `--enable-flashinfer-cutedsl-moe` | NOTE: --enable-flashinfer-cutedsl-moe is deprecated. Please set `--moe-runner-backend` to 'flashinfer_cutedsl' instead. | `None` | N/A |
|
| `--enable-flashinfer-cutedsl-moe` | NOTE: --enable-flashinfer-cutedsl-moe is deprecated. Please set `--moe-runner-backend` to 'flashinfer_cutedsl' instead. | `None` | N/A |
|
||||||
| `--enable-flashinfer-trtllm-moe` | NOTE: --enable-flashinfer-trtllm-moe is deprecated. Please set `--moe-runner-backend` to 'flashinfer_trtllm' instead. | `None` | N/A |
|
| `--enable-flashinfer-trtllm-moe` | NOTE: --enable-flashinfer-trtllm-moe is deprecated. Please set `--moe-runner-backend` to 'flashinfer_trtllm' instead. | `None` | N/A |
|
||||||
|
|||||||
@@ -157,7 +157,6 @@ python -m sglang.launch_server \
|
|||||||
--speculative-num-steps 3 \
|
--speculative-num-steps 3 \
|
||||||
--speculative-eagle-topk 1 \
|
--speculative-eagle-topk 1 \
|
||||||
--speculative-num-draft-tokens 4 \
|
--speculative-num-draft-tokens 4 \
|
||||||
--prefill-round-robin-balance \
|
|
||||||
--disable-shared-experts-fusion \
|
--disable-shared-experts-fusion \
|
||||||
--dtype bfloat16 \
|
--dtype bfloat16 \
|
||||||
--tokenizer-worker-num 4
|
--tokenizer-worker-num 4
|
||||||
@@ -293,7 +292,6 @@ do
|
|||||||
--speculative-eagle-topk 1 \
|
--speculative-eagle-topk 1 \
|
||||||
--speculative-num-draft-tokens 3 \
|
--speculative-num-draft-tokens 3 \
|
||||||
--tokenizer-worker-num 4 \
|
--tokenizer-worker-num 4 \
|
||||||
--prefill-round-robin-balance \
|
|
||||||
--disable-shared-experts-fusion \
|
--disable-shared-experts-fusion \
|
||||||
--dtype bfloat16
|
--dtype bfloat16
|
||||||
done
|
done
|
||||||
|
|||||||
@@ -132,7 +132,6 @@ If you want to know the meaning and usage of each parameter, click [Service Argu
|
|||||||
|----------------------------------------|---------------|-------------------------------------------------------------|:----------------------------------------:|:----------------------------------------:|
|
|----------------------------------------|---------------|-------------------------------------------------------------|:----------------------------------------:|:----------------------------------------:|
|
||||||
| `--data-parallel-size`<br/>`--dp-size` | `1` | Type: int | **<span style="color: green;">√</span>** | **<span style="color: green;">√</span>** |
|
| `--data-parallel-size`<br/>`--dp-size` | `1` | Type: int | **<span style="color: green;">√</span>** | **<span style="color: green;">√</span>** |
|
||||||
| `--load-balance-method` | `round_robin` | `round_robin`,<br/> `shortest_queue`,<br/> `minimum_tokens` | **<span style="color: green;">√</span>** | **<span style="color: green;">√</span>** |
|
| `--load-balance-method` | `round_robin` | `round_robin`,<br/> `shortest_queue`,<br/> `minimum_tokens` | **<span style="color: green;">√</span>** | **<span style="color: green;">√</span>** |
|
||||||
| `--prefill-round-robin-balance` | `False` | bool flag<br/> (set to enable) | **<span style="color: green;">√</span>** | **<span style="color: green;">√</span>** |
|
|
||||||
|
|
||||||
## Multi-node distributed serving
|
## Multi-node distributed serving
|
||||||
|
|
||||||
|
|||||||
@@ -260,7 +260,6 @@ spec:
|
|||||||
- mlx5_0,mlx5_1,mlx5_2,mlx5_3,mlx5_4,mlx5_5,mlx5_6,mlx5_7
|
- mlx5_0,mlx5_1,mlx5_2,mlx5_3,mlx5_4,mlx5_5,mlx5_6,mlx5_7
|
||||||
- --chunked-prefill-size
|
- --chunked-prefill-size
|
||||||
- "131072"
|
- "131072"
|
||||||
- --prefill-round-robin-balance
|
|
||||||
- --eplb-rebalance-layers-per-chunk
|
- --eplb-rebalance-layers-per-chunk
|
||||||
- "29"
|
- "29"
|
||||||
- --page-size
|
- --page-size
|
||||||
@@ -332,7 +331,6 @@ spec:
|
|||||||
- /log
|
- /log
|
||||||
- --chunked-prefill-size
|
- --chunked-prefill-size
|
||||||
- "262144"
|
- "262144"
|
||||||
- --prefill-round-robin-balance
|
|
||||||
- --eplb-rebalance-layers-per-chunk
|
- --eplb-rebalance-layers-per-chunk
|
||||||
- "29"
|
- "29"
|
||||||
- --page-size
|
- --page-size
|
||||||
|
|||||||
@@ -377,8 +377,6 @@ class ServerArgs:
|
|||||||
# Data parallelism
|
# Data parallelism
|
||||||
dp_size: int = 1
|
dp_size: int = 1
|
||||||
load_balance_method: str = "auto"
|
load_balance_method: str = "auto"
|
||||||
# FIXME: remove this after dp rank scheduling is fully supported with PD-Disaggregation
|
|
||||||
prefill_round_robin_balance: bool = False
|
|
||||||
|
|
||||||
# Multi-node distributed serving
|
# Multi-node distributed serving
|
||||||
dist_init_addr: Optional[str] = None
|
dist_init_addr: Optional[str] = None
|
||||||
@@ -2221,13 +2219,6 @@ class ServerArgs:
|
|||||||
self.disable_radix_cache = True
|
self.disable_radix_cache = True
|
||||||
logger.warning("KV cache is forced as chunk cache for decode server")
|
logger.warning("KV cache is forced as chunk cache for decode server")
|
||||||
|
|
||||||
if self.dp_size > 1 and not is_in_ci():
|
|
||||||
assert self.prefill_round_robin_balance, (
|
|
||||||
"Prefill round robin balance is required when dp size > 1. "
|
|
||||||
"Please make sure that the prefill instance is launched with `--load-balance-method auto` "
|
|
||||||
"or `--load-balance-method follow_bootstrap_room` "
|
|
||||||
"and `--prefill-round-robin-balance` is set for decode server."
|
|
||||||
)
|
|
||||||
elif self.disaggregation_mode == "prefill":
|
elif self.disaggregation_mode == "prefill":
|
||||||
if self.disaggregation_decode_tp is None:
|
if self.disaggregation_decode_tp is None:
|
||||||
self.disaggregation_decode_tp = self.tp_size
|
self.disaggregation_decode_tp = self.tp_size
|
||||||
@@ -3224,9 +3215,8 @@ class ServerArgs:
|
|||||||
)
|
)
|
||||||
parser.add_argument(
|
parser.add_argument(
|
||||||
"--prefill-round-robin-balance",
|
"--prefill-round-robin-balance",
|
||||||
default=ServerArgs.prefill_round_robin_balance,
|
action=DeprecatedAction,
|
||||||
action="store_true",
|
help="Note: --prefill-round-robin-balance is deprecated now.",
|
||||||
help="Prefill is round robin balanced. This is used to promise decode server can get the correct dp rank.",
|
|
||||||
)
|
)
|
||||||
|
|
||||||
# Multi-node distributed serving
|
# Multi-node distributed serving
|
||||||
@@ -5173,6 +5163,10 @@ class LoRAPathAction(argparse.Action):
|
|||||||
setattr(namespace, self.dest, lora_paths)
|
setattr(namespace, self.dest, lora_paths)
|
||||||
|
|
||||||
|
|
||||||
|
def print_deprecated_warning(message: str):
|
||||||
|
logger.warning(f"\033[1;33m{message}\033[0m")
|
||||||
|
|
||||||
|
|
||||||
class DeprecatedAction(argparse.Action):
|
class DeprecatedAction(argparse.Action):
|
||||||
def __init__(self, option_strings, dest, nargs=0, **kwargs):
|
def __init__(self, option_strings, dest, nargs=0, **kwargs):
|
||||||
super(DeprecatedAction, self).__init__(
|
super(DeprecatedAction, self).__init__(
|
||||||
@@ -5180,11 +5174,9 @@ class DeprecatedAction(argparse.Action):
|
|||||||
)
|
)
|
||||||
|
|
||||||
def __call__(self, parser, namespace, values, option_string=None):
|
def __call__(self, parser, namespace, values, option_string=None):
|
||||||
raise ValueError(self.help)
|
print_deprecated_warning(
|
||||||
|
f"The command line argument '{option_string}' is deprecated and will be removed in future versions."
|
||||||
|
)
|
||||||
def print_deprecated_warning(message: str):
|
|
||||||
logger.warning(f"\033[33m{message}\033[0m")
|
|
||||||
|
|
||||||
|
|
||||||
def auto_choose_speculative_params(self: ServerArgs):
|
def auto_choose_speculative_params(self: ServerArgs):
|
||||||
|
|||||||
@@ -69,7 +69,6 @@ class TestDisaggregationDPAttention(PDDisaggregationServerBase):
|
|||||||
"--enable-dp-attention",
|
"--enable-dp-attention",
|
||||||
"--base-gpu-id",
|
"--base-gpu-id",
|
||||||
str(cls.PREFILL_DP_SIZE),
|
str(cls.PREFILL_DP_SIZE),
|
||||||
"--prefill-round-robin-balance",
|
|
||||||
]
|
]
|
||||||
decode_args += cls.transfer_backend + cls.rdma_devices
|
decode_args += cls.transfer_backend + cls.rdma_devices
|
||||||
cls.process_decode = popen_launch_pd_server(
|
cls.process_decode = popen_launch_pd_server(
|
||||||
|
|||||||
Reference in New Issue
Block a user