项目简介
本项目基于PaddlePaddle框架对MobileBERT模型进行复现,目标是实现轻量级的BERT模型,使其可在资源受限的设备上使用。该模型采用BERT轻量级设计并引入迁移学习算法,有效提升了小模型的精度。
项目的主要特性和功能
- 轻量级设计:在参数少的情况下,性能优于同类型参数量远超它的BERT模型。
- 迁移学习算法:采用迁移学习算法,提升小模型精度。
- 多任务支持:预训练任务可进行掩码语言模型(MLM)和下一个句子预测(NSP)训练,下游任务可用于文本分类或问答任务。
安装使用步骤
环境要求
- Python 3.7
- PaddlePaddle 2.1.2
- paddlenlp 2.0.7
- numpy >= 1.7
- visualdl 2.2.0
- pytorch 1.7.1(用于模型对齐校验)
- transformers 4.9.2(用于模型对齐校验)
快速开始
- 复制本仓库:
bash cd MobileBert_paddle
- 模型转换:下载PyTorch权重并转换为Paddle权重:
bash python convert.py
- 模型精度对齐:通过
compare.py
脚本进行PaddlePaddle与PyTorch的模型输出对比:bash python compare.py
- 模型训练与评估:
- 训练:
bash bash scripts/train_squadv1.sh bash scripts/train_squadv2.sh bash scripts/train_mnli.sh
- 评估:
bash bash scripts/eval_squadv1.sh bash scripts/eval_squadv2.sh bash scripts/eval_mnli.sh
- 训练:
其他操作
- 数据预处理和加载:使用
utils/data.py
。 - 配置管理:使用
utils/config.py
。 - 评估指标计算:使用
utils/metric.py
。 - 命令行参数解析:使用
utils/args.py
。 - 实用工具函数:使用
utils/utils.py
。 - 模型与tokenizer定义:使用
model/model_tokenizer.py
。 - 调试和优化:确保模型训练与评估的准确性和稳定性。
注意事项
- 确保环境满足要求,包括Python版本和PaddlePaddle框架。
- 建议在AIStudio的终端上进行结果复现。
- 实际使用中可能需根据具体需求进行参数调整和优化。
引用
请引用项目中的相关引用信息。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】