/ Модель

Характеристики

Контекст
7 999 токенов
Параметры
68,1 млн
Лицензия
Apache 2.0
Архитектура
modernbert · dense
Базовая модель
ettin-encoder-68m
Опубликована
12 июн 2026

Mezzo-Content-Guard-v1.5-Small

Классификация текстаТекст → label3 профессии

Англоязычный классификатор для выявления токсичного, ненавистнического, сексуального и другого потенциально опасного текста.

16скачиваний за 30 дней0лайковвеса обновлены29 июн 2026

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

Mezzo Content Guard v1.5 Small — англоязычная модель модерации текста, разработанная RyanStudio. Она дообучена на базе энкодера Ettin Encoder 68M с архитектурой ModernBERT и классифицирует текст по категориям hate speech, self-harm, sexual, toxic и violence. Модель содержит 68,1 млн параметров, принимает последовательности длиной до 7 999 токенов и доступна в форматах Safetensors и ONNX. Для агрегации представлений используется mean pooling; карточка сообщает, что серия обучена на размеченных примерах с дополнительной очисткой данных в версии 1.5.

Модель предназначена для фильтрации пользовательского контента и выявления потенциально вредных сообщений. В опубликованных бенчмарках Small показывает F1 0,8366 при пороге 0,5; изменение порога позволяет менять баланс точности и полноты. Модель ориентирована на английский язык и может хуже работать с другими языками, современной разговорной лексикой и обходами фильтров. Разметка данных выполнялась с помощью других моделей, поэтому их ошибки могут отражаться в предсказаниях; также возможно чрезмерное срабатывание на упоминаниях маргинализированных групп. Лицензия — Apache-2.0.

Сценарии применения

  • модерация пользовательских комментариев на токсичность
  • выявление языка ненависти в сообщениях
  • обнаружение упоминаний самоповреждения
  • фильтрация сексуального контента
  • выявление угроз и описаний насилия

Ограничения

Модель ориентирована на английский язык и может хуже работать в многоязычном контексте, с современной разговорной лексикой и тонкими обходами фильтров. Возможны ошибки из-за шумной автоматической разметки и чрезмерное срабатывание на упоминаниях маргинализированных групп.

Для каких профессий подходит3

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

Mezzo Content Guard v1.5

Mezzo Content Guard v1.5 is a series of ModernBERT-based, English-focused Content Moderation Models trained on approximately 14M tokens (360k+ rows) of labelled examples, utilizing the same dataset as in v1, but with additional data cleaning.

Mezzo Content Guard comes in 5 different sizes, based on Ettin Encoder 400m, 150m, 68m, 32m and 17m:

ModelParametersDescriptionDownload
Large400MMaximum quality and accuracy[Link]
Base150MStandard use cases[Link]
Small68MBalanced performance[Link]
Tiny [NEW]32MFast inference[Link]
Nano [NEW]17Mlightweight or CPU inference[Link]

Try out the demo at the [Mezzo Content Guard Demo] Space

Improvements Over v1

The Ettin Encoder models from the [Ettin Suite] by jhu-clsp was used instead of RoBERTa due to their support for up to 8192 tokens and optimizations with the ModernBERT architecture

These models were trained using MEAN pooling rather than CLS pooling due to observed performance improvements between the 2

Categories

Mezzo Content Guard covers 5 different categories

  • Hate Speech: Content that attacks or uses discriminatory and pejorative language toward a person or group based on inherent characteristics such as race, religion, ethnicity, gender, sexual orientation, or disability.

  • Self Harm: Content where individuals express a desire to harm themselves, or encouraging acts that lead to self harm.

  • Sexual: Content involving any references, descriptions or intent of sexual acts.

  • Toxic: Content that attacks, harasses, or discriminates towards an individual.

  • Violence: Content that depicts violence and gore, or content that incites acts of violence.

Benchmarks

All benchmarks were done with a threshold of 0.5, though the threshold can be increased or decreased to trade between precision and recall

Latency tests were done on a 5060ti 16GB

Macro Averages

ModelPrecisionRecallF1ROC-AUC
v1.5-Large (400M)0.90670.84430.87430.9961
v1.5-Base (150M)0.88840.82440.85510.9950
v1.5-Small (68M)0.85030.82380.83660.9937
v1.5-Tiny (32M)0.82840.81930.82320.9925
v1.5-Nano (17M)0.86760.77100.81640.9907
v1-Large (355M)0.84020.83170.83540.9922

Latency

Batch Inference

ModelBatch SizeThroughput (samples/s)Avg Latency (ms/sample)
v1.5-Large32143.06.99
v1.5-Base32317.83.15
v1.5-Small256323.73.09
v1.5-Tiny512728.41.37
v1.5-Nano10241358.40.74
v1-Large32245.34.08

One-by-One Inference (batch_size=1)

ModelAvg (ms)
v1.5-Large21.54
v1.5-Base16.73
v1.5-Small14.51
v1.5-Tiny8.26
v1.5-Nano6.13
v1-Large10.59

Quickstart

Introducing our new custom mezzo-guard library that supports the Mezzo Prompt Guard and Mezzo Content Guard models. It offers automatic chunking, organized policies, and redactions.

Installation:

pip install mezzo-guard
from mezzoguard.content_guard import ContentPolicy, Category, Guard

model = Guard("RyanStudio/Mezzo-Content-Guard-v1.5-Small")
content_policy = ContentPolicy().add_threshold(Category.SEXUAL, 0.5) # Only flag Sexual messages

sexual_query = "I want to fuck you"
benign_query = "I want to have a nice day"
violent_query = "I want to kill you"

result_1 = model.scan(text=sexual_query)
print(content_policy.evaluate(result_1).is_unsafe())
# True

result_2 = model.scan(text=benign_query)
print(content_policy.evaluate(result_2).is_unsafe())
# False

result_3 = model.scan(text=violent_query)
print(content_policy.evaluate(result_3).is_unsafe())
# False

With transformers

from transformers import pipeline

model = pipeline("text-classification", model="RyanStudio/Mezzo-Content-Guard-v1.5-Small")


safe_prompt = "I love mezzo content guard!!!"
print(model(safe_prompt))

hate_speech_prompt = "I hate faggots"
print(model(hate_speech_prompt))

self_harm_prompt = "I want to kill myself"
print(model(self_harm_prompt))

sexual_prompt = "I want to fuck someone"
print(model(sexual_prompt))

toxic_prompt = "You are a cunt"
print(model(toxic_prompt))

violence_prompt = "I want to kill someone"
print(model(violence_prompt))

violence_hate_speech_toxic = "I want to kill you because you're a gay faggot"
print(model(violence_hate_speech_toxic, top_k=None))

Training:

The training data was sourced from various open-sourced datasets, as well as synthetically generated from LLMs such as Deepseek v4 Pro, Claude Sonnet 4.6, and Kimi K2.6.

Due to inconsistent labelling and definitions across various datasets, the data was re-laballed using Qwen3Guard-4B and Qwen3.5-4B to fit the specific categorical definitions.

The dataset was cleaned from the v1 dataset using MinHash to remove similar examples accross the same label, and exact duplicates were removed across splits to reduce cross-contamination and to reduce over-fitting to similar phrasing

The following table shows the data distribution:

LabelPositives% of Data
sexual18,0814.94%
violence5,3791.47%
self-harm7,7922.13%
hate-speech30,8148.42%
toxic32,5378.89%

Limitations

  • Re-labelling: Due to the training data being relabelled by Qwen3Guard and Qwen3.5, any inaccuracies from when these models were trained may be passed on to the model
  • Edge Cases: A large majority of the open sourced datasets used were often dated, and may not take into account modern day slang words or more subtle bypasses, we recommend finetuning the model on your own usecase
  • English Only: The Ettin Encoder models are primarily english-based models, and will suffer in multilingual contexts
  • Over‑blocking of marginalized groups: Due to training datasets containing mentions of marginalized groups, the model may overflag mentions of such groups

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · text-classification

Можно запустить

Подбираем GPU…

Класс архитектуры
ModernBertForSequenceClassification
Ревизия весов
941c681

0 моделей