/ Модель

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

Контекст
512 токенов
Параметры
205 млн
Лицензия
CC BY 4.0
Архитектура
bert · dense
Опубликована
29 июн 2023

one-for-all-toxicity-v3

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

Многоязычная модель на базе BERT для классификации токсичности текста и модерации сообщений.

83скачиваний за 30 дней19лайковвеса обновлены12 дек 2023

Бенчмарки

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

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

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

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

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

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

One-for-all Toxicity v3 — модель классификации текста, разработанная AIstrova Technologies Inc. Это дообученная BertForSequenceClassification на базе bert-base-multilingual-cased с 205,1 млн параметров. Она предназначена для выявления токсичности в тексте и модерации пользовательских сообщений. Автор сообщает, что добавил вручную размеченные примеры к обучающим данным Toxi Text 3M, поскольку обучение только на этом наборе хуже классифицировало короткие тексты.

Модель использует PyTorch и принимает текст длиной до 512 токенов; в карточке перечислены языковые теги для многих языков, включая русский и английский. Распространяется по лицензии CC BY 4.0 с требованием указывать авторство AIstrova Technologies Inc.

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

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

Ограничения

Точность на коротких текстах может быть ниже; автор сообщает о смещении модели при обучении только на Toxi Text 3M. В README не приведены количественные метрики качества.

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

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

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

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

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

Открыть на Hugging Face

Link to the distilbert spam defender

Find the v1 (TensorFlow) model in SavedModel format on this page. The license for the v1 model is Apache 2.0

v3v1
Base Modelbert-base-multilingual-casednlpaueb/legal-bert-small-uncased
Base Tokenizerbert-base-multilingual-casedbert-base-multilingual-cased
FrameworkPyTorchTensorFlow
Dataset Size3.0M2.68M
Train Split80% English20% English + 100% MultilingualNone
English Train Accuracy99.5%N/A (≈97.5%)
Other Train Accuracy98.6%96.6%
Final Val Accuracy96.8%94.6%
Languages55N/A (≈35)
Hyperparametersmaxlen=208padding='max_length'batch_size=112optimizer=AdamWlearning_rate=1e-5loss=BCEWithLogitsLoss()maxlen=192padding='max_length'batch_size=16optimizer=Adamlearning_rate=1e-5loss="binary_crossentropy"
Training Stopped7/20/20239/05/2022

I manually annotated more data on top of Toxi Text 3M and added them to the training set. Training on Toxi Text 3M alone results in a biased model that classifies short text with lower precision.

Models tested for v2: roberta, xlm-roberta, bert-small, bert-base-cased/uncased, bert-multilingual-cased/uncased, and alberta-large-v2. Of these, I chose bert-multilingual-cased because it performs better with the same amount of resources as the others for this particular task.

PyTorch

text = "hello world!"

import torch
from transformers import AutoTokenizer, AutoModelForSequenceClassification

device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
tokenizer = AutoTokenizer.from_pretrained("FredZhang7/one-for-all-toxicity-v3")
model = AutoModelForSequenceClassification.from_pretrained("FredZhang7/one-for-all-toxicity-v3").to(device)

encoding = tokenizer.encode_plus(
    text,
    add_special_tokens=True,
    max_length=208,
    padding="max_length",
    truncation=True,
    return_tensors="pt"
)
print('device:', device)
input_ids = encoding["input_ids"].to(device)
attention_mask = encoding["attention_mask"].to(device)

with torch.no_grad():
    outputs = model(input_ids, attention_mask=attention_mask)
    logits = outputs.logits
    predicted_labels = torch.argmax(logits, dim=1)

print(predicted_labels)

Attribution

  • If you distribute, remix, adapt, or build upon One-for-all Toxicity v3, please credit "AIstrova Technologies Inc." in your README.md, application description, research, or website.

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

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

GPU в ailist

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

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

Подбираем GPU…

Класс архитектуры
BertForSequenceClassification
Ревизия весов
a2996bd

0 моделей