🕵️♂️ 微调 DeBERTa-v3 进行 AI 生成文章检测
任务来自 Kaggle 竞赛 LLM - Detect AI Generated Text [Link]
数据集使用 “🔍📝🕵️🤖” 队公开的混合数据 [Link]
- Pytorch 2.1.2
- Python 3.10
- CUDA 12.1
- Ubuntu 22.04
GPU 使用 Nvidia A10 * 1(资源有限,项目支持多 GPU 训练)
克隆仓库并安装 requirements
git clone https://github.com/hsushuai/detect-ai-generated-text.git
cd detect-ai-generated-text
pip install -r requirements.txt
下载数据集,从头开始微调模型 🥊
mkdir data
wget -P data https://github.com/hsushuai/detect-ai-generated-text/releases/download/dataset/detect-ai-generated-text-mix.zip
wget -P data https://github.com/hsushuai/detect-ai-generated-text/releases/download/dataset/llm-detect-ai-generated-text.zip
unzip data/detect-ai-generated-text-mix.zip -d data
unzip data/llm-detect-ai-generated-text.zip -d data
下载微调好的模型,直接用于部署推理 🚀
mkdir models
wget -P models https://github.com/hsushuai/detect-ai-generated-text/releases/download/models/finetuned-deberta-v3-small-best.pth.tar
wget -P models https://github.com/hsushuai/detect-ai-generated-text/releases/download/models/finetuned-deberta-v3-small-last.pth.tar
如果你的网络环境无法直接连接到抱抱脸 🫣 官方地址,可以修改 Hugging Face 源
export HF_ENDPOINT=https://hf-mirror.com
训练代码和配置分别在 code
和 conf
文件夹中。 我们使用 HF accelerate
来进行训练。多 GPU 时,采用 DDP 策略。
可以修改 --config-name deberta-v3-large
去微调 deberta-v3-large 模型
accelerate launch ./src/run_train.py \
--config-name deberta-v3-small \
use_wandb=false
可以设置 use_wandb=true
来使用 wandb 记录训练过程,前提是需要通过 wandb login
来配置个人密钥 🗝️ ,详情见 wandb 官方文档。
使用 Flask 实现简易的 web 服务 🤖
demo.mp4
python deployment/app.py
使用 Dockerfile 构建镜像,并运行容器
docker build -t detect_ai_generated_text .
docker run -d -p 5000:5000 detect_ai_generated_text