约束输出空间以优化小型语言模型的窄自动化任务
内容提要
本文探讨了小型语言模型(SLM)在窄自动化任务中的优化,重点介绍了约束输出空间技术。通过直接评分候选标签而非生成自由文本,该方法消除了解析错误,降低了延迟(例如处理600条工单的时间从134秒降至94.5秒),并提供置信度分数以支持人工复核。该技术使SLM成为固定输出场景下高效的生产选择。
延伸解读
为什么约束输出空间能提升效率
文章指出,自由文本生成需要为每个输出token执行一次前向传播,而约束输出空间只需一次前向传播即可完成分类。在600条工单的测试中,自由生成耗时134秒,而约束评分仅需94.5秒,节省约30%的时间。这种效率提升在批量处理场景下尤为显著,因为每次生成调用都会累积计算开销。
置信度分数如何支持人工复核
约束输出空间方法不仅消除了解析错误,还提供了每个预测的置信度分数。文章建议,可以将低于某个阈值(如0.6)的预测路由到人工队列,以避免低置信度标签流入下游流程。这为自动化任务增加了一层质量控制,使得SLM在窄自动化任务中更加可靠。
实施中的关键注意事项
文章提醒,使用约束输出空间时需注意tokenization细节:例如,标签编码时需考虑提示词末尾的换行符,避免因空格差异导致评分错误。此外,如果多个标签的首个token相同,需要调整标签命名或改为评分完整标签序列。这些细节直接影响方法的有效性。
Q&A
什么是约束输出空间技术?
约束输出空间技术是一种优化小型语言模型(SLM)的方法,它通过直接对候选标签进行评分,而不是生成自由文本,从而消除解析错误并提高效率。具体做法是运行一次前向传播,读取模型的下一个词元分布,并仅考虑候选标签对应的词元ID,从而在结构上保证输出有效。
为什么在窄自动化任务中约束输出空间比解析生成文本更好?
因为生成文本需要多次前向传播(每个词元一次),速度慢且容易产生无法解析的输出;而约束输出空间只需一次前向传播,速度快且结构上保证输出有效,同时还能提供置信度分数。
约束输出空间技术如何提高推理速度?
它通过只进行一次前向传播并直接对候选标签评分,避免了生成多个词元的多次前向传播,从而显著降低延迟。例如,处理600条工单的时间从134秒降至94.5秒,减少了约30%。
约束输出空间技术如何提供置信度分数?
通过对候选标签的logits进行softmax归一化,得到每个标签的概率,其中最高概率即为置信度分数。这个分数可用于决定是否将低置信度的结果转给人工复核。
在使用约束输出空间时,需要注意哪些tokenization问题?
需要注意标签的编码方式,因为字节级BPE分词器会将带前导空格和不带空格的词视为不同词元。在聊天模板中,助手回复前有换行符,因此应使用不带空格的编码(如encode(label)),否则会错误地评分。另外,如果两个标签的首词元相同,需要改用完整序列评分或重命名标签。
约束输出空间技术适用于哪些类型的任务?
适用于窄自动化任务,这些任务具有受限输入、固定输出空间和高调用量的特点,例如工单分类、表单字段提取、文档标签和记录标记等。
约束输出空间技术如何支持人工复核?
通过置信度分数,可以设置一个阈值(如0.6),将低于阈值的预测结果路由到人工队列,而不是直接流入下游流程,从而减少错误。