Font proti sběru dat: mezi čtyřmi filtry se jeho výsledek liší víc než třicetkrát
Projekt ShieldFont zaměňuje slova ve zdroji stránky, aby robotům sbírajícím trénovací data podstrčil jiný text než čtenáři. Jeho vlastní měření v repozitáři zkoušelo čtyři filtry kvality a dostalo čtyři různé odpovědi: z úseků, které filtrem projdou v nezaměněné podobě, jich po záměně projde 2,0 až 65,3 % podle toho, o který filtr jde. Škodu modelu, který by se na takovém textu učil, projekt netvrdí.

Stránka chráněná projektem ShieldFont vypadá ve zdroji jinak než na obrazovce. Kodér při sestavení stránky zamění zhruba čtvrtinu slov za jiná a písmo je při vykreslení vrátí zpátky. Čtenář vidí, co autor napsal; robot, který sbírá text pro trénování modelů, si odnese něco jiného. Zbývá otázka, co se s takovou stránkou stane dál.
Odpovídá na ni jedno číslo. Než se sebraný text stane trénovací sadou, projde filtrem kvality – programem, který vyhazuje brak. Bílá kniha projektu z 30. července uvádí, že po záměně slov filtr zahodí přes 90 % stránek, které by v původní podobě prošly. Podrobná data k tomu ale nejsou v ní, nýbrž v měřicí části repozitáře. A v nich stojí, že těch devadesát procent platí pro jeden filtr ze čtyř.
Čtyři filtry, čtyři různé odpovědi
Závěrečná zpráva k měření označenému v8, vygenerovaná 16. května, pouští chráněný text přes čtyři různé filtry. Pátý, klasifikátor z datové sady DCLM, spustit nešlo – jeho soubor nebyl na známých adresách. Ty čtyři, které běžely, jsou:
- klasifikátor FineWeb-Edu, vybírající texty vzdělávací kvality; podle karty datové sady odstranil 92 % dat, a projekt ho používá jako hlavní;
- KenLM počítaný z téhož korpusu, tedy statistický model slovních n-tic, který měří, jak je text pro daný obor obvyklý;
- KenLM počítaný z Wikipedie;
- Pythia-160M, malý jazykový model se 160 miliony parametrů.
Zpráva k nim uvádí Kendallovo tau, míru shody dvou hodnotitelů v pořadí: jednička znamená úplnou shodu, nula žádnou. Předem stanovená mez byla 0,4. Naměřené hodnoty leží mezi −0,042 a 0,033 na všech čtyřech korpusech – zpráva mluví o porovnání čtyř filtrů, v uloženém souboru jsou ale dvojice tři, wikipedijní KenLM v nich není. Filtry se tedy neshodnou ani na tom, který úsek textu je lepší. Zpráva z toho vyvozuje, že tvrzení o průchodu filtrem se musí dělat pro každý filtr zvlášť, ne souhrnně.
Jak moc na tom záleží, ukazuje surová tabulka výsledků. Vzali jsme ji a podíly přepočítali: u beletrie z korpusu PG-19 projde přes wikipedijní KenLM 45,7 % zaměněných úseků, zatímco nezaměněných projde 70,0 % – po vydělení tedy 65,3 %. U korpusu OpenWebText s filtrem Pythia-160M je to 1,4 proti 70,0, tedy 2,0 %. Táž ochrana, tatáž zpráva, rozdíl třicetinásobný.
Repozitář to shrnuje sám: napříč čtyřmi filtry se podíl pohybuje od 2,0 do 65,3 % s mediánem 12,4 %. Po filtrech vycházejí mediány 32,1 % (KenLM z korpusu), 13,6 % (KenLM z Wikipedie), 6,9 % (Pythia-160M) a 6,7 % (FineWeb-Edu). Titulkové číslo bílé knihy, 9,70 % neboli 13 úseků ze 134, patří tomu poslednímu.
Proč zrovna ten nejpřísnější
Volbu hlavního filtru projekt nezakrývá. „Známkujeme se proti tomu jednomu schválně,“ píše bílá kniha (překlad redakce) a odůvodňuje to tím, že je to nejpřísnější zveřejněný filtr a výsledek proti němu je opatrný odhad.
Podle nás to platí jen zpola. Zaměněný text má podle vlastní dokumentace zůstat gramaticky v pořádku – zaměňuje se podstatné jméno za podstatné, sloveso za sloveso. Filtry, které měří plynulost jazyka, takový text zachytit nemají čím, a čísla to potvrzují. Klasifikátor vzdělávací kvality naopak posuzuje obsahovou hodnotu textu, takže na záměně smyslu stojí a padá. Nejde tedy o přísnější a mírnější měřítko téhož, ale o dvě různé věci. Který z nich který sběrač dat používá, je veřejně nezjistitelné – to bílá kniha přiznává v samostatném oddílu.
Číslo, které v datech není
Trik se v titulcích i v odborné literatuře popisuje jako otrávení. Projekt sám ale netvrdí, že by modelu, který se na takovém textu učí, ublížil. „Měříme, co se stane s daty, ne s modelem,“ stojí v bílé knize (překlad redakce) a úvodní stránka repozitáře to říká ještě natvrdo: netvrdíme, že zakódovaný text prochází branami kvality, ani že poškozuje model, který se na něm učí.
Důvod je v datech vidět. Pátá fáze měření měla přesně tohle zjistit – doladit malý model na chráněném i nechráněném textu a porovnat výsledky ve znalostních testech. Adaptéry se natrénovaly, vyhodnocení zapojené není. Původně vybraný čtyřmiliardový model se navíc nevešel do paměti, takže se běh dělal na čtyřbitové variantě modelu Qwen3 s 1,7 miliardy parametrů. Ze čtyř sond na zmrazeném modelu jedna vrátila nuly ve všech buňkách kvůli chybě v dělení textu na tokeny; zpráva ji označuje za nedodělek k opravě.
Projekt si svoje čísla hlídá sám
Na obranu projektu je potřeba říct, že tohle všechno se dá vyčíst z jeho vlastních souborů. Repozitář vede dokument, který ke každému číslu v popisu dohledává zdrojový soubor a označuje ho jako ověřené, nebo převzaté. Druhý dokument vypisuje, co se do veřejné části nedostalo a proč.
Stojí v něm i věci, které projektu nesvědčí. Starší měření z řady v2 je formálně staženo se zápisem „RESULTS INVALID - DO NOT PUBLISH“: chráněná varianta tehdy vrátila 25 prázdných odpovědí z 25, takže se neměřila ochrana, ale porucha rozhraní. Dřívější údaj o 83 % u vypravěčské prózy stál na šedesáti vzorcích a při tisícovce se nezopakoval – beletrie vyšla naopak jako nejslabší obor s 31 až 35 %. A výběr vzorků není deterministický, protože se opírá o vestavěnou hašovací funkci Pythonu; přesné jmenovatele, tedy i oněch 134 úseků, znovu vyrobit nelze.
Většinu podílů v tom dokumentu navíc nepočítá žádný skript – dopočítaly se ručně z uložených výsledků. Kontrolní skript zatím pokrývá jen filtr FineWeb-Edu, u zbylých tří to teprve přijde. Všechna čísla v tomto článku jsou tedy měření projektu na jeho vlastní ochraně; nikdo cizí je zatím nezopakoval. Celý výpočet proběhl podle zprávy na počítači s čipem Apple Silicon, bez pronajatých grafických karet.
Pro čtenáře, který zvažuje, jestli si takovou ochranu na web dá, z toho plyne jedna praktická věc. Číslo, které se vyplatí sledovat, není devět z deseti, ale otázka, jaký filtr si ten který sběrač dat pouští – a na tu odpověď nemá zvenčí nikdo.
Zdroje: bílá kniha The Consent Layer (CC BY 4.0, doi:10.5281/zenodo.21700389), dohledání zdrojů čísel a soupis vynechaného v repozitáři, surové výsledky filtrů v multigate_survival.json a The Register.