You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix: add @ModuleInfo to all Module-typed properties for weight update support
Module-typed properties declared as plain `let` without @ModuleInfo
cannot be updated via Module.update(modules:verify:), which is called
during quantization. This causes a fatal crash when loading quantized
models:
MLXNN.UpdateError.needModuleInfo("Unable to get @ModuleInfo for
BertModel.pooler -- must be wrapped to receive updates")
The quantize() function replaces Linear modules with QuantizedLinear
via update(modules:), which requires @ModuleInfo setters. Without
them, the non-throwing update(modules:) wrapper hits try! on the
thrown error → SIGABRT.
Fixed 36 properties across MLXEmbedders, MLXLLM, and MLXVLM:
- MLXEmbedders: BertModel.pooler, NomicBertModel.pooler,
Qwen3 TransformerBlock.mlp, Qwen3ModelInner.norm
- MLXLLM: norm properties in 29 model classes, plus
FalconH1Mixer.conv1d
- MLXVLM: Idefics3 TransformerBlock.mlp, Idefics3 LanguageModel.norm,
Ministral3ModelInner.norm, LanguageModelInner.norm
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
0 commit comments