概述
这是一种轻量级的方法,可以禁止词语、强制选择或塑造风格,而无需重新训练任何内容。
深入探讨
在模型选择下一个标记之前,它会为其词汇表中的每个标记生成一个 logit(非标准化分数)。 Logit 偏差允许您通过数字标记 ID 将常量值添加到所选标记的 Logit 中。较大的正偏差使代币更有可能被采样;较大的负偏差(在 API 中通常为 -100)有效地禁止了它。由于调整发生在将分数转化为概率的 softmax 之前,因此即使是适度的偏差也会有意义地改变分布。至关重要的是,偏见的关键在于令牌 ID,而不是整个单词——因此多令牌单词可能需要其每个部分都存在偏见才能完全抑制或促进它。这是一种快速、外科手术式的控制,无需微调并可根据要求进行应用。
现实世界的实施
对脏话标记设置 -100 偏差,以防止聊天机器人产生某些单词。
通过对“是”和“否”标记给予强烈的积极偏见并抑制其他所有内容来强制是/否分类器。
通过对其标记施加适度的负面偏见来阻止过度使用的短语或填充词。
增强特定领域的术语(例如产品名称),以便摘要者可靠地提及它们。
Logit 偏差的未来
Logit 偏差仍然是快速引导的主要内容,但更丰富的替代方案正在增长:用于硬保证的结构化/约束解码,以及推动模型内部向量而不仅仅是输出分数的激活引导或表示工程。期望 API 将 logit 偏差作为一个简单的逃生口,同时提供更高级别的控制(禁止短语、样式指令、安全过滤器),自动处理标记化,以便开发人员不必推理原始标记 ID。
付诸实践
为什么这很重要
- 速度与规模. 语言工作流程可以在不牺牲一致性的情况下更快地移动。
- 交通与覆盖范围. 它扩展了跨语言和沟通方式的访问。
- 更清晰的判决. 团队可以花更多时间进行判断,而自动化则可以处理重复。
留意
- 幻觉的事实可以悄悄地进入报告、支持流程或研究成果。
- 及时的敏感性可能会在类似的请求中产生不一致的结果。
- 如果访问控制薄弱,敏感文本数据可能会暴露。
后续步骤
- 在推出之前定义输出格式、语气和质量标准。
- 当准确性很重要时,请使用可信来源进行地面响应。
- 为高风险输出保留人工审查检查点。
- 跟踪故障模式并定期重新训练提示或工作流程。
不断探索
常见问题
什么是 Logit 偏差?
Logit 偏差是一个旋钮,在模型选择下一个单词之前,通过在其分数上添加固定数字,将语言模型推向或远离特定标记。这是一种轻量级的方法,可以禁止词语、强制选择或塑造风格,而无需重新训练任何内容。
Logit 偏差会改变什么?
Logit 偏差为所选令牌 ID 的 logits 添加了一个常量,从而改变了它们被选择的可能性,而无需更改模型本身。
在许多 API 中,令牌上的 logit 偏差为 -100 可以实现什么效果?
像 -100 这样的大负偏差会导致代币的 post-softmax 概率基本为零,因此它实际上永远不会被产生。
记录的 OpenAI 聊天完成 logit_bias 接受什么数字范围的令牌?
API 参考记录了每个令牌 ID 的范围为 -100 到 100,其中负值会降低可能性,正值会增加可能性。
Logit 偏差与什么标识符有关?
偏差值应用于分词器词汇表中的特定分词 ID,这就是为什么您必须知道单词各个部分的 ID。
因为 logits 是通过 softmax 传递的,所以添加正偏差会产生什么效果?
Softmax 对 logits 取幂,因此即使是适度的正偏差也会大幅增加代币的非标准化权重,从而大幅提高其胜算。