模型:
north/t5_base_NCC
North-T5模型是一组挪威和斯堪的纳维亚序列到序列模型。它基于灵活的 T5 和 T5X ,并可用于各种NLP任务,从分类到翻译。
Small 60M | Base 220M | Large 770M | XL 3B | XXL 11B | |
---|---|---|---|---|---|
North-T5‑NCC | 1232321 | ✔ | 1233321 | 1234321 | 1235321 |
North-T5‑NCC‑lm | 1236321 | 1237321 | 1238321 | 1239321 | 12310321 |
该模型的原始T5X检查点也可在 Google Cloud Bucket 中获得。
计划对North-T5模型进行全面评估,强烈建议外部研究人员进行自己的评估。 T5模型的主要优势是其灵活性。传统上,仅编码器模型(如BERT)在分类任务中表现出色,而序列到序列模型更容易训练用于翻译和问答等任务。尽管如此,以下是使用North-T5模型在政治分类任务上的结果 here 的解释。
Model: | F1 |
---|---|
mT5-base | 73.2 |
mBERT-base | 78.4 |
NorBERT-base | 78.2 |
North-T5-small | 80.5 |
nb-bert-base | 81.8 |
North-T5-base | 85.3 |
North-T5-large | 86.7 |
North-T5-xl | 88.7 |
North-T5-xxl | 91.8 |
这些是初步结果。BERT模型的 results 是基于经过早停止和衰减学习率的10次运行后最佳模型的测试结果。 T5模型的结果是对评估集上五次运行的平均值。小型模型训练了10,000步,而其他模型训练了5,000步。使用了固定的学习率(无衰减),没有使用推荐的等级分类。我们使用512的最大序列长度。这种方法简化了测试设置,并给出了易于解释的结果。然而,T5模型的结果可能实际上稍微次优。
以下子版本已经可以使用。更多版本将在不久后发布。
Model | Description |
---|---|
North‑T5‑NCC | This is the main version. It is trained an additonal 500.000 steps on from the mT5 checkpoint. The training corpus is based on 12314321 . In addition there are added data from MC4 and English Wikipedia. |
North‑T5‑NCC‑lm | The model is pretrained for an addtional 100k steps on the LM objective discussed in the 12315321 . In a way this turns a masked language model into an autoregressive model. It also prepares the model for some tasks. When for instance doing translation and NLI, it is well documented that there is a clear benefit to do a step of unsupervised LM-training before starting the finetuning. |
如下所述,该模型确实需要针对特定任务进行微调。这个过程相对简单,并且模型对所使用的超参数不太敏感。通常情况下,通过使用1e-3的固定学习率可以获得不错的结果。较小的模型通常需要更长的训练时间。在Google Colab上可以很容易地训练基本模型。
由于一些人确实希望看到模型的性能,而不必经历训练过程,因此我提供了一些测试模型。这些模型绝不是最佳模型,只是为了演示North-T5模型的用法。
所有模型均使用基于Flax的T5X代码库构建,并使用mT5预训练权重进行初始化。这些模型使用T5.1.1训练方案进行训练,只在无监督的遮蔽任务上进行训练。这也意味着模型(与原始T5相反)需要进行微调以解决特定任务。但是,这种微调通常不需要很高的计算资源,并且在大多数情况下,甚至可以使用免费的在线训练资源进行微调。
所有主要模型版本均在mT5检查点(1,000,000步)之后进行了500,000步的训练。它们主要是在一个75GB语料库上进行训练,包括NCC、Common Crawl和一些额外的高质量英文文本(维基百科)。语料库大约有80%是挪威文本。添加其他语言是为了保留一些多语言的功能,使模型更具鲁棒性以适应新词汇/概念,也更适合作为翻译任务的基础。
虽然庞大的模型通常会给出最佳结果,但它们的微调难度和成本也更高。我强烈建议先从微调基础模型开始。通过Google Colab,可以轻松在标准图形卡或免费TPU上进行微调。
所有模型都在TPU上进行了训练。最大的XXL模型在TPU v4-64上训练,XL模型在TPU v4-32上训练,大型模型在TPU v4-16上训练,其余模型在TPU v4-8上训练。由于在微调过程中可以减小批量大小,因此可以在稍小的硬件上进行微调。作为经验法则,微调时可以“降低一步”的硬件规格。即使对于微调,大型模型仍需要大量的硬件。
所有模型均使用基于Flax的T5X库进行训练。原始检查点以T5X格式提供,可用于微调或推断。除了XXL模型外,所有模型还转换为Transformers/HuggingFace格式。在此框架中,模型可以以Flax、PyTorch和TensorFlow格式加载以进行微调或推断。
我将继续训练和发布更多模型到此集合中。添加的模型取决于用户的反馈
感谢谷歌研究部门 TPU Research Cloud 提供的支持和硬件。TPU研究云团队和T5X团队为使其运行提供了极其有用的支持。
挪威国家图书馆的Freddy Wetjen在生成原始NCC语料库方面提供了巨大的帮助,并且还为此训练生成的整理库做出了贡献。此外,他还是创建这些模型的讨论合作伙伴。
还要感谢Stefan Schweter编写的用于将这些模型从T5X转换为HuggingFace的 script 以及Javier de la Rosa编写的读取HuggingFace数据集的数据加载器。
自担风险使用。这些模型尚未经过彻底测试,可能包含错误和偏见。
这些模型由Per E Kummervold进行训练。请通过 per@capia.no 与我联系。