From a3e49aae43a68db2bfc0ae4ad8db8c080a6f880c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B0=A2=E7=BF=8A=E5=87=A1?= Date: Fri, 28 Aug 2026 16:32:18 +0800 Subject: [PATCH] fix: use dtype instead of deprecated torch_dtype for transformers >= 4.56 config.torch_dtype and the torch_dtype keyword argument were deprecated in transformers 4.56 (PR #39782). Pass dtype based on the installed transformers version (packaging.version), falling back to torch_dtype on older versions. --- contrib/rlhflow/reward_modeling.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/contrib/rlhflow/reward_modeling.py b/contrib/rlhflow/reward_modeling.py index 7a5b2a8cc..d81451592 100644 --- a/contrib/rlhflow/reward_modeling.py +++ b/contrib/rlhflow/reward_modeling.py @@ -19,6 +19,15 @@ DatasetArguments, ModelArguments, ) +import transformers +from packaging.version import Version + +def _dtype_kwargs(dtype): + """`dtype` keyword of `from_pretrained` exists since transformers 4.56 (PR #39782); + older versions use `torch_dtype`.""" + if Version(transformers.__version__) >= Version("4.56"): + return {"dtype": dtype} + return {"torch_dtype": dtype} ## Prepare training_args pipeline_name = "finetuner" @@ -42,7 +51,7 @@ ) # trust_remote_code=True if you want to use chatglm model = AutoModelForSequenceClassification.from_pretrained( - model_args.model_name_or_path, num_labels=1, torch_dtype=torch.bfloat16 + model_args.model_name_or_path, num_labels=1, **_dtype_kwargs(torch.bfloat16), ) model_lora = get_peft_model(model, peft_config) model_lora.print_trainable_parameters()