🚀 DistilBERT-PoliticalBias
DistilBERT-PoliticalBias
是一个基于 DistilBERT 的模型,经过微调后可检测并减少文本中的政治偏见。该模型采用了一种新颖的方法,将扩散技术与从经过微调的 RoBERTa 教师模型进行知识蒸馏相结合,以实现无偏见的文本表示。
🚀 快速开始
要使用这个模型,你可以使用 Transformers 库加载它:
from transformers import DistilBertForSequenceClassification, RobertaTokenizer
model = DistilBertForSequenceClassification.from_pretrained('cajcodes/DistilBERT-PoliticalBias')
tokenizer = RobertaTokenizer.from_pretrained('cajcodes/DistilBERT-PoliticalBias')
✨ 主要特性
- 基于 DistilBERT 架构,经过微调以检测和减少文本中的政治偏见。
- 采用新颖的方法,结合扩散技术和知识蒸馏,实现无偏见的文本表示。
📦 安装指南
暂未提及具体安装步骤,可参考 Transformers 库的官方文档进行安装。
💻 使用示例
基础用法
from transformers import DistilBertForSequenceClassification, RobertaTokenizer
model = DistilBertForSequenceClassification.from_pretrained('cajcodes/DistilBERT-PoliticalBias')
tokenizer = RobertaTokenizer.from_pretrained('cajcodes/DistilBERT-PoliticalBias')
高级用法
import torch
sample_text = "We need to significantly increase social spending because it will reduce poverty and improve quality of life for all."
inputs = tokenizer(sample_text, return_tensors='pt')
outputs = model(**inputs)
predictions = torch.softmax(outputs.logits, dim=-1)
print(predictions)
📚 详细文档
训练
该模型使用一个包含 658 条陈述的合成数据集进行训练,每条陈述都有偏见评级。这些陈述由 GPT - 4 生成,涵盖了从高度保守到高度自由的范围。训练过程包括 21 个 epoch,学习率为 6e - 6。模型使用交叉熵和 KL 散度损失的组合进行优化,并使用温度缩放从教师模型中蒸馏知识。
新颖方法
训练采用了一种新颖的方法,将偏见视为扩散过程旨在消除的“噪声”。通过知识蒸馏,学生模型学习使其预测与教师模型的偏见较小的输出保持一致,从而有效减少结果文本中的偏见。
评估
该模型在验证集上取得了以下性能指标:
- 马修斯相关系数(MCC):0.593
- ROC AUC 分数:0.924
这些指标表明该模型在文本分类和减少偏见方面具有很强的能力。
数据集
用于训练的数据集 cajcodes/political-bias
包含 658 条带有偏见评级的陈述,这些陈述由 GPT - 4 生成。该数据集可用于进一步分析和模型训练。
引用
如果你使用此模型或数据集,请按以下方式引用:
@misc{cajcodes_distilbert_political_bias,
author = Christopher Jones,
title = {DistilBERT-PoliticalBias: A Novel Approach to Detecting and Reducing Political Bias in Text},
year = {2024},
howpublished = {\url{https://huggingface.co/cajcodes/DistilBERT-PoliticalBias}},
}
📄 许可证
本项目采用 MIT 许可证。