lm_head lives on DeepseekV4ForCausalLM, not DeepseekV4Model. The inner load_weights silently drops it (not in params_dict). Extract it in the outer loader, load it directly, then forward the rest to the inner model.
lm_head lives on DeepseekV4ForCausalLM, not DeepseekV4Model. The inner load_weights silently drops it (not in params_dict). Extract it in the outer loader, load it directly, then forward the rest to the inner model.