Join the conversation

Join the community of Machine Learners and AI enthusiasts.

Sign Up
dejanseo 
posted an update 3 days ago
Post
2930
Ox Alpha is GLM
https://dejan.ai/blog/ox-alpha/

A parameter-free k-nearest-neighbour classifier over Normalized Compression Distance (Lee et al., MobiSys ’24, Eq. 1, built on Jiang et al.'s gzip-based text classifier). NCD compares two texts by how well they compress together. C(s) is the gzip-compressed length of s. Text sharing an author's patterns compresses better together than text from a different author, so the method needs no model weights and no embeddings.

The reference corpus covers 60 prompts (essays, code, emails, dialogue, poetry) answered by five known models: GPT-5.5, Claude Opus 5, Gemini 3.7 Flash, Gemini 3.1 Pro Preview, and GLM-5.3, for 293 reference texts. ox-alpha answered the first 13 of those prompts, plus one additional novel prompt never given to the reference models beforehand, for 14 queries in total. Each query was classified against the reference corpus independently, with a k-nearest-neighbour vote (k=5):

Model ox-alpha samples matched
GLM-5.3 7 / 14
Claude Opus 5 3 / 14
Gemini 3.7 Flash 2 / 14
GPT-5.5 1 / 14
Gemini 3.1 Pro Preview 1 / 14

GLM-5.3 wins at every k tested: 7/14 at k=3, 7/14 at k=5, 6/14 at k=7, 7/14 at k=9. Claude Opus 5 is the consistent second place.

Ox Alpha has Image and Video input whilst GLM 5.3 doesn't

·

Correct. 5.3 was my reference text that got matched as the closest. I think they're about to release GLM with a visual tower.

The injection leg is the result. The NCD leg agrees with it for a reason that would also make it agree with the wrong answer.

Your conclusion is very likely right, and it is right because the model said so once the system prompt was fed back to it. I am only pricing the second leg, because you present it as reaching the answer independently, and I do not think 7/14 carries that.

A plurality vote over a closed reference set cannot abstain

Five classes, k-nearest-neighbour, majority of the k. There is no "none of these" bin, so every query lands on someone and the top count is bounded below by 14/5. The question is not whether GLM-5.3 won. It is what the winner's count looks like when the true author is not in the reference corpus at all.

I measured that, on real text where I know the answer.

Corpus: 163 comment bodies from six HF post threads, 6 distinct authors, true author known. Your metric exactly, Lee et al. Eq. 1 over gzip at level 9. Balanced the way yours is: 5 reference classes, 10 texts each, 14 queries, k=5, bootstrapped 400 times over which texts get drawn.

held-out author ABSENT from the 5 reference classes, 2400 trials
  median top count            7.0 / 14
  mean top count              7.88 / 14
  P(top >= 6)                 0.657
  P(top >= 7)                 0.527
  P(top >= 9)                 0.321

7/14 is the median of the null where the true author is missing entirely.

The control, same protocol

true author IS one of the 5 reference classes
  median top count           14.0 / 14
  mean top count             11.47 / 14
  winner is the true author  0.79 .. 1.00 per author

When the method has the right answer available and can find it, it does not return 7. It returns 11 to 14. Your observed 7/14 sits below my absent-author median and well below my present-author mean.

What the null does to the p-value

Against uniform random assignment over 5 classes:

P(X >= 7 | p = 0.2, n = 14)      0.0116     GLM named in advance
P(max of 5 cells >= 7)           0.0580     winner chosen post hoc

Against the null actually measured on labelled text:

P(top >= 7 | true author absent) 0.527

So the uniform null overstates this by about 9x, and the honest reading of 7/14 on its own is a coin flip.

The number that is free and missing

You have 293 labelled reference texts. Leave-one-out kNN accuracy over them costs one loop and no new data, and it is the scale that makes 7/14 readable. Right now there is nothing to compare it to. If self-accuracy came back at 0.50, then 7/14 is exactly the expected value and carries no information; if it came back at 0.85, 7/14 is evidence against GLM. Same number, opposite readings, and the corpus that decides which is already on your disk.

The stronger version is a held-out-model null: drop GLM-5.3 from the references, re-run the same 14 ox-alpha queries against the remaining four, and see how confident the vote still looks. If a four-class run still produces a 7-ish plurality, the 7 was never about GLM.

Three smaller things

The four k values are one experiment read four times. 7/7/6/7 at k=3/5/7/9 is the same 14 queries against the same distance matrix; changing k re-weights an ordering it never recomputes, so agreement across k is what you would expect even if the ordering is wrong. It is not four replications.

293 is not 60 x 5. Seven references are missing and the post does not say from which model. kNN plurality is biased against whichever class is short, so that gap has a direction.

And the metric has a hard floor set by length alone. Since C(xy) >= max(C(x), C(y)), NCD is bounded below by 1 - min(C)/max(C). I checked it rather than assuming: 4,000 real pairs, zero violations, and the floor alone explains r-squared 0.551 of NCD variance. It is not the whole metric, the 1-NN agrees with a pure length matcher on only 4.3% of queries, so NCD is doing real work. But across my six authors median compressed size runs 602 to 4,145 bytes, a 6.9x spread, and a candidate far from the query in compressed size is structurally excluded from the k nearest before style is ever consulted. Per-model compressed-length distributions would show whether GLM-5.3 simply sits nearest ox-alpha's verbosity.

Where I might be wrong

My corpus is human technical prose, not model responses to controlled prompts, so do not carry my magnitudes over to yours. Yours is also better controlled on topic than mine: all five models answered the same 60 prompts, so for a given prompt topic cannot favour one model, whereas my threads leak author identity through subject matter. The absolute numbers are mine, not yours.

What I think does carry over is structural. A closed-set plurality with no abstain needs a null measured on the same corpus, and the post reports a uniform one instead.

Also worth saying: your 14th query is a different experiment from the other 13. It is the one prompt no reference model answered, so it has no same-prompt neighbours at all. Thirteen queries plus one.

Does the leave-one-out accuracy on the 293 already exist somewhere, or is the held-out-GLM run the cheaper thing to try first?

·

The same classifier I used to identify ox alpha as GLM also classified the above reply as Claude generated text? True or false?

Nearest neighbours for your text

Model NCD

1 Claude 0.9274
2 Claude 0.9328
3 Claude 0.9344
4 Claude 0.9369
5 Claude 0.9385

image

What if GLM is just the base for whatever this is à la Composer 👀

·

I would be delighted if that was the case.