代码之家  ›  专栏  ›  技术社区  ›  Minions

强制转换器模型仅从vocb生成一些令牌

  •  0
  • Minions  · 技术社区  · 2 年前

    我训练了一个语言模型(编码器-解码器)来生成文本。我想将此模型的生成vocb限制为特定vocb。我该怎么做?

    我在中找到 generate ( model.generate )函数,我可以传递一个名为 force_words_ids 其中模型将被强制生成此列表中的“所有”令牌。我正在寻找类似的东西,但相反,生成列表中的一些令牌。

    0 回复  |  直到 2 年前
        1
  •  1
  •   Daniel Paleka    1 年前

    截至 transformers 版本 4.26.0 ,您可以编写自定义 LogitsProcessor 并将其作为 logits_processor 关键字参数到 model.generate 。只要您执行 __call__ 的方法 LogitsProcessor 作为工作PyTorch代码。

    也建议通过 renormalize_logits=True 如果您使用例如波束搜索生成更长的输出序列,并对logits向量进行重要编辑。