update: Update T5 model structure and pretraining tasks documentation

This commit is contained in:
KMnO4-zx
2024-06-02 21:05:33 +08:00
parent ae0f11fe56
commit 1a47d2239c

View File

@@ -54,11 +54,40 @@ $$
### 2预训练任务 ### 2预训练任务
T5 模型的预训练任务是一个关键的组成部分,它能使模型能够学习到丰富的语言表示,语言表示能力可以在后续的微调过程中被迁移到各种下游任务。 T5 模型的预训练任务是一个关键的组成部分,它能使模型能够学习到丰富的语言表示,语言表示能力可以在后续的微调过程中被迁移到各种下游任务。训练所使用的数据集是一个大规模的文本数据集包含了各种各样的文本数据如维基百科、新闻、书籍等等。对数据经过细致的处理后生成了用于训练的750GB 的数据集 C4且已在 TensorflowData 中开源。
我们可以简单概括一下 T5 的预训练任务,主要包括以下几个部分:
- 预训练任务: T5模型的预训练任务是遮蔽语言模型(Masked Language Model MLM)也称为BERT-style目标。具体来说就是在输入文本中随机遮蔽15%的token然后让模型预测这些被遮蔽的token。这个过程不需要标签可以在大量未标注的文本上进行。
- 输入格式: 预训练时T5将输入文本转换为"文本到文本"的格式。对于一个给定的文本序列随机选择一些token进行遮蔽并用特殊的占位符(token)替换。然后将被遮蔽的token序列作为模型的输出目标。
- 预训练数据集: T5 使用了自己创建的大规模数据集"Colossal Clean Crawled Corpus"(C4)该数据集从Common Crawl中提取了大量干净的英语文本。C4数据集经过了一定的清洗去除了无意义的文本、重复文本等。
- 多任务预训练: T5 还尝试了将多个任务混合在一起进行预训练而不仅仅是单独的MLM任务。这有助于模型学习更通用的语言表示。
- 预训练到微调的转换: 预训练完成后T5模型会在下游任务上进行微调。微调时模型在任务特定的数据集上进行训练并根据任务调整解码策略。
通过大规模预训练T5模型能够学习到丰富的语言知识并获得强大的语言表示能力在多个NLP任务上取得了优异的性能预训练是T5成功的关键因素之一。
### 3大一统思想
T5模型的一个核心理念是“大一统思想”即所有的 NLP 任务都可以统一为文本到文本的任务这一思想在自然语言处理领域具有深远的影响。其设计理念是将所有不同类型的NLP任务如文本分类、翻译、文本生成、问答等转换为一个统一的格式输入和输出都是纯文本。
例如:
- 对于文本分类任务输入可以是“classify: 这是一个很好的产品”,输出是“正面”;
- 对于翻译任务输入可以是“translate English to French: How are you?”, 输出是“Comment ça va?”。
T5通过大规模的文本数据进行预训练然后在具体任务上进行微调。这一过程与BERT、GPT等模型类似但T5将预训练和微调阶段的任务统一为文本到文本的形式使其在各种任务上的适应性更强。
我们可以通过下面这张图来直观地理解 T5 的大一统思想:
<div align='center'>
<img src="./figures/2-0.png" alt="alt text" width="90%">
</div>
对于不同的NLP任务每次输入前都会加上一个任务描述前缀明确指定当前任务的类型。这不仅帮助模型在预训练阶段学习到不同任务之间的通用特征也便于在微调阶段迅速适应具体任务。例如任务前缀可以是“summarize: ”用于摘要任务或“translate English to German: ”用于翻译任务。
T5的大一统思想通过将所有NLP任务统一为文本到文本的形式简化了任务处理流程增强了模型的通用性和适应性。这一思想不仅推动了自然语言处理技术的发展也为实际应用提供了更为便捷和高效的解决方案。
**参考文献** **参考文献**
1. [Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer](http://arxiv.org/abs/1910.10683) 1. [Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer](http://arxiv.org/abs/1910.10683)
2. [DatasetColossal Clean Crawled Corpusc4](https://www.tensorflow.org/datasets/catalog/c4)