CoolFace
Modelpublic

gravitee-io/detoxify-onnx

sourceHugging Faceapache-2.0updated 1y agoView on Hugging Face
0likes774downloads
Model Card

Detoxify ONNX ๐Ÿš€

This project provides an ONNX-exported and quantized version of the Detoxify multilingual model, optimized for runtime inference. It enables faster and lighter toxicity detection using ONNX Runtime.

๐Ÿงช ONNX Evaluation Results

Original Model (using Detoxify lib and ONNX):

ThresholdAccuracyPrecisionRecallF1AUC-ROC
0.20.84080.48990.86590.62570.9345
0.40.87230.56280.75770.64590.9345
0.50.88450.60730.70410.65210.9345
0.70.89540.69510.56910.62580.9345
0.90.89410.85010.37800.52340.9345

Time for 1 threshold evaluation =~ 3 min 30s

Quantized model:

ThresholdAccuracyPrecisionRecallF1AUC-ROC
0.20.85810.52490.81540.63870.9306
0.40.88090.60010.67480.63530.9306
0.50.88800.64080.61790.62910.9306
0.70.89690.74670.49840.59780.9306
0.90.88690.88780.30240.45120.9306

Time for 1 threshold evaluation =~ 2 min 41s

๐Ÿค— Usage

python
from transformers import AutoTokenizer
from optimum.onnxruntime import ORTModelForSequenceClassification
import numpy as np

# Load model and tokenizer using optimum
model = ORTModelForSequenceClassification.from_pretrained("gravitee-io/detoxify-onnx", file_name="model.quant.onnx")
tokenizer = AutoTokenizer.from_pretrained("gravitee-io/detoxify-onnx")

# Tokenize input
text = "Your comment here"
inputs = tokenizer(text, return_tensors="pt", padding=True, truncation=True)

# Run inference
outputs = model(**inputs)
logits = outputs.logits

# Optional: convert to probabilities
probs = 1 / (1 + np.exp(-logits))
print(probs)

๐Ÿ™ GitHub Repository:

You can find the full source code, CLI tools, and evaluation scripts in the official GitHub repository.