google-research/text-to-text-transfer-transformer
Code for the paper "Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer"
解决的问题
本项目提供了文本到文本迁移Transformer(T5)的实现,该模型旨在将所有NLP任务视为文本到文本的问题。这使得单一模型可以在大规模文本语料库上进行预训练,然后针对多种多样的NLP任务进行微调,从而在各种基准测试中实现最先进水平的结果。
工作原理
T5采用Transformer架构,输入和输出始终为字符串。它通过 t5.data 包提供统一的框架来加载、预处理和评估数据集,该包负责任务定义、SentencePiece分词以及度量函数。该库提供了适配器,将这些任务与模型实现连接起来,支持使用Mesh TensorFlow进行大规模TPU训练,以及使用Hugging Face Transformers库进行基于GPU的PyTorch微调。
适用人群
希望复现原始T5论文实验、在自定义数据集上微调预训练T5模型,或为大规模NLP任务开发新型文本到文本模型的研究人员和开发者。
主要亮点
- 统一的文本到文本框架:将所有NLP任务(翻译、分类等)视为字符串到字符串的映射。
- 可扩展的数据流水线:包含
t5.data用于定义任务、任务混合用于多任务训练,并与TensorFlow Datasets (TFDS) 集成。 - 可扩展的训练:基于Mesh TensorFlow构建,支持在TPU上进行高性能训练,支持模型并行和数据并行。
- 预训练检查点:提供可访问的已发布模型检查点和操作配置,用于复现论文结果。
相关
- 项目
- 项目
- 项目
- 项目