def METHOD_NAME(cls, logging_outputs) -> None:
    """Aggregate logging outputs from data parallel training."""
    loss_sum = utils.item(sum(log.get("loss", 0) for log in logging_outputs))
    ntokens = utils.item(sum(log.get("ntokens", 0) for log in logging_outputs))
    nsentences = utils.item(
        sum(log.get("nsentences", 0) for log in logging_outputs)
    )
    sample_size = utils.item(
        sum(log.get("sample_size", 0) for log in logging_outputs)
    )
    metrics.log_scalar(
        "loss",
        loss_sum / sample_size / math.log(2) if sample_size > 0 else 0.0,
        sample_size,
        round=3,
    )
    metrics.log_scalar("ntokens", ntokens)
    metrics.log_scalar("nsentences", nsentences)
    if sample_size != ntokens:
        metrics.log_scalar(
            "nll_loss",
            loss_sum / ntokens / math.log(2) if ntokens > 0 else 0.0,
            ntokens,
            round=3,
        )