At least one model's inference seems to have broken from transformers 4.29.2 -> 4.30.*
### System Info

- `transformers` version: 4.30.2
- Platform: Windows-10-10.0.19045-SP0
- Python version: 3.10.9
- Huggingface_hub version: 0.15.1
- Safetensors version: 0.3.1
- PyTorch version (GPU?): 1.13.1 (True)
- Tensorflow version (GPU?): not installed (NA)
- Flax version (CPU?/GPU?/TPU?): not installed (NA)
- Jax version: not installed
- JaxLib version: not installed
- Using GPU in script?: default setting ( I think it uses GPU )
- Using distributed or parallel set-up in script?: not sure what this is, but I think its N/A

### Who can help?

inference of the model [staka/fugumt-en-ja](https://huggingface.co/staka/fugumt-en-ja) using the "translation" pipeline has broken from 4.30.0 and above.
I don't know if this is expected, or if there are some new parameters I need to use, but using the default script from the readme no longer works. It results in gibberish. I have also confirmed that it works fine in 4.29.2.
I don't know what other models are affected.

### Information

- [X] The official example scripts
- [X] My own modified scripts

### Tasks

- [ ] An officially supported task in the `examples` folder (such as GLUE/SQuAD, ...)
- [ ] My own task or dataset (give details below)

### Reproduction

I have a slightly modified script to write the output to a txt file, since my windows commandline doesn't support Japanese, but I don't think that is relevant. Otherwise, the code is the same from the official readme of the model. Here is the code itself:

```
import pysbd
seg_en = pysbd.Segmenter(language="en", clean=False)

from transformers import pipeline
fugu_translator = pipeline('translation', model='staka/fugumt-en-ja')
txt = 'This is a cat. It is very cute.'
result = fugu_translator(seg_en.segment(txt))
print(result)
final = ''
for s in result:
    final += s['translation_text']
with open('./tmp.txt', "w", encoding="utf-8") as f:
    f.write(final)
```


in transformers 4.29.2 result is correct:
`これは猫です。とても可愛いです。`

in transformers 4.30.0 and above, result is gibberish:
`が必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となりますが必要となります伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる伝わる`

### Expected behavior

in transformers 4.29.2 result is correct:
`"これは猫です。とても可愛いです。"`

I expect the same behavior in 4.30.* and above.
Thanks for reporting. I confirm the issue could be reproduced.<|||||>cc @Narsil @ArthurZucker <|||||>I went forward to check which commit causing issue. It turns out to be

096f2cf12664bb7da41f89897d3a22966baee9b4

Tied weights load (#24310)

We will have to wait @sgugger to take a look.

(I can probably did what he has done for another model)<|||||>The fix will involve pushing a new model file to the Hub repo.

If you need to use this model/pipeline and can't stay with version `4.29`, I can help creating the new model file.
<|||||>cool, technically i can stay on 4.29 but its also nice to be able to do 4-bit inference by updating to 4.30.* . Maybe I can post on the model owners twitter to see if he wants to update his models.<|||||>The necessary step (required for some model after #24310) to update (some) model weights is only known by a few team member. I am not sure the repo. owner knows how to do it. I can open a Hub repo. PR however.<|||||>Ok I posted on his twitter and linked this thread. No idea if hes going to respond though.

He seems to have the most popular japanese/english translation models on huggingface, ja-en and en-ja looks like they got 9k-10k downloads in the past month, so I guess it would be good if they can be updated for the newest transformers. 

So this is not a temporary issue? Basically any models affected will need to update, otherwise all future versions of transformers won't work with them? Can you not make the tie weights thing a parameter or something, or does that actually break other stuff?<|||||>I created branch for a temporary fix. You can use it as 

```bash
pip uninstall transformers
pip install git+https://github.com/huggingface/transformers@temp_fix_marian#egg=transformers
```

with a slightly modified script

```python
def preprocess_state_dict_fn(state_dict):
    state_dict["lm_head.weight"] = state_dict["model.encoder.embed_tokens.weight"]
    return state_dict

model_kwargs = {"preprocess_state_dict_fn": preprocess_state_dict_fn}

import pysbd
seg_en = pysbd.Segmenter(language="en", clean=False)

from transformers import pipeline
fugu_translator = pipeline('translation', model='staka/fugumt-en-ja', model_kwargs=model_kwargs)
txt = 'This is a cat. It is very cute.'
result = fugu_translator(seg_en.segment(txt))
print(result)
final = ''
for s in result:
    final += s['translation_text']
with open('./tmp.txt', "w", encoding="utf-8") as f:
    f.write(final)
```<|||||>Please note this is not through a discussion with the team, and it's not clear yet how we will deal with this issue officially.

Let me know if the (temp) fix works.<|||||>ok I see. Thanks, the temp fix worked.<|||||>I was pinged, but I'm not sure why. Is this because this is related to weights tying ?

Anything I can do to help ?<|||||>@Narsil I don't know the technical details but the situation is that I found some models that were broken by presumably the weight tying, apparently this was also known as being related to marian or something like that.
ydshieh provided me with a workaround patch in huggingface that fixes the issue, but he doesn't know if thats going to make it into official releases.
The other alternative is that the affected model owners need to update their model weights.



Also, The creator of the model responded on twitter saying he wanted to fix the model so I think he might come to this issue. I'm not sure to what extent he knows english though.<|||||>@Narsil It's because this issue is shown with `pipeline` (that's why Amy pin you in the first place), but the root cause is the tie weights in `from_pretrained`.

No, you don't need to be involved :-)<|||||>The creator responded on twitter and said he'll try to fix the model: https://twitter.com/voleneko/status/1677545104037539841

by the way, as for the general issue of incompatibilities between versions, do you guys know if this is also the reason why tortoise-tts doesn't seem to work after 4.30.* also, or is that a separate issue?<|||||>@Disastorm 

Could you provide a link to `tortoise-tts` (It is a HF hub repo. right?)

So far we only see this issue on (a few ) marian model (checkpoints). But it might affect a few other model classes. <|||||>I've used tortoise's own library, but inside the library they reference the huggingface repo https://huggingface.co/jbetker/tortoise-tts-v2 .

So I don't know if its an issue with their library or not, but it does break starting from 4.30 but works on 4.29.2 also.

Here is an issue from their github:  https://github.com/neonbjb/tortoise-tts/issues/472
some kind of state dictionary errors related to gpt2 or something.

Here is their issue where they commit the solution ( forcing transformers==4.29.2 ): https://github.com/neonbjb/tortoise-tts/pull/508
<|||||>Hi @Disastorm 

It would be super great if you can take a look of what is the model used being not working anymore in 4.30 🙏 <|||||>I really dont know that much about this stuff, but from what I can tell, the tortoise library uses the .pth models here ( I'm not really sure what .pth models represent ): https://huggingface.co/jbetker/tortoise-tts-v2/tree/main/.models

The specific file that has the above error is the autoregressive.pth.
The .pth file is being loaded by a custom torch.nn.module called UnifiedVoice in the tortoise repo.
This module inside of it has a huggingface GPT2Model inside of it that is initialized here https://github.com/neonbjb/tortoise-tts/blob/82724cca5427ddf1570256e616d56b0ebb93e668/tortoise/models/autoregressive.py#L231C45-L231C45

I don't know how the torch.nn.modules work but I believe in the end what may be happening is that this UnifiedVoice module is using the GPT2Model to  "load_state_dict" on the autoregressive.pth file and thats where the difference between transformers 4.29.2 and 4.30.* is.<|||||>Tortoise is broken for 4.31.0 as well.
https://github.com/rsxdalv/tts-generation-webui/issues/106
https://github.com/neonbjb/tortoise-tts/issues/480<|||||>@rsxdalv 

If you can **translate** the issue in `tortoise` to a code snippet that only involves `transformers` stuff, we are more than happy to take a look and help. We don't really know how `tortoise` things work, like `UnifiedVoice `, `autoregressive.pth` and what's the checkpoint being used.<|||||>> @rsxdalv
> 
> If you can **translate** the issue in `tortoise` to a code snippet that only involves `transformers` stuff, we are more than happy to take a look and help. We don't really know how `tortoise` things work, like `UnifiedVoice `, `autoregressive.pth` and what's the checkpoint being used.

@sanchit-gandhi Just wanted to ask if perhaps you know the answer to this before I dig into it.