面向文本、视觉、音频和多模态的前沿机器学习模型定义框架,可用于推理和训练。
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
安装 T5 软件包
pip install t5[gcp] - 2
在免费的 Colab 教程中试用 T5(使用 TPU,无需本地配置)
- 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 数据每日更新。
相关项目
将 BERT、RoBERTa、XLNet 等 Hugging Face 预训练 Transformer 模型接入 spaCy 流程的组件与架构。
Deezer 开源的 Python 音频分离库与命令行工具,可用预训练模型将歌曲拆分为人声、鼓、贝斯等音轨。
一个 Python 文本切分工具,可将文本按句子或其他语义单元切分,覆盖 85 种语言。
基于 Keras 3 的预训练模型库,支持文本、图像和音频模型,可在 JAX、TensorFlow 或 PyTorch 上运行。
一个轻量的函数式深度学习库,用类型检查的 API 组合模型,并可封装 PyTorch、TensorFlow 和 MXNet 的层。