本项目使用BERT模型来检测文本是否由AI生成。
- 安装Python 3.9
- 安装依赖包:
pip install -r requirements.txt- 下载Ghostbuster数据集
- 将数据集放在项目目录下的
ghostbuster-data文件夹中 - 确保数据集路径正确(在
main.py中检查DATA_PATH变量)
python main.py确保你有以下文件:
main.py:主训练脚本data_loader.py:数据加载脚本requirements.txt:依赖包列表submit.sh:集群作业提交脚本
ssh -p 10022 [email protected]密码:SKwFeThVz(8p6q*23a
mkdir -p ~/bert_train
cd ~/bert_train在本地Windows PowerShell中执行:
scp -P 10022 main.py data_loader.py requirements.txt submit.sh [email protected]:~/bert_train/在集群终端中执行:
sbatch submit.sh# 查看作业是否在运行
squeue -u cse12211617
# 查看训练输出
cat train_*.log
# 实时查看训练进度
tail -f train_*.log# 查看作业ID
squeue -u cse12211617
# 取消作业
scancel <作业ID>-
A100分区
- 每个用户最多1个GPU
- 每个用户最多1个作业
- 使用
--partition=a100和--qos=a100
-
RTX2080Ti分区
- 每个用户最多2个GPU
- 每个用户最多1个作业
- 使用
--partition=rtx2080ti和--qos=rtx2080ti
-
Titan分区
- 每个用户最多2个GPU
- 每个用户最多1个作业
- 使用
--partition=titan和--qos=titan
如果需要修改使用的GPU分区,编辑 submit.sh 文件中的以下行:
#SBATCH --partition=a100 # 改为需要的分区
#SBATCH --qos=a100 # 改为对应的qos- 确保数据集路径正确
- 作业提交后会自动安装依赖包
- 训练过程可能需要几个小时
- 可以随时查看日志了解训练进度
- 如果遇到问题,可以查看错误日志:
cat train_*.err
- 主训练脚本
- 包含模型训练和评估的完整流程
- 使用BERT模型进行文本分类
- 支持GPU训练
- 数据加载脚本
- 处理Ghostbuster数据集
- 将文本转换为BERT可用的格式
- 批次大小:32
- 学习率:2e-5
- 训练轮数:4
- 最大序列长度:512
- 优化器:AdamW
- 损失函数:CrossEntropyLoss