def METHOD_NAME(self) -> None:
    from torch.optim import SGD
    from torchtext.models import T5Conf, T5Model, T5Bundle
    torch.manual_seed(123)
    def _train(model):
        optim = SGD(model.parameters(), lr=1)
        model_input = torch.tensor([[1, 2, 3, 4, 5]]).to(device=self.device)
        target = torch.tensor([1]).to(device=self.device)
        output = model(model_input)["decoder_output"]
        logits = F.log_softmax(output[:, -1], dim=-1)
        loss = F.cross_entropy(logits, target)
        loss.backward()
        optim.step()
    dummy_conf = T5Conf(
        encoder_only=False,
        linear_head=True,
        vocab_size=10,
        embedding_dim=16,
        ffn_dimension=64,
        num_attention_heads=2,
        num_encoder_layers=2,
        num_decoder_layers=2,
        training=True,
    )
    dummy_model = T5Model(dummy_conf)
    model = T5Bundle.build_model(
        config=dummy_conf,
        freeze_model=False,
        checkpoint=dummy_model.state_dict(),
    )
    model.to(device=self.device, dtype=self.dtype)
    current_state_dict = copy.deepcopy(model.state_dict())
    _train(model)
    self.assertNotEqual(model.state_dict(), current_state_dict)