模型:

dbmdz/bert-base-historic-multilingual-cased

英文

hmBERT: 历史多语言语言模型用于实体识别

更多关于我们的hmBERT模型的信息可以在我们的新论文中找到: "hmBERT: Historical Multilingual Language Models for Named Entity Recognition"

语言

我们的历史语言模型库支持以下语言-包括它们的训练数据来源:

Language Training data Size
German 1232321 13-28GB (filtered)
French 1232321 11-31GB (filtered)
English 1234321 24GB (year filtered)
Finnish 1232321 1.2GB
Swedish 1232321 1.1GB

更小的模型

我们还为多语言模型发布了更小的模型:

Model identifier Model Hub link
dbmdz/bert-tiny-historic-multilingual-cased 1237321
dbmdz/bert-mini-historic-multilingual-cased 1238321
dbmdz/bert-small-historic-multilingual-cased 1239321
dbmdz/bert-medium-historic-multilingual-cased 12310321

语料库统计

德语 Europeana 语料库

我们提供了使用不同的OCR置信度阈值的某些统计数据,以缩小语料库的大小并使用更少噪声的数据:

OCR confidence Size
0.60 28GB
0.65 18GB
0.70 13GB

对于最终语料库,我们使用OCR置信度为0.6(28GB)。以下图显示了每年的token分布情况:

法语 Europeana 语料库

与德语一样,我们使用不同的OCR置信度阈值:

OCR confidence Size
0.60 31GB
0.65 27GB
0.70 27GB
0.75 23GB
0.80 11GB

对于最终语料库,我们使用OCR置信度为0.7(27GB)。以下图显示了每年的token分布情况:

英国图书馆语料库

元数据来自 here 。包括年份过滤的统计数据:

Years Size
ALL 24GB
>= 1800 && < 1900 24GB

我们使用经过年份过滤的变体。以下图显示了每年的token分布情况:

芬兰 Europeana 语料库

OCR confidence Size
0.60 1.2GB

以下图显示了每年的token分布情况:

瑞典 Europeana 语料库

OCR confidence Size
0.60 1.1GB

以下图显示了每年的token分布情况:

所有语料库

以下图显示了完整训练语料库的每年的token分布情况:

多语言词汇生成

首次尝试,我们使用每个预训练语料库的前10GB。我们将芬兰语和瑞典语上采样到约10GB。以下表格显示了用于生成32k和64k子词词汇表的确切大小:

Language Size
German 10GB
French 10GB
English 10GB
Finnish 9.5GB
Swedish 9.7GB

然后,我们计算以下NER语料库中的子词生育率和[UNK]部分的比例:

Language NER corpora
German CLEF-HIPE, NewsEye
French CLEF-HIPE, NewsEye
English CLEF-HIPE
Finnish NewsEye
Swedish NewsEye

32k词汇表的每种语言的子词生育率和未知部分的分析:

Language Subword fertility Unknown portion
German 1.43 0.0004
French 1.25 0.0001
English 1.25 0.0
Finnish 1.69 0.0007
Swedish 1.43 0.0

64k词汇表的每种语言的子词生育率和未知部分的分析:

Language Subword fertility Unknown portion
German 1.31 0.0004
French 1.16 0.0001
English 1.17 0.0
Finnish 1.54 0.0007
Swedish 1.32 0.0

最终预训练语料库

我们将瑞典语和芬兰语上采样到约27GB。所有预训练语料库的最终统计数据如下:

Language Size
German 28GB
French 27GB
English 24GB
Finnish 27GB
Swedish 27GB

总大小为130GB。

预训练

多语言模型

我们使用32k词汇表使用官方BERT实现在v3-32 TPU上训练了一个多语言BERT模型,使用以下参数:

python3 run_pretraining.py --input_file gs://histolectra/historic-multilingual-tfrecords/*.tfrecord \
--output_dir gs://histolectra/bert-base-historic-multilingual-cased \
--bert_config_file ./config.json \
--max_seq_length=512 \
--max_predictions_per_seq=75 \
--do_train=True \
--train_batch_size=128 \
--num_train_steps=3000000 \
--learning_rate=1e-4 \
--save_checkpoints_steps=100000 \
--keep_checkpoint_max=20 \
--use_tpu=True \
--tpu_name=electra-2 \
--num_tpu_cores=32

以下图显示了预训练损失曲线:

鸣谢

研究得到了谷歌TPU研究云(TRC)计划的云TPU的支持,该计划以前被称为TensorFlow研究云(TFRC)。非常感谢提供TRC存取权限 ❤️

多亏了 Hugging Face 团队的慷慨支持,可以从他们的S3存储中下载大小写两个版本的模型 ?