利用大语言模型进行NSFW内容过滤:模型对比分析
通过大语言模型(LLMs)分析文本提示词,可以在提示阶段阻止生成不良的NSFW内容。与事后过滤图像相比,这种方法能节省资源。在包含1000条提示词(其中400条为NSFW内容)的数据集上进行测试,验证了使用Phi-3-mini-4k-instruct-q4、Qwen2.5-1.5b-instruct-q4_k_s和Gemma-2-2b-it-Q4_K_S模型的有效性。
评估标准包括:准确率(阻止NSFW提示词的百分比)、误报率(在SFW内容上错误标记的百分比)以及分析时间(以毫秒计)。测试在未使用张量核心的情况下进行。
基础过滤方法
使用关键词黑名单速度很快(低于200毫秒),但容易被绕过且需要语言支持。对图像进行事后分析(例如使用NsfwSpy)能达到95%的准确率,但会浪费生成资源。
分析提示词的LLM方法是最优选择:检查文本成本更低,且模型无需微调即可使用。系统提示词将分类任务定义为NSFW/SFW。
无语法约束的模型对比
测试使用标准提示词和少量示例提示词进行。
| 模型 | 提示词类型 | 准确率 (%) | 误报率 (%) | 时间 (毫秒) |
|--------|--------|--------------|------------|------------|
| Phi-3 | 标准 | 55 | 1.3 | 359 |
| Phi-3 | 带示例 | 93.5 | 42.5 | 523 |
| Qwen2.5 | 标准 | 53.2 | 1 | 85 |
| Qwen2.5 | 带示例 | 80 | 4 | 280 |
| Gemma-2 | 标准 | 66.7 | <1 | 130 |
| Gemma-2 | 带示例 | <0.1 | <0.1 | 238 |
Phi-3在使用示例后准确率提升,但误报率较高。Qwen2.5速度快,在少量示例下各项指标较为均衡。Gemma-2在标准模式下领先,但少量示例因答案解析问题而失败。
引入语法约束以稳定输出
语法约束将模型的输出限制为“是”(NSFW)或“否”(SFW)选项。这解决了解析问题,并提供可预测的答案。
更新后的结果:
| 模型 | 提示词类型 | 准确率 (%) | 误报率 (%) | 时间 (毫秒) |
|--------|--------|--------------|------------|------------|
| Phi-3 | 标准 | 51 | 1 | 270 |
| Phi-3 | 带示例 | 93.7 | 43.1 | 553 |
| Qwen2.5 | 标准 | 55 | <1 | 156 |
| Qwen2.5 | 带示例 | 80.5 | 3.8 | 378 |
| Gemma-2 | 标准 | 66 | <1 | 231 |
| Gemma-2 | 带示例 | 40.2 | <0.1 | 321 |
时间增加了约100毫秒。Gemma-2在使用示例时在1000次测试中误报率为0%,但准确率下降。Gemma-2的标准提示词保持平衡:66%的准确率,极低的误报率。
- 模型大小: Qwen2.5(0.9 GB)、Gemma-2(1.5 GB)、Phi-3(2+ GB)。
- 推荐方案: 严格系统使用Gemma-2 + 语法约束(无示例);追求速度使用Qwen2.5。
扩展过滤能力
一个模型可以处理多个主题(NSFW + 其他限制)。在代表性数据集上测试,迭代优化提示词。在生产环境中,使用张量核心可将延迟降低10倍。
关键要点:
- 初步提示词分析相比事后过滤,能减少95%以上的负载。
- Gemma-2在无示例情况下,准确率/误报率表现最优(66% / <1%)。
- 语法约束保证了解析可靠性,但牺牲了速度。
- 测试集:1000条提示词(40%为NSFW),确保评估可靠。
- 少量示例能提升Phi-3/Qwen的性能,但存在误报风险。
— Editorial Team
暂无评论。