Transformers.js 文档

generation/configuration_utils

您正在查看的是需要从源码安装。如果您想进行常规 npm 安装,请查看最新的稳定版本 (v3.0.0)。
Hugging Face's logo
加入 Hugging Face 社区

并获得增强的文档体验

开始使用

generation/configuration_utils


generation/configuration_utils.GenerationConfig

保存生成任务配置的类。

类型generation/configuration_utils 的静态类


new GenerationConfig(config)

参数量类型
config*

generationConfig.max_length : <code> number </code>

生成的 token 的最大长度。对应于输入提示的长度 + max_new_tokens。如果同时设置了 max_new_tokens,则此设置的效果会被覆盖。

类型GenerationConfig 的实例属性
默认值20


generationConfig.max_new_tokens : <code> number </code>

要生成的最大 token 数量,忽略提示中的 token 数量。

类型GenerationConfig 的实例属性
默认值null


generationConfig.min_length : <code> number </code>

要生成的序列的最小长度。对应于输入提示的长度 + min_new_tokens。如果同时设置了 min_new_tokens,则此设置的效果会被覆盖。

类型GenerationConfig 的实例属性
默认值0


generationConfig.min_new_tokens : <code> number </code>

要生成的最小 token 数量,忽略提示中的 token 数量。

类型GenerationConfig 的实例属性
默认值null


generationConfig.early_stopping : <code> boolean </code> | <code> ” never ” </code>

控制基于束的方法(如束搜索)的停止条件。它接受以下值:

  • true,一旦有 num_beams 个完整候选,生成就会停止;
  • false,应用启发式方法,当找到更好候选的可能性极低时,生成停止;
  • "never",束搜索过程仅在无法找到更好候选时停止(规范束搜索算法)。

类型GenerationConfig 的实例属性
默认值false


generationConfig.max_time : <code> number </code>

允许计算运行的最大时间(秒)。分配时间结束后,生成仍将完成当前传递。

类型GenerationConfig 的实例属性
默认值null


generationConfig.do_sample : <code> boolean </code>

是否使用采样;否则使用贪婪解码。

类型GenerationConfig 的实例属性
默认值false


generationConfig.num_beams : <code> number </code>

束搜索的束数量。1 表示没有束搜索。

类型GenerationConfig 的实例属性
默认值1


generationConfig.num_beam_groups : <code> number </code>

num_beams 分成组的数量,以确保不同束组之间的多样性。更多详细信息请参阅这篇论文

类型GenerationConfig 的实例属性
默认值1


generationConfig.penalty_alpha : <code> number </code>

这些值平衡了模型置信度和对比搜索解码中的退化惩罚。

类型GenerationConfig 的实例属性
默认值null


generationConfig.use_cache : <code> boolean </code>

模型是否应使用过去的键/值注意力(如果适用于模型)来加快解码速度。

类型GenerationConfig 的实例属性
默认值true


generationConfig.temperature : <code> number </code>

用于调节下一个 token 概率的值。

类型GenerationConfig 的实例属性
默认值1.0


generationConfig.top_k : <code> number </code>

保留用于 top-k 过滤的最高概率词汇 token 数量。

类型GenerationConfig 的实例属性
默认值50


generationConfig.top_p : <code> number </code>

如果设置为小于 1 的浮点数,则仅保留概率总和等于或大于 top_p 的最小概率最高的 token 集合用于生成。

类型GenerationConfig 的实例属性
默认值1.0


generationConfig.typical_p : <code> number </code>

局部典型性衡量预测下一个目标 token 的条件概率与给定已生成部分文本的预测下一个随机 token 的预期条件概率之间的相似程度。如果设置为小于 1 的浮点数,则保留概率总和等于或大于 typical_p 的最小局部典型 token 集合用于生成。更多详细信息请参阅这篇论文

类型GenerationConfig 的实例属性
默认值1.0


generationConfig.epsilon_cutoff : <code> number </code>

如果设置为严格介于 0 和 1 之间的浮点数,则仅对条件概率大于 epsilon_cutoff 的 token 进行采样。在论文中,建议值为 3e-4 到 9e-4,具体取决于模型的大小。更多详细信息请参阅《截断采样作为语言模型去平滑》

类型GenerationConfig 的实例属性
默认值0.0


generationConfig.eta_cutoff : <code> number </code>

Eta 采样是局部典型采样和 epsilon 采样的混合。如果设置为严格介于 0 和 1 之间的浮点数,则仅当 token 大于 eta_cutoffsqrt(eta_cutoff) * exp(-entropy(softmax(next_token_logits))) 时才考虑该 token。后一个术语直观地说是预期的下一个 token 概率,由 sqrt(eta_cutoff) 缩放。在论文中,建议值为 3e-4 到 2e-3,具体取决于模型的大小。更多详细信息请参阅《截断采样作为语言模型去平滑》

类型GenerationConfig 的实例属性
默认值0.0


generationConfig.diversity_penalty : <code> number </code>

如果生成的 token 与其他组的任何束相同,则从束的分数中减去此值。请注意,diversity_penalty 仅在启用 group beam search 时有效。

类型GenerationConfig 的实例属性
默认值0.0


generationConfig.repetition_penalty : <code> number </code>

重复惩罚的参数。1.0 表示没有惩罚。更多详细信息请参阅这篇论文

类型GenerationConfig 的实例属性
默认值1.0


generationConfig.encoder_repetition_penalty : <code> number </code>

encoder_repetition_penalty 的参数。对不在原始输入中的序列进行指数惩罚。1.0 表示没有惩罚。

类型GenerationConfig 的实例属性
默认值1.0


generationConfig.length_penalty : <code> number </code>

用于基于束的生成中对长度的指数惩罚。它以序列长度的指数形式应用,然后用于除以序列的分数。由于分数为序列的对数似然(即负值),因此 length_penalty > 0.0 促进更长的序列,而 length_penalty < 0.0 鼓励更短的序列。

类型GenerationConfig 的实例属性
默认值1.0


generationConfig.no_repeat_ngram_size : <code> number </code>

如果设置为大于 0 的整数,则该大小的所有 n-gram 只能出现一次。

类型GenerationConfig 的实例属性
默认值0


generationConfig.bad_words_ids : <code> Array. < Array < number > > </code>

不允许生成的 token ID 列表。要获取不应出现在生成文本中的词语的 token ID,请使用 tokenizer(bad_words, { add_prefix_space: true, add_special_tokens: false }).input_ids

类型GenerationConfig 的实例属性
默认值null


generationConfig.force_words_ids : <code> Array < Array < number > > </code> | <code> Array < Array < Array < number > > > </code>

必须生成的 token ID 列表。如果给定 number[][],则将其视为必须包含的简单词语列表,与 bad_words_ids 相反。如果给定 number[][][],则会触发不连贯约束,允许每个词语的不同形式。

类型GenerationConfig 的实例属性
默认值null


generationConfig.renormalize_logits : <code> boolean </code>

是否在应用所有 logits 处理器或 warp 器(包括自定义的)之后重新规范化 logits。强烈建议将此标志设置为 true,因为搜索算法假设分数 logits 已规范化,但某些 logits 处理器或 warp 器会破坏规范化。

类型GenerationConfig 的实例属性
默认值false


generationConfig.constraints : <code> Array. < Object > </code>

可添加到生成中的自定义约束,以尽可能合理地确保输出包含由 Constraint 对象定义的某些 token。

类型GenerationConfig 的实例属性
默认值null


generationConfig.forced_bos_token_id : <code> number </code>

decoder_start_token_id 之后强制作为第一个生成 token 的 token ID。对于像 mBART 这样的多语言模型很有用,因为第一个生成的 token 需要是目标语言 token。

类型GenerationConfig 的实例属性
默认值null


generationConfig.forced_eos_token_id : <code> number </code> | <code> Array < number > </code>

当达到 max_length 时强制作为最后一个生成 token 的 token ID。可选地,使用列表设置多个*序列结束* token。

类型GenerationConfig 的实例属性
默认值null


generationConfig.remove_invalid_values : <code> boolean </code>

是否移除模型中可能的*nan*和*inf*输出,以防止生成方法崩溃。请注意,使用 remove_invalid_values 可能会减慢生成速度。

类型GenerationConfig 的实例属性


generationConfig.exponential_decay_length_penalty : <code> * </code>

此元组在生成一定数量的 token 后添加指数级增长的长度惩罚。元组应包含:(start_index, decay_factor),其中 start_index 表示惩罚开始的位置,decay_factor 表示指数衰减的因子。

类型GenerationConfig 的实例属性
默认值null


generationConfig.suppress_tokens : <code> Array. < number > </code>

生成时将被抑制的 token 列表。SuppressTokens logits 处理器会将其 log 概率设置为 -inf,以便不对其进行采样。

类型GenerationConfig 的实例属性
默认值null


generationConfig.streamer : <code> * </code>

将用于流式生成数据的 Streamer。

类型GenerationConfig 的实例属性
默认值null


generationConfig.begin_suppress_tokens : <code> Array. < number > </code>

生成开始时将被抑制的 token 列表。SuppressBeginTokens logits 处理器会将其 log 概率设置为 -inf,以便不对其进行采样。

类型GenerationConfig 的实例属性
默认值null


generationConfig.forced_decoder_ids : <code> * </code>

一个整数对列表,表示从生成索引到在采样之前将被强制使用的 token 索引的映射。例如,[[1, 123]] 表示第二个生成的 token 将始终是索引为 123 的 token。

类型GenerationConfig 的实例属性
默认值null


generationConfig.guidance_scale : <code> number </code>

无分类器引导(CFG)的引导比例。通过设置 guidance_scale > 1 启用 CFG。更高的引导比例会鼓励模型生成与输入提示更紧密相关的样本,通常以牺牲质量为代价。

类型GenerationConfig 的实例属性
默认值null


generationConfig.num_return_sequences : <code> number </code>

批次中每个元素独立计算的返回序列数。

类型GenerationConfig 的实例属性
默认值1


generationConfig.output_attentions : <code> boolean </code>

是否返回所有注意力层的注意力张量。更多详细信息请参阅返回张量下的 attentions

类型GenerationConfig 的实例属性
默认值false


generationConfig.output_hidden_states : <code> boolean </code>

是否返回所有层的隐藏状态。更多详细信息请参阅返回张量下的 hidden_states

类型GenerationConfig 的实例属性
默认值false


generationConfig.output_scores : <code> boolean </code>

是否返回预测分数。更多详细信息请参阅返回张量下的 scores

类型GenerationConfig 的实例属性
默认值false


generationConfig.return_dict_in_generate : <code> boolean </code>

是否返回 ModelOutput 而不是普通的元组。

类型GenerationConfig 的实例属性
默认值false


generationConfig.pad_token_id : <code> number </code>

*填充* token 的 ID。

类型GenerationConfig 的实例属性
默认值null


generationConfig.bos_token_id : <code> number </code>

*序列开始* token 的 ID。

类型GenerationConfig 的实例属性
默认值null


generationConfig.eos_token_id : <code> number </code> | <code> Array < number > </code>

“序列结束”标记的 ID。可选地,使用列表来设置多个“序列结束”标记。

类型GenerationConfig 的实例属性
默认值null


generationConfig.encoder_no_repeat_ngram_size : <code> number </code>

如果设置为大于 0 的整数,则在 encoder_input_ids 中出现的所有该大小的 n-gram 都不能在 decoder_input_ids 中出现。

类型GenerationConfig 的实例属性
默认值0


generationConfig.decoder_start_token_id : <code> number </code>

如果编码器-解码器模型以与*bos*不同的 token 开始解码,则该 token 的 ID。

类型GenerationConfig 的实例属性
默认值null


generationConfig.generation_kwargs : Object

额外的生成 kwargs 将转发到模型的 generate 函数。不在 generate 签名中的 kwargs 将在模型前向传递中使用。

类型GenerationConfig 的实例属性
默认: {}


< > 在 GitHub 上更新