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 上更新