Transformers 4.37 中文文档(六十)(1)

简介: Transformers 4.37 中文文档(六十)

原文:huggingface.co/docs/transformers

T5v1.1

原始文本:huggingface.co/docs/transformers/v4.37.2/en/model_doc/t5v1.1

概述

T5v1.1 是由 Colin Raffel 等人在google-research/text-to-text-transfer-transformer存储库中发布的。这是原始 T5 模型的改进版本。这个模型是由patrickvonplaten贡献的。原始代码可以在这里找到。

使用提示

可以直接将 T5v1.1 的权重插入到 T5 模型中,如下所示:

>>> from transformers import T5ForConditionalGeneration
>>> model = T5ForConditionalGeneration.from_pretrained("google/t5-v1_1-base")

T5 版本 1.1 相对于原始 T5 模型包括以下改进:

  • 在前馈隐藏层中使用 GEGLU 激活,而不是 ReLU。参见这篇论文
  • 在预训练中关闭了 Dropout(质量优胜)。在微调期间应重新启用 Dropout。
  • 仅在 C4 上进行预训练,没有混合下游任务。
  • 嵌入层和分类器层之间没有参数共享。
  • “xl”和“xxl”取代了“3B”和“11B”。模型形状有些不同 - 更大的d_model和较小的num_headsd_ff

注意:T5 版本 1.1 仅在C4上进行了预训练,不包括任何监督训练。因此,这个模型在用于下游任务之前必须进行微调,与原始 T5 模型不同。由于 t5v1.1 是无监督预训练的,单任务微调时使用任务前缀并没有真正的优势。如果进行多任务微调,应该使用前缀。

Google 发布了以下变体:

请参考 T5 的文档页面获取所有 API 参考、提示、代码示例和笔记本。

TAPEX

原文:huggingface.co/docs/transformers/v4.37.2/en/model_doc/tapex

此模型仅处于维护模式,我们不接受任何更改其代码的新 PR。

如果在运行此模型时遇到任何问题,请重新安装支持此模型的最后一个版本:v4.30.0。您可以通过运行以下命令来执行:pip install -U transformers==4.30.0

概述

TAPEX 模型是由 Qian Liu、Bei Chen、Jiaqi Guo、Morteza Ziyadi、Zeqi Lin、Weizhu Chen、Jian-Guang Lou 在TAPEX: Table Pre-training via Learning a Neural SQL Executor中提出的。TAPEX 对 BART 模型进行预训练,以解决合成 SQL 查询,然后可以微调以回答与表格数据相关的自然语言问题,以及执行表格事实检查。

TAPEX 已在几个数据集上进行了微调:

  • SQA (Microsoft 的顺序问答)
  • WTQ(由斯坦福大学提供的维基表问题)
  • WikiSQL(由 Salesforce 提供)
  • TabFact(由 USCB NLP 实验室提供)。

论文摘要如下:

最近在语言模型预训练方面取得了巨大成功,通过利用大规模的非结构化文本数据。然而,由于缺乏大规模高质量的表格数据,将预训练应用于结构化表格数据仍然是一个挑战。在本文中,我们提出了  TAPEX,以表明通过学习一个神经 SQL 执行器可以实现表格预训练,这是通过自动合成可执行的 SQL  查询及其执行输出获得的合成语料库。TAPEX 通过引导语言模型在多样化、大规模和高质量的合成语料库上模仿 SQL  执行器来解决数据稀缺性挑战。我们在四个基准数据集上评估了 TAPEX。实验结果表明,TAPEX  在所有这些数据集上均大幅优于以前的表格预训练方法,并在所有数据集上取得了新的最先进结果。这包括将弱监督的 WikiSQL 指称准确率提高到  89.5%(+2.3%),将 WikiTableQuestions 指称准确率提高到 57.5%(+4.8%),将 SQA 指称准确率提高到  74.5%(+3.5%),以及将 TabFact 准确率提高到  84.2%(+3.2%)。据我们所知,这是第一项利用合成可执行程序进行表格预训练并在各种下游任务上取得新的最先进结果的工作。

使用提示

  • TAPEX 是一个生成(seq2seq)模型。可以直接将 TAPEX 的权重插入到 BART 模型中。
  • TAPEX 在中心点上有检查点,这些检查点要么只是预训练的,要么在 WTQ、SQA、WikiSQL 和 TabFact 上进行了微调。
  • 句子+表格以句子 + " " + 线性化表格的形式呈现给模型。线性化表格的格式如下:col: col1 | col2 | col 3 row 1 : val1 | val2 | val3 row 2 : ...
  • TAPEX 有自己的分词器,可以轻松为模型准备所有数据。可以将 Pandas DataFrames 和字符串传递给分词器,它将自动创建input_idsattention_mask(如下面的使用示例所示)。

用途:推理

下面,我们说明如何使用 TAPEX 进行表格问答。正如大家所看到的,可以直接将 TAPEX 的权重插入到 BART 模型中。我们使用  Auto  API,它将根据中心点上的配置文件自动实例化适当的分词器(TapexTokenizer)和模型(BartForConditionalGeneration)。

>>> from transformers import AutoTokenizer, AutoModelForSeq2SeqLM
>>> import pandas as pd
>>> tokenizer = AutoTokenizer.from_pretrained("microsoft/tapex-large-finetuned-wtq")
>>> model = AutoModelForSeq2SeqLM.from_pretrained("microsoft/tapex-large-finetuned-wtq")
>>> # prepare table + question
>>> data = {"Actors": ["Brad Pitt", "Leonardo Di Caprio", "George Clooney"], "Number of movies": ["87", "53", "69"]}
>>> table = pd.DataFrame.from_dict(data)
>>> question = "how many movies does Leonardo Di Caprio have?"
>>> encoding = tokenizer(table, question, return_tensors="pt")
>>> # let the model generate an answer autoregressively
>>> outputs = model.generate(**encoding)
>>> # decode back to text
>>> predicted_answer = tokenizer.batch_decode(outputs, skip_special_tokens=True)[0]
>>> print(predicted_answer)
53

请注意,TapexTokenizer 还支持批量推断。因此,可以提供不同表/问题的批处理,或单个表和多个问题的批处理,或单个查询和多个表的批处理。让我们举个例子:

>>> # prepare table + question
>>> data = {"Actors": ["Brad Pitt", "Leonardo Di Caprio", "George Clooney"], "Number of movies": ["87", "53", "69"]}
>>> table = pd.DataFrame.from_dict(data)
>>> questions = [
...     "how many movies does Leonardo Di Caprio have?",
...     "which actor has 69 movies?",
...     "what's the first name of the actor who has 87 movies?",
... ]
>>> encoding = tokenizer(table, questions, padding=True, return_tensors="pt")
>>> # let the model generate an answer autoregressively
>>> outputs = model.generate(**encoding)
>>> # decode back to text
>>> tokenizer.batch_decode(outputs, skip_special_tokens=True)
[' 53', ' george clooney', ' brad pitt']

如果要进行表验证(即确定给定句子是否由表的内容支持或反驳的任务),可以实例化一个  BartForSequenceClassification 模型。 TAPEX 在 hub 上有针对 TabFact  进行微调的检查点,这是表事实检查的重要基准(它达到 84%的准确率)。下面的代码示例再次利用了 Auto API。

>>> from transformers import AutoTokenizer, AutoModelForSequenceClassification
>>> tokenizer = AutoTokenizer.from_pretrained("microsoft/tapex-large-finetuned-tabfact")
>>> model = AutoModelForSequenceClassification.from_pretrained("microsoft/tapex-large-finetuned-tabfact")
>>> # prepare table + sentence
>>> data = {"Actors": ["Brad Pitt", "Leonardo Di Caprio", "George Clooney"], "Number of movies": ["87", "53", "69"]}
>>> table = pd.DataFrame.from_dict(data)
>>> sentence = "George Clooney has 30 movies"
>>> encoding = tokenizer(table, sentence, return_tensors="pt")
>>> # forward pass
>>> outputs = model(**encoding)
>>> # print prediction
>>> predicted_class_idx = outputs.logits[0].argmax(dim=0).item()
>>> print(model.config.id2label[predicted_class_idx])
Refused

TAPEX 架构与 BART 相同,除了标记化。有关配置类及其参数的信息,请参阅 BART 文档。下面记录了 TAPEX 特定的标记器。

TapexTokenizer

class transformers.TapexTokenizer

<来源>

( vocab_file merges_file do_lower_case = True errors = 'replace' bos_token = '<s>' eos_token = '</s>' sep_token = '</s>' cls_token = '<s>' unk_token = '<unk>' pad_token = '<pad>' mask_token = '<mask>' add_prefix_space = False max_cell_length = 15 **kwargs )

参数

  • vocab_filestr)—词汇表文件的路径。
  • merges_filestr)—合并文件的路径。
  • do_lower_casebool可选,默认为True)—在标记化时是否将输入转换为小写。
  • errorsstr可选,默认为"replace")—解码字节为 UTF-8 时要遵循的范例。有关更多信息,请参阅bytes.decode
  • bos_tokenstr可选,默认为"")—在预训练期间使用的序列开始标记。可以用作序列分类器标记。
    使用特殊标记构建序列时,这不是用于序列开头的标记。使用的标记是cls_token
  • eos_tokenstr可选,默认为"")—序列结束标记。
    构建序列时使用特殊标记时,这不是用于序列结尾的标记。使用的标记是sep_token
  • sep_tokenstr可选,默认为"")—分隔符标记,在从多个序列构建序列时使用,例如,用于序列分类的两个序列或用于问题回答的文本和问题。它也用作使用特殊标记构建的序列的最后一个标记。
  • cls_tokenstr可选,默认为"")—分类器标记,用于进行序列分类(对整个序列进行分类,而不是对每个标记进行分类)。在使用特殊标记构建时,它是序列的第一个标记。
  • unk_tokenstr可选,默认为"")—未知标记。词汇表中不存在的标记无法转换为 ID,而是设置为此标记。
  • pad_tokenstr可选,默认为"")—用于填充的标记,例如在批处理不同长度的序列时。
  • mask_tokenstr可选,默认为"")—用于屏蔽值的标记。在使用掩码语言建模训练此模型时使用的标记。这是模型将尝试预测的标记。
  • add_prefix_spacebool可选,默认为False)—是否在输入中添加初始空格。这允许将前导单词视为任何其他单词。(BART 标记器通过前导空格检测单词的开头)。
  • max_cell_lengthint可选,默认为 15)—线性化表时每个单元格的最大字符数。如果超过此数字,将进行截断。

构建一个 TAPEX 标记器。基于字节级字节对编码(BPE)。

此分词器可用于展平一个或多个表格,并将它们与一个或多个相关句子连接起来,以供 TAPEX 模型使用。TAPEX 分词器创建的格式如下:

句子列:col1 | col2 | col 3 行 1:val1 | val2 | val3 行 2:…

分词器支持单个表格+单个查询,单个表格和多个查询(在这种情况下,每个查询将被复制以匹配每个表格),单个查询和多个表格(在这种情况下,每个表格将被复制以匹配每个查询),以及多个表格和查询。换句话说,您可以为分词器提供一批表格+问题,以便为模型准备它们。

分词本身基于 BPE 算法。它与 BART、RoBERTa 和 GPT-2 使用的算法相同。

此分词器继承自 PreTrainedTokenizer,其中包含大多数主要方法。用户应参考此超类以获取有关这些方法的更多信息。

__call__

< source >

( table: Union = None query: Union = None answer: Union = None add_special_tokens: bool = True padding: Union = False truncation: Union = None max_length: Optional = None stride: int = 0 pad_to_multiple_of: Optional = None return_tensors: Union = None return_token_type_ids: Optional = None return_attention_mask: Optional = None return_overflowing_tokens: bool = False return_special_tokens_mask: bool = False return_offsets_mapping: bool = False return_length: bool = False verbose: bool = True **kwargs )

参数

  • tablepd.DataFrameList[pd.DataFrame])— 包含表格数据的表格。
  • querystrList[str]可选)— 与一个或多个表格相关的句子或句子批次。请注意,句子的数量必须与表格的数量相匹配。
  • answerstrList[str]可选)— 可选地,与问题相关的答案作为监督。
  • add_special_tokensbool可选,默认为True)— 在编码序列时是否添加特殊标记。这将使用底层的PretrainedTokenizerBase.build_inputs_with_special_tokens函数,该函数定义了自动添加到输入 id 的标记。如果要自动添加boseos标记,则这很有用。
  • paddingboolstr或 PaddingStrategy,可选,默认为False)— 激活和控制填充。接受以下值:
  • True'longest':填充到批次中最长的序列(如果只提供单个序列,则不填充)。
  • 'max_length': 使用参数max_length指定的最大长度进行填充,或者如果未提供该参数,则填充到模型的最大可接受输入长度。
  • False'do_not_pad'(默认):不填充(即可以输出具有不同长度的序列的批次)。
  • truncationboolstr或 TruncationStrategy,可选,默认为False)— 激活和控制截断。接受以下值:
  • True'longest_first':使用参数max_length指定的最大长度进行截断,或者如果未提供该参数,则截断到模型的最大可接受输入长度。如果提供了一对序列(或一批对序列),则将逐个标记截断,从最长序列中删除一个标记。
  • 'only_first': 使用参数max_length指定的最大长度进行截断,或者如果未提供该参数,则截断到模型的最大可接受输入长度。如果提供了一对序列(或一批对序列),则只会截断第一个序列。
  • 'only_second': 使用参数max_length指定的最大长度进行截断,或者如果未提供该参数,则截断到模型的最大可接受输入长度。如果提供了一对序列(或一批对序列),则只会截断第二个序列。
  • False'do_not_truncate'(默认):不截断(即可以输出长度大于模型最大可接受输入大小的批次)。
  • max_length (int, 可选) — 控制截断/填充参数之一使用的最大长度。
    如果未设置或设置为 None,则将使用预定义的模型最大长度(如果截断/填充参数需要最大长度)。如果模型没有特定的最大输入长度(如 XLNet),则将禁用截断/填充到最大长度。
  • stride (int, 可选, 默认为 0) — 如果与 max_length 一起设置为一个数字,则当 return_overflowing_tokens=True 时返回的溢出标记将包含截断序列末尾的一些标记,以提供截断和溢出序列之间的一些重叠。此参数的值定义重叠标记的数量。
  • is_split_into_words (bool, 可选, 默认为 False) — 输入是否已经预分词(例如,已分词)。如果设置为 True,分词器会假定输入已经分词(例如,通过在空格上分割),然后对其进行标记化。这对于 NER 或标记分类很有用。
  • pad_to_multiple_of (int, 可选) — 如果设置,将序列填充到提供的值的倍数。需要激活 padding。这对于启用 NVIDIA 硬件上的 Tensor Cores(计算能力 >= 7.5,Volta)特别有用。
  • return_tensors (str 或 TensorType, 可选) — 如果设置,将返回张量而不是 Python 整数列表。可接受的值为:
  • 'tf': 返回 TensorFlow tf.constant 对象。
  • 'pt': 返回 PyTorch torch.Tensor 对象。
  • 'np': 返回 Numpy np.ndarray 对象。
  • add_special_tokens (bool, 可选, 默认为 True) — 是否对序列进行编码,使用相对于其模型的特殊标记。
  • padding (bool, str 或 PaddingStrategy, 可选, 默认为 False) — 激活和控制填充。接受以下值:
  • True'longest': 填充到批次中最长的序列(如果只提供了单个序列,则不填充)。
  • 'max_length': 填充到由参数 max_length 指定的最大长度,或者填充到模型可接受的最大输入长度(如果未提供该参数)。
  • False'do_not_pad'(默认): 无填充(即,可以输出长度不同的序列批次)。
  • truncation (bool, str, TapexTruncationStrategy 或 TruncationStrategy, — 可选, 默认为 False):激活和控制截断。接受以下值:
  • 'drop_rows_to_fit': 截断到由参数 max_length 指定的最大长度,或者截断到模型可接受的最大输入长度(如果未提供该参数)。这将逐行截断,从表中删除行。
  • True'longest_first': 截断到由参数 max_length 指定的最大长度,或者截断到模型可接受的最大输入长度(如果未提供该参数)。如果提供了一对序列(或一批序列),则将逐个标记截断,从一对序列中最长的序列中删除一个标记。
  • 'only_first': 截断到由参数 max_length 指定的最大长度,或者截断到模型可接受的最大输入长度(如果未提供该参数)。如果提供了一对序列(或一批序列),则仅截断第一个序列。
  • 'only_second': 截断到由参数 max_length 指定的最大长度,或者截断到模型可接受的最大输入长度(如果未提供该参数)。如果提供了一对序列(或一批序列),则仅截断第二个序列。
  • False'do_not_truncate'(默认):不截断(即,可以输出具有大于模型最大可接受输入大小的序列长度的批次)。
  • max_length (int, optional) — 控制截断/填充参数之一使用的最大长度。如果未设置或设置为None,则将使用预定义的模型最大长度(如果截断/填充参数之一需要最大长度)。如果模型没有特定的最大输入长度(如 XLNet),则截断/填充到最大长度将被停用。
  • stride (int, optional, 默认为 0) — 如果与max_length一起设置为一个数字,则当return_overflowing_tokens=True时返回的溢出标记将包含从截断序列末尾返回的一些标记,以提供截断和溢出序列之间的一些重叠。此参数的值定义了重叠标记的数量。
  • pad_to_multiple_of (int, optional) — 如果设置,将填充序列到提供的值的倍数。这对于在具有计算能力>= 7.5(Volta)的 NVIDIA 硬件上启用 Tensor Cores 特别有用。
  • return_tensors (str或 TensorType, optional) — 如果设置,将返回张量而不是 Python 整数列表。可接受的值为:
  • 'tf': 返回 TensorFlow tf.constant对象。
  • 'pt': 返回 PyTorch torch.Tensor对象。
  • 'np': 返回 Numpy np.ndarray对象。

对一个或多个表序列对进行标记化和为模型准备的主要方法。

save_vocabulary

<来源>

( save_directory: str filename_prefix: Optional = None )

Transformer XL

原始文本:huggingface.co/docs/transformers/v4.37.2/en/model_doc/transfo-xl

这个模型只处于维护模式,因此我们不会接受任何新的更改其代码的 PR。由于与pickle.load相关的安全问题,此模型已被弃用。

我们建议切换到更近期的模型以提高安全性。

如果您仍然希望在实验中使用TransfoXL,我们建议使用Hub 检查点,并使用特定的修订版本以确保您从 Hub 下载安全文件。

为了允许使用pickle.load(),您需要将环境变量TRUST_REMOTE_CODE设置为True

import os
from transformers import TransfoXLTokenizer, TransfoXLLMHeadModel
os.environ["TRUST_REMOTE_CODE"] = "True"
checkpoint = 'transfo-xl-wt103'
revision = '40a186da79458c9f9de846edfaea79c412137f97'
tokenizer = TransfoXLTokenizer.from_pretrained(checkpoint, revision=revision)
model = TransfoXLLMHeadModel.from_pretrained(checkpoint, revision=revision)

如果您在运行此模型时遇到任何问题,请重新安装支持此模型的最后一个版本:v4.35.0。您可以通过运行以下命令来执行:pip install -U transformers==4.35.0

概述

Transformer-XL 模型是由 Zihang Dai、Zhilin Yang、Yiming Yang、Jaime Carbonell、Quoc V. Le、Ruslan Salakhutdinov 在Transformer-XL: Attentive Language Models Beyond a Fixed-Length Context中提出的。它是一个因果(单向)变压器,具有相对定位(正弦)嵌入,可以重用先前计算的隐藏状态以便于更长的上下文(记忆)。该模型还使用自适应 softmax 输入和输出(绑定)。

论文的摘要如下:

变压器有潜力学习更长期的依赖关系,但在语言建模设置中受到固定长度上下文的限制。我们提出了一种新颖的神经架构  Transformer-XL,它能够在不破坏时间连贯性的情况下实现超越固定长度的依赖关系学习。它包括一个段级循环机制和一种新颖的位置编码方案。我们的方法不仅能够捕捉更长期的依赖关系,还能解决上下文碎片化问题。因此,Transformer-XL  学习的依赖关系比 RNN 长 80%,比普通变压器长 450%,在短序列和长序列上表现更好,并且在评估过程中比普通变压器快 1800  多倍。值得注意的是,我们将 bpc/perplexity 的最新结果改进到了 enwiki8 的 0.99,text8 的  1.08,WikiText-103 的 18.3,One Billion Word 的 21.8,Penn Treebank 的  54.5(无需微调)。当仅在 WikiText-103 上训练时,Transformer-XL 能够生成具有数千个标记的合理连贯的新文章。

这个模型是由thomwolf贡献的。原始代码可以在这里找到。

使用提示

  • Transformer-XL 使用相对正弦位置嵌入。填充可以在左侧或右侧进行。原始实现在左侧进行填充训练 SQuAD,因此填充默认设置为左侧。
  • Transformer-XL 是少数没有序列长度限制的模型之一。
  • 与常规的 GPT 模型相同,但引入了两个连续片段的循环机制(类似于具有两个连续输入的常规 RNN)。在这个上下文中,一个片段是一系列连续的标记(例如 512 个),可能跨越多个文档,片段按顺序馈送到模型中。
  • 基本上,前一个片段的隐藏状态被连接到当前输入以计算注意力分数。这使得模型能够关注前一个片段和当前片段中的信息。通过堆叠多个注意力层,可以将感受野扩展到多个先前的片段。
  • 这将把位置嵌入改为位置相对嵌入(因为常规位置嵌入会在给定位置的当前输入和当前隐藏状态中产生相同的结果),并且需要对计算注意力分数的方式进行一些调整。

由于 PyTorch 中的一个错误,TransformerXL 与torch.nn.DataParallel不兼容,请参阅问题#36035

资源

  • 文本分类任务指南
  • 因果语言建模任务指南

TransfoXLConfig

class transformers.TransfoXLConfig

<来源>

( vocab_size = 267735 cutoffs = [20000, 40000, 200000] d_model = 1024 d_embed = 1024 n_head = 16 d_head = 64 d_inner = 4096 div_val = 4 pre_lnorm = False n_layer = 18 mem_len = 1600 clamp_len = 1000 same_length = True proj_share_all_but_first = True attn_type = 0 sample_softmax = -1 adaptive = True dropout = 0.1 dropatt = 0.0 untie_r = True init = 'normal' init_range = 0.01 proj_init_std = 0.01 init_std = 0.02 layer_norm_epsilon = 1e-05 eos_token_id = 0 **kwargs )

参数

  • vocab_size (int, optional, 默认为 267735) — BERT 模型的词汇量。定义了在调用 TransfoXLModel 或 TFTransfoXLModel 时可以由inputs_ids表示的不同标记数量。
  • cutoffs (List[int], optional, 默认为[20000, 40000, 200000]) — 自适应 softmax 的截断值。
  • d_model (int, optional, 默认为 1024) — 模型隐藏状态的维度。
  • d_embed (int, optional, 默认为 1024) — 嵌入的维度
  • n_head (int, optional, 默认为 16) — Transformer 编码器中每个注意力层的注意力头数量。
  • d_head (int, optional, 默认为 64) — 模型头部的维度。
  • d_inner (int, optional, 默认为 4096) — FF 中的内部维度
  • div_val (int, optional, 默认为 4) — 自适应输入和 softmax 的除数值
  • pre_lnorm (boolean, optional, 默认为False) — 是否在块中将 LayerNorm 应用于输入而不是输出。
  • n_layer (int, optional, 默认为 18) — Transformer 编码器中的隐藏层数量。
  • mem_len (int, optional, 默认为 1600) — 保留的先前头部的长度。
  • clamp_len (int, optional, 默认为 1000) — 在 clamp_len 之后使用相同的位置嵌入。
  • same_length (boolean, optional, 默认为True) — 是否对所有标记使用相同的注意力长度
  • proj_share_all_but_first (boolean, optional, 默认为True) — True 表示共享除第一个 proj 之外的所有 proj,False 表示不共享。
  • attn_type (int, optional, 默认为 0) — 注意力类型。0 表示 Transformer-XL,1 表示 Shaw 等人,2 表示 Vaswani 等人,3 表示 Al Rfou 等人。
  • sample_softmax (int, optional, 默认为-1) — 采样 softmax 中的样本数量。
  • adaptive (boolean, optional, 默认为True) — 是否使用自适应 softmax。
  • dropout (float, optional, 默认为 0.1) — 嵌入层、编码器和池化器中所有全连接层的丢弃概率。
  • dropatt (float, optional, 默认为 0.0) — 注意力概率的丢弃比率。
  • untie_r (boolean, optional, 默认为True) — 是否解开相对位置偏差。
  • init (str, optional, 默认为"normal") — 要使用的参数初始化器。
  • init_range (float, optional, 默认为 0.01) — 由 U(-init_range, init_range)初始化的参数。
  • proj_init_std (float, optional, 默认为 0.01) — 由 N(0, init_std)初始化的参数
  • init_std (float, optional, 默认为 0.02) — 由 N(0, init_std)初始化的参数
  • layer_norm_epsilon (float, optional, 默认为 1e-05) — 在层归一化层中使用的 epsilon
  • eos_token_id (int, optional, 默认为 0) — 流结束标记 id。

这是用于存储 TransfoXLModel 或 TFTransfoXLModel 配置的配置类。它用于根据指定的参数实例化一个 Transformer-XL 模型,定义模型架构。使用默认值实例化配置将产生类似于 TransfoXL transfo-xl-wt103架构的配置。

配置对象继承自 PretrainedConfig,可用于控制模型输出。阅读 PretrainedConfig 的文档以获取更多信息。

示例:

>>> from transformers import TransfoXLConfig, TransfoXLModel
>>> # Initializing a Transformer XL configuration
>>> configuration = TransfoXLConfig()
>>> # Initializing a model (with random weights) from the configuration
>>> model = TransfoXLModel(configuration)
>>> # Accessing the model configuration
>>> configuration = model.config

Transformers 4.37 中文文档(六十)(2)https://developer.aliyun.com/article/1564086

相关文章
|
4月前
|
异构计算 索引 AI芯片
Transformers 4.37 中文文档(五十)(7)
Transformers 4.37 中文文档(五十)
28 1
|
4月前
|
PyTorch 算法框架/工具 索引
Transformers 4.37 中文文档(四十)(7)
Transformers 4.37 中文文档(四十)
38 2
|
4月前
|
机器学习/深度学习 PyTorch 算法框架/工具
Transformers 4.37 中文文档(七十)(3)
Transformers 4.37 中文文档(七十)
33 2
|
4月前
|
缓存 异构计算 索引
Transformers 4.37 中文文档(五十)(8)
Transformers 4.37 中文文档(五十)
22 1
|
4月前
|
机器学习/深度学习 缓存 PyTorch
Transformers 4.37 中文文档(四十)(4)
Transformers 4.37 中文文档(四十)
41 1
|
4月前
|
索引
Transformers 4.37 中文文档(四十)(5)
Transformers 4.37 中文文档(四十)
23 1
|
4月前
|
机器学习/深度学习 存储 PyTorch
Transformers 4.37 中文文档(六十)(4)
Transformers 4.37 中文文档(六十)
37 0
|
4月前
|
自然语言处理 PyTorch TensorFlow
Transformers 4.37 中文文档(六十)(2)
Transformers 4.37 中文文档(六十)
20 0
|
4月前
|
机器学习/深度学习 PyTorch 算法框架/工具
Transformers 4.37 中文文档(六十)(5)
Transformers 4.37 中文文档(六十)
27 0
|
4月前
|
自然语言处理 API 算法框架/工具
Transformers 4.37 中文文档(六十)(3)
Transformers 4.37 中文文档(六十)
20 0