{"record":{"id":"c57bd625775fd1a9","repo":"hiyouga/LlamaFactory","slug":"please-update-transformers-c57bd6","errorCode":null,"errorMessage":"Please update `transformers`.","messagePattern":"Please update `transformers`\\.","errorType":"exception","errorClass":"AttributeError","httpStatus":null,"severity":"error","filePath":"src/llamafactory/train/kto/trainer.py","lineNumber":92,"sourceCode":"        self._stored_metrics = defaultdict(lambda: defaultdict(list))\n\n        # kto hyperparams\n        self.beta = finetuning_args.pref_beta\n        self.desirable_weight = finetuning_args.kto_chosen_weight\n        self.undesirable_weight = finetuning_args.kto_rejected_weight\n        self.ftx_gamma = finetuning_args.pref_ftx\n        # trl\n        # Not all losses require a KL calculation\n        self.calculate_KL = True\n        if hasattr(self, \"loss_type\") and self.loss_type in [\"apo_zero_unpaired\"]:\n            self.calculate_KL = False\n        else:\n            self.loss_type = \"kto\"\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":74,"sourceCodeEnd":110,"githubUrl":"https://github.com/hiyouga/LlamaFactory/blob/f28afaf6355af515454dfb16c97d728307c93897/src/llamafactory/train/kto/trainer.py#L74-L110","documentation":"Error \"Please update `transformers`.\" thrown in hiyouga/LlamaFactory.","triggerScenarios":"Thrown at src/llamafactory/train/kto/trainer.py:92 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-15T22:17:37.221Z"}