一款用pytorch来复现bert4keras的简洁训练框架
安装稳定版
pip install bert4torch
安装最新版
pip install git+https://www.github.com/Tongjilibo/bert4torch.git
- 注意事项:pip包的发布慢于git上的开发版本,git clone注意引用路径
- 测试用例:
git clone https://github.com/Tongjilibo/bert4torch
,修改example中的预训练模型文件路径和数据路径即可启动脚本,examples中用到的数据文件后续会放链接 - 自行训练:针对自己的数据,修改相应的数据处理代码块
- 开发环境:使用
torch==1.10
版本进行开发,如其他版本遇到不适配,欢迎反馈
- v0.1.6:增加transformer_xl、xlnet、t5_pegasus模型,prompt、预训练等示例,支持增加embedding输入,EMA策略,修复tokenizer和sinusoid的bug
- v0.1.5:增加GAU-alpha,混合梯度,梯度裁剪,单机多卡(DP、DDP)
- v0.1.4:增加了VAT,修复了linux下apply_embedding返回项有问题的情况
- v0.1.3:初始版本
- 2022年6月29更新:增加ner的实验,测试crf不同初始化的效果
- 2022年6月13更新:增加seq2seq+前缀树,增加SimCSE/ESimCSE/PromptBert等无监督语义相似度的中文实验
- 2022年6月05更新:增加PromptBert、PET、P-tuning示例,修改tokenizer对special_tokens分词错误的问题,增加t5_pegasus
- 2022年5月29更新:transformer_xl、xlnet模型, 修改sinusoid位置向量被init_weight的bug, EMA,sohu情感分类示例
- 2022年5月17更新:增加预训练代码,支持增加embedding输入(如词性,word粒度embedding)
- 2022年5月01更新:增加了混合梯度,梯度裁剪,单机多卡训练(DP、DDP)
- 2022年4月25更新:增加了VAT、GAU-alpha等示例,增加了梯度累积,自定义fit()示例
- 2022年4月15更新:增加了ner_mrc、ner_span、roformer_v2、roformer-sim等示例
- 2022年4月05更新:增加了GPLinker、TPlinker、SimBERT等示例
- 2022年3月29更新:增加了CoSENT、R-Drop、UDA等示例
- 2022年3月22更新:添加GPT、GPT2、T5模型
- 2022年3月12更新:初版提交
- 用pytorch复现苏神的bert4keras
- 初版参考了bert4pytorch
- 核心功能:加载bert、roberta、albert、xlnet、nezha、bart、RoFormer、RoFormer_V2、ELECTRA、GPT、GPT2、T5、GAU-alpha等预训练权重继续进行finetune、并支持在bert基础上灵活定义自己模型
- 丰富示例:包含pretrain、sentence_classfication、sentence_embedding、sequence_labeling、relation_extraction、seq2seq等多种解决方案
- 其他特性:可加载transformers库模型一起使用;调用方式和bert4keras基本一致,简洁高效;实现基于keras的训练进度条动态展示;兼容torchinfo,实现打印各层参数量功能;自定义fit过程,满足高阶需求
模型分类 | 权重来源 | 权重链接 | 转换说明(若有) |
---|---|---|---|
bert | 谷歌原版bert | Github | 转pytorch命令 |
bert | 哈工大bert | Github, HuggingFace | |
bert | bert-base-chinese(HuggingFace) | HuggingFace | 转换脚本 |
robert | 哈工大robert | Github, HuggingFace: base, large | |
albert | brightmart | Github | |
xlnet | 哈工大xlnet | Github | |
electra | 哈工大electra | Github | |
macbert | 哈工大macbert | Github | |
roformer | 追一科技 | Github | HuggingFace搜索 |
roformer_v2 | 追一科技 | Github | HuggingFace搜索 |
simbert | 追一科技 | Github | HuggingFace搜索 |
roformer-sim | 追一科技 | Github | HuggingFace搜索 |
gau-alpha | 追一科技 | Github | 转换脚本 |
nezha | 华为 | Github | HuggingFace搜索 |
gpt | CDial-GPT | Github | 转换脚本 |
gpt2 | 清华26亿 cmp_lm | Github | 转换脚本 |
gpt2 | 中文GPT2_ML模型 | Github | 转换脚本 |
t5 | UER | HuggingFace: small, base | |
mt5 | 谷歌 | HuggingFace | |
t5_pegasus | 追一科技 | Github | |
bart | 复旦 | Github |