From 26f9cf0eb8b1ae56d11ba04bca7260ab6d46da47 Mon Sep 17 00:00:00 2001 From: "wang.yuqi" Date: Mon, 14 Jul 2025 21:38:48 +0800 Subject: [PATCH] + extremely_dangerous Signed-off-by: wang.yuqi --- vllm/config.py | 19 +++++++++++++------ vllm/logger.py | 10 ++++++++++ 2 files changed, 23 insertions(+), 6 deletions(-) diff --git a/vllm/config.py b/vllm/config.py index d9f356c5c60..ec4031bc6e0 100644 --- a/vllm/config.py +++ b/vllm/config.py @@ -3631,13 +3631,20 @@ def _get_and_verify_max_len( f"{model_max_length} in model's config.json). This may lead " "to incorrect model outputs or CUDA errors.") if envs.VLLM_ALLOW_LONG_MAX_MODEL_LEN: - logger.warning( - "%s Make sure the value is correct and within the " - "model context size.", msg) + logger.extremely_dangerous( + "Using VLLM_ALLOW_LONG_MAX_MODEL_LEN may lead" + " to the following exceptions:\n" + "- If the model uses rope position encoding, " + "positions exceeding derived_max_model_len " + "lead to nan.\n" + "- If the model uses absolute position encoding, " + "positions exceeding derived_max_model_len " + "will cause a CUDA array out-of-bounds error.\n" + "For testing purposes only, do not implement " + "any functionality relying " + "on VLLM_ALLOW_LONG_MAX_MODEL_LEN.") else: - raise ValueError( - f"{msg} To allow overriding this maximum, set " - "the env var VLLM_ALLOW_LONG_MAX_MODEL_LEN=1") + raise ValueError(msg) return int(max_model_len) diff --git a/vllm/logger.py b/vllm/logger.py index 69aaf4390a7..c9ca54239bd 100644 --- a/vllm/logger.py +++ b/vllm/logger.py @@ -71,6 +71,12 @@ def _print_warning_once(logger: Logger, msg: str, *args: Hashable) -> None: logger.warning(msg, *args, stacklevel=2) +def _extremely_dangerous(logger: Logger, msg: str, *args: Hashable) -> None: + template = (f"\n===== EXTREMELY DANGEROUS =====\n" + f"{msg}\n===============================\n") + logger.warning(template, *args, stacklevel=2) + + class _VllmLogger(Logger): """ Note: @@ -101,6 +107,9 @@ def warning_once(self, msg: str, *args: Hashable) -> None: """ _print_warning_once(self, msg, *args) + def extremely_dangerous(self, param, *args): + _extremely_dangerous(param, *args) + def _configure_vllm_root_logger() -> None: logging_config = dict[str, Any]() @@ -148,6 +157,7 @@ def init_logger(name: str) -> _VllmLogger: "debug_once": _print_debug_once, "info_once": _print_info_once, "warning_once": _print_warning_once, + "extremely_dangerous": _extremely_dangerous } for method_name, method in methods_to_patch.items():