本实验使用的数据集是 DpgMedia2019: A Dutch News Dataset for Partisanship Inspection 数据集。
它包含各个部分,但我在此存储库中使用的主要部分是原始 104K 新闻文章的子集。每篇文章都有一个“党派”标签,说明该文章是否有党派倾向(正确/错误)。党派/无党派文章数量大致平衡。
该数据集由作者创建,旨在为创建党派新闻检测器等做出贡献。在实验中使用的 python 代码中,会自动下载特定的数据集文件。
查看 github 和论文,了解有关数据集及其构建方式的更多信息。请参阅参考资料以获取信息。
笔记 !!截至 2023 年 1 月,并非所有文件都在数据集的原始 github 位置中可用。如果您需要原始文件,请从 Kaggle 数据集下载它们。
此存储库中使用的训练和验证子集可在“数据”文件夹中找到。
在笔记本“Prepare_Train_and_Validation_Datasets.ipynb”中,完整数据集将被分割成用于训练和验证的较小子集。
这些文件可在此存储库的“数据”文件夹中找到。
创建较小数据子集的主要原因是 GPT(或其他 LLM)模型只需要几千个样本即可对其进行微调。较小的数据集还意味着更少的代币和更少的信用卡账单;-)
较小的子集具有以下样本量:
以下常规 Transformer 模型在笔记本“Transformer_Model_Training_And_Validation.ipynb”中针对较小的训练和验证数据子集进行了训练和验证:
PolyLM 1.7B 和 OpenLLaMA 7B V2 Open LLM 模型均在包含荷兰语的多语言数据集上进行了预训练。
在笔记本“Open_LLM_Training_And_Validation.ipynb”中,Open LLM 模型被量化为 4 位,并使用 QLoRA 设置进行微调,以最大限度地减少 GPU 内存占用。
LoraConfig 的等级设置为 64,alpha 为 16。
训练后,PolyLM 1.7B 模型在验证集上的准确率达到 84.4%,而 OpenLLaMA 7B V2 模型甚至达到 89.5%。
我进行了多次训练,在不同的情况下,与上述值相比,两个模型的得分最高或低于 0.5%。
微调 GPT-3.5 的代码可以在笔记本“Finetune_GPT-3.5.ipynb”中找到。根据训练和验证 CSV 文件创建特定文件并将其上传到 OpenAI,用于微调 GPT-3.5 模型。新闻文章被包装在一个特定的提示中,该提示是为我们希望模型通过微调来学习的分类而设计的。
验证代码可在笔记本“Validate_GPT-3.5.ipynb”中找到。对于验证集中的每条记录,新闻文章的文本都包含在提示中,并通过 API 调用 OpenAI 以获取聊天完成的响应。响应被转换为二进制标签,并使用真实标签生成最终的分类报告。
经过微调的 OpenAI GPT-3.5 模型在验证集上的准确率达到 89.4%。
请注意,我使用 OpenAI 进行微调和验证,而不是 Azure OpenAI。
在这款笔记本的最新版本(2023年12月5日)中,我进行了以下更新:
下面是 3 个 Transformer 模型和 GPT-3.5 模型在验证集上获得的准确度分数。
GPT-3.5模型经过微调后获得了较高的准确率分数。
3款Transformer模型的性能稍显落后。他们显然会从更多数据样本的训练中受益。
Open LLM PolyLM 得分最低。然而,OpenLLaMA 7B V2 模型获得了 89.5% 的出色分数,与 GPT-3.5 Turbo 微调模型(0613 和 1106)所获得的分数相当。
(法学硕士) 模型类型 | 验证准确度 (%) 分数 |
---|---|
PolyLM 1.7B(劳拉:r = 64) | 84.4 |
多语言 DistilBert | 85.6 |
多语言伯特 | 86.3 |
多语言 DeBERTa V3 | 85.8 |
OpenLLaMA 7B V2(洛拉:r = 64) | 89.5 |
GPT-3.5 Turbo 0613(微调) | 90.8 |
GPT-3.5 Turbo 1106(微调) | 89.4 |
GPT-3.5 Turbo 1106(情境学习) | 56.0 |
!!多语言 DeBERTa V3(完整数据集) | 95.2 |
@misc{1908.02322,
Author = {Chia-Lun Yeh and Babak Loni and Mariëlle Hendriks and Henrike Reinhardt and Anne Schuth},
Title = {DpgMedia2019: A Dutch News Dataset for Partisanship Detection},
Year = {2019},
Eprint = {arXiv:1908.02322},
}