You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
File "examples/scripts/reward_trainer_summarize.py", line 165, in <module>
trainer.train()
File "/admin/home/costa/.pyenv/versions/3.8.11/envs/trl/lib/python3.8/site-packages/transformers/trainer.py", line 1506, in train
return inner_training_loop(
File "/admin/home/costa/.pyenv/versions/3.8.11/envs/trl/lib/python3.8/site-packages/transformers/trainer.py", line 1801, in _inner_training_loop
tr_loss_step = self.training_step(model, inputs)
File "/admin/home/costa/.pyenv/versions/3.8.11/envs/trl/lib/python3.8/site-packages/transformers/trainer.py", line 2659, in training_step
self.accelerator.backward(loss)
File "/admin/home/costa/.pyenv/versions/3.8.11/envs/trl/lib/python3.8/site-packages/accelerate/accelerator.py", line 1923, in backward
loss.backward(**kwargs)
File "/admin/home/costa/.pyenv/versions/3.8.11/envs/trl/lib/python3.8/site-packages/torch/_tensor.py", line 487, in backward
torch.autograd.backward(
File "/admin/home/costa/.pyenv/versions/3.8.11/envs/trl/lib/python3.8/site-packages/torch/autograd/__init__.py", line 200, in backward
Variable._execution_engine.run_backward( # Calls into the C++ engine to run the backward pass
File "/admin/home/costa/.pyenv/versions/3.8.11/envs/trl/lib/python3.8/site-packages/torch/autograd/function.py", line 274, in apply
Traceback (most recent call last):
File "examples/scripts/reward_trainer_summarize.py", line 165, in <module>
return user_fn(self, *args)
File "/admin/home/costa/.pyenv/versions/3.8.11/envs/trl/lib/python3.8/site-packages/torch/utils/checkpoint.py", line 157, in backward
torch.autograd.backward(outputs_with_grad, args_with_grad)
File "/admin/home/costa/.pyenv/versions/3.8.11/envs/trl/lib/python3.8/site-packages/torch/autograd/__init__.py", line 200, in backward
trainer.train()
File "/admin/home/costa/.pyenv/versions/3.8.11/envs/trl/lib/python3.8/site-packages/transformers/trainer.py", line 1506, in train
Variable._execution_engine.run_backward( # Calls into the C++ engine to run the backward pass
RuntimeError: Expected to mark a variable ready only once. This error is caused by one of the following reasons: 1) Use of a module parameter outside the `forward` function. Please make sure model parameters are not shared across multiple concurrent forward-backward passes. or try to use _set_static_graph() as a workaround if this module graph does not change during training loop.2) Reused parameters in multiple reentrant backward passes. For example, if you use multiple `checkpoint` functions to wrap the same part of your model, it would result in the same set of parameters been used by different reentrant backward passes multiple times, and hence marking a variable ready multiple times. DDP does not support such use cases in default. You can try to use _set_static_graph() as a workaround if your module graph does not change over iterations.
Parameter at index 433 has been marked as ready twice. This means that multiple autograd engine hooks have fired for this particular parameter during this iteration. You can set the environment variable TORCH_DISTRIBUTED_DEBUG to either INFO or DETAIL to print parameter names for further debugging.
The text was updated successfully, but these errors were encountered:
Hi @vwxyzjn
If you install trl, peft and transformers from source, passing gradient_checkpointing_kwargs={"use_reentrant": False} to RewardConfig should fix the issue. We will have releases in each of these libraries soon !
To repro
accelerate launch --num_processes 8 examples/scripts/reward_modeling.py
https://wandb.ai/costa-huang/huggingface/runs/ordvc1sq/logs?workspace=user-costa-huang
The text was updated successfully, but these errors were encountered: