HuggingFace镜像/t5-base
模型介绍文件和版本分析
下载使用量0

目录

  1. 模型详情
  2. 用途
  3. 偏见、风险与局限性
  4. 训练详情
  5. 评估
  6. 环境影响
  7. 引用
  8. 模型卡片作者
  9. 如何开始使用模型

模型详情

模型描述

文本到文本迁移转换器(T5)的开发者在文章中写道:

通过T5,我们建议将所有自然语言处理任务重构为统一的文本到文本格式,其中输入和输出始终是文本字符串,这与只能输出类别标签或输入文本片段的BERT风格模型形成对比。我们的文本到文本框架使我们能够在任何自然语言处理任务上使用相同的模型、损失函数和超参数。

T5-Base是具有2.2亿参数的检查点。

  • 开发者: Colin Raffel、Noam Shazeer、Adam Roberts、Katherine Lee、Sharan Narang、Michael Matena、Yanqi Zhou、Wei Li、Peter J. Liu。参见相关论文和GitHub仓库
  • 模型类型: 语言模型
  • 语言(自然语言处理): 英语、法语、罗马尼亚语、德语
  • 许可证: Apache 2.0
  • 相关模型: 所有T5检查点
  • 更多信息资源:
    • 研究论文
    • 谷歌T5博客文章
    • GitHub仓库

用途

直接使用与下游使用

开发者在博客文章中写道,该模型:

我们的文本到文本框架使我们能够在任何自然语言处理任务上使用相同的模型、损失函数和超参数,包括机器翻译、文档摘要、问答以及分类任务(例如情感分析)。我们甚至可以将T5应用于回归任务,通过训练它预测数字的字符串表示而非数字本身。

有关更多详细信息,请参见博客文章和研究论文。

超出范围的使用

需要更多信息。

偏见、风险与局限性

需要更多信息。

建议

需要更多信息。

训练详情

训练数据

该模型在 Colossal Clean Crawled Corpus (C4) 上进行预训练,该语料库是在与 T5 相同的 研究论文 背景下开发和发布的。

该模型在无监督(1.)和有监督任务(2.)的多任务混合上进行预训练。 因此,以下数据集分别用于(1.)和(2.):

  1. 用于无监督去噪目标的数据集:
  • C4
  • Wiki-DPR
  1. 用于有监督文本到文本语言建模目标的数据集
  • 句子可接受性判断
    • CoLA Warstadt et al., 2018
  • 情感分析
    • SST-2 Socher et al., 2013
  • 释义/句子相似度
    • MRPC Dolan and Brockett, 2005
    • STS-B Cer et al., 2017
    • QQP Iyer et al., 2017
  • 自然语言推理
    • MNLI Williams et al., 2017
    • QNLI Rajpurkar et al.,2016
    • RTE Dagan et al., 2005
    • CB De Marneff et al., 2019
  • 句子补全
    • COPA Roemmele et al., 2011
  • 词义消歧
    • WIC Pilehvar and Camacho-Collados, 2018
  • 问答
    • MultiRC Khashabi et al., 2018
    • ReCoRD Zhang et al., 2018
    • BoolQ Clark et al., 2019

训练流程

模型开发者在其摘要中写道:

在本文中,我们通过引入一个统一框架来探索自然语言处理(NLP)迁移学习技术的前景,该框架将所有语言问题都转化为文本到文本的格式。我们的系统性研究在数十项语言理解任务上,对预训练目标、架构、无标签数据集、迁移方法及其他因素进行了比较。

所介绍的框架,即T5框架,包含一个整合了论文中研究方法的训练流程。有关更多详细信息,请参见研究论文。

评估

测试数据、因素与指标

开发者在24项任务上对模型进行了评估,完整详情请参见研究论文。

结果

有关T5-Base的完整结果,请参见研究论文中的表14。

环境影响

可以使用Lacoste等人(2019)提出的机器学习影响计算器来估算碳排放。

  • 硬件类型: Google Cloud TPU Pods
  • 使用时长: 需要更多信息
  • 云服务提供商: GCP
  • 计算区域: 需要更多信息
  • 碳排放量: 需要更多信息

引用

BibTeX:

@article{2020t5,
  author  = {Colin Raffel and Noam Shazeer and Adam Roberts and Katherine Lee and Sharan Narang and Michael Matena and Yanqi Zhou and Wei Li and Peter J. Liu},
  title   = {Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer},
  journal = {Journal of Machine Learning Research},
  year    = {2020},
  volume  = {21},
  number  = {140},
  pages   = {1-67},
  url     = {http://jmlr.org/papers/v21/20-074.html}
}

APA格式:

  • Raffel, C., Shazeer, N., Roberts, A., Lee, K., Narang, S., Matena, M., ... & Liu, P. J. (2020). Exploring the limits of transfer learning with a unified text-to-text transformer. J. Mach. Learn. Res., 21(140), 1-67.

如何开始使用该模型

使用以下代码开始使用模型。

点击展开
import argparse

import torch
from openmind import AutoTokenizer
from openmind_hub import snapshot_download
from transformers import T5ForConditionalGeneration


def parse_args():
    parser = argparse.ArgumentParser(description="Eval the model")
    parser.add_argument(
        "--model_name_or_path",
        type=str,
        help="Path to model",
        default=None,
    )

    args = parser.parse_args()

    return args


def main():
    args = parse_args()
    if args.model_name_or_path:
        model_path = args.model_name_or_path
    else:
        model_path = snapshot_download("PyTorch-NPU/t5_base", revision="main", resume_download=True,
                                       ignore_patterns=["*.h5", "*.ot", "*.msgpack"])

    tokenizer = AutoTokenizer.from_pretrained(model_path, use_fast=False)
    model = T5ForConditionalGeneration.from_pretrained(model_path, device_map="auto")

    input_text = "translate English to German: Hello World!"
    inputs = tokenizer.encode(input_text, return_tensors="pt").to(model.device)

    print()
    print("prompt:")
    print(input_text)
    outputs = model.generate(inputs, max_length=40, num_beams=4, early_stopping=True)
    print("result:")
    print(tokenizer.decode(outputs[0]))


if __name__ == "__main__":
    main()