[Fix] Fix DeepSeek V3.2 "no attr" error (#5147)
### What this PR does / why we need it?
Extracts repeated `attn_metadata[layer_name].decode` access into a
single variable to improve code readability and reduce redundancy.
Uses `getattr` with a default value to safely access the decode
attribute, making the code more defensive against potential attribute
errors.
### Does this PR introduce _any_ user-facing change?
None.
### How was this patch tested?
None.
- vLLM version: v0.12.0
- vLLM main:
ad32e3e19c
Signed-off-by: Yizhou Liu <liu_yizhou@outlook.com>
This commit is contained in:
@@ -780,15 +780,16 @@ class MtpProposer(Proposer):
|
|||||||
hidden_states)
|
hidden_states)
|
||||||
|
|
||||||
for layer_name in self.attn_layer_name:
|
for layer_name in self.attn_layer_name:
|
||||||
if self.use_async_scheduling and attn_metadata[
|
decode_metadata = getattr(attn_metadata[layer_name],
|
||||||
layer_name].decode is not None:
|
"decode", None)
|
||||||
actual_size = len(attn_metadata[layer_name].decode.
|
if self.use_async_scheduling and decode_metadata is not None:
|
||||||
actual_seq_lengths_q)
|
actual_size = len(
|
||||||
|
decode_metadata.actual_seq_lengths_q)
|
||||||
|
|
||||||
attn_metadata[layer_name].decode.seq_lens_list = \
|
decode_metadata.seq_lens_list = \
|
||||||
attn_metadata[layer_name].decode.seq_lens_list[:actual_size]
|
decode_metadata.seq_lens_list[:actual_size]
|
||||||
attn_metadata[layer_name].decode.block_table = \
|
decode_metadata.block_table = \
|
||||||
attn_metadata[layer_name].decode.block_table[:actual_size]
|
decode_metadata.block_table[:actual_size]
|
||||||
|
|
||||||
hidden_states = self.model(input_ids=input_ids,
|
hidden_states = self.model(input_ids=input_ids,
|
||||||
positions=positions,
|
positions=positions,
|
||||||
|
|||||||
Reference in New Issue
Block a user