Skip to content

RewardEmbeddingThroughput metric

Bases: EmbeddingModelRewardsOperationalMetric

Embedding calls per second during reward computation.

Example:

program.compile(
    metrics=[
        synalinks.metrics.RewardEmbeddingThroughput(),
    ],
)
Source code in synalinks/src/metrics/em_metrics.py
@synalinks_export("synalinks.metrics.RewardEmbeddingThroughput")
class RewardEmbeddingThroughput(EmbeddingModelRewardsOperationalMetric):
    """Embedding calls per second during reward computation.

    Example:

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

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

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