一款用pytorch来复现bert4keras的简洁训练框架
Documentation | Torch4keras | Examples
安装稳定版
pip install bert4torch
安装最新版
pip install git+https://www.github.com/Tongjilibo/bert4torch.git
git clone https://github.com/Tongjilibo/bert4torch
,修改example中的预训练模型文件路径和数据路径即可启动脚本torch==1.10
版本进行开发,如其他版本遇到不适配,欢迎反馈核心功能:加载bert、roberta、albert、xlnet、nezha、bart、RoFormer、RoFormer_V2、ELECTRA、GPT、GPT2、T5、GAU-alpha、ERNIE等预训练权重继续进行finetune、并支持在bert基础上灵活定义自己模型
丰富示例:包含pretrain、sentence_classfication、sentence_embedding、sequence_labeling、relation_extraction、seq2seq、serving等多种解决方案
实验验证:已在公开数据集实验验证,使用如下examples数据集
易用trick:集成了常见的trick,即插即用
其他特性:加载transformers库模型一起使用;调用方式简洁高效;有训练进度条动态展示;配合torchinfo打印参数量;默认Logger和Tensorboard简便记录训练过程;自定义fit过程,满足高阶需求
训练过程:
2022-10-28 23:16:10 - Start Training
2022-10-28 23:16:10 - Epoch: 1/5
5000/5000 [==============================] - 13s 3ms/step - loss: 0.1351 - acc: 0.9601
Evaluate: 100%|██████████████████████████████████████████████████| 2500/2500 [00:03<00:00, 798.09it/s]
test_acc: 0.98045. best_test_acc: 0.98045
2022-10-28 23:16:27 - Epoch: 2/5
5000/5000 [==============================] - 13s 3ms/step - loss: 0.0465 - acc: 0.9862
Evaluate: 100%|██████████████████████████████████████████████████| 2500/2500 [00:03<00:00, 635.78it/s]
test_acc: 0.98280. best_test_acc: 0.98280
2022-10-28 23:16:44 - Epoch: 3/5
5000/5000 [==============================] - 15s 3ms/step - loss: 0.0284 - acc: 0.9915
Evaluate: 100%|██████████████████████████████████████████████████| 2500/2500 [00:03<00:00, 673.60it/s]
test_acc: 0.98365. best_test_acc: 0.98365
2022-10-28 23:17:03 - Epoch: 4/5
5000/5000 [==============================] - 15s 3ms/step - loss: 0.0179 - acc: 0.9948
Evaluate: 100%|██████████████████████████████████████████████████| 2500/2500 [00:03<00:00, 692.34it/s]
test_acc: 0.98265. best_test_acc: 0.98365
2022-10-28 23:17:21 - Epoch: 5/5
5000/5000 [==============================] - 14s 3ms/step - loss: 0.0129 - acc: 0.9958
Evaluate: 100%|██████████████████████████████████████████████████| 2500/2500 [00:03<00:00, 701.77it/s]
test_acc: 0.98585. best_test_acc: 0.98585
2022-10-28 23:17:37 - Finish Training
模型分类 | 权重来源 | 权重链接 | 备注(若有) |
---|---|---|---|
bert | 谷歌原版bert(即bert-base-chinese) | tf,torch | tf转pytorch命令,转换脚本 |
bert | 哈工大chinese-bert-wwm-ext | tf/torch,torch | |
macbert | 哈工大chinese-macbert-base/large | tf/torch,torch | |
robert | 哈工大chinese-robert-wwm-ext | tf/torch,torch | |
deberta_v2 | IDEA Erlangshen-DeBERTa-v2 | torch | 转换脚本 |
guwenbert | 古文bert | torch | 转换脚本 |
xlnet | 哈工大xlnet | tf/torch | config |
electra | 哈工大electra | tf,torch | |
macbert | 哈工大macbert | tf,torch | |
albert | brightmart | tf,torch | |
ernie | 百度文心 | paddle,torch | |
roformer | 追一科技 | tf,torch | |
roformer_v2 | 追一科技 | tf,torch | |
simbert | 追一科技 | tf,torch_base | 转换脚本 |
roformer-sim | 追一科技 | tf,torch | |
gau-alpha | 追一科技 | tf | 转换脚本 |
wobert | 追一科技 | tf,torch_base,torch_plus_base | |
nezha | 华为 | tf,torch | |
gpt | CDial-GPT | torch | 转换脚本 |
gpt2 | 清华26亿 cmp_lm | torch | 转换脚本 |
gpt2 | 中文GPT2_ML模型 | tf,torch | 转换脚本 |
t5 | UER | torch | config |
mt5 | 谷歌 | torch | config |
t5_pegasus | 追一科技 | tf | 转换脚本 |
bart | 复旦 | torch | 转换脚本 |
text2vec | text2vec-base-chinese | torch |
@misc{bert4torch,
title={bert4torch},
author={Bo Li},
year={2022},
howpublished={\url{https://github.com/Tongjilibo/bert4torch}},
}