🚀 通用毒性檢測模型 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.”。