Keras 3 API 文档 / KerasNLP / 采样器 / ContrastiveSampler

对比采样器

[来源]

ContrastiveSampler

keras_nlp.samplers.ContrastiveSampler(k=5, alpha=0.6, **kwargs)

对比采样器类。

此采样器实现对比搜索算法。简而言之,采样器选择得分最高的标记作为下一个标记。得分是标记概率和与先前标记的最大相似度之间的加权和。通过使用此联合得分,对比采样器减少了重复已见标记的行为。

参数

  • k: int,top-k 的 k 值。下一个标记将从 k 个标记中选择。
  • alpha: float,联合得分计算中减去最大相似度的权重。alpha 的值越大,得分越依赖于相似度而不是标记概率。

调用参数

{{call_args}}

示例

causal_lm = keras_nlp.models.GPT2CausalLM.from_preset("gpt2_base_en")

# Pass by name to compile.
causal_lm.compile(sampler="contrastive")
causal_lm.generate(["Keras is a"])

# Pass by object to compile.
sampler = keras_nlp.samplers.ContrastiveSampler(k=5)
causal_lm.compile(sampler=sampler)
causal_lm.generate(["Keras is a"])