Remove/ablating particular head in a Transformer model
### System Info

```shell
I am currently working on some research in which I am to analyze the important heads, which is similar to the work done in the paper "Are Sixteen Heads Really Better than One?". Basically, what they did is to iteratively ablate each head of each layer one by one, and then observe the size of the reduction in the final model prediction performance. 
If the prediction metric value obtained after ablating a head is much lower than the original model in that all heads are used, it means that the ablated head is important.
The approach they used is to time 0 to the output of the ablated head and time 1 to the rest of the considered heads. 
I am wondering if the Transformer models in huggingface could do something similar to this to evaluate the importance of each head? 

(Sorry to raise this as a bug. If I should not raise this question as bug, please advise and I will convert this from Bug to others.)
```


### Who can help?

_No response_

### Information

- [ ] The official example scripts
- [ ] 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

No reproduction for this, maybe link to the paper's repo: https://github.com/pmichel31415/are-16-heads-really-better-than-1 


### Expected behavior

```shell
Hope someone can give me indication how to evaluate which head is relatively more important in a Transformer model. 

Thanks
```

I resolved this problem. Refer to Issue 850. https://github.com/huggingface/transformers/issues/850

Thanks 