Unverified Commit 419d979f authored by Karim Foda's avatar Karim Foda Committed by GitHub
Browse files

Fix gradient checkpointing bug in Speecht5 (#22080)



* Fix gradient checkpointing bug in Speecht5

* Update modeling_speech_to_text.py

* Update src/transformers/models/speech_to_text/modeling_speech_to_text.py

* Fix change errors

---------
Co-authored-by: default avatarJoao Gante <joaofranciscocardosogante@gmail.com>
parent 7014fc36
...@@ -1027,7 +1027,7 @@ class Speech2TextDecoder(Speech2TextPreTrainedModel): ...@@ -1027,7 +1027,7 @@ class Speech2TextDecoder(Speech2TextPreTrainedModel):
if self.gradient_checkpointing and self.training: if self.gradient_checkpointing and self.training:
if use_cache: if use_cache:
logger.warning_once( logger.warning_once(
"`use_cache = True` is incompatible with gradient checkpointing. Setting `use_cache =" " False`..." "`use_cache = True` is incompatible with gradient checkpointing. Setting `use_cache = False`..."
) )
use_cache = False use_cache = False
......
...@@ -1662,6 +1662,13 @@ class SpeechT5Decoder(SpeechT5PreTrainedModel): ...@@ -1662,6 +1662,13 @@ class SpeechT5Decoder(SpeechT5PreTrainedModel):
deepspeed_zero3_is_enabled = is_deepspeed_zero3_enabled() deepspeed_zero3_is_enabled = is_deepspeed_zero3_enabled()
if self.gradient_checkpointing and self.training:
if use_cache:
logger.warning_once(
"`use_cache=True` is incompatible with gradient checkpointing. Setting `use_cache=False`..."
)
use_cache = False
# decoder layers # decoder layers
all_hidden_states = () if output_hidden_states else None all_hidden_states = () if output_hidden_states else None
all_self_attentions = () if output_attentions else None all_self_attentions = () if output_attentions else None
...@@ -1691,11 +1698,6 @@ class SpeechT5Decoder(SpeechT5PreTrainedModel): ...@@ -1691,11 +1698,6 @@ class SpeechT5Decoder(SpeechT5PreTrainedModel):
past_key_value = past_key_values[idx] if past_key_values is not None else None past_key_value = past_key_values[idx] if past_key_values is not None else None
if self.gradient_checkpointing and self.training: if self.gradient_checkpointing and self.training:
if use_cache:
logger.warning_once(
"`use_cache=True` is incompatible with gradient checkpointing. Setting `use_cache=False`..."
)
use_cache = False
def create_custom_forward(module): def create_custom_forward(module):
def custom_forward(*inputs): def custom_forward(*inputs):
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment