weixin_72661020/Security_semantic_filtering
模型介绍文件和版本Pull Requests讨论分析

敏感内容检测系统 (Security Semantic Filtering)

模型介绍

本项目收集大量的涉及政治、色情、辱骂、暴力违禁等敏感数据,在此基础上微调 roberta 模型,根据模型打分对文本内容进行二次审核。

针对业务场景下个性化的数据和需求,可自由定制审核模型的阈值参数,合适的策略配置将有效提升内容审核的召回率和精确率。

模型架构

  • 基础架构: BERT-base (RoBERTa 权重)
  • 层数: 12层
  • 隐藏层维度: 768
  • 注意力头: 12
  • 词表大小: 21128 (中文BERT)
  • 任务类型: 文本二分类(敏感/非敏感)

子模型

模型包含4个独立的子模型,分别针对不同敏感内容类别:

子模型权重文件检测类别
politicroberta_wwm_politic.ckpt政治敏感
pornroberta_wwm_porn.ckpt色情内容
insultroberta_wwm_insult.ckpt辱骂言论
violenceroberta_wwm_violence.ckpt暴力内容

使用方法

环境要求

pip install torch transformers torch_npu

快速推理

from transformers import BertModel, BertTokenizer, BertConfig
import torch

model_dir = "/path/to/model"
tokenizer = BertTokenizer.from_pretrained(model_dir)
model = BertModel.from_pretrained(model_dir)

# 推理代码详见 ascend_inference.py

运行命令

python sensitive_models_filtering.py

Ascend NPU 适配

本模型已成功适配华为昇腾 Ascend910 NPU。详见适配代码:

  • 推理脚本: ascend_inference.py
  • 验证脚本: verify_ascend.py

精度验证

NPU 推理结果与 CPU 推理结果的 cosine similarity >= 0.999999。

性能基准 (Ascend910)

子模型Batch=1 延迟Batch=64 吞吐
politic8.37ms2072 sent/s
porn8.50ms2075 sent/s
insult8.21ms2075 sent/s
violence8.38ms2083 sent/s

许可

本项目采用 Apache 2.0 许可证。

Ascend NPU 精度评测

NPU vs CPU 精度对比(4 个子模型:政治/色情/辱骂/暴力,CPU 为基线):

指标数值
测试样本/子模型10
精度结论✅ 通过 — 4 个子模型 NPU 与 CPU 输出高度一致,余弦相似度均 > 0.999999

逐子模型精度:

子模型余弦相似度最大绝对误差平均绝对误差状态
politic(政治)0.999999733.78e-061.02e-06✅ 通过
porn(色情)0.999999881.75e-047.20e-05✅ 通过
insult(辱骂)0.999999108.60e-052.53e-05✅ 通过
violence(暴力)0.999999792.32e-047.27e-05✅ 通过

分析: 4 个语义过滤子模型在 NPU 上的推理输出与 CPU 几乎完全一致,余弦相似度均超过 0.999999,最大绝对误差仅 2.32e-04。NPU 推理数值精度完全满足要求,不会影响安全过滤分类结果。

下载使用量0