Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BartForQuestionAnswering cannot train adapter #499

Open
4 tasks
LRY1994 opened this issue Feb 21, 2023 · 1 comment
Open
4 tasks

BartForQuestionAnswering cannot train adapter #499

LRY1994 opened this issue Feb 21, 2023 · 1 comment
Labels
bug Something isn't working do-not-stale This issue won't be automatically staled and closed after 90 days

Comments

@LRY1994
Copy link

LRY1994 commented Feb 21, 2023

Environment info

  • adapter-transformers version:
  • Platform:
  • Python version:
  • PyTorch version (GPU?):
  • Tensorflow version (GPU?):
  • Using GPU in script?:
  • Using distributed or parallel set-up in script?:

Information

Model I am using (BartForQuestionAnswering):
model = BartForQuestionAnswering.from_pretrained(args.base_model)

Language I am using the model on English

Adapter setup I am using (if any):
adapter_config= PrefixTuningConfig(flat=True, prefix_length=args.prefix_token_num)
adapter_config= PfeifferConfig(
reduction_factor=args.adapter_reduction_factor,
)

The problem arises when using:

  • the official example scripts: (give details below)
  • my own modified scripts: (give details below)

model = BartModel(config)
adapter_config= PrefixTuningConfig(flat=True, prefix_length=args.prefix_token_num)
model.add_adapter( args.adapter_names, config=adapter_config )
model.train_adapter( args.adapter_names)

model = BartForQuestionAnswering.from_pretrained(args.base_model)
model.load_adapter(adapter_dir, with_head=False,set_active=True)
model(**batch)

It comes:
Traceback (most recent call last):
File "./src/eval_extractive_qa/run.py", line 251, in
trainer.train()
File "/home/linry/prompt-closed-qa/src/eval_extractive_qa/utils/trainer.py", line 189, in train
tr_loss = self.train_epoch(train_dataloader,epoch)
File "/home/linry/prompt-closed-qa/src/eval_extractive_qa/utils/trainer.py", line 133, in train_epoch
outputs = train_model(
File "/data/linry/anaconda3/envs/py38/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1130, in _call_impl
return forward_call(*input, **kwargs)
File "/data/linry/anaconda3/envs/py38/lib/python3.8/site-packages/transformers/models/bart/modeling_bart.py", line 1665, in forward
outputs = self.model(
File "/data/linry/anaconda3/envs/py38/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1130, in _call_impl
return forward_call(*input, **kwargs)
File "/data/linry/anaconda3/envs/py38/lib/python3.8/site-packages/transformers/adapters/context.py", line 104, in wrapper_func
with cls(self, *args, **kwargs) as ctx:
File "/data/linry/anaconda3/envs/py38/lib/python3.8/site-packages/transformers/adapters/context.py", line 86, in init
model.forward_context(self, *args, **kwargs)
File "/data/linry/anaconda3/envs/py38/lib/python3.8/site-packages/transformers/adapters/model_mixin.py", line 787, in forward_context
context.prefix_states = self.base_model.prefix_tuning(*args, **kwargs)
File "/data/linry/anaconda3/envs/py38/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1130, in _call_impl
return forward_call(*input, **kwargs)
File "/data/linry/anaconda3/envs/py38/lib/python3.8/site-packages/transformers/adapters/prefix_tuning.py", line 218, in forward
prefix_states[name] = self.prefix_tuningsname
File "/data/linry/anaconda3/envs/py38/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1130, in _call_impl
return forward_call(input, **kwargs)
File "/data/linry/anaconda3/envs/py38/lib/python3.8/site-packages/transformers/adapters/prefix_tuning.py", line 116, in forward
return {k: v(batch_size) for k, v in self.items()}
File "/data/linry/anaconda3/envs/py38/lib/python3.8/site-packages/transformers/adapters/prefix_tuning.py", line 116, in
return {k: v(batch_size) for k, v in self.items()}
File "/data/linry/anaconda3/envs/py38/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1130, in _call_impl
return forward_call(input, **kwargs)
File "/data/linry/anaconda3/envs/py38/lib/python3.8/site-packages/transformers/adapters/prefix_tuning.py", line 52, in forward
key_values = self.control_trans(embs) # batch_size x prefix_length x n_layers
2
input_size
File "/data/linry/anaconda3/envs/py38/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1130, in _call_impl
return forward_call(*input, **kwargs)
File "/data/linry/anaconda3/envs/py38/lib/python3.8/site-packages/torch/nn/modules/container.py", line 139, in forward
input = module(input)
File "/data/linry/anaconda3/envs/py38/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1130, in _call_impl
return forward_call(*input, **kwargs)
File "/data/linry/anaconda3/envs/py38/lib/python3.8/site-packages/torch/nn/modules/linear.py", line 114, in forward
return F.linear(input, self.weight, self.bias)
RuntimeError: CUDA error: CUBLAS_STATUS_NOT_INITIALIZED when calling `cublasCreate(handle)

The tasks I am working on is:

  • an official GLUE/SQUaD task: (give the name)
  • my own task or dataset: (give details below)

To reproduce

Steps to reproduce the behavior:

Expected behavior

@LRY1994 LRY1994 added the bug Something isn't working label Feb 21, 2023
@adapter-hub-bert
Copy link
Member

This issue has been automatically marked as stale because it has been without activity for 90 days. This issue will be closed in 14 days unless you comment or remove the stale label.

@lenglaender lenglaender added do-not-stale This issue won't be automatically staled and closed after 90 days and removed Stale labels May 22, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working do-not-stale This issue won't be automatically staled and closed after 90 days
Projects
None yet
Development

No branches or pull requests

3 participants