Transformers.js 文档
generation/configuration_utils
并获得增强的文档体验
开始使用
generation/configuration_utils
- generation/configuration_utils
- .GenerationConfig
new GenerationConfig(config)
.max_length
:number
.max_new_tokens
:number
.min_length
:number
.min_new_tokens
:number
.early_stopping
:boolean
|”never”
.max_time
:number
.do_sample
:boolean
.num_beams
:number
.num_beam_groups
:number
.penalty_alpha
:number
.use_cache
:boolean
.temperature
:number
.top_k
:number
.top_p
:number
.typical_p
:number
.epsilon_cutoff
:number
.eta_cutoff
:number
.diversity_penalty
:number
.repetition_penalty
:number
.encoder_repetition_penalty
:number
.length_penalty
:number
.no_repeat_ngram_size
:number
.bad_words_ids
:Array.<Array<number>>
.force_words_ids
:Array<Array<number>>
|Array<Array<Array<number>>>
.renormalize_logits
:boolean
.constraints
:Array.<Object>
.forced_bos_token_id
:number
.forced_eos_token_id
:number
|Array<number>
.remove_invalid_values
:boolean
.exponential_decay_length_penalty
:*
.suppress_tokens
:Array.<number>
.streamer
:*
.begin_suppress_tokens
:Array.<number>
.forced_decoder_ids
:*
.guidance_scale
:number
.num_return_sequences
:number
.output_attentions
:boolean
.output_hidden_states
:boolean
.output_scores
:boolean
.return_dict_in_generate
:boolean
.pad_token_id
:number
.bos_token_id
:number
.eos_token_id
:number
|Array<number>
.encoder_no_repeat_ngram_size
:number
.decoder_start_token_id
:number
.generation_kwargs
:Object
- .GenerationConfig
generation/configuration_utils.GenerationConfig
保存生成任务配置的类。
类型:generation/configuration_utils
的静态类
- .GenerationConfig
new GenerationConfig(config)
.max_length
:number
.max_new_tokens
:number
.min_length
:number
.min_new_tokens
:number
.early_stopping
:boolean
|”never”
.max_time
:number
.do_sample
:boolean
.num_beams
:number
.num_beam_groups
:number
.penalty_alpha
:number
.use_cache
:boolean
.temperature
:number
.top_k
:number
.top_p
:number
.typical_p
:number
.epsilon_cutoff
:number
.eta_cutoff
:number
.diversity_penalty
:number
.repetition_penalty
:number
.encoder_repetition_penalty
:number
.length_penalty
:number
.no_repeat_ngram_size
:number
.bad_words_ids
:Array.<Array<number>>
.force_words_ids
:Array<Array<number>>
|Array<Array<Array<number>>>
.renormalize_logits
:boolean
.constraints
:Array.<Object>
.forced_bos_token_id
:number
.forced_eos_token_id
:number
|Array<number>
.remove_invalid_values
:boolean
.exponential_decay_length_penalty
:*
.suppress_tokens
:Array.<number>
.streamer
:*
.begin_suppress_tokens
:Array.<number>
.forced_decoder_ids
:*
.guidance_scale
:number
.num_return_sequences
:number
.output_attentions
:boolean
.output_hidden_states
:boolean
.output_scores
:boolean
.return_dict_in_generate
:boolean
.pad_token_id
:number
.bos_token_id
:number
.eos_token_id
:number
|Array<number>
.encoder_no_repeat_ngram_size
:number
.decoder_start_token_id
:number
.generation_kwargs
:Object
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_cutoff
或 sqrt(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 上更新