Transformers: State-of-the-Art Natural Language Processing
作者/机构: Thomas Wolf, Lysandre Debut, Victor Sanh, Julien Chaumond, Clement Delangue, Anthony Moi, Pierric Cistac, Tim Rault, Remi Louf, Morgan Funtowicz, Joe Davison, ´ Sam Shleifer, Patrick von Platen, Clara Ma, Yacine Jernite, Julien Plu, Canwen Xu, Teven Le Scao, Sylvain Gugger, Mariama Drame, Quentin Lhoest, Alexander M. Rush
机构: Hugging Face, Brooklyn, USA
A1 主要贡献
本文介绍了 Transformers,一个旨在向更广泛的机器学习社区开放自然语言处理(NLP)领域最新进展的开源库。
-
核心问题: 尽管 Transformer 架构 【Ashish Vaswani et al., Attention is all you need, 2017, NIPS】 和模型预训练 【Bryan McCann et al., Learned in translation: Contextualized word vectors, 2017, NIPS; Jeremy Howard and Sebastian Ruder, Universal language model fine-tuning for text classification, 2018, ACL; Matthew E Peters et al., Deep contextualized word representations, 2018; Jacob Devlin et al., BERT: Pre-training of deep bidirectional transformers for language understanding, 2018, NAACL】 极大地推动了 NLP 的发展,但这些模型在被广泛应用时面临着一系列实际挑战,包括训练、分析、扩展、增强、分发、微调、部署和压缩等。
-
研究目标: Transformers 库的目标是解决上述挑战,致力于支持基于 Transformer 的架构,并促进预训练模型的分发和使用。该库的理念是为流行的模型变体提供工业级强度的实现,这些实现易于阅读、扩展和部署。
-
创新点与核心贡献:
- 统一的 API 与精心设计的架构: 库的核心是经过仔细工程设计的 SOTA Transformer 架构实现,并提供了一个统一的 API。这使得从业者可以轻松使用,研究人员可以方便地进行扩展。
- 模型中心(Model Hub): 库背后是一个由社区创建和共享的、经过精心策划的预训练模型集合。这个中心化的模型中心支持用户以相同的最小化 API 比较不同模型,并在各种任务上进行实验。
- 易用性与鲁棒性: 库被设计为对研究人员可扩展,对从业者简单,并且在工业部署中快速而稳健。
- 社区驱动: 这是一个由 Hugging Face 的工程师和研究人员团队维护,并得到超过 400 名外部贡献者组成的活跃社区支持的持续性项目。
- 广泛采用: 自发布以来,该库获得了显著的有机增长,许多核心模型如 BERT 和 GPT-2 的日均独立下载量持续增加,同时像 DistilBERT 这样的专门模型也受到了社区的广泛欢迎(如图1所示)。
A3 背景知识与相关工作
-
开源研究工具的传承与启发。Transformers 的结构受到了来自 Google Research 的开创性库
tensor2tensor
【Ashish Vaswani et al., Tensor2tensor for neural machine translation, 2018, CoRR】 和BERT
【Jacob Devlin et al., BERT: Pre-training of deep bidirectional transformers for language understanding, 2018, NAACL】 原始源代码的启发。为预训练模型提供便捷缓存的概念源于AllenNLP
【Matt Gardner et al., AllenNLP: A deep semantic natural language processing platform, 2018】。该库还与神经翻译和语言建模系统密切相关,如Fairseq
【Myle Ott et al., fairseq: A fast, extensible toolkit for sequence modeling, 2019】、OpenNMT
【Guillaume Klein et al., OpenNMT: Open-source toolkit for neural machine translation, 2017, ACL】、Texar
【Zhiting Hu et al., Texar: A modularized, versatile, and extensible toolkit for text generation, 2018】、Megatron-LM
【Mohammad Shoeybi et al., Megatron-lm: Training multi-billion parameter language models using gpu model parallelism, 2019, arXiv】 和Marian NMT
【Marcin Junczys-Dowmunt et al., Marian: Fast neural machine translation in c++, 2018】。在此基础上,Transformers 增加了额外的面向用户的特性,以便轻松下载、缓存和微调模型,并实现向生产环境的无缝过渡。Transformers 与这些库保持一定的兼容性,最直接的是包含了一个工具,可以使用来自 Marian NMT 和 Google 的 BERT 的模型进行推理。 -
与通用NLP库的关系。在易于使用的通用NLP库方面,历史悠久的两个核心库是
NLTK
【Edward Loper and Steven Bird, NLTK: The natural language toolkit, 2002】 和Stanford CoreNLP
【Christopher D Manning et al., The stanford CoreNLP natural language processing toolkit, 2014, ACL】,它们将多种不同的NLP方法整合到一个包中。近期,通用的开源库主要专注于各种NLP任务的机器学习,包括Spacy
【Matthew Honnibal and Ines Montani, spacy 2: Natural language understanding with bloom embeddings, convolutional neural networks and incremental parsing, 2017】、AllenNLP
【Matt Gardner et al., AllenNLP: A deep semantic natural language processing platform, 2018】、flair
【Alan Akbik et al., Flair: An easy-to-use framework for state-of-the-art nlp, 2019, NAACL】 和Stanza
【Peng Qi et al., Stanza: A python natural language processing toolkit for many human languages, 2020】。Transformers 提供了与这些库类似的功能。此外,这些库现在都使用 Transformers 库和模型中心作为其底层框架。 -
与通用模型中心的对比。由于 Transformers 提供了一个 NLP 模型中心,它也与流行的模型中心如
Torch Hub
和TensorFlow Hub
相关,这些中心收集了特定框架的模型参数以便于使用。与这些中心不同,Transformers 是领域特定的,这使得系统能够为模型分析、使用、部署、基准测试和简便的可复现性提供自动支持。
A2 方法细节
-
库的核心设计理念。Transformers 库的设计旨在模仿标准的 NLP 机器学习模型流程:处理数据、应用模型和进行预测。尽管该库包含了促进训练和开发的工具,本技术报告将重点放在核心建模规范上。
-
模型的三大构建模块。库中的每个模型都由三个构建模块完全定义,如图2所示:(a) 分词器(tokenizer),将原始文本转换为稀疏索引编码;(b) Transformer模型(transformer),将稀疏索引转换为上下文嵌入;以及 (c) 模型头(head),使用上下文嵌入来进行特定于任务的预测。大多数用户的需求都可以通过这三个组件来满足。
-
核心Transformer架构实现。库的核心是经过仔细测试的、在 NLP 领域广泛使用的 Transformer 架构变体的实现。当前已实现的架构完整列表显示在图2(左侧)。虽然这些架构都共享相同的多头注意力核心,但它们之间存在显著差异,包括位置表示、掩码(masking)、填充(padding)以及序列到序列设计的使用。此外,各种模型被构建用于针对 NLP 的不同应用,如理解、生成和条件生成,以及一些特殊用例,如快速推理或多语言应用。
图2: Transformers 库。(右侧图) 每个模型由分词器、Transformer 和模型头组成。模型使用固定的头进行预训练,然后可以针对不同任务使用不同的头进行微调。(底部) 每个模型使用特定的分词器,可以用Python或Rust实现。这些分词器在细节上常有差异,但需要与预训练过程保持同步。(左侧) 针对不同任务(如理解 vs. 生成)或特定用例(如速度、图像+文本)的专用Transformer架构。(顶部) 模型头允许一个Transformer用于不同任务。这里我们假设输入词元序列是来自词汇表V的x1:N,y代表不同的可能输出,可能来自类别集合C。示例数据集代表了与库一同分发的一小部分示例代码。
-
统一的抽象层次与实现。在实践中,所有模型都遵循相同的抽象层次:一个基类实现了模型的计算图,从编码(在嵌入矩阵上的投影)开始,经过一系列自注意力层,直到最终的编码器隐藏状态。每个模型的基类都是特定的,并紧密遵循其原始实现,这为用户提供了轻松剖析每个独立架构内部工作原理的灵活性。在大多数情况下,每个模型都在一个单独的文件中实现,以便于扩展。
-
Auto类与跨模型/框架的兼容性。在可能的情况下,不同的架构遵循相同的 API,允许用户在不同模型之间轻松切换。一组
Auto
类提供了一个统一的 API,可以非常快速地在模型之间甚至在框架之间进行切换。这些类会根据用户指定的预训练模型所定义的配置自动进行实例化。 -
分词器(Tokenizer)的实现与功能。该库一个关键的 NLP 特定方面是使用每个模型所必需的分词器的实现。分词器类(每个都继承自一个共同的基类)既可以从相应的预训练模型实例化,也可以手动配置。这些类存储其对应模型的词汇表(token-to-index映射),并根据模型的特定分词过程处理输入序列的编码和解码。已实现的分词器如图2(右侧)所示。用户可以通过接口轻松修改分词器,以添加额外的词元映射、特殊词元(如分类或分隔词元),或调整词汇表大小。
-
分词器的附加特性。分词器还可以为用户实现其他有用的功能。这些功能范围广泛,从序列分类任务中的词元类型索引(token type indices),到考虑到模型特定的特殊词元(大多数预训练的Transformer模型都有最大序列长度)的最大长度序列截断。
-
高性能分词器实现。在非常大的数据集上进行训练时,基于 Python 的分词通常速度慢得令人不满意。在最新版本中,Transformers 默认将其实现切换到一个高度优化的分词库。这个底层库,
tokenizers
,是用 Rust 编写的,以加速训练和部署过程中的分词程序。 -
模型头(Head)的实现与应用。每个 Transformer 都可以与多个现成的模型头之一配对,这些头的输出适用于常见类型的任务。这些模型头被实现为在基类之上的额外包装类,在 Transformer 的上下文嵌入之上添加一个特定的输出层和可选的损失函数。已实现的全套模型头如图2(顶部)所示。这些类遵循类似的命名模式:
XXXForSequenceClassification
,其中XXX
是模型的名称,可用于适应(微调)或预训练。一些模型头,如条件生成头,支持额外的功能,如采样和束搜索(beam search)。 -
预训练头与微调头的灵活性。对于预训练模型,我们发布了用于预训练模型本身的头。例如,对于 BERT,我们发布了语言建模和下一句预测头,这使得使用预训练目标进行适应变得容易。我们还让用户可以轻松地将相同的核心 Transformer 参数与各种其他头一起用于微调。虽然每个头都可以通用,但该库还包括一系列示例,展示了每个头在实际问题上的应用。这些示例演示了如何使用给定的头来调整预训练模型,从而在各种NLP任务上取得最先进的结果。
4. 模型中心(Community Model Hub)
-
模型中心的目标与现状。Transformers 旨在促进预训练模型的便捷使用和分发。这本质上是一个社区过程;一次预训练可以促进在许多特定任务上的微调。模型中心使任何终端用户都能简单地访问模型以用于自己的数据。该中心现在包含了来自社区的2097个用户模型,包括预训练和微调过的模型。图1显示了流行transformers模型随时间的增长和分布情况。虽然像BERT和GPT-2这样的核心模型仍然很受欢迎,但其他专门的模型,包括为该库开发的DistilBERT 【Victor Sanh et al., DistilBERT, a distilled version of BERT: smaller, faster, cheaper and lighter, 2019】,现在也被社区广泛下载。
-
模型上传与使用。模型中心的用户界面设计得简洁并对社区开放。要上传模型,任何用户都可以注册账户并使用命令行界面生成一个包含分词器、transformer和模型头的存档。这个包可能是在库中训练的模型,也可能是从其他流行训练工具的检查点转换而来的。这些模型随后被存储并赋予一个规范名称,用户可以用这个名称来下载、缓存和运行模型,无论是用于微调还是推理,只需两行代码。要加载
FlauBERT
【Hang Le et al., Flaubert: Unsupervised language model pre-training for french, 2020, LREC】,一个在法语语料库上预训练的BERT模型,命令是:
from transformers import AutoTokenizer, AutoModelWithLMHead
tokenizer = AutoTokenizer.from_pretrained("flaubert/flaubert_base_cased")
model = AutoModelWithLMHead.from_pretrained("flaubert/flaubert_base_cased")
-
模型卡片与元数据。当一个模型被上传到模型中心时,它会自动获得一个描述其核心属性、架构和用例的登录页面。可以通过模型卡片(model card) 【Margaret Mitchell et al., Model cards for model reporting, 2018】 提供额外的模型特定元数据,该卡片描述了其训练属性、工作引用、预训练期间使用的数据集,以及关于模型及其预测中已知偏见的任何注意事项。图3(左)展示了一个模型卡片的示例。
图3: Transformers 模型中心。(左) SciBERT 【Iz Beltagy et al., SciBERT: A pretrained language model for scientific text, 2019, EMNLP-IJCNLP】的模型页面和模型卡片示例,这是一个由社区贡献者提交的、旨在从科学文献中提取信息的预训练模型。(右) 用于摘要任务的预训练BART 【Mike Lewis et al., BART: Denoising Sequence-to-Sequence pre-training for natural language generation, translation, and comprehension, 2019】模型的自动推理小部件示例。用户可以输入任意文本,模型会即时部署完整版本以生成摘要。 -
领域特定的高级功能。由于模型中心是专门针对基于 transformer 的模型的,我们可以针对那些对于更通用的模型集合来说难以实现的用例。例如,因为每个上传的模型都包含有关其结构的元数据,所以模型页面可以包含实时推理功能,允许用户在真实数据上实验模型的输出。图3(右)展示了带有实时推理功能的模型页面示例。此外,模型页面还包含指向其他模型特定工具的链接,如基准测试和可视化工具。例如,模型页面可以链接到
exBERT
【Benjamin Hoover et al., exBERT: A visual analysis tool to explore learned representations in transformers models, 2019】,一个 Transformer 可视化库。 -
社区案例研究引言。模型中心突显了 Transformers 如何被各种不同的社区利益相关者使用。我们根据 Strobelt 等人(2017)的架构师、训练者和最终用户的划分,总结了实践中观察到的三个具体用例。
-
案例1:模型架构师。AllenAI 是一个主要的 NLP 研究实验室,他们开发了一种名为
SciBERT
【Iz Beltagy et al., SciBERT: A pretrained language model for scientific text, 2019, EMNLP-IJCNLP】 的新型预训练模型,用于改进生物医学文本的提取。他们利用 PubMed 的数据训练了该模型,生成了一个在目标文本上取得最先进结果的掩码语言模型。然后,他们使用模型中心来分发该模型,并将其作为 CORD - COVID-19 挑战的一部分进行推广,使社区可以轻松使用。 -
案例2:任务训练者。纽约大学的研究人员有兴趣开发一个测试平台,用于评估 Transformers 在各种不同语义识别任务上的性能。他们的框架
Jiant
【Yada Pruksachatkun et al., jiant: A software toolkit for research on general-purpose text understanding models, 2020, arXiv】 允许他们实验不同的模型预训练方式并比较其输出。他们使用 Transformers API 作为通用前端,并在各种不同模型上进行微调,这促成了对 BERT 结构的研究 【Ian Tenney et al., Bert rediscovers the classical nlp pipeline, 2019, ACL】。 -
案例3:应用用户。Plot.ly 是一家专注于用户仪表盘和分析的公司,他们有兴趣部署一个用于自动文档摘要的模型。他们希望找到一种扩展性好且易于部署的方法,但不需要训练或微调模型。他们通过搜索模型中心找到了
DistilBART
,这是一个为准确、快速推理而设计的预训练和微调过的摘要模型。他们能够直接从模型中心运行和部署该模型,无需任何研究或机器学习专业知识。
5. 部署
-
部署目标。Transformers 一个日益重要的目标是让模型能够轻松高效地部署到生产环境中。不同的用户有不同的生产需求,部署通常需要解决与训练截然不同的挑战。因此,该库支持多种不同的生产部署策略。
-
PyTorch与TensorFlow的互操作性。该库的一个核心特性是模型同时支持 PyTorch 和 TensorFlow,并且两个框架之间具有互操作性。在一个框架中训练的模型可以通过标准序列化保存,并能在另一个框架中从保存的文件中无缝重新加载。这使得在模型的生命周期中(训练、服务等)从一个框架切换到另一个框架变得特别容易。
-
框架原生部署方案。每个框架都有其部署建议。例如,在 PyTorch 中,模型与
TorchScript
兼容,后者是 PyTorch 模型的一种中间表示,可以在 Python 中以更高效的方式运行,或者在 C++ 等高性能环境中运行。因此,微调后的模型可以导出到生产友好的环境中,并通过TorchServing
运行。TensorFlow 在其生态系统内包含多种服务选项,这些选项可以直接使用。 -
中间格式导出与性能优化。Transformers 还可以将模型导出为中间神经网络格式以进行进一步编译。它支持将模型转换为开放神经网络交换格式(ONNX)进行部署。这不仅使模型能够以标准化的可互操作格式运行,还带来了显著的速度提升。图4显示了与 ONNX 团队合作优化 Transformers 库中的 BERT、RoBERTa 和 GPT-2 的实验结果。使用这种中间格式,ONNX 在该模型上实现了近4倍的加速。该团队还在试验其他有前景的中间格式,如 JAX/XLA 【James Bradbury et al., JAX: composable transformations of Python+NumPy programs, 2018】 和 TVM 【Tianqi Chen et al., {TVM}: An automated end-to-end optimizing compiler for deep learning, 2018, OSDI】。
图4: 与ONNX合作进行的Transformers推理实验。 -
边缘设备部署。随着 Transformers 在所有 NLP 应用中越来越广泛地使用,将其部署到手机或家用电子产品等边缘设备变得日益重要。模型可以使用适配器将模型转换为适用于嵌入 iOS 应用程序的
CoreML
权重,以实现边缘设备上的机器学习。类似的方法也可用于安卓设备。
A4 实验
实验环境
本文作为一篇系统性论文,并未提供一个统一的、标准的实验环境配置。相关配置信息散布在不同章节的描述中。
- 数据集: 论文未指定用于库本身性能基准测试的数据集。但提及了社区模型所使用的数据集,例如 SciBERT
使用 PubMed
数据集进行训练。
- 模型: 库支持多种 Transformer 架构,包括 BERT, GPT-2, RoBERTa, DistilBERT, SciBERT, FlauBERT, BART 等。
- 硬件配置: 未明确提及。
- 软件配置:
- 核心框架: 支持 PyTorch 和 TensorFlow,并具备两者之间的互操作性。
- 高性能组件: Tokenizer 部分使用了以 Rust 语言编写的 tokenizers
库来提升性能。
- 部署工具: 支持 TorchScript
, TorchServing
, TensorFlow Serving, ONNX, JAX/XLA, TVM, 以及用于移动端的 CoreML
。
实验结果
本文的实验结果主要体现在库的采用率、社区活跃度以及部署性能上。
- 模型流行度与社区采纳 (图 1):
- 实验内容: 统计了2019年10月至2020年5月期间,模型中心中最受欢迎的预训练模型的日均独立下载量。
- 实验结果: 图表显示 BERT, GPT-2 等核心模型以及库原生开发的 DistilBERT 模型下载量持续增长,证明了该库和模型中心在社区中的巨大吸引力和实用价值。
- 分析结论: Transformers 库成功地促进了 SOTA 模型的传播和使用,其社区模型中心已经成为获取预训练 NLP 模型的重要资源,拥有超过2097个社区贡献的模型。
-
推理性能优化 (图 4):
- 实验内容: 与 ONNX 团队合作,将 Transformers 库中的 BERT, RoBERTa, GPT-2 模型导出为 ONNX 格式,并测试其推理速度。
- 实验结果: 转换到 ONNX 格式后,模型推理速度获得了近4倍的提升。
- 分析结论: 该库不仅关注模型的易用性和可扩展性,还致力于生产部署的效率。通过支持 ONNX 等中间格式,Transformers 能够显著提升模型的部署性能,满足工业级应用的需求。
-
社区案例研究:
- 实验内容: 通过三个案例(AllenAI, 纽约大学, Plot.ly)展示了库在不同场景下的应用。
- 实验结果: 案例表明,无论是对于需要构建和分发新模型的研究机构(模型架构师),还是需要对多种模型进行基准测试的研究人员(任务训练者),或是希望直接部署现成模型的企业用户(应用用户),Transformers 库都提供了强大而便捷的支持。
- 分析结论: 这些案例研究定性地证明了 Transformers 库的设计成功地满足了从研究到生产的整个 NLP 生态链中不同用户的需求。
A5 结论
随着 Transformer 架构和预训练技术在自然语言处理(NLP)中扮演越来越重要的角色,让研究人员和最终用户能够方便地接触和使用这些模型变得至关重要。Transformers 是一个开源库和社区,旨在帮助用户访问大规模预训练模型,在其基础上进行构建和实验,并以最先进的性能将它们部署到下游任务中。自发布以来,Transformers 获得了显著的自然增长,并已准备好继续提供核心基础设施,同时帮助促进对新模型的访问。
引用文献汇总
- 【Ashish Vaswani et al., Attention is all you need, 2017, NIPS】
- 引用位置:A1 主要贡献
- 引用描述:指出 Transformer 已迅速成为自然语言处理的主导架构。
- 【Bryan McCann et al., Learned in translation: Contextualized word vectors, 2017, NIPS】
- 引用位置:A1 主要贡献
- 引用描述:作为模型预训练的早期代表工作之一被引用。
- 【Jeremy Howard and Sebastian Ruder, Universal language model fine-tuning for text classification, 2018, ACL】
- 引用位置:A1 主要贡献
- 引用描述:作为模型预训练的代表工作之一被引用。
- 【Matthew E Peters et al., Deep contextualized word representations, 2018】
- 引用位置:A1 主要贡献
- 引用描述:作为模型预训练的代表工作之一被引用。
- 【Jacob Devlin et al., BERT: Pre-training of deep bidirectional transformers for language understanding, 2018, NAACL】
- 引用位置:A1 主要贡献, A3 背景知识与相关工作
- 引用描述:作为模型预训练的代表工作之一被引用;Transformers 的结构受到了其原始源代码的启发。
- 【Ashish Vaswani et al., Tensor2tensor for neural machine translation, 2018, CoRR】
- 引用位置:A3 背景知识与相关工作
- 引用描述:Transformers 的结构受到了该库的启发。
- 【Matt Gardner et al., AllenNLP: A deep semantic natural language processing platform, 2018】
- 引用位置:A3 背景知识与相关工作
- 引用描述:预训练模型缓存的概念源自 AllenNLP。
- 【Myle Ott et al., fairseq: A fast, extensible toolkit for sequence modeling, 2019】
- 引用位置:A3 背景知识与相关工作
- 引用描述:作为相关的神经翻译和语言建模系统之一被提及。
- 【Guillaume Klein et al., OpenNMT: Open-source toolkit for neural machine translation, 2017, ACL】
- 引用位置:A3 背景知识与相关工作
- 引用描述:作为相关的神经翻译和语言建模系统之一被提及。
- 【Zhiting Hu et al., Texar: A modularized, versatile, and extensible toolkit for text generation, 2018】
- 引用位置:A3 背景知识与相关工作
- 引用描述:作为相关的神经翻译和语言建模系统之一被提及。
- 【Mohammad Shoeybi et al., Megatron-lm: Training multi-billion parameter language models using gpu model parallelism, 2019, arXiv】
- 引用位置:A3 背景知识与相关工作
- 引用描述:作为相关的神经翻译和语言建模系统之一被提及。
- 【Marcin Junczys-Dowmunt et al., Marian: Fast neural machine translation in c++, 2018】
- 引用位置:A3 背景知识与相关工作
- 引用描述:作为相关的神经翻译和语言建模系统之一被提及,Transformers 提供了使用其模型进行推理的工具。
- 【Edward Loper and Steven Bird, NLTK: The natural language toolkit, 2002】
- 引用位置:A3 背景知识与相关工作
- 引用描述:作为历史悠久的通用NLP库被提及。
- 【Christopher D Manning et al., The stanford CoreNLP natural language processing toolkit, 2014, ACL】
- 引用位置:A3 背景知识与相关工作
- 引用描述:作为历史悠久的通用NLP库被提及。
- 【Matthew Honnibal and Ines Montani, spacy 2: Natural language understanding with bloom embeddings, convolutional neural networks and incremental parsing, 2017】
- 引用位置:A3 背景知识与相关工作
- 引用描述:作为现代通用NLP库被提及,现已使用 Transformers 作为底层框架。
- 【Alan Akbik et al., Flair: An easy-to-use framework for state-of-the-art nlp, 2019, NAACL】
- 引用位置:A3 背景知识与相关工作
- 引用描述:作为现代通用NLP库被提及,现已使用 Transformers 作为底层框架。
- 【Peng Qi et al., Stanza: A python natural language processing toolkit for many human languages, 2020】
- 引用位置:A3 背景知识与相关工作
- 引用描述:作为现代通用NLP库被提及,现已使用 Transformers 作为底层框架。
- 【Margaret Mitchell et al., Model cards for model reporting, 2018】
- 引用位置:A2 方法细节 (模型中心)
- 引用描述:模型中心使用“模型卡片”来提供模型元数据。
- 【Benjamin Hoover et al., exBERT: A visual analysis tool to explore learned representations in transformers models, 2019】
- 引用位置:A2 方法细节 (模型中心)
- 引用描述:模型页面可链接到 exBERT 这样的可视化工具。
- 【Hendrik Strobelt et al., Lstmvis: A tool for visual analysis of hidden state dynamics in recurrent neural networks, 2017, IEEE transactions on visualization and computer graphics】
- 引用位置:A2 方法细节 (模型中心)
- 引用描述:引用其对架构师、训练者和最终用户的分类。
- 【Iz Beltagy et al., SciBERT: A pretrained language model for scientific text, 2019, EMNLP-IJCNLP】
- 引用位置:A2 方法细节 (模型中心)
- 引用描述:作为模型架构师使用模型中心的案例,AllenAI 开发并分发了 SciBERT。
- 【Yada Pruksachatkun et al., jiant: A software toolkit for research on general-purpose text understanding models, 2020, arXiv】
- 引用位置:A2 方法细节 (模型中心)
- 引用描述:作为任务训练者使用 Transformers API 的案例,纽约大学的研究人员在 Jiant 框架中使用了它。
- 【Ian Tenney et al., Bert rediscovers the classical nlp pipeline, 2019, ACL】
- 引用位置:A2 方法细节 (模型中心)
- 引用描述:作为纽约大学研究工作的成果被引用。
- 【James Bradbury et al., JAX: composable transformations of Python+NumPy programs, 2018】
- 引用位置:A2 方法细节 (部署)
- 引用描述:作为团队正在试验的有前景的中间格式之一被提及。
- 【Tianqi Chen et al., {TVM}: An automated end-to-end optimizing compiler for deep learning, 2018, OSDI】
- 引用位置:A2 方法细节 (部署)
- 引用描述:作为团队正在试验的有前景的中间格式之一被提及。
- 【Victor Sanh et al., DistilBERT, a distilled version of BERT: smaller, faster, cheaper and lighter, 2019】
- 引用位置:A2 方法细节 (模型中心)
- 引用描述:作为一个为本库开发的、被社区广泛下载的专门模型。
- 【Hang Le et al., Flaubert: Unsupervised language model pre-training for french, 2020, LREC】
- 引用位置:A2 方法细节 (模型中心)
- 引用描述:作为从模型中心加载模型的代码示例。
- 【Mike Lewis et al., BART: Denoising Sequence-to-Sequence pre-training for natural language generation, translation, and comprehension, 2019】
- 引用位置:A2 方法细节 (模型中心)
- 引用描述:作为模型中心自动推理小部件的示例。
💬 评论讨论
欢迎在这里分享您的想法和见解!