liblloyal 1.0.0
Branched Inference for llama.cpp
Loading...
Searching...
No Matches
lloyal::metrics Namespace Reference

Namespaces

namespace  detail
 

Classes

struct  BranchMetricsState
 Unified model + sampling perplexity tracker. More...
 
struct  PerplexityState
 Rolling NLL accumulator for perplexity computation. More...
 

Enumerations

enum class  Base { Nats , Bits }
 

Functions

float model_surprisal (const float *logits, int n_vocab, int picked_id, Base base=Base::Nats)
 
float model_entropy (const float *logits, int n_vocab, Base base=Base::Nats)
 
float sampling_surprisal (const float *candidate_logits, const int32_t *candidate_ids, int n_candidates, int picked_id, Base base=Base::Nats)
 Compute sampling-level surprisal for picked token.
 
float sampling_entropy (const float *candidate_logits, int n_candidates, Base base=Base::Nats)
 Compute sampling-level entropy of candidate distribution.
 

Enumeration Type Documentation

◆ Base

enum class lloyal::metrics::Base
strong
Enumerator
Nats 
Bits 
Examples
/home/runner/work/liblloyal/liblloyal/include/lloyal/metrics.hpp.

Definition at line 44 of file metrics.hpp.

Function Documentation

◆ model_entropy()

float lloyal::metrics::model_entropy ( const float *  logits,
int  n_vocab,
Base  base = Base::Nats 
)
inline

◆ model_surprisal()

float lloyal::metrics::model_surprisal ( const float *  logits,
int  n_vocab,
int  picked_id,
Base  base = Base::Nats 
)
inline

◆ sampling_entropy()

float lloyal::metrics::sampling_entropy ( const float *  candidate_logits,
int  n_candidates,
Base  base = Base::Nats 
)
inline

Compute sampling-level entropy of candidate distribution.

Measures uncertainty within the filtered candidate set (after top-k/p/temperature). Use to monitor distribution health after grammar masks or constraints.

Parameters
candidate_logitsLogits of candidate tokens (post-filter)
n_candidatesNumber of candidates
baseNats (natural log) or Bits (log₂)
Returns
Entropy in nats or bits (≥0, Infinity if invalid)
Examples
/home/runner/work/liblloyal/liblloyal/include/lloyal/metrics.hpp.

Definition at line 272 of file metrics.hpp.

◆ sampling_surprisal()

float lloyal::metrics::sampling_surprisal ( const float *  candidate_logits,
const int32_t *  candidate_ids,
int  n_candidates,
int  picked_id,
Base  base = Base::Nats 
)
inline

Compute sampling-level surprisal for picked token.

Measures uncertainty within the filtered candidate set (after top-k/p/temperature). Lower than model surprisal if filters removed low-probability tokens.

Use to monitor runtime hazard when grammar/constraints narrow the distribution.

Parameters
candidate_logitsLogits of candidate tokens (post-filter)
candidate_idsToken IDs of candidates
n_candidatesNumber of candidates
picked_idToken ID that was sampled
baseNats (natural log) or Bits (log₂)
Returns
Surprisal in nats or bits (≥0, Infinity if invalid)
Examples
/home/runner/work/liblloyal/liblloyal/include/lloyal/branch.hpp, and /home/runner/work/liblloyal/liblloyal/include/lloyal/metrics.hpp.

Definition at line 226 of file metrics.hpp.