Contrastive Language Models score a state against a set of candidate actions with a contrastive objective. Two projection heads on frozen Qwen3-8B embeddings, trained with InfoNCE; clm-serve maps Choice, Score and Noul onto candidate ranking.
A Gemma 4 12B fine-tune for typed decisions that also chats and reads images. Ships as GGUF for llama.cpp, holds a 64K context on a 16 GB GPU, and serves /v1/systemone next to /v1/chat/completions.
Decides
choice, score, noul, rank, classify, route
choice, score, noul, classify, route
Architecture
clm
winnow
Fine-tuned from
qwen/qwen3-8b
google/gemma-4-12b-it
License
apache-2.0
apache-2.0
Availability
Open weights
Open weights
Hosted by
—
—
Input price
—
—
Decision accuracy
—
85.7%
Calibration error
—
—
Valid action rate
—
—
Median latency
—
143 ms
p95 latency
—
—
Figures are from each model’s manifest; accuracy and latency are what the publishers report, on their own suites and hardware. Add a third model.
Questions
What is the difference between clm and winnow?
clm is from Contrastive-LM and winnow from EldanRing. Both have open weights you can download and run. Both answer choice, score, noul, classify and route questions. Only clm answers rank. clm is the smaller model, at 8.0B parameters to 12B.
Which is more accurate, clm or winnow?
Only winnow publishes an accuracy figure (85.7% on JevBench public subset (231 items), Q8_0); clm does not, so there is no comparison to make without your own test.
Which is cheaper, clm or winnow?
clm: Free (open weights). winnow: Free (open weights). Open weights cost nothing per call beyond your own hardware.
Can I run clm or winnow locally?
Yes, both: systemone pull contrastive-lm/clm and systemone pull eldanring/winnow download the weights.