NVIDIA/logits-processor-zoo
A collection of LogitsProcessors to customize and enhance LLM behavior for specific tasks.
解决的问题
解决大型语言模型(LLMs)在文本生成过程中严格遵循特定格式或行为指令的困难,超越简单的语法约束,实现对响应内容和结构的实际控制。
工作原理
该库提供了一组「logits处理器」,在模型采样下一个token之前拦截并修改其概率分布(logits)。通过增强或降低特定token的可能性,可以强制模型使用特定短语、限制响应长度或确保特定输出格式。
适用人群
需要对模型输出格式和行为进行精确控制的LLM开发者,特别是使用 transformers、vLLM 或 TensorRT-LLM 框架的开发者。
主要特性
- 长度控制:调整EOS token的可能性,以鼓励或抑制较短的回答。
- 基于提示的引用:提升提示中出现的token的可能性,以鼓励模型引用提示内容。
- 短语强制:在完成响应前强制模型包含特定短语(如参考文献或感谢语)。
- 多选题约束:限制模型仅使用提供的选项回答多选题。
- 触发式短语:当遇到特定token时,自动插入特定短语(如Python代码块)。
- 幻觉缓解:当模型的token置信度低于阈值时,强制使用回退短语。
- 基于时间的终止:在最大时间限制后强制结束句子,以控制生成延迟。
相关
- 项目
- 项目
- 项目
- 项目