概述
它用于序列生成任务,其结果由模型分数和任何标准化或惩罚决定。
深入探讨
在每个解码步骤中,波束搜索都会扩展当前的部分候选并保留得分最高的延续。更宽的波束可以探索更多的选择,但会增加搜索成本,并且不一定会提高感知质量。 GNMT 使用长度标准化来减轻短输出偏差,并使用覆盖惩罚来鼓励翻译中的源词覆盖。多样化波束搜索修改组选择以减少冗余候选者。
现实世界的实施
宽度为 k 的波束最多可保留 k 个部分序列,而不是仅保留一个贪婪延续。
GNMT 在其翻译系统中使用了长度归一化和覆盖惩罚。
多样化波束搜索增加了惩罚以减少来自波束组的候选序列之间的重叠。
对于开放式文本,请将波束输出与采样进行比较,因为似然排序输出在评估的设置中可能是重复的或平淡的。
集束搜索的未来
选择任务的解码标准并测量搜索成本和输出质量。对于翻译,报告源覆盖范围和基于参考的指标;对于开放式生成,在适当的情况下包括人工评估。引用的来源描述了特定的方法和实验,而不是单一的普遍最佳的光束配置。
付诸实践
为什么这很重要
- 速度与规模. 语言工作流程可以在不牺牲一致性的情况下更快地移动。
- 交通与覆盖范围. 它扩展了跨语言和沟通方式的访问。
- 更清晰的判决. 团队可以花更多时间进行判断,而自动化则可以处理重复。
留意
- 幻觉的事实可以悄悄地进入报告、支持流程或研究成果。
- 及时的敏感性可能会在类似的请求中产生不一致的结果。
- 如果访问控制薄弱,敏感文本数据可能会暴露。
后续步骤
- 在推出之前定义输出格式、语气和质量标准。
- 当准确性很重要时,请使用可信来源进行地面响应。
- 为高风险输出保留人工审查检查点。
- 跟踪故障模式并定期重新训练提示或工作流程。
不断探索
常见问题
什么是Beam Search?
波束搜索是一种解码算法,在每一步中保留固定数量的高分部分序列。它用于序列生成任务,其结果由模型分数和任何标准化或惩罚决定。
波束搜索中“波束宽度”(k) 控制什么?
波束宽度是每一步保留和扩展的顶部部分序列的数量;更大的宽度探索更多的候选者。
束搜索与贪婪解码有何不同?
贪婪解码每一步只取顶部的令牌;波束搜索通过同时跟踪几个有希望的序列来进行对冲。
为什么长度归一化常用于集束搜索?
每个额外的标记都会增加一个负对数概率,因此如果没有标准化,较短的序列得分就会不公平地更高。
集束搜索特别适合哪种任务?
当目标是单一准确、流畅的渲染时,束搜索表现出色,这就是它成为翻译标准的原因。
使用非常大的波束宽度进行开放式发电的已知缺点是什么?
与直觉相反,神经文本生成中更宽的光束通常有利于通用的、重复的序列,而不是有趣的序列。