NEW sol-metric 0.1.1 is live on PyPI ↗

MEASURE THE GAP

SLICED OPTIMAL TRANSPORT FOR LANGUAGE

Meet SOL: a sample-based distance between generated and reference text that treats each text as a distribution over token states. It works even when model likelihoods are unavailable.

▧SAMPLE BASED
⁙USE ALL HIDDEN TOKENS
⇉DOUBLE SLICED WASSERSTEIN
↕EASY TO EVALUATE

01 BENCHMARK RESULTS

Evaluate language models on OpenWebText.

View source table ↗

OpenWebText leaderboard

5,000SAMPLES / CORPUS
1,024TOKEN HORIZON
↓ LOWER SOL IS BETTER
How to read these results

Reference = the text to match. G uses held-out GPT-2-packed OpenWebText. E uses text decoded from ELF’s training corpus. B uses held-out OpenWebText in BD3-LM’s training format, without block-edge tokens. Every row carries its reference badge, G, E or B. All references share one SOL ranking. Rows are sorted together by the selected column.

Encoder = the token representation. Dream 7B and GPT-2 Large turn text into hidden token states before SOL compares them. Select one encoder for a comparison; their raw score scales differ. Dream 7B is selected by default.

Real–real control = sampling variation. Two finite samples of real text still differ. The control gives context for G and E; the table has no real–real control for B. Lower SOL means closer to that reference; it is not an individual text quality grade.

G GPT-2-packed OpenWebTextE ELF OpenWebTextB BD3-packed OpenWebText

G, E and B identify the reference corpus used for each score. Rank numbers run across all references.

Select a model for its family, perplexity, entropy, and full run details.

SOL benchmark results. Rows are sorted together by the selected metric. G and E badges identify different reference corpora. Ranks are based on ascending SOL across the selected references for the chosen encoder. Select a model for run details.
RANKMODEL / SAMPLING SETTINGFAMILYDetails
Loading benchmark results…

Loading configurations…

01 / 01

Mean ± population standard deviation across 9 direction/GP seed pairs. Compare SOL within the same reference and encoder; scales differ across encoders. Sampling budgets and training setups vary. Snapshot: 26 September 2026.

02 GET STARTED

EVALUATE
YOUR MODEL.

Bring two text corpora. Get one distributional distance.
SOL’s implementation is the sol-metric Python package on PyPI, imported as sol_metric.

pip install · CPU & CUDA · Apache 2.0
RUN DETAILS

PASS IT ON

Cite SOL

@misc{kornhardt2026solmeasuringgapstext,
      title={SOL: Measuring Gaps between Text Distributions by Double Sliced Wasserstein Metrics},
      author={Gregor Kornhardt and Moritz Piening and Jannis Chemseddine and Gabriele Steidl},
      year={2026},
      eprint={2610.06513},
      archivePrefix={arXiv},
      primaryClass={cs.CL},
      url={https://arxiv.org/abs/2610.06513},
}