Print the warning only once (#16193)

Signed-off-by: Gregory Shtrasberg <Gregory.Shtrasberg@amd.com>
This commit is contained in:
Gregory Shtrasberg 2025-04-07 14:30:06 -04:00 committed by GitHub
parent 66d433b94f
commit ad434d4cfe
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -216,17 +216,18 @@ class MultiModalProfiler(Generic[_I]):
# Encoder-decoder multimodal models only support v0
if total_len > seq_len:
# `max_num_batched_tokens` is defined by `SchedulerConfig`
logger.warning(
logger.warning_once(
"The encoder sequence length used for profiling ("
"max_num_batched_tokens / max_num_seqs = %d) is too short "
f"max_num_batched_tokens / max_num_seqs = {seq_len}) "
" is too short "
"to hold the multi-modal embeddings in the worst case "
"(%d tokens in total, out of which %s are reserved for "
f"({total_len} tokens in total, out of which "
f"{total_placeholders_by_modality} are reserved for "
"multi-modal embeddings). This may cause certain "
"multi-modal inputs to fail during inference, even when "
"the input text is short. To avoid this, you should "
"increase `max_model_len`, reduce `max_num_seqs`, "
"and/or reduce `mm_counts`.", seq_len, total_len,
total_placeholders_by_modality)
"and/or reduce `mm_counts`.")
processor = cast(EncDecMultiModalProcessor, self.processor)
if processor.pad_dummy_encoder_prompt:
@ -251,17 +252,18 @@ class MultiModalProfiler(Generic[_I]):
# V0 does not support chunked prefill.
if total_len > seq_len and not envs.VLLM_USE_V1:
# `max_num_batched_tokens` is defined by `SchedulerConfig`
logger.warning(
logger.warning_once(
"The sequence length used for profiling ("
"max_num_batched_tokens / max_num_seqs = %d) is too short "
f"max_num_batched_tokens / max_num_seqs = {seq_len}) "
"is too short "
"to hold the multi-modal embeddings in the worst case "
"(%d tokens in total, out of which %s are reserved for "
f"({total_len} tokens in total, out of which "
f"{total_placeholders_by_modality} are reserved for "
"multi-modal embeddings). This may cause certain "
"multi-modal inputs to fail during inference, even when "
"the input text is short. To avoid this, you should "
"increase `max_model_len`, reduce `max_num_seqs`, "
"and/or reduce `mm_counts`.", seq_len, total_len,
total_placeholders_by_modality)
"and/or reduce `mm_counts`.")
if total_len < seq_len:
prompt_token_ids.extend([0] * (seq_len - total_len))