🚀 通用毒性检测模型 v3
本项目是一个多语言文本分类模型,主要用于文本的毒性检测,支持多种语言,在不同语言的文本分类任务中表现出色。
🚀 快速开始
模型链接
模型对比
属性 |
v3详情 |
v1详情 |
基础模型 |
bert-base-multilingual-cased |
nlpaueb/legal-bert-small-uncased |
基础分词器 |
bert-base-multilingual-cased |
bert-base-multilingual-cased |
框架 |
PyTorch |
TensorFlow |
数据集大小 |
300万 |
268万 |
训练集划分 |
80%英语 20%英语 + 100%多语言 |
无 |
英语训练准确率 |
99.5% |
未提供 (≈97.5%) |
其他语言训练准确率 |
98.6% |
96.6% |
最终验证准确率 |
96.8% |
94.6% |
支持语言数量 |
55种 |
未提供 (≈35种) |
超参数 |
maxlen=208 padding='max_length' batch_size=112 optimizer=AdamW learning_rate=1e-5 loss=BCEWithLogitsLoss() |
maxlen=192 padding='max_length' batch_size=16 optimizer=Adam learning_rate=1e-5 loss="binary_crossentropy" |
训练停止时间 |
2023年7月20日 |
2022年9月5日 |
训练数据说明
我在Toxi Text 3M数据集的基础上手动标注了更多数据,并将其添加到训练集中。仅使用Toxi Text 3M进行训练会导致模型有偏差,对短文本的分类精度较低。
模型选择说明
在v2版本的模型测试中,测试了roberta、xlm-roberta、bert-small、bert-base-cased/uncased、bert-multilingual-cased/uncased和alberta-large-v2等模型。最终选择了bert-multilingual-cased,因为在这个特定任务中,它在相同资源下表现更好。
💻 使用示例
基础用法
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)
📄 许可证
本模型v3版本的许可证为CC BY 4.0。
🔖 归属说明
如果您分发、重新混合、调整或基于通用毒性检测模型v3进行开发,请在您的README.md、应用描述、研究或网站中注明 “AIstrova Technologies Inc.”。