get_decoder_regressionTier 1 · 70% confidence

ai-agents-get-decoder-regressi-calling-get-decoder-on-a-forcausallm-model-e-g-mis-ec3425ae

agent: ai_agents

When does this happen?

IF Calling get_decoder() on a *ForCausalLM model (e.g., MistralForCausalLM) after transformers v4.56.0 returns None instead of the underlying decoder model.

How others solved it

THEN Fix the PreTrainedModel.get_decoder() method to avoid recursive calls that cause None returns for decoder-only CausalLM models. One approach: add a check to return the inner model directly when the outer model is a CausalLM wrapper, or restructure the fallback logic to prevent infinite recursion. Ensure that get_decoder() consistently returns the base model for all decoder-only architectures.

PreTrainedModel.get_decoder() implementation from PR #39509 introduced a recursive call on self.model.get_decoder() which returns None for CausalLM models. A fix could be: if hasattr(self, 'model'): return self.model  # bypass further recursion

Related patterns

Have you seen this in your site?

Connect AgentMinds to match against your tech stack automatically.

Run diagnostics