多项创新技术加持,实现零COGS的Microsoft Editor语法检查器( 二 )


—— 陈思清 , 微软首席应用科学家
:首个在任务上无损加速的高效解码算法
中的人工智能语法检查器主要基于模型 , 并采用了微软亚洲研究院在语法纠错方面的创新技术[1, 2, 3] 。与大多数任务一样 , 此前的模型使用了自回归解码来进行高质量的语法校正 。然而 , 传统的自回归解码效率很低 , 尤其是由于低计算并行性 , 导致模型无法充分利用现代计算设备(CPU、GPU) , 从而使得模型服务成本过高 , 并且难以快速扩展到更多终端(Web/桌面) 。
为了降低服务成本 , 微软亚洲研究院的研究员们提出了创新的解码算法[3] 。与之前以牺牲预测质量为代价来加速推理的方法不同 , 是首个应用在任务(如语法检查和句子重写)上达到无损加速的高效解码算法 。它直接将输入作为目标输出 , 并且并行验证它们 , 而不是像传统的自回归解码那样逐个顺序解码 。因此 , 这一算法可以充分发挥现代计算设备(如带有 GPU 的 PC)强大的并行计算能力 , 极大地提升解码速度 , 能够在不牺牲质量的前提下以低廉的成本处理来自全球用户(每年)数万亿次的请求 。
图1:的工作原理
如图1所示 , 如果模型在过程中发现了一个分歧点 , 那么算法将舍弃分歧点后的所有预测 , 并使用传统的逐个自回归解码重新解码 。如果在逐个重新解码时发现了输出和输入之间存在唯一的后缀匹配(图1中蓝色点线突出显示的建议) , 那算法会通过把输入的匹配字符(token)之后的字符(图1中用橙色虚线突出显示的部分)复制到解码器的输入中并假设它们是相同的 , 从而切换回。通过这种方式 , 可以确保生成的字符与自回归贪婪解码一致 , 但解码步骤大幅减少 , 显著提高了解码效率 。
我们在做模型推理加速算法研究时最重要的考虑就是无损 , 因为在实际应用中 , 模型生成质量是排在第一位的 , 以损失质量来换取更小的开销会严重影响用户体验 。为此 , 我们提出了算法 , 它利用了语法纠错任务的一个重要特性 , 即输入与输出高度相似 , 将整个计算过程()高度并行化 , 充分利用 GPU 在并行计算上的优势 , 在生成质量无损的前提下实现大幅加速的效果 。
—— 葛涛 , 微软亚洲研究院高级研究员
离线+在线评估结果: 可显著降低COGS
离线评估:研究员们在语法校正和其他文本重写任务如文本简化中 , 采用了一个6+6标准的及深度编码器和浅层解码器的来测试。结果表明可以在没有质量损失的情况下大幅提升速度 。
表1:6+6标准测试结果
表2:深度编码器和浅层解码器的的测试结果
图2:算法在更强大的并行计算设备上的运行效果更好
在线评估:研究员们还在服务器模型和使用 ONNX的的同等服务器模型之间进行了 A/B 实验 。结果如图3所示 , 与在 CPU 中使用传统自回归解码的运行时相比 , 后者在 p50 延迟上有超过2倍的提升 , 在 p95 和 p99 延迟上有超过3倍的提升 。此外 , 与之前的自回归解码相比 , 后者提供了更高的效率稳定性 。这种显著的推理时间加速 , 将服务器端的 COGS 降低了三分之二 。
图3:所有区域和 ONNX 语法检查器延迟对比
离线和在线评估都验证了能够在不降低模型预测质量的情况下显著减少 COGS 。基于此 , 研究员们将也应用到了更通用的任务中[4] 。的高效率和无损质量特性 , 或将使其成为任务高效解码的标准范式 , 在降低模型部署成本中起到重要作用 。