当前位置: 首页 > wzjs >正文

百度官方推广平台南宁网站运营优化平台

百度官方推广平台,南宁网站运营优化平台,网站代码制作,axure做网站效果图步骤类 类名简单说明GenerateDecoderOnlyOutput继承自 ModelOutput,适用于非束搜索方法的解码器-only模型输出类。GenerateEncoderDecoderOutput继承自 ModelOutput,适用于非束搜索方法的编码器-解码器模型输出类。GenerateBeamDecoderOnlyOutput继承自 Mod…

类名简单说明
GenerateDecoderOnlyOutput继承自 ModelOutput,适用于非束搜索方法的解码器-only模型输出类。
GenerateEncoderDecoderOutput继承自 ModelOutput,适用于非束搜索方法的编码器-解码器模型输出类。
GenerateBeamDecoderOnlyOutput继承自 ModelOutput,适用于束搜索方法的解码器-only模型输出类。
GenerateBeamEncoderDecoderOutput继承自 ModelOutput,适用于束搜索方法的编码器-解码器模型输出类。
GreedySearchDecoderOnlyOutputGenerateDecoderOnlyOutput 相同,保留用于向后兼容的别名。
ContrastiveSearchDecoderOnlyOutputGenerateDecoderOnlyOutput 相同,保留用于向后兼容的别名。
SampleDecoderOnlyOutputGenerateDecoderOnlyOutput 相同,保留用于向后兼容的别名。
GreedySearchEncoderDecoderOutputGenerateEncoderDecoderOutput 相同,保留用于向后兼容的别名。
ContrastiveSearchEncoderDecoderOutputGenerateEncoderDecoderOutput 相同,保留用于向后兼容的别名。
SampleEncoderDecoderOutputGenerateEncoderDecoderOutput 相同,保留用于向后兼容的别名。
BeamSearchDecoderOnlyOutputGenerateBeamDecoderOnlyOutput 相同,保留用于向后兼容的别名。
BeamSampleDecoderOnlyOutputGenerateBeamDecoderOnlyOutput 相同,保留用于向后兼容的别名。
BeamSearchEncoderDecoderOutputGenerateBeamEncoderDecoderOutput 相同,保留用于向后兼容的别名。
BeamSampleEncoderDecoderOutputGenerateBeamEncoderDecoderOutput 相同,保留用于向后兼容的别名。
GreedySearchOutputGreedySearchEncoderDecoderOutputGreedySearchDecoderOnlyOutput 的联合类型。
SampleOutputSampleEncoderDecoderOutputSampleDecoderOnlyOutput 的联合类型。
BeamSearchOutputBeamSearchEncoderDecoderOutputBeamSearchDecoderOnlyOutput 的联合类型。
BeamSampleOutputBeamSampleEncoderDecoderOutputBeamSampleDecoderOnlyOutput 的联合类型。
ContrastiveSearchOutputContrastiveSearchEncoderDecoderOutputContrastiveSearchDecoderOnlyOutput 的联合类型。
GenerateNonBeamOutputGenerateDecoderOnlyOutputGenerateEncoderDecoderOutput 的联合类型。
GenerateBeamOutputGenerateBeamDecoderOnlyOutputGenerateBeamEncoderDecoderOutput 的联合类型。
GenerateOutputGenerateNonBeamOutputGenerateBeamOutput 的联合类型。
GenerationMixin包含自动回归文本生成所有功能的类,可作为 PreTrainedModel 的 mixin 使用。
  • 定义了多个数据类(@dataclass),这些类继承自 ModelOutput,用于表示生成模型在不同情况下的输出结果。
    Python:@dataclass装饰器

  • 定义了一些等价的类和类型简写(typing shortcuts),主要是为了兼容旧版本的代码,也方便在代码中进行类型提示。

重点解释以下三个类:

  1. GenerateDecoderOnlyOutput

  2. GenerateEncoderDecoderOutput

  3. GenerateNonBeamOutput


1. GenerateDecoderOnlyOutput

描述:

GenerateDecoderOnlyOutput 是一个数据类,用于表示 仅解码器模型(decoder-only models) 在使用 非束搜索方法(non-beam methods) 进行生成时的输出结果。

主要用途:

此类主要用于像 GPT-2、GPT-3 等仅包含解码器的模型,当它们使用贪婪搜索(Greedy Search)、随机采样(Sampling)、对比搜索(Contrastive Search)等非束搜索方法进行文本生成时,封装和返回生成的结果。

2. GenerateEncoderDecoderOutput

描述:

GenerateEncoderDecoderOutput 是一个数据类,用于表示 编码器-解码器模型(encoder-decoder models) 在使用 非束搜索方法(non-beam methods) 进行生成时的输出结果。

主要用途:

此类主要用于像 BART、T5 等包含编码器和解码器的模型,当它们使用贪婪搜索、随机采样、对比搜索等非束搜索方法进行文本生成时,封装和返回生成的结果。

GenerateDecoderOnlyOutputGenerateEncoderDecoderOutput

字段名GenerateDecoderOnlyOutputGenerateEncoderDecoderOutput
sequences必填
torch.LongTensor
形状:(batch_size, sequence_length)
生成的序列。
必填
torch.LongTensor
形状:(batch_size * num_return_sequences, sequence_length)
生成的序列。
scores可选
Optional[Tuple[torch.FloatTensor]]
output_scores=True 时返回。
处理后的预测分数(每步)。
可选
Optional[Tuple[torch.FloatTensor]]
同左。
logits可选
Optional[Tuple[torch.FloatTensor]]
output_logits=True 时返回。
未经处理的预测分数(每步)。
可选
Optional[Tuple[torch.FloatTensor]]
同左。
attentions可选
Optional[Tuple[Tuple[torch.FloatTensor]]]
output_attentions=True 时返回。
解码器每层的注意力权重。
名称不同
GenerateEncoderDecoderOutput 中,该字段为 decoder_attentions
hidden_states可选
Optional[Tuple[Tuple[torch.FloatTensor]]]
output_hidden_states=True 时返回。
解码器每层的隐藏状态。
名称不同
GenerateEncoderDecoderOutput 中,该字段为 decoder_hidden_states
past_key_values可选
Optional[Tuple[Tuple[Tuple[torch.FloatTensor]]]]
use_cache=True 时返回。
模型的缓存状态。
可选
Optional[Tuple[Tuple[Tuple[torch.FloatTensor]]]]
同左。
encoder_attentions无此字段可选
Optional[Tuple[torch.FloatTensor]]
output_attentions=True 时返回。
编码器每层的注意力权重。
encoder_hidden_states无此字段可选
Optional[Tuple[torch.FloatTensor]]
output_hidden_states=True 时返回。
编码器每层的隐藏状态。
decoder_attentions无此字段
对应于 attentions 字段。
可选
Optional[Tuple[Tuple[torch.FloatTensor]]]
解码器每层的注意力权重。
decoder_hidden_states无此字段
对应于 hidden_states 字段。
可选
Optional[Tuple[Tuple[torch.FloatTensor]]]
解码器每层的隐藏状态。
cross_attentions无此字段可选
Optional[Tuple[Tuple[torch.FloatTensor]]]
output_attentions=True 时返回。
解码器每层的跨注意力权重。

字段详解

共有字段
  • sequences

    • 描述:生成的序列。
    • GenerateDecoderOnlyOutput:形状为 (batch_size, sequence_length)
    • GenerateEncoderDecoderOutput:形状为 (batch_size * num_return_sequences, sequence_length)
  • scores

    • 描述:处理后的预测分数(即在 SoftMax 之前的 logits),每步生成一个。
    • 类型Optional[Tuple[torch.FloatTensor]]
    • 返回条件output_scores=True
  • logits

    • 描述:未经处理的预测分数(logits),每步生成一个。
    • 类型Optional[Tuple[torch.FloatTensor]]
    • 返回条件output_logits=True
  • past_key_values

    • 描述:模型的缓存状态,用于加速解码。
    • 类型Optional[Tuple[Tuple[Tuple[torch.FloatTensor]]]]
    • 返回条件use_cache=True
仅在 GenerateDecoderOnlyOutput
  • attentions

    • 描述:解码器的注意力权重。
    • 类型Optional[Tuple[Tuple[torch.FloatTensor]]]
    • 返回条件output_attentions=True
  • hidden_states

    • 描述:解码器的隐藏状态。
    • 类型Optional[Tuple[Tuple[torch.FloatTensor]]]
    • 返回条件output_hidden_states=True
仅在 GenerateEncoderDecoderOutput
  • encoder_attentions

    • 描述:编码器的注意力权重。
    • 类型Optional[Tuple[torch.FloatTensor]]
    • 返回条件output_attentions=True
  • encoder_hidden_states

    • 描述:编码器的隐藏状态。
    • 类型Optional[Tuple[torch.FloatTensor]]
    • 返回条件output_hidden_states=True
  • decoder_attentions

    • 描述:解码器的注意力权重(相当于 GenerateDecoderOnlyOutput 中的 attentions)。
    • 类型Optional[Tuple[Tuple[torch.FloatTensor]]]
    • 返回条件output_attentions=True
  • decoder_hidden_states

    • 描述:解码器的隐藏状态(相当于 GenerateDecoderOnlyOutput 中的 hidden_states)。
    • 类型Optional[Tuple[Tuple[torch.FloatTensor]]]
    • 返回条件output_hidden_states=True
  • cross_attentions

    • 描述:解码器的跨注意力权重(解码器与编码器之间的注意力)。
    • 类型Optional[Tuple[Tuple[torch.FloatTensor]]]
    • 返回条件output_attentions=True

3. GenerateNonBeamOutput

描述:

GenerateNonBeamOutput 是一个类型别名,用于表示在使用 非束搜索方法(non-beam methods) 进行生成时,模型的输出结果。

定义:
GenerateNonBeamOutput = Union[GenerateDecoderOnlyOutput, GenerateEncoderDecoderOutput]
含义:
  • 它可以是 GenerateDecoderOnlyOutput 类型,也可以是 GenerateEncoderDecoderOutput 类型。

  • 这个类型别名的存在,使得在处理非束搜索生成输出时,可以统一处理,不用区分模型是仅解码器模型还是编码器-解码器模型。


附加说明:

  • 非束搜索方法(Non-beam methods)

    指在生成文本时,不使用束搜索(Beam Search)算法的生成方法,例如贪婪搜索、随机采样、对比搜索等。这些方法通常速度更快,但可能生成的结果质量不如束搜索。

  • 缓存机制(Past Key Values)

    在生成长序列时,模型可以缓存之前计算的键和值,以避免重复计算,提高生成效率。缓存的内容和格式因模型而异。


GenerationMixin

以下是对 GenerationMixin 类中各个方法和属性的整理,包括分类和功能描述:

类别名称功能描述
静态方法_expand_inputs_for_generation扩展输入以用于生成,将张量从 [batch_size, ...] 扩展为 [batch_size * expand_size, ...]
实例方法prepare_inputs_for_generation准备生成所需的模型输入,包括计算注意力掩码或根据缓存裁剪输入等操作。
实例方法_prepare_model_inputs提取用于生成的模型特定输入。
实例方法_maybe_initialize_input_ids_for_generation在必要时初始化用于生成的 input_ids
实例方法_prepare_attention_mask_for_generation为生成准备注意力掩码。
实例方法_prepare_encoder_decoder_kwargs_for_generation在生成期间为编码器-解码器模型准备 kwargs
实例方法_prepare_decoder_input_ids_for_generation为编码器-解码器模型准备用于生成的 decoder_input_ids
实例方法_update_model_kwargs_for_generation更新下一步生成所需的 model_kwargs
实例方法_reorder_cache重新排序缓存,需要在子类中实现,以适应 beam search 等方法。
实例方法_get_candidate_generator返回在辅助生成中使用的候选生成器。
实例方法_get_logits_processor返回一个 LogitsProcessorList,其中包含所有用于修改分数的相关 LogitsProcessor 实例。
实例方法_get_stopping_criteria返回用于生成的 StoppingCriteriaList,包括各种停止条件。
实例方法_merge_criteria_processor_list合并默认和自定义的 criteria 或 processor 列表。
实例方法compute_transition_scores根据生成的得分计算序列的转移得分。
实例方法_validate_model_class验证模型类是否兼容生成操作。
实例方法_validate_assistant验证辅助模型(如果提供)是否兼容和正确配置。
实例方法_validate_model_kwargs验证用于生成的 model_kwargs 参数。
实例方法_validate_generated_length执行与生成长度相关的验证,确保参数设置正确。
实例方法_prepare_generated_length在生成配置中准备最大和最小长度,避免参数冲突。
实例方法_prepare_generation_config准备基础的生成配置,并应用来自 kwargs 的任何选项。
实例方法_get_initial_cache_position计算预填充阶段的 cache_position
实例方法_get_cache根据参数为生成设置缓存。
实例方法_supports_default_dynamic_cache返回模型是否支持将 DynamicCache 实例作为 past_key_values
实例方法_prepare_cache_for_generation为生成准备缓存,并将其写入 model_kwargs
实例方法_supports_logits_to_keep返回模型是否支持 logits_to_keep 参数,用于节省内存。
实例方法_prepare_special_tokens为生成准备特殊的 tokens,如 bos_token_ideos_token_id 等。
实例方法generate为具有语言模型头的模型生成 token 序列,是生成过程的主要入口方法。
实例方法_has_unfinished_sequences检查设备中是否仍然存在未完成的序列,用于确定是否继续生成循环。
实例方法heal_tokens生成 token 序列,其中每个序列的尾部 token 替换为适当的扩展,用于修复不完整的 token。
实例方法_dola_decoding使用 DoLa 解码生成序列,一种改进生成质量的解码策略。
实例方法_contrastive_search使用对比搜索生成序列,旨在改善生成文本的质量和多样性。
实例方法_sample使用多项式采样生成序列,可以实现随机性和多样性。
实例方法_temporary_reorder_cache临时函数,用于处理不同类型的缓存重新排序。
实例方法_beam_search使用 beam search 解码生成序列,支持高质量的序列生成。
实例方法_group_beam_search使用分组 beam search 解码生成序列,引入多样性。
实例方法_constrained_beam_search使用受限 beam search 解码生成序列,支持强制包含特定词语等约束。
实例方法_assisted_decoding使用辅助解码生成序列,利用辅助模型加速和改善生成过程。

GenerationMixin中最核心的方法是generate方法,其它方法都是generate方法的辅助方法:
GenerationMixin:generate

http://www.dtcms.com/wzjs/231053.html

相关文章:

  • 深圳网站建站建设公司地址在线识别图片来源
  • 网站备案在线注销各平台推广费用
  • 台州网站建设seo上海搜索引擎优化公司
  • 怎么样做购物网站最新疫情19个城市封城
  • 黄石做企业网站电子商务营销方法
  • 南京网站制作哪家专业网络推广技巧
  • 织梦网站地图怎么做seo sem
  • 网站设计任务app推广拉新一手渠道代理
  • java做后端的网站看seo
  • 北京好的广告公司seo宣传网站
  • 网站网页基本情况 网页栏目设置厦门头条今日新闻
  • 三级网站菜单栏网站建设全包
  • 网站推广适合女生做吗网站关键词优化推广
  • 郑州网约车怎么快速优化网站排名
  • 怎么找有赞做网站搜索网站排行
  • 视频网站开发技术优化师培训
  • 怎么做php网站奶茶的营销推广软文
  • 商业网站的后缀一般为微信朋友圈产品推广语
  • 做网站怎么用国处服务器新闻今日要闻
  • 做问答网站要多少钱全网营销公司
  • 胶州网站建设网络推广产品要给多少钱
  • 英语培训建设网站方案重庆seo整站优化报价
  • 网站系统建设项目百度客服平台
  • 做商标网站百度搜索推广的定义
  • 网站推广实施方案网络营销专员的就业前景
  • 怎么查询网站的外链白帽seo是什么
  • 极速网站建设定制价格线上销售平台都有哪些
  • 房地产销售段子网站权重优化
  • python做网站功能测试如何免费创建自己的网站平台
  • 做网站和程序员哪个好点网络营销理论基础有哪些