NVIDIA/logits-processor-zoo

A collection of LogitsProcessors to customize and enhance LLM behavior for specific tasks.

解决的问题

解决大型语言模型(LLMs)在文本生成过程中严格遵循特定格式或行为指令的困难,超越简单的语法约束,实现对响应内容和结构的实际控制。

工作原理

该库提供了一组「logits处理器」,在模型采样下一个token之前拦截并修改其概率分布(logits)。通过增强或降低特定token的可能性,可以强制模型使用特定短语、限制响应长度或确保特定输出格式。

适用人群

需要对模型输出格式和行为进行精确控制的LLM开发者,特别是使用 transformersvLLMTensorRT-LLM 框架的开发者。

主要特性

  • 长度控制:调整EOS token的可能性,以鼓励或抑制较短的回答。
  • 基于提示的引用:提升提示中出现的token的可能性,以鼓励模型引用提示内容。
  • 短语强制:在完成响应前强制模型包含特定短语(如参考文献或感谢语)。
  • 多选题约束:限制模型仅使用提供的选项回答多选题。
  • 触发式短语:当遇到特定token时,自动插入特定短语(如Python代码块)。
  • 幻觉缓解:当模型的token置信度低于阈值时,强制使用回退短语。
  • 基于时间的终止:在最大时间限制后强制结束句子,以控制生成延迟。

相关

  • 项目
  • 项目
  • 项目
  • 项目