英文

German BERT

概述

语言模型:bert-base-cased 语言:德语 训练数据:维基百科,OpenLegalData,新闻(约 12GB) 评估数据:Conll03(实体识别),GermEval14(实体识别),GermEval18(分类),GNAD(分类) 基础设施:1个TPU v2 发布日期:2019年6月14日

2020年4月3日更新:我们在deepset的s3上更新了词汇文件,以符合标点符号标记的默认分词。有关详细信息,请参见相关的 FARM issue 。如果您想使用旧的词汇表,我们还上传了一个 "deepset/bert-base-german-cased-oldvocab" 模型。

详细信息

  • 我们使用Google的Tensorflow代码在单个云TPU v2上进行训练,使用标准设置。
  • 对于序列长度128,我们进行了810k步的训练,批量大小为1024,并对长度为512的序列进行了30k步的训练。训练耗时约为9天。
  • 作为训练数据,我们使用了最新的德语维基百科转储(6GB原始txt文件),OpenLegalData转储(2.4GB)和新闻文章(3.6GB)。
  • 我们使用定制脚本清理了数据转储,并使用spacy v2.1对句子进行了分段。为了创建TensorFlow记录,我们使用推荐的sentencepiece库创建了词片段词汇表,并使用TensorFlow脚本将文本转换为BERT可用的数据。

有关详细信息,请参见 https://deepset.ai/german-bert

超参数

batch_size = 1024
n_steps = 810_000
max_seq_len = 128 (and 512 later)
learning_rate = 1e-4
lr_schedule = LinearWarmup
num_warmup_steps = 10_000

性能

在训练过程中,我们监视损失,并在以下德语数据集上评估不同的模型检查点:

  • germEval18Fine:多类别情感分类的宏f1评分
  • germEval18coarse:二元情感分类的宏f1评分
  • germEval14:实体识别的序列f1评分(文件名为deuutf.*)
  • CONLL03:实体识别的序列f1评分
  • 10kGNAD:文档分类的准确率

即使没有进行彻底的超参数调整,我们观察到我们的德语模型的学习非常稳定。使用不同种子进行多次重启产生了相似的结果。

我们还在预训练的9天中不同的时间点进行了评估,并惊讶地发现模型收敛到最大可达性能的速度非常快。我们在7个不同的模型检查点上运行了所有5个下游任务-从0到840k的训练步骤(图中的X轴)。大部分检查点来自早期训练,我们预期在这些阶段有最大的性能变化。令人惊讶的是,即使是随机初始化的BERT也可以仅依靠标记的下游数据集进行训练并达到良好的性能(蓝色线,GermEval 2018 Coarse任务,795 kB训练集大小)。

作者

  • Branden Chan:branden.chan [at] deepset.ai
  • Timo Möller:timo.moeller [at] deepset.ai
  • Malte Pietsch:malte.pietsch [at] deepset.ai
  • Tanay Soni:tanay.soni [at] deepset.ai

关于我们

我们通过开源将NLP技术带给行业!我们专注于行业特定的语言模型和大规模问答系统。

我们的一些工作:

联系我们: Twitter | LinkedIn | Website