Toxic: on-device meertalige detectie van haatzaaien
On-device multi-label-classifier die haatzaaiende, intimiderende, bedreigende, seksuele en zelfbeschadigende inhoud markeert in het Engels, Spaans, Portugees, Frans, Duits, Italiaans, Pools en Nederlands, zodat twijfelachtige tekst getrieerd kan worden voordat die het apparaat verlaat.
Toxic is een on-device multi-label-classifier voor haatzaaien, intimidatie, bedreiging, seksuele intimidatie en zelfbeschadiging in acht talen: Engels, Spaans, Portugees, Frans, Duits, Italiaans, Pools en Nederlands. Als de haat-kop afgaat, bepalen tien doelgroep-koppen welk beschermd kenmerk de tekst target: ras, huidskleur, religie, afkomst, nationale of etnische origine, seksuele geaardheid, gender, beperking, leeftijd of overig.
Het voordeel zit in grootte tegenover kwaliteit. Toxic verslaat Llama-Guard-3-1B en Qwen3Guard-Gen-0.6B met 13 tot 17 macro-F1-punten op de zeven EU-talen, en Detoxify met 30, op een fractie van hun schijfruimte (75,5 MB LiteRT, 66,7 MB Core ML, tegenover ongeveer 500 MB tot 1 GB voor de guard-model-builds). De trainingsdata is commercieel schoon (alleen CC0, CC-BY, MIT, Apache-2.0), dus het kan meegaan in een product zonder het licentierisico van geschraapte haatzaai-corpora.
Prestaties
Verslaat Llama-Guard-3-1B en Qwen3Guard-Gen-0.6B met 13 tot 17 macro-F1-punten op de zeven EU-talen, op 6 tot 14 keer minder ruimte: 75,5 MB LiteRT tegenover 500 MB tot 1 GB voor de guard-model-builds.
Macro-F1 bij drempel 0,40 door dezelfde HateCheck-harness (intern). De 7-EU-kolom is het gemiddelde over Spaans, Portugees, Frans, Duits, Italiaans, Pools en Nederlands. Toxic wint ronduit op 7 van de 8 talen; Llama-Guard leidt alleen op Engels.
| Model | 7-EU-F1 | EN-F1 | Grootte |
|---|---|---|---|
| Toxic (LiteRT int4) | 0,786 | 0,787 | 75,5 MB |
| Toxic (Core ML 4-bit) | 0,777 | 0,771 | 66,7 MB |
| Qwen3Guard-Gen-0.6B (bf16) | 0,652 | 0,770 | server |
| Llama-Guard-3-1B (bf16) | 0,649 | 0,814 | server |
| Llama-Guard-3-1B (int4) | 0,633 | 0,794 | 955 MB |
| Qwen3Guard-Gen-0.6B (int4) | 0,622 | 0,750 | 484 MB |
| Detoxify multilingual (fp32) | 0,487 | 0,642 | ~280 MB |
Interne evaluatie op de HateCheck-suite (ongeveer 3.700 handgeschreven testgevallen per taal), nooit gebruikt voor training. Concurrenten opnieuw gedraaid door dezelfde harness.
Toepassingen
Triage vóór verzenden in messaging
Scoor uitgaande berichten op het apparaat voordat ze de telefoon verlaten, zodat haatzaaiende, bedreigende of intimiderende inhoud een inline waarschuwing of een beoordelingsroute kan activeren zonder ooit je servers te bereiken.
Reactietriage zonder server
Haal elke binnenkomende reactie lokaal in de client door Toxic, markeer waarschijnlijk haatzaaien voor een moderatiewachtrij en escaleer alleen gemarkeerde tekst naar een mens. Dat verlaagt het volume dat centrale moderatie nodig heeft zonder een cloudaanroep per bericht.
Signalen van zelfbeschadiging en bedreiging naar hulp routeren
De koppen voor zelfbeschadiging en bedreiging staan los van de haat-kop, dus een client kan een hulpbron of een escalatieroute tonen zonder een van beide signalen met haat te vermengen.
Acht talen in één model
Eén artefact van 75 MB dekt Engels, Spaans, Portugees, Frans, Duits, Italiaans, Pools en Nederlands. Eén integratie voor acht talen, zonder pipeline per taal en zonder aparte stap voor taaldetectie.
Wat het doet
- Vijf multi-label-inhoudskoppen: haat, intimidatie, bedreiging, seksueel, zelfbeschadiging.
- Tien doelgroep-koppen bovenop de haat-kop: ras, huidskleur, religie, afkomst, nationale of etnische origine, seksuele geaardheid, gender, beperking, leeftijd, overig.
- Acht talen uit één artefact: Engels, Spaans, Portugees, Frans, Duits, Italiaans, Pools, Nederlands. Een drempelmenu per taal zit in de model-metadata.
- Uitsluitend getraind op vrij gelicentieerde corpora (CC0, CC-BY, MIT, Apache-2.0), dus veilig om mee te leveren in een commercieel product.
- Draait volledig on-device: 66,7 MB Core ML (4-bit, ANE-geoptimaliseerd) of 75,5 MB LiteRT (int4 blockwise-32).
Specs
- Talen
- 8: Engels, Spaans, Portugees, Frans, Duits, Italiaans, Pools, Nederlands
- Grootte on-device
- 66,7 MB Core ML (4-bit); 75,5 MB LiteRT (int4 blockwise-32)
- Backbone
- XLM-R-base met een gesnoeide vocab van 60.728 stukken, 12 lagen, hidden 768, ~133M parameters
- Nauwkeurigheid
- 0,786 macro-F1 over 8 talen (LiteRT int4), 0,777 (Core ML 4-bit)
Een hulpmiddel voor moderatietriage, geen oordeel: escaleer markeringen naar een menselijke beoordelaar of een zwaardere lokale laag in plaats van automatisch te verwijderen. Onder adversariële tests kan Toxic in een noemenswaardig deel van de gevallen tegengeluid, ontkende haat, teruggeëigende scheldwoorden en korte identiteitsvermeldingen markeren, vooral in het Engels en Duits. Combineer Toxic voor Nederlands, Duits en Pools met een woordenlijst met scheldwoorden per taal om losse scheldwoorden af te vangen die het model mist.
FAQ
Wat is Toxic?
On-device multi-label-classifier die haatzaaiende, intimiderende, bedreigende, seksuele en zelfbeschadigende inhoud markeert in het Engels, Spaans, Portugees, Frans, Duits, Italiaans, Pools en Nederlands, zodat twijfelachtige tekst getrieerd kan worden voordat die het apparaat verlaat.
Draait Toxic op het apparaat?
Ja. Toxic draait volledig op het apparaat: inferentie gebeurt lokaal, zonder serveraanroep, dus data verlaat nooit het apparaat.
Is Toxic al beschikbaar?
Toxic is in besloten bèta. Je kunt early access aanvragen op de pagina.
Hoeveel kost Toxic?
Elk model is gratis voor maximaal 100k maandelijks actieve apparaten per SDK. Onbeperkte inferentie per gebruiker. Neem contact op voor aangepaste licenties.
Hoe nauwkeurig of snel is Toxic?
Verslaat Llama-Guard-3-1B en Qwen3Guard-Gen-0.6B met 13 tot 17 macro-F1-punten op de zeven EU-talen, op 6 tot 14 keer minder ruimte: 75,5 MB LiteRT tegenover 500 MB tot 1 GB voor de guard-model-builds.
Early access
Vertel ons wat je bouwt, dan zetten we je op weg.