toph

@toph@feddit.uk · Joined ⁨Aug⁩ ⁨2026⁩

Replying to @⁨Kaligalis@lemmy.world⁩

That sounds a bit like it conflicts with the actual job of the LLM.

You’re right. But it’s designed in such a way that it only biases the choice between the statistically most likely candidates, so it’s not forcing a choice to a less optimal token. It’s biasing the choice between equally optimal tokens. So it doesn’t really affect the quality of the LLM’s output.

And the resulting watermark would be way too fuzzy to be actually useful for flagging anything as AI-generated.

It’s actually not that fuzzy. It’s the statistical equivalent to randomly guessing a 256-bit encyrption key. If you consider the algorithm operate on trigrams (sets of 3 words), then a 1000-word document contain 998 trigrams. Let’s say at each trigram the model has a choice between 16 equally likely candidate words, which is usually chosen at random according to the model temperature, now is also biased by the watermark hashing function.

The statistical likelihood of randomly making the same 1/16 choice as the watermark 998 times in a row is so extremely small it’s essentially impossible. Even if you rearrange the document, cut large portions, paste in other portions, rewrite some, you’re likely to leave in enough matching trigrams to make a statistically solid determination.

The main requirement is the text needs to be long enough… just a small sentence or snippet won’t be enough.

Having said that, it’s not that hard to defeat the watermark once you know how it’s done. If you know it operates on token trigrams, then you need to rewrite the document at the trigram level to break up those relationships.

Are they just trying to check a box on some compliance checklist?

Actually yes, this has been prompted by a new EU law requiring AI companies to make LLM output identifiable so that people have a chance at knowing what is generated/fake content.

Replying to an earlier post

Yeah it’s exactly a pattern with token choices, by introducing a statistical bias to the randomness in token generation. Quality isn’t affected because the model is still choosing from the best candidates for the next token. You’re right that to be effective they need a long enough input to get enough matches to be.

Computer code is also going to be less effective because code has a much more rigid structure dictated by language syntax rules, coding conventions, linters and formatters, etc.

Replying to @⁨Kaligalis@lemmy.world⁩

These are not watermarks using hidden characters. Their approach is undetectable even with an IDE. For a sequence of tokens, an LLM predicts the most likely next token, with some amount of randomness between equally likely candidates. The “watermark” is to introduce a statistical bias to this randomness, by altering the probability distribution of generated text according some hash function with a secret key, thereby embedding a statistical signature into the text itself.

So if the text is “I like to eat __” the model might have 3 top candidates for the next word (apple/orange/banana) that would be chosen at random. Instead that choice will be biased towards one option according to their hash function. And then again “I like to eat banana __” (cake/pie/tart).

To verify a text, they look for the “watermark” by scanning the text and looking at whether sequences of tokens chocies fits their biased probability distribution or are truly random. Just one match doesn’t tell you anything, but if they see a consistent pattern over a 1000 word document, they can give a very high confidence that their model generated the text.

To a human it looks like nornal generated text, and the output quality isn’t affected much (or ar all). It’s much more effective on generated prose, and not very effective on computer code.