ONNX 模型库
返回模型

说明文档

KAi 毒性过滤器 (ONNX)

日语有害表达检测模型的ONNX优化版本
日语有害表达检测模型的ONNX优化版本

原始PyTorch模型: b4c0n/KAi-Toxicity-Filter


中文版

模型概述

此模型是b4c0n/KAi-Toxicity-Filter的ONNX格式转换优化版本。推理速度和部署灵活性得到提升。

ONNX版的优势

  • 高速推理: 与PyTorch版相比推理速度更快
  • 轻量部署: 无需PyTorch,仅需ONNX运行时即可运行
  • 跨平台: 支持C++、C#、Java、JavaScript等多种语言
  • 边缘设备支持: 易于在IoT设备和移动端运行

模型详情

  • 原始模型: b4c0n/KAi-Toxicity-Filter
  • 基础架构: BERT (tohoku-nlp/bert-base-japanese-v3)
  • 任务: 二分类(有害/无害)
  • ONNX Opset: 18
  • 模型大小: 约426 MB(单个文件)

性能

保持与原始PyTorch模型同等的精度:

  • 准确率: 86.32%
  • F1分数 (F1 Score): 70.68%
  • 精确率: 72.31%
  • 召回率: 69.12%

推理结果误差: < 0.000001(实质上完全相同)

使用示例

Python (ONNX Runtime)

import onnxruntime as ort
import numpy as np
from transformers import AutoTokenizer

# 加载分词器(从原始模型)
tokenizer = AutoTokenizer.from_pretrained("b4c0n/KAi-Toxicity-Filter")

# 创建ONNX会话
session = ort.InferenceSession("toxicity_model.onnx")

# 文本分词
text = "有毒言论"
inputs = tokenizer(text, return_tensors="np", padding=True, truncation=True, max_length=512)

# 执行推理
onnx_inputs = {
    "input_ids": inputs["input_ids"].astype(np.int64),
    "attention_mask": inputs["attention_mask"].astype(np.int64),
    "token_type_ids": inputs["token_type_ids"].astype(np.int64)
}
outputs = session.run(None, onnx_inputs)

# 使用softmax转换为概率
logits = outputs[0][0]
exp_logits = np.exp(logits - np.max(logits))
probs = exp_logits / exp_logits.sum()

print(f"有害概率: {probs[1]:.2%}")
print(f"健康概率: {probs[0]:.2%}")

安装

pip install onnxruntime transformers

如需使用GPU版本:

pip install onnxruntime-gpu transformers

文件结构

KAi-Toxicity-Filter-ONNX/
├── toxicity_model.onnx  # ONNX模型(单个文件,已嵌入外部数据)
└── README.md

注意: 不包含分词器。请从原始模型b4c0n/KAi-Toxicity-Filter加载。

使用目的

为KAi(海鯖群组AI)中的日语文本有害内容检测和过滤而开发。

主要用途:

  • 需要快速推理的实时审核
  • 无服务器环境部署
  • 边缘设备毒性检测
  • 多平台应用程序

限制说明

  • 分词器需要单独加载(从原始PyTorch模型)
  • 针对短口语表达进行了优化,对长文本或依赖上下文的有害性检测存在局限性
  • 可能存在误判(假阳性/假阴性)
  • 无法检测训练数据中未包含的新类型有害表达

技术详情

  • 转换方法: torch.onnx.export with dynamo=True
  • 外部数据: 已嵌入模型中(单个文件)
  • 验证: 已确认与PyTorch模型输出一致
  • 优化: 已应用ONNX标准优化

许可证

Apache 2.0

相关链接


English

Model Description

This is the ONNX-optimized version of b4c0n/KAi-Toxicity-Filter, offering improved inference speed and deployment flexibility.

ONNX Benefits

  • Faster Inference: Optimized for speed compared to PyTorch
  • Lightweight Deployment: No PyTorch dependency, ONNX Runtime only
  • Cross-Platform: Compatible with C++, C#, Java, JavaScript, etc.
  • Edge Device Ready: Easy deployment on IoT and mobile devices

Model Details

  • Original Model: b4c0n/KAi-Toxicity-Filter
  • Base Architecture: BERT (tohoku-nlp/bert-base-japanese-v3)
  • Task: Binary Text Classification (toxic/not-toxic)
  • ONNX Opset: 18
  • Model Size: ~426 MB (single file)

Performance

Maintains equivalent accuracy to the original PyTorch model:

  • Accuracy: 86.32%
  • F1 Score: 70.68%
  • Precision: 72.31%
  • Recall: 69.12%

Inference output difference: < 0.000001 (virtually identical)

Usage

Python (ONNX Runtime)

import onnxruntime as ort
import numpy as np
from transformers import AutoTokenizer

# Load tokenizer from original model
tokenizer = AutoTokenizer.from_pretrained("b4c0n/KAi-Toxicity-Filter")

# Create ONNX session
session = ort.InferenceSession("toxicity_model.onnx")

# Tokenize text
text = "toxic expression"
inputs = tokenizer(text, return_tensors="np", padding=True, truncation=True, max_length=512)

# Run inference
onnx_inputs = {
    "input_ids": inputs["input_ids"].astype(np.int64),
    "attention_mask": inputs["attention_mask"].astype(np.int64),
    "token_type_ids": inputs["token_type_ids"].astype(np.int64)
}
outputs = session.run(None, onnx_inputs)

# Convert to probabilities with softmax
logits = outputs[0][0]
exp_logits = np.exp(logits - np.max(logits))
probs = exp_logits / exp_logits.sum()

print(f"Toxic probability: {probs[1]:.2%}")
print(f"Not-toxic probability: {probs[0]:.2%}")

Installation

pip install onnxruntime transformers

For GPU support:

pip install onnxruntime-gpu transformers

File Structure

KAi-Toxicity-Filter-ONNX/
├── toxicity_model.onnx  # ONNX model (single file with embedded external data)
└── README.md

Note: Tokenizer not included. Load from original model b4c0n/KAi-Toxicity-Filter.

Intended Use

Developed for KAi (KaisabaGroupAI) to detect and filter harmful content in Japanese text.

Primary Use Cases:

  • Real-time moderation requiring fast inference
  • Serverless environment deployment
  • Edge device toxicity detection
  • Multi-platform applications

Limitations

  • Tokenizer must be loaded separately from the original PyTorch model
  • Optimized for short colloquial expressions; limited for long texts or context-dependent toxicity
  • May have false positives/negatives
  • Cannot detect new types of toxic expressions not present in training data

Technical Details

  • Conversion Method: torch.onnx.export with dynamo=True
  • External Data: Embedded in model (single file)
  • Validation: Output verified against PyTorch model
  • Optimization: Standard ONNX optimizations applied

License

Apache 2.0

Related Links

b4c0n/KAi-Toxicity-Filter-ONNX

作者 b4c0n

text-classification onnx
↓ 0 ♥ 0

创建时间: 2026-01-02 07:36:40+00:00

更新时间: 2026-01-02 07:42:12+00:00

在 Hugging Face 上查看

文件 (3)

.gitattributes
README.md
toxicity_model.onnx ONNX