def METHOD_NAME(self, model, sample, reduce=True):
    """Compute the loss for the given sample.
    Returns a tuple with three elements:
    1) the loss here is summed, different from the adaptive span code
    2) the sample size, which is used as the denominator for the gradient
    3) logging outputs to display while training
    """
    net_output = model(**sample["net_input"])
    loss, aux_loss, avg_span, max_span = self.compute_loss(
        model, net_output, sample, reduce=reduce
    )
    sample_size = (
        sample["target"].size(0) if self.sentence_avg else sample["ntokens"]
    )
    loss /= sample_size
    total_loss = loss + aux_loss
    sample_size = 1
    logging_output = {
        "loss": loss.data,
        "ntokens": sample["ntokens"],
        "nsentences": sample["target"].size(0),
        "sample_size": sample_size,
        "total_loss": total_loss.data,
        "avg_span": avg_span * sample_size,
        "max_span": max_span * sample_size,
    }
    return total_loss, sample_size, logging_output