Transformers.js 文档

generation/configuration_utils

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

并获得增强的文档体验

开始使用

generation/configuration_utils


generation/configuration_utils.GenerationConfig

用于保存生成任务配置的类。

Kind: generation/configuration_utils 的静态类


new GenerationConfig(config)

参数类型
config*

generationConfig.max_length : number

生成 token 可以具有的最大长度。对应于输入提示的长度 + max_new_tokens。如果也设置了 max_new_tokens,则其效果将被覆盖。

Kind: GenerationConfig 的实例属性
Default: 20


generationConfig.max_new_tokens : number

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

Kind: GenerationConfig 的实例属性
Default: null


generationConfig.min_length : number

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

Kind: GenerationConfig 的实例属性
Default: 0


generationConfig.min_new_tokens : number

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

Kind: GenerationConfig 的实例属性
Default: null


generationConfig.early_stopping : boolean | ” never ”

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

  • true,其中生成在有 num_beams 个完整候选对象时立即停止;
  • false,其中应用启发式方法,并且当找到更好候选对象的可能性非常低时,生成停止;
  • "never",其中 beam 搜索过程仅在无法找到更好的候选对象时停止(规范 beam 搜索算法)。

Kind: GenerationConfig 的实例属性
Default: false


generationConfig.max_time : number

您允许计算运行的最长时间(以秒为单位)。生成将在分配的时间过后仍然完成当前的传递。

Kind: GenerationConfig 的实例属性
Default: null


generationConfig.do_sample : boolean

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

Kind: GenerationConfig 的实例属性
Default: false


generationConfig.num_beams : number

beam 搜索的 beam 数量。1 表示不进行 beam 搜索。

Kind: GenerationConfig 的实例属性
Default: 1


generationConfig.num_beam_groups : number

num_beams 分成组的数量,以确保不同 beam 组之间的多样性。有关更多详细信息,请参阅 本文

Kind: GenerationConfig 的实例属性
Default: 1


generationConfig.penalty_alpha : number

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

Kind: GenerationConfig 的实例属性
Default: null


generationConfig.use_cache : boolean

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

Kind: GenerationConfig 的实例属性
Default: true


generationConfig.temperature : number

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

Kind: GenerationConfig 的实例属性
Default: 1.0


generationConfig.top_k : number

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

Kind: GenerationConfig 的实例属性
Default: 50


generationConfig.top_p : number

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

Kind: GenerationConfig 的实例属性
Default: 1.0


generationConfig.typical_p : number

局部典型性衡量标准是,在给定已生成的部分文本的情况下,预测目标 token 的条件概率与预测下一个随机 token 的预期条件概率有多相似。 如果设置为小于 1 的浮点数,则仅保留概率总和达到 typical_p 或更高的局部最典型 token 的最小集合用于生成。 有关更多详细信息,请参阅 本文

Kind: GenerationConfig 的实例属性
Default: 1.0


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

如果设置为严格介于 0 和 1 之间的浮点数,则只会对条件概率大于 epsilon_cutoff 的 tokens 进行采样。在论文中,建议值范围为 3e-4 到 9e-4,具体取决于模型的大小。 有关更多详细信息,请参阅 Truncation Sampling as Language Model Desmoothing

Kind: 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,具体取决于模型的大小。 有关更多详细信息,请参阅 Truncation Sampling as Language Model Desmoothing

Kind: GenerationConfig 的实例属性
默认值: 0.0


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

如果一个 beam 生成的 token 与特定时间来自其他组的任何 beam 生成的 token 相同,则此值将从该 beam 的分数中减去。 请注意,diversity_penalty 仅在启用 group beam search 时有效。

Kind: GenerationConfig 的实例属性
默认值: 0.0


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

重复惩罚的参数。 1.0 表示没有惩罚。 有关更多详细信息,请参阅本文

Kind: GenerationConfig 的实例属性
Default: 1.0


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

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

Kind: GenerationConfig 的实例属性
Default: 1.0


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

用于基于 beam 生成的长度的指数惩罚。 它作为序列长度的指数应用,而序列长度又用于除以序列的分数。 由于分数是序列的对数似然(即负数),因此 length_penalty > 0.0 鼓励更长的序列,而 length_penalty < 0.0 鼓励更短的序列。

Kind: GenerationConfig 的实例属性
Default: 1.0


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

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

Kind: GenerationConfig 的实例属性
Default: 0


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

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

Kind: GenerationConfig 的实例属性
Default: null


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

必须生成的 token ids 列表。 如果给定 number[][],则将其视为必须包含的简单单词列表,与 bad_words_ids 相反。 如果给定 number[][][],则会触发析取约束,在这种约束中,可以允许每个单词的不同形式。

Kind: GenerationConfig 的实例属性
Default: null


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

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

Kind: GenerationConfig 的实例属性
Default: false


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

可以添加到生成中的自定义约束,以确保输出将包含 Constraint 对象定义的某些 tokens 的使用,以最合理的方式实现。

Kind: GenerationConfig 的实例属性
Default: null


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

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

Kind: GenerationConfig 的实例属性
Default: null


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

当达到 max_length 时,强制作为最后一个生成的 token 的 token 的 id。 或者,使用列表来设置多个序列结束 token。

Kind: GenerationConfig 的实例属性
Default: null


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

是否删除模型可能出现的 naninf 输出,以防止生成方法崩溃。 请注意,使用 remove_invalid_values 可能会减慢生成速度。

Kind: GenerationConfig 的实例属性


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

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

Kind: GenerationConfig 的实例属性
Default: null


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

将在生成时被抑制的 tokens 列表。 SuppressTokens logit 处理器将它们的 log probs 设置为 -inf,以便不采样它们。

Kind: GenerationConfig 的实例属性
Default: null


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

将用于流式传输生成的 streamer。

Kind: GenerationConfig 的实例属性
Default: null


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

将在生成开始时被抑制的 tokens 列表。 SuppressBeginTokens logit 处理器将它们的 log probs 设置为 -inf,以便不采样它们。

Kind: GenerationConfig 的实例属性
Default: null


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

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

Kind: GenerationConfig 的实例属性
Default: null


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

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

Kind: GenerationConfig 的实例属性
Default: null


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

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

Kind: GenerationConfig 的实例属性
Default: 1


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

是否返回所有 attention 层的 attention tensors。 有关更多详细信息,请参阅返回的 tensors 下的 attentions

Kind: GenerationConfig 的实例属性
Default: false


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

是否返回所有层的 hidden states。 有关更多详细信息,请参阅返回的 tensors 下的 hidden_states

Kind: GenerationConfig 的实例属性
Default: false


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

是否返回预测分数。 有关更多详细信息,请参阅返回的 tensors 下的 scores

Kind: GenerationConfig 的实例属性
Default: false


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

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

Kind: GenerationConfig 的实例属性
Default: false


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

padding token 的 id。

Kind: GenerationConfig 的实例属性
Default: null


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

beginning-of-sequence token 的 id。

Kind: GenerationConfig 的实例属性
Default: null


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

end-of-sequence token 的 id。 或者,使用列表来设置多个序列结束 token。

Kind: GenerationConfig 的实例属性
Default: null


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

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

Kind: GenerationConfig 的实例属性
Default: 0


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

如果 encoder-decoder 模型以与 bos 不同的 token 开始解码,则为该 token 的 id。

Kind: GenerationConfig 的实例属性
Default: null


generationConfig.generation_kwargs : <code> Object </code>

额外的 generation kwargs 将会转发到模型的 generate 函数中。generate 函数签名中不存在的 kwargs 将会在模型前向传播中使用。

Kind: GenerationConfig 的实例属性
默认值: {}


< > 在 GitHub 上更新