{"record":{"id":"0c9f26a022868298","repo":"hiyouga/LlamaFactory","slug":"please-update-transformers","errorCode":null,"errorMessage":"Please update `transformers`.","messagePattern":"Please update `transformers`\\.","errorType":"exception","errorClass":"AttributeError","httpStatus":null,"severity":"error","filePath":"src/llamafactory/train/dpo/trainer.py","lineNumber":90,"sourceCode":"        self._precomputed_eval_ref_log_probs = False\n        self._peft_has_been_casted_to_bf16 = False\n\n        self.ref_model = ref_model\n        self._stored_metrics = defaultdict(lambda: defaultdict(list))\n\n        # dpo hyperparams\n        self.beta = finetuning_args.pref_beta\n        self.loss_type = finetuning_args.pref_loss\n        self.ftx_gamma = finetuning_args.pref_ftx\n        self.bco_gemma = finetuning_args.pref_bco_weight\n        self.label_smoothing = finetuning_args.dpo_label_smoothing\n        self.simpo_gamma = finetuning_args.simpo_gamma\n        self.ld_alpha = finetuning_args.ld_alpha\n\n        Trainer.__init__(self, model=model, **kwargs)\n        self.model_accepts_loss_kwargs = False  # overwrite trainer's default behavior\n        if not hasattr(self, \"accelerator\"):\n            raise AttributeError(\"Please update `transformers`.\")\n\n        warnings.simplefilter(\"ignore\")  # remove gc warnings on ref model\n\n        if ref_model is not None:\n            if self.is_deepspeed_enabled:\n                if not (\n                    getattr(ref_model, \"is_loaded_in_8bit\", False) or getattr(ref_model, \"is_loaded_in_4bit\", False)\n                ):  # quantized models are already set on the correct device\n                    self.ref_model = prepare_deepspeed(self.ref_model, self.accelerator)\n            elif self.is_fsdp_enabled:\n                if self.accelerator.is_fsdp2:\n                    from accelerate.utils.fsdp_utils import fsdp2_prepare_model\n\n                    self.ref_model = fsdp2_prepare_model(self.accelerator, self.ref_model)\n                else:\n                    self.ref_model = prepare_fsdp(self.ref_model, self.accelerator)\n            else:\n                self.ref_model = self.accelerator.prepare_model(self.ref_model, evaluation_mode=True)","sourceCodeStart":72,"sourceCodeEnd":108,"githubUrl":"https://github.com/hiyouga/LlamaFactory/blob/f28afaf6355af515454dfb16c97d728307c93897/src/llamafactory/train/dpo/trainer.py#L72-L108","documentation":"Error \"Please update `transformers`.\" thrown in hiyouga/LlamaFactory.","triggerScenarios":"Thrown at src/llamafactory/train/dpo/trainer.py:90 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Upgrade transformers to a version whose Trainer sets self.accelerator (a recent 4.x release): pip install -U transformers."],"exampleFix":"pip install -U transformers","handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"f28afaf6355af515454dfb16c97d728307c93897","analyzedAt":"2026-08-14T21:57:28.298Z","schemaVersion":2},"datasetVersion":"2026-08-15T17:31:12.345Z"}