Repolode
google-research

google-research/text-to-text-transfer-transformer

谷歌研究院的 T5 代码库,用于复现统一文本到文本 Transformer 的迁移学习实验,涵盖数据处理、训练、微调与评估。

Star
6,565
Fork
800
未关闭 Issue
110
最近提交
26天前

这是什么?

T5 是论文《Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer》的配套代码库,核心思路是把所有 NLP 任务都统一为“文本输入、文本输出”的形式。库的主要功能围绕数据集的加载、预处理、混合与评估展开,用户可以基于 TensorFlow Datasets、文本文件或自定义数据源定义 Task,并配置预处理器、SentencePiece 分词与评估指标,再组合成 Mixture 进行多任务训练。

仓库提供 t5_mesh_transformer 等命令行工具,用于预训练、微调、评估和解码,通过 gin 配置文件驱动。它主要面向基于 Mesh TensorFlow 的 Google Cloud TPU 训练,也给出了在 GPU 上运行的方法。此外还包含实验性的 Hugging Face Transformers 接口,可在单张 GPU 上用 PyTorch 微调,并发布了从 T5-Small 到 T5-11B 的预训练权重。

该项目已不再积极开发,官方建议新项目改用基于 JAX 和 Flax 的 T5X。

核心功能

  • 01通过 Task、TfdsTask 和 TextLineTask 将 NLP 任务统一为文本到文本的数据格式。
  • 02支持把多个任务组合为 Mixture,按可配置比例进行多任务训练。
  • 03提供预训练、微调、评估和解码的命令行工具,由 gin 配置驱动。
  • 04基于 Mesh TensorFlow 在 Google Cloud TPU 上运行,并附有 GPU 使用说明。
  • 05发布从 T5-Small(6000 万参数)到 T5-11B(110 亿参数)的预训练模型权重。

适用场景

  • 复现 T5 论文中关于迁移学习的实验结果。
  • 在自定义的文本到文本数据集上微调已发布的 T5 模型。
  • 基于混合数据集搭建多任务 NLP 训练流程。
  • 研究序列到序列模型的预训练目标与数据预处理方法。

快速上手

  1. 1

    安装 T5 软件包

    pip install t5[gcp]
  2. 2

    在免费的 Colab 教程中试用 T5(使用 TPU,无需本地配置)

  3. 3

    列出可用的任务和混合数据集

    python -c "import t5; print(t5.data.MixtureRegistry.names())"

使用前须知

  • README 称基于 TensorFlow 和 MeshTF 的 T5 已不再积极开发,并推荐改用 T5X。
  • 训练和微调主要围绕 Google Cloud TPU 与 GCP 存储设计。
  • 准备 C4 数据集需要约 7 TB 的下载量和约 335 个 CPU 日的计算量。

收录于专题

标签

常见问题

text-to-text-transfer-transformer 是什么?
谷歌研究院的 T5 代码库,用于复现统一文本到文本 Transformer 的迁移学习实验,涵盖数据处理、训练、微调与评估。 T5 是论文《Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer》的配套代码库,核心思路是把所有 NLP 任务都统一为“文本输入、文本输出”的形式。库的主要功能围绕数据集的加载、预处理、混合与评估展开,用户可以基于 TensorFlow Datasets、文本文件或自定义数据源定义 Task,并配置预处理器、SentencePiece 分词与评估指标,再组合成 Mixture 进行多任务训练。
text-to-text-transfer-transformer 可以免费使用吗?用的什么许可证?
text-to-text-transfer-transformer 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
text-to-text-transfer-transformer 还在维护吗?
活跃维护中。text-to-text-transfer-transformer 最近一次提交是在 2026年10月12日。
text-to-text-transfer-transformer 适合用来做什么?
复现 T5 论文中关于迁移学习的实验结果。 在自定义的文本到文本数据集上微调已发布的 T5 模型。 基于混合数据集搭建多任务 NLP 训练流程。 研究序列到序列模型的预训练目标与数据预处理方法。
text-to-text-transfer-transformer 怎么安装和运行?
安装 T5 软件包: pip install t5[gcp] 在免费的 Colab 教程中试用 T5(使用 TPU,无需本地配置) 列出可用的任务和混合数据集: python -c "import t5; print(t5.data.MixtureRegistry.names())"
在哪里获取 text-to-text-transfer-transformer?
源代码和安装说明在 GitHub 上:https://github.com/google-research/text-to-text-transfer-transformer

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目