Skip to main content

an elegant bert4torch

Project description

bert4torch

一款用pytorch来复现bert4keras的简洁训练框架

licence GitHub release PyPI PyPI - Downloads GitHub stars GitHub Issues contributions welcome

1. 下载安装

安装稳定版

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中的预训练模型文件路径和数据路径即可启动脚本
  • 自行训练:针对自己的数据,修改相应的数据处理代码块
  • 开发环境:使用torch==1.10版本进行开发,如其他版本遇到不适配,欢迎反馈

2. 功能

3. 快速上手

4. 版本说明

  • v0.2.2:20220922 修复t5的norm_mode问题,允许hidden_size不整除num_attention_heads,支持多个schedule(如同时ema+warmup)
  • v0.2.1:20220905 兼容torch<=1.7.1的torch.div无rounding_mode,增加自定义metrics,支持断点续训,增加默认Logger和Tensorboard日志
  • v0.2.0:20220823 兼容torch<1.9.0的缺失take_along_dim,修复bart中位置向量514的问题,修复Sptokenizer对符号不转换,打印Epoch开始的时间戳,增加parallel_apply
  • v0.1.9:20220808 增加mixup/manifold_mixup/temporal_ensembling策略,修复pgd策略param.grad为空的问题,修改tokenizer支持批量
  • v0.1.8:20220717 修复原来CRF训练中loss陡增的问题,修复xlnet的token_type_ids输入显存占用大的问题
  • v0.1.7:20220710 增加EarlyStop,CRF中自带转bool类型
  • v0.1.6:20220605 增加transformer_xl、xlnet、t5_pegasus模型,prompt、预训练等示例,支持增加embedding输入,EMA策略,修复tokenizer和sinusoid的bug
  • v0.1.5:20220504 增加GAU-alpha,混合梯度,梯度裁剪,单机多卡(DP、DDP)
  • v0.1.4:20220421 增加了VAT,修复了linux下apply_embedding返回项有问题的情况
  • v0.1.3:20220409 初始版本

5. 更新:

  • 20221022:修复DP和DDP出现resume_epoch不存在的bug, tokenizer的never_split去除None, transformer_xl的bug, 增加gradient_checkpoint
  • 20221011:虚拟对抗VAT在多个ouput时支持指定,增加elasticsearch示例, 把Trainer抽象到torch4keras中供更多项目使用,把梯度累积移到compile中
  • 20220920:增加TensorRT示例,支持多个schedule(如同时ema+warmup),sanic+onnx部署
  • 20220910:增加默认Logger和Tensorboard日志,ONNX推理,增加ERNIE模型,修复t5的norm_mode问题,允许hidden_size不整除num_attention_heads
  • 20220828:增加nl2sql示例,增加自定义metrics,支持断点续训
  • 20220821:增加W2NER和DiffCSE示例,打印Epoch开始的时间戳,增加parallel_apply,兼容torch<=1.7.1的torch.div无rounding_mode
  • 20220814:增加有监督句向量、关系抽取、文本生成实验指标,兼容torch<1.9.0的缺失take_along_dim,修复bart中位置向量514的问题,修复Sptokenizer对符号不转换
  • 20220727:增加mixup/manifold_mixup/temporal_ensembling策略,修复pgd策略param.grad为空的问题,修改tokenizer支持批量,增加uie示例
  • 20220716:修复原来CRF训练中loss陡增的问题,修复xlnet的token_type_ids输入显存占用大的问题
  • 20220710:增加金融中文FAQ示例,天池新闻分类top1案例,增加EarlyStop,CRF中自带转bool类型
  • 20220629:增加ner的实验,测试crf不同初始化的效果,bert-whitening中文实验
  • 20220613:增加seq2seq+前缀树,增加SimCSE/ESimCSE/PromptBert等无监督语义相似度的中文实验
  • 20220605:增加PromptBert、PET、P-tuning示例,修改tokenizer对special_tokens分词错误的问题,增加t5_pegasus
  • 20220529:transformer_xl、xlnet模型,修改sinusoid位置向量被init_weight的bug,EMA,sohu情感分类示例
  • 20220517:增加预训练代码,支持增加embedding输入(如词性,word粒度embedding)
  • 20220501:增加了混合梯度,梯度裁剪,单机多卡训练(DP、DDP)
  • 20220425:增加了VAT、GAU-alpha等示例,增加了梯度累积,自定义fit()示例
  • 20220415:增加了ner_mrc、ner_span、roformer_v2、roformer-sim等示例
  • 20220405:增加了GPLinker、TPlinker、SimBERT等示例
  • 20220329:增加了CoSENT、R-Drop、UDA等示例
  • 20220322:添加GPT、GPT2、T5模型
  • 20220312:初版提交

6. Todo List(欢迎建议):

  • faiss在文本向量检索中的使用

7. 预训练权重

模型分类 权重来源 权重链接 备注(若有)
bert 谷歌原版bert(即bert-base-chinese) tfpytorch tf转pytorch命令转换脚本
bert 哈工大chinese-bert-wwm-ext tf/pytorchpytorch
robert 哈工大chinese-robert-wwm-ext tf/pytorchpytorch
xlnet 哈工大xlnet tf/pytorch config
electra 哈工大electra tfpytorch
macbert 哈工大macbert tfpytorch
albert brightmart tfpytorch
ernie 百度文心 paddlepytorch
roformer 追一科技 tfpytorch
roformer_v2 追一科技 tfpytorch
simbert 追一科技 tfpytorch
roformer-sim 追一科技 ftpytorch
gau-alpha 追一科技 tf 转换脚本
nezha 华为 tfpytorch
gpt CDial-GPT pytorch 转换脚本
gpt2 清华26亿 cmp_lm pytorch 转换脚本
gpt2 中文GPT2_ML模型 tfpytorch 转换脚本
t5 UER pytorch config
mt5 谷歌 pytorch config
t5_pegasus 追一科技 tf 转换脚本
bart 复旦 pytorch 转换脚本

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bert4torch-0.2.3.tar.gz (70.5 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page