DistributedDataParallel 没有 prepare_inputs_for_generation 属性:
当你使用 DistributedDataParallel (DDP) 时,模型被包装在 DDP 中,所有模型的方法都会被封装在 model.module 中。
因此,如果你要调用模型的自定义方法(如 prepare_inputs_for_generation),需要通过 model.module 来访问。
例如:
# 包装模型为 DDP
model = DDP(model, device_ids=[local_rank])
# 在调用 `prepare_inputs_for_generation` 时,通过 `model.module` 访问
model.module.prepare_inputs_for_generation(input_ids=...)