-
Notifications
You must be signed in to change notification settings - Fork 10
Open
Labels
bugSomething isn't workingSomething isn't workingenhancementNew feature or requestNew feature or request
Milestone
Description
Hi, I attempted to finetune the π₀ model on the genmanip-demo dataset using LoRA, configured via the YAML config script.
However, training fails with the following error:
Traceback (most recent call last):
File "/data/internmanip/.venv/model/lib/python3.10/site-packages/peft/peft_model.py", line 824, in __getattr__
return super().__getattr__(name) # defer to nn.Module's logic
File "/data/internmanip/.venv/model/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1931, in __getattr__
raise AttributeError(
AttributeError: 'PeftModelForCausalLM' object has no attribute 'prepare_input'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/data/internmanip/.venv/model/lib/python3.10/site-packages/peft/tuners/lora/model.py", line 371, in __getattr__
return super().__getattr__(name) # defer to nn.Module's logic
File "/data/internmanip/.venv/model/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1931, in __getattr__
raise AttributeError(
AttributeError: 'LoraModel' object has no attribute 'prepare_input'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/data/internmanip/scripts/train/train.py", line 366, in <module>
main(config)
File "/data/internmanip/scripts/train/train.py", line 241, in main
trainer.train(resume_from_checkpoint=training_args.resume_from_checkpoint)
File "/data/internmanip/internmanip/trainer/base.py", line 160, in train
return super().train(resume_from_checkpoint, trial, ignore_keys_for_eval, **kwargs)
File "/data/internmanip/.venv/model/lib/python3.10/site-packages/transformers/trainer.py", line 2245, in train
return inner_training_loop(
File "/data/internmanip/.venv/model/lib/python3.10/site-packages/transformers/trainer.py", line 2560, in _inner_training_loop
tr_loss_step = self.training_step(model, inputs, num_items_in_batch)
File "/data/internmanip/.venv/model/lib/python3.10/site-packages/transformers/trainer.py", line 3736, in training_step
loss = self.compute_loss(model, inputs, num_items_in_batch=num_items_in_batch)
File "/data/internmanip/internmanip/trainer/base.py", line 76, in compute_loss
outputs = model(inputs)
File "/data/internmanip/.venv/model/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1736, in _wrapped_call_impl
return self._call_impl(*args, **kwargs)
File "/data/internmanip/.venv/model/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1747, in _call_impl
return forward_call(*args, **kwargs)
File "/data/internmanip/.venv/model/lib/python3.10/site-packages/torch/nn/parallel/distributed.py", line 1643, in forward
else self._run_ddp_forward(*inputs, **kwargs)
File "/data/internmanip/.venv/model/lib/python3.10/site-packages/torch/nn/parallel/distributed.py", line 1459, in _run_ddp_forward
return self.module(*inputs, **kwargs) # type: ignore[index]
File "/data/internmanip/.venv/model/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1736, in _wrapped_call_impl
return self._call_impl(*args, **kwargs)
File "/data/internmanip/.venv/model/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1747, in _call_impl
return forward_call(*args, **kwargs)
File "/data/internmanip/.venv/model/lib/python3.10/site-packages/accelerate/utils/operations.py", line 823, in forward
return model_forward(*args, **kwargs)
File "/data/internmanip/.venv/model/lib/python3.10/site-packages/accelerate/utils/operations.py", line 811, in __call__
return convert_to_fp32(self.model_forward(*args, **kwargs))
File "/data/internmanip/.venv/model/lib/python3.10/site-packages/torch/amp/autocast_mode.py", line 44, in decorate_autocast
return func(*args, **kwargs)
File "/data/internmanip/internmanip/utils/peft.py", line 7, in _forward
backbone_inputs, action_inputs = model.prepare_input(inputs)
File "/data/internmanip/.venv/model/lib/python3.10/site-packages/peft/peft_model.py", line 828, in __getattr__
return getattr(self.base_model, name)
File "/data/internmanip/.venv/model/lib/python3.10/site-packages/peft/tuners/lora/model.py", line 375, in __getattr__
return getattr(self.model, name)
File "/data/internmanip/.venv/model/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1931, in __getattr__
raise AttributeError(
AttributeError: 'PI0Policy' object has no attribute 'prepare_input'
[rank0]: Traceback (most recent call last):
[rank0]: File "/data/internmanip/.venv/model/lib/python3.10/site-packages/peft/peft_model.py", line 824, in __getattr__
[rank0]: return super().__getattr__(name) # defer to nn.Module's logic
[rank0]: File "/data/internmanip/.venv/model/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1931, in __getattr__
[rank0]: raise AttributeError(
[rank0]: AttributeError: 'PeftModelForCausalLM' object has no attribute 'prepare_input'
[rank0]: During handling of the above exception, another exception occurred:
[rank0]: Traceback (most recent call last):
[rank0]: File "/data/internmanip/.venv/model/lib/python3.10/site-packages/peft/tuners/lora/model.py", line 371, in __getattr__
[rank0]: return super().__getattr__(name) # defer to nn.Module's logic
[rank0]: File "/data/internmanip/.venv/model/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1931, in __getattr__
[rank0]: raise AttributeError(
[rank0]: AttributeError: 'LoraModel' object has no attribute 'prepare_input'
[rank0]: During handling of the above exception, another exception occurred:
[rank0]: Traceback (most recent call last):
[rank0]: File "/data/internmanip/scripts/train/train.py", line 366, in <module>
[rank0]: main(config)
[rank0]: File "/data/internmanip/scripts/train/train.py", line 241, in main
[rank0]: trainer.train(resume_from_checkpoint=training_args.resume_from_checkpoint)
[rank0]: File "/data/internmanip/internmanip/trainer/base.py", line 160, in train
[rank0]: return super().train(resume_from_checkpoint, trial, ignore_keys_for_eval, **kwargs)
[rank0]: File "/data/internmanip/.venv/model/lib/python3.10/site-packages/transformers/trainer.py", line 2245, in train
[rank0]: return inner_training_loop(
[rank0]: File "/data/internmanip/.venv/model/lib/python3.10/site-packages/transformers/trainer.py", line 2560, in _inner_training_loop
[rank0]: tr_loss_step = self.training_step(model, inputs, num_items_in_batch)
[rank0]: File "/data/internmanip/.venv/model/lib/python3.10/site-packages/transformers/trainer.py", line 3736, in training_step
[rank0]: loss = self.compute_loss(model, inputs, num_items_in_batch=num_items_in_batch)
[rank0]: File "/data/internmanip/internmanip/trainer/base.py", line 76, in compute_loss
[rank0]: outputs = model(inputs)
[rank0]: File "/data/internmanip/.venv/model/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1736, in _wrapped_call_impl
[rank0]: return self._call_impl(*args, **kwargs)
[rank0]: File "/data/internmanip/.venv/model/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1747, in _call_impl
[rank0]: return forward_call(*args, **kwargs)
[rank0]: File "/data/internmanip/.venv/model/lib/python3.10/site-packages/torch/nn/parallel/distributed.py", line 1643, in forward
[rank0]: else self._run_ddp_forward(*inputs, **kwargs)
[rank0]: File "/data/internmanip/.venv/model/lib/python3.10/site-packages/torch/nn/parallel/distributed.py", line 1459, in _run_ddp_forward
[rank0]: return self.module(*inputs, **kwargs) # type: ignore[index]
[rank0]: File "/data/internmanip/.venv/model/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1736, in _wrapped_call_impl
[rank0]: return self._call_impl(*args, **kwargs)
[rank0]: File "/data/internmanip/.venv/model/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1747, in _call_impl
[rank0]: return forward_call(*args, **kwargs)
[rank0]: File "/data/internmanip/.venv/model/lib/python3.10/site-packages/accelerate/utils/operations.py", line 823, in forward
[rank0]: return model_forward(*args, **kwargs)
[rank0]: File "/data/internmanip/.venv/model/lib/python3.10/site-packages/accelerate/utils/operations.py", line 811, in __call__
[rank0]: return convert_to_fp32(self.model_forward(*args, **kwargs))
[rank0]: File "/data/internmanip/.venv/model/lib/python3.10/site-packages/torch/amp/autocast_mode.py", line 44, in decorate_autocast
[rank0]: return func(*args, **kwargs)
[rank0]: File "/data/internmanip/internmanip/utils/peft.py", line 7, in _forward
[rank0]: backbone_inputs, action_inputs = model.prepare_input(inputs)
[rank0]: File "/data/internmanip/.venv/model/lib/python3.10/site-packages/peft/peft_model.py", line 828, in __getattr__
[rank0]: return getattr(self.base_model, name)
[rank0]: File "/data/internmanip/.venv/model/lib/python3.10/site-packages/peft/tuners/lora/model.py", line 375, in __getattr__
[rank0]: return getattr(self.model, name)
[rank0]: File "/data/internmanip/.venv/model/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1931, in __getattr__
[rank0]: raise AttributeError(
[rank0]: AttributeError: 'PI0Policy' object has no attribute 'prepare_input'Is prepare_input expected to be implemented by custom models for LoRA to work?
If so, could you provide guidance or examples on how to adapt custom policy classes (PI0Policy) to be compatible with LoRA?
If not, when might LoRA support for such models be added?
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't workingenhancementNew feature or requestNew feature or request