6.4.12 · D2 · HinglishAI Safety & Alignment

Visual walkthroughWatermarking and provenance

2,677 words12 min read↑ Read in English

6.4.12 · D2 · AI-ML › AI Safety & Alignment › Watermarking and provenance

Yeh page text-watermark detection score ko bilkul shuru se build karta hai. Hum assume karte hain ki tum tokens, logits, hashes, ya z-scores ke baare mein kuch nahi jaante — har symbol ko use karne se pehle samjhaya jaayega. Hum parent note Watermarking and Provenance ko follow karte hain lekin bahut slow chalta hai aur pictures se argument ko samjhaate hain.


Step 1 — "Token" kya hota hai, aur "logit" kya hota hai?

WHAT. Kisi bhi maths se pehle, humein do raw ingredients chahiye. Ek token text ka woh chunk hota hai jiske saath model kaam karta hai — roughly ek word ya word ka ek piece. Jab model agla token likhne wala hota hai, woh seedha word nahi chuntta. Pehle woh apni vocabulary ke har possible word ke liye ek number produce karta hai. Woh raw, un-normalised score logit kehlaata hai.

WHY yeh words. Hum "logit" kehte hain ("probability" nahi) kyunki is stage par numbers abhi probabilities nahi hain — woh kisi bhi size ke ho sakte hain, positive ya negative. Bada logit = model us word ko zyada pasand karta hai. Hum logits ki parwah karte hain kyunki yahi woh exact jagah hai jahan hum baad mein apna watermark chipkaaenge — word choose kiye jaane se pehle.

PICTURE. Bar chart dekho. Har bar ek candidate word hai; uski height us word ka logit hai. Sabse lamba bar model ka favourite hai. Abhi kuch decide nahi hua — yeh sirf preferences hain.

Figure — Watermarking and provenance

Step 2 — Logits se probabilities tak: softmax kyun chahiye

WHAT. Hum logits ki pile ko real probabilities mein badaltey hain jo mein add up hoti hain. Yeh kaam karne wala tool softmax hai:

Term by term padhte hain:

  • — us word ka logit jiske baare mein hum pooch rahe hain.
  • — exponential. Kyun exponential aur logit khud nahi? Kyunki hamesha positive hota hai (ek probability kabhi negative nahi ho sakti) aur yeh logits ke differences ko probability ke ratios mein badal deta hai. Logit mein ka gap kisi word ka weight se multiply kar deta hai, chahe tum kahan se shuru karo.
  • har candidate word ka sum. Yahi normaliser hai, aksar kehlaata hai. Isse divide karne par saari probabilities exactly mein add ho jaati hain.

WHY yeh tool. Hum ek word sample karne ke liye probabilities chahiye. Softmax "scores" se "ek valid probability distribution" tak ka standard bridge hai, aur — jo humaarey liye important hai — yeh ek constant add karne par ek clean, predictable tarike se react karta hai (agla step).

PICTURE. Step 1 wale same bars, lekin ab reshape ho gaye: exponentiated, phir squeeze ho gaye taaki poora area mein sum ho. Preference ka order wahi hai; sirf scale badla hai.

Figure — Watermarking and provenance

Step 3 — Vocabulary ko green aur red list mein split karna

WHAT. Har position par, hum pichla token lete hain, use ek secret key ke saath combine karte hain, aur dono ko ek hash function mein daaltey hain — ek aisi machine jo koi bhi input leke ek scrambled, unpredictable-lagta number deti hai. Woh number har word ke liye ek coin flip seed karta hai: heads → green list , tails → red list . Roughly half vocabulary each mein jaati hai.

  • — woh word jo us word se pehle aaya jise hum generate karne wale hain. Iska use karne ka matlab hai ki split har position par badlega.
  • — ek private number. Iske bina, koi outsider split reproduce nahi kar sakta, isliye woh watermark ko blindly forge ya erase nahi kar sakta.
  • — resulting seed jo position par green/red partition decide karta hai.

WHY yeh design. Humein do cheezein chahiye jo opposite lagti hain: (1) split random dikhna chahiye taaki text obvious tarike se distort na ho, aur (2) yeh reproducible hona chahiye taaki ek verifier baad mein same split recompute kar sake. (Previous token + secret key) ka hash dono deta hai: deterministic agar tum inputs jaante ho, scrambled agar nahi jaante.

PICTURE. Vocabulary coloured squares ki ek row hai. Position par ek particular split dikhta hai; position par previous word alag hai, isliye hash alag hai, isliye green/red pattern completely reshuffle ho jaata hai.

Figure — Watermarking and provenance

Step 4 — Model ko nudge karna: green logits mein add karo

WHAT. Sampling se theek pehle, hum har green word ka logit ek fixed amount se bump up karte hain:

  • — model ka original logit.
  • watermark strength, ek chhota positive number (ek common choice hai).
  • — biased logit jisse hum actually sample karte hain.

WHY yeh exact move. Step 2 se yaad karo ki softmax "kisi logit mein constant add karna" ko "us word ki weight se multiply karna" mein badal deta hai. Toh green words ko se bump karne par har green word ki raw weight se multiply ho jaati hai. Green words jeetne ke liye zyada likely ho jaate hain — lekin model ke paas abhi bhi freedom hai, isliye woh usually aisa green word dhundh leta hai jo sentence mein bhi fit ho. Text fluent rehta hai; bas thoda green jhukta hai.

PICTURE. Green bars sab ek hi height se uthte hain; red bars nahi hilte. Re-softmax karne ke baad, probability mass green ki taraf shift hoti hai — arrow dekho.

Figure — Watermarking and provenance

Step 5 — Detection: green tokens count karna

WHAT. Ab roles flip karo. tokens ke ek finished text aur secret key ke saath, ek verifier har green/red split recompute karta hai aur simply count karta hai ki tokens mein se kitne green hain. Us count ko kaho.

WHY. Agar kisi ne text ko watermark nahi kiya, toh har token coin flip ki luck se green hai — roughly chance each. Toh ek random text mein about green tokens hone chahiye. Watermarked text green ki taraf nudge kiya gaya tha, isliye usme visibly zyada green hone chahiye. Poora detection problem yeh reduce ho jaata hai: "Kya se suspiciously bada hai?"

PICTURE. tokens ki ek strip, har dot green ya red colored. Random text half green ke paas hover karta hai; watermarked text visibly greener hai. Dashed line "innocent" expectation mark karta hai.

Figure — Watermarking and provenance

Step 6 — aur kyun: binomial baseline

WHAT. "Suspiciously bada" judge karne ke liye, humein jaanna hoga ki chance se hum green counts ka kitna spread expect karein. Har token ek independent green/not-green coin flip hai. flips mein successes count karna ek binomial distribution hai. Iske do summary numbers hain:

  • Mean — typical green count.
  • Variance , toh standard deviation hai .

Yahan coin ki green-probability hai, tokens ki sankhya.

WHY yeh formulas. Binomial ke mean aur variance standard results hain (aise coin processes ka entropy view dekhne ke liye Information theory dekho). Standard deviation hamaara natural ruler hai: yeh bataata hai ki green count se chance se kitna typically bhatakta hai. "" ka ek bhatakna normal hai; paanch "" nahi hai.

PICTURE. "No watermark" ke under green counts ka bell-shaped curve, par centered, marked ke saath. Watermarked texts right tail mein kaafi door land karte hain.

Figure — Watermarking and provenance

Step 7 — Z-score: "suspicious" ko ruler-units mein measure karna

WHAT. Hum yeh express karte hain ki innocent mean se kitna oopar hai, standard deviations mein measure karte hue:

  • — innocent expectation se green ka raw excess.
  • — ruler (standard deviation) jo us excess ko "kitne " mein convert karta hai.
  • — final z-score: ek pure number jo kehta hai "chance se itne standard deviations oopar."

Hum ise algebraically tidy kar sakte hain. Kyunki :

WHY z-score. Central Limit Theorem ke mutaabik, coin flips ka ek bada pile bell curve jaisa dikhta hai, aur ek z-score directly yeh padhta hai ki woh result us curve par kitna rare hai: matlab false-alarm chance almost se neeche. Yeh alag-alag length ke texts ko bhi comparable banata hai — "extra green words" ka raw count bina ruler se divide kiye kuch nahi batata.

PICTURE. Wahi bell curve, ab horizontal axis units mein relabelled. par ek vertical line "innocent" ko "flagged" se alag karti hai; iske right ka shaded sliver chhota false-positive rate hai.

Figure — Watermarking and provenance

Step 8 — Edge aur degenerate cases (koi gap mat chhoddo)

WHAT / WHY / PICTURE saath, kyunki har case ek "kya hoga agar inputs break ho jaayein" wala sawaal hai.

Case A — Bahut chhota text ( tiny). Ruler shrink hota hai, lekin aapka evidence budget bhi. ke saath, sab green bhi deta hai — threshold se neeche. Lesson: watermarks tweet-length snippet mein undetectable hain; tumhe length chahiye.

Case B — Low-entropy text. Agar agla word essentially forced hai (jaise New York ___ → "City"), toh model ke paas green prefer karne ki koi freedom nahi. Bias near-certain choice ko move nahi kar sakta. Aise passages weakly contribute karte hain, isliye se thoda hi oopar aata hai. Lesson: boilerplate, code, aur quotations signal ko water down karte hain.

Case C — Paraphrase attack. Tokens rewrite karna har badal deta hai, jo green lists reshufle karta hai — isliye surviving words ab apne green set mein nahi baithe ho sakte. Parent ke numbers se, paraphrase humein mein se green tak le jaata hai: Abhi bhi positive, lekin kamzor. Lesson: signal gracefully degrade hota hai, catastrophically nahi.

Case D — . Bilkul koi bias nahi → generator normally behave karta hai → . Yeh sanity check hai: watermark off karo aur detection sahi se kuch nahi dhundh paata.

Picture ko in stresses ka function dikhata hai: ek axis par length, aur strong / weak / no watermark ke liye teen curves.

Figure — Watermarking and provenance

Ek-picture summary

Oopar sab kuch ek single pipeline hai: logits → green bias karo → sample karo → green count karo → z-score → decide karo. Final figure sab kuch ek saath thread karta hai, taaki tum kisi bhi stage par point karke naam bata sako ki wahan kya hota hai.

Figure — Watermarking and provenance
Recall Feynman retelling — kisi dost ko samjhao jaise

AI ek waqt mein ek word likhta hai. Har word se pehle, hum secret key aur pichle word ka use karke secretly dictionary ka aadha green aur aadha red paint karte hain — aur har single word ke liye fresh repaint karte hain. Hum AI ko whisper karte hain, "green prefer karo," green words ke scores mein chhota number add karke; softmax us chhoti nudge ko roughly preference mein badal deta hai, lekin AI phir bhi fluently likhta hai. Reader ko kuch pata nahi chalta.

Baad mein, agar humein kisi text par shak ho, hum same secret key se saare green/red paintings recompute karte hain aur bas green words count karte hain. Ek innocent, un-watermarked text roughly half green hona chahiye — jaise ek fair coin baar flip karo aur roughly aadhi baar heads aao. "Half" ke around typical wobble coins hai. Toh hum count karte hain kitne extra greens dekhe aur us wobble se divide karte hain: woh ratio z-score hai. Agar yeh about se oopar hai, toh text accident ke liye bahut zyada green hai — watermark mil gaya. Chhote texts, forced phrasings, aur paraphrasing sab z-score shrink karte hain, aur ko zero karne par yeh gayab ho jaata hai — exactly jaisa hona chahiye.

Recall Quick self-test

Extra green words report karne ki jagah se divide kyun karte hain? ::: Kyunki raw counts alag-alag lengths mein comparable nahi hain; standard deviation se divide karne par excess "chance se kitne typical wobbles oopar" ban jaata hai, jo directly bell curve par rarity padhta hai. Fixed value nahi, previous token hash kyun karte hain? ::: Taaki green/red split har position par badle, signal poore text mein spread ho aur use spot ya strip karna mushkil ho. Chhota softmax mein itna powerful kyun ho jaata hai? ::: Kyunki softmax logits exponentiate karta hai, isliye add karne par word ka weight se multiply hota hai ( ke liye almost ).

Related: Cryptographic signatures provenance side ko underpin karte hain; AI-generated content detection aur Model fingerprinting cousin techniques hain; paraphrase attack Adversarial examples se connect hota hai.