A high-throughput and memory-efficient inference and serving engine for LLMs
Mirrored from https://github.com/tduncan-lum/Nvidia-Optimization-Stack---VLLM.git
Synced Nov 5, 01:00 UTC
Bugfix: Parakeet: `.conv.pointwise/depthwise_conv1/2.bias weigths` can exist even if `convolution_bias=False` (#40007)
Signed-off-by: Netanel Haber <58652339+netanel-haber@users.noreply.github.com>
Netanel Haber committed
Apr 17, 2026 at 02:22 UTC
c4e601c73c2a2652ff7200d9f120efb7bde20faa
1 file changed
+23
vllm/model_executor/models/parakeet.py
+23
@@ -99,6 +99,8 @@ class ProjectedParakeet(nn.Module):
99
if target is None:
100
target = buffers_dict.get(target_name)
101
if target is None:
102
+ if self._can_skip_missing_named_param(target_name):
103
+ continue
104
raise ValueError(f"Unknown weight: {name}")
105
weight_loader = getattr(target, "weight_loader", default_weight_loader)
106
with torch.no_grad():
@@ -107,6 +109,27 @@ class ProjectedParakeet(nn.Module):
109
110
return loaded_params
111
112
+ def _can_skip_missing_named_param(self, target_name: str) -> bool:
113
+ if self.config.convolution_bias:
114
+ return False
115
+
116
+ # In transformers v5 (not v4), `convolution_bias=False` is
117
+ # propagated from parakeet config. If `False`, torch.conv1d will
118
+ # *skip registering the param*, thus it will be missing in the
119
+ # module's named params. *If* you happen to also have the bias
120
+ # tensors in the weights, it will cause a mismatch between the
121
+ # weights and the params.
122
+ # This allows us to have `convolution_bias=False` in the sound config,
123
+ # but still allow for the weights to exist.
124
+
125
+ return target_name.endswith(
126
+ (
127
+ ".conv.pointwise_conv1.bias",
128
+ ".conv.depthwise_conv.bias",
129
+ ".conv.pointwise_conv2.bias",
130
+ )
131
+ )
132
+
133
134
EPSILON = 1e-5
135
LOG_ZERO_GUARD_VALUE = 2**-24