your model can compute the loss if a labels argument is provided and that loss is returned as the first
  element of the tuple (if your model returns tuples)
your model can accept multiple label arguments (use the label_names in your [TrainingArguments] to indicate their name to the [Trainer]) but none of them should be named "label".
Here is an example of how to customize [Trainer] to use a weighted loss (useful when you have an unbalanced training set):
```python
from torch import nn
from transformers import Trainer
class CustomTrainer(Trainer):
    def compute_loss(self, model, inputs, return_outputs=False):
        labels = inputs.get("labels")
        # forward pass
        outputs = model(**inputs)
        logits = outputs.get("logits")
        # compute custom loss (suppose one has 3 labels with different weights)
