返回列表

Winning Solution 34th Solution (Possible 22nd Solution) LB Public: 0.954 LB Private: 0.92

593. LLM - Detect AI Generated Text | llm-detect-ai-generated-text

开始: 2023-10-31 结束: 2024-01-22 AI安全与对抗 数据算法赛
LLM检测AI生成文本 - 第34名获奖方案(可能第22名)

获奖方案 第34名(可能第22名)
公开榜: 0.954 | 私有榜: 0.92

作者: Terry Kim (专家级)
发布日期: 2024-01-23
竞赛排名: 第34名
得票: 11票

本项目是作为ML@Berkeley NMEP(新成员教育计划)的延伸而制作的。
如有兴趣,请查看我们的组织!
https://ml.berkeley.edu
https://www.linkedin.com/company/machine-learning-at-berkeley/mycompany/

私有榜: 0.92 (私有榜最佳: 0.929) 公开榜: 0.954

以下是我们实现私有榜0.92分的一些方法,最终排名第34位。在另一个notebook中使用了类似的方法实现了0.929分(很遗憾这未被选为最终提交)

参考并学习了很多:
TF-IDF模型(来自公开notebook)
来源: LLM DAIGT excluded prompts
分数: 私有榜 - 0.895, 公开榜 - 0.963

1. 集成随机森林

添加随机森林模型到集成中以增加模型多样性(使用与mnb类似的轻量级模型)

ensemble = VotingClassifier(estimators=[('mnb', clf),
                                            ('sgd', sgd_model),
                                            ('lgb', lgb), 
                                            ('cat', cat),
                                            ('rf', rf_model)
                                           ],
                                weights=weights, voting='soft', n_jobs=-1)

2. 平衡分布并增加数据集多样性

https://github.com/panagiotisanagnostou/AI-GA#

通过添加额外的训练数据,制作了一个平衡且多样化的训练数据集。我检查了标签分布,并添加了额外的数据集以使其更加平衡。具体使用了AI-GA(AI生成摘要数据集)。

merged_df['label'].hist(bins=10)  
plt.xlabel('Value')
plt.ylabel('Frequency')
plt.title('Distribution')
plt.show()

添加数据后检查分布是否已平衡

欢迎随时提出任何后续问题。

同比赛其他方案