Skip to content

AvgOptimizerTotalTokensPerCall metric

Bases: LMOptimizersOperationalMetric

Average total tokens per LM call during the optimizer step.

Example:

program.compile(
    metrics=[
        synalinks.metrics.AvgOptimizerTotalTokensPerCall(),
    ],
)
Source code in synalinks/src/metrics/lm_metrics.py
@synalinks_export("synalinks.metrics.AvgOptimizerTotalTokensPerCall")
class AvgOptimizerTotalTokensPerCall(LMOptimizersOperationalMetric):
    """Average total tokens per LM call during the optimizer step.

    Example:

    ```python
    program.compile(
        metrics=[
            synalinks.metrics.AvgOptimizerTotalTokensPerCall(),
        ],
    )
    ```
    """

    def __init__(self, name="avg_optimizer_total_tokens_per_call"):
        super().__init__(name=name)

    def result(self):
        calls = self._delta("calls")
        if calls <= 0:
            return 0.0
        return self._delta("tokens") / calls