模型:
dbmdz/bert-base-historic-multilingual-cased
更多关于我们的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 | 
我们提供了使用不同的OCR置信度阈值的某些统计数据,以缩小语料库的大小并使用更少噪声的数据:
| OCR confidence | Size | 
|---|---|
| 0.60 | 28GB | 
| 0.65 | 18GB | 
| 0.70 | 13GB | 
对于最终语料库,我们使用OCR置信度为0.6(28GB)。以下图显示了每年的token分布情况:
 
 与德语一样,我们使用不同的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分布情况:
 
 | OCR confidence | Size | 
|---|---|
| 0.60 | 1.2GB | 
以下图显示了每年的token分布情况:
 
 | 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存储中下载大小写两个版本的模型 🤗