Skip to content

Commit 8f08737

Browse files
dzhengAProotbrian-dellabetta
authored
[model_free_ptq] Add warning/error for invalid partner tensors in build_inverse_weights_map (#2546)
## Purpose Follow-up to #2498 addressing review comments from @kylesayrs. ## Changes - `partner_shard is None`: log warning instead of silent skip — indicates unexpected model architecture where expected partner tensor doesn't exist - `partner_resolved is None`: raise ValueError instead of silent skip — indicates corrupt or incomplete checkpoint and should surface as an error ## Notes These cases were flagged as defensive guards that either shouldn't exist or should error loudly. The warning approach for partner_shard=None handles the edge case of non-standard model architectures gracefully while still surfacing the issue. ## Test Unit tests passed 35/35 Signed-off-by: David Zheng <dqzheng1996@gmail.com> Signed-off-by: root <root@bolt-6jxv69gfv8-tqazfcpmhh.bolt-pods.turi-bolt.svc.kube.us-east-1d.k8s.cloud.apple.com> Co-authored-by: root <root@bolt-6jxv69gfv8-tqazfcpmhh.bolt-pods.turi-bolt.svc.kube.us-east-1d.k8s.cloud.apple.com> Co-authored-by: Brian Dellabetta <brian-dellabetta@users.noreply.github.com>
1 parent a5c58a0 commit 8f08737

File tree

1 file changed

+15
-3
lines changed

1 file changed

+15
-3
lines changed

src/llmcompressor/entrypoints/model_free/microscale.py

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
from collections import defaultdict
33

44
from compressed_tensors.quantization import QuantizationScheme, QuantizationStrategy
5+
from loguru import logger
56

67
from llmcompressor.entrypoints.model_free.helpers import (
78
MatchedNamesSet,
@@ -121,12 +122,23 @@ def build_microscale_inverse_weights_map(
121122
partner_name = partner_template.format(**match.groupdict())
122123

123124
partner_shard = weight_map.get(partner_name)
124-
if partner_shard is None or partner_shard == shard_name:
125-
continue # same shard or not found
125+
if partner_shard is None:
126+
logger.warning(
127+
f"Expected partner tensor {partner_name!r} not found "
128+
f"in weight_map — skipping. This may indicate an "
129+
f"unexpected model architecture."
130+
)
131+
continue
132+
if partner_shard == shard_name:
133+
continue # partner is in the same shard
126134

127135
partner_resolved = model_files.get(partner_shard)
128136
if partner_resolved is None:
129-
continue
137+
raise ValueError(
138+
f"Partner shard {partner_shard!r} for tensor "
139+
f"{partner_name!r} not found in model_files. "
140+
"This indicates a corrupt or incomplete checkpoint."
141+
)
130142

131143
if partner_name not in inverse_weights_map[partner_resolved]:
132144
inverse_weights_map[partner_resolved].append(partner_name)

0 commit comments

Comments
 (0)