我们通过 8,400 个真实通话测量了 AI 接待员的准确性
在三个月的时间里,我们跟踪了人工智能处理的每一个电话——按语言、口音、电话类型——并根据人类审阅者对文字记录进行评分。准确率数字比我们预期的要好。故障模式更有趣。
要在 32 种语言之间实现延迟平价而不使模型膨胀,需要一个我们没有预见到的模型路由层。来自延迟作战室的笔记。
我们的语音产品有两个我们无法在内部协调的投诉。对于说英语的企业客户来说,人工智能感觉很敏捷。对于说普通话的客户,以及越来越多的说越南语、他加禄语和印地语的客户来说,人工智能感觉很迟缓。从呼叫者沉默到 AI 第一个音节的端到端测量结果显示,英语的差距为 260 毫秒,普通话的差距为 540 毫秒。这两个数字都在公布的延迟预算之内。
只有一个人在电话中感到可以接受。
任何看到延迟差距的工程团队都会本能地研究模型。更快的推理。较小的型号。更好的量化。我们做了所有这些。它为我们带来了 60 毫秒的整体时间,但没有缩小任何结果——相对差距仍然存在,而英语的速度仍然是两倍。
真正的解决方案来自不同的观察:我们将延迟视为模型问题,而实际上它是一个路由问题。
将 540 毫秒的普通话响应分成几段是澄清问题的第一件事。会计看起来大致是这样的:
在英语路径上,相同的部分得分为 80 / 60 / 90 / 80 / 40。显着不同的两个部分是语音到文本和大型模型生成。 STT 在普通话中速度较慢,因为声学模型是用较长的上下文窗口(对于音调消歧所必需的)进行训练的,这将第一个标记推了 80 毫秒。
模型生成速度较慢,因为标记器在普通话中为每个具有相同含义的字符生成的标记比在英语中更多。
两者都不是模型缺陷。两者都是独立团队为了优化自己的指标而悄悄积累的权衡——STT 代表准确性,LLM 代表发电质量。延迟成本是真实存在的,但这不是任何人的损益。
我们不再通过单一的法学硕士来路由所有语言。相反,我们在生成之前构建了一个薄分类层,可在 8 毫秒内检测三件事:传入话语的语言、对话意图类别,以及请求是否是我们通过对 2M 呼叫段进行聚类而识别的约 40 种高频模式之一。
当分类器识别出非英语语言中的高频模式时,我们会将生成路由到一个更小的、专门用于直接处理该模式的语言专用模型。较小的模型是在相同模式的数百万次完成中提炼出来的,因此它在这些特定路径上的质量在大模型的噪声范围内 - 但它的第一个令牌延迟大约是三分之一。
当分类器看到尾部意图(任何不属于 40 种模式的内容)时,请求就会落入大模型,就像以前一样。大部分延迟下降来自于高频模式 还 占通话量约 78% 的模式。尾部情况会支付原始延迟,但这种情况很少见。
薄分类器是该项目的一部分,没有人为其做预算。构建它比构建路由系统本身花费的时间更长,因为故障模式很微妙。如果分类器将 1% 的请求错误路由到不处理这些请求的小模型,那么它会产生幻觉,而不仅仅是降低响应。
三件事使分类器发挥作用。首先,它是根据实际生产流量而不是合成数据进行训练的。其次,它返回了路由器可以设定的置信度分数——任何低于 0.91 置信度的值都会自动进入大模型。
第三,我们在现有管道上进行了六周的影子部署,在任何流量实际路由到小模型之前,大模型提供了地面实况。
影子部署发现了离线测试集遗漏的四类错误。其中两个很容易在训练数据中修复。两个必需的深思熟虑的路由规则——任何涉及身份验证、支付或预约取消的事情总是会进入大模型,无论分类器的置信度如何,因为这些路径上的幻觉成本高于延迟胜利。
当 LLM 和 STT 变更正在接受审核时,一个并行团队正在研究演讲输出。 50 毫秒的 TTS 英语首音频实际上是无与伦比的;大多数非英语语言的 70 毫秒到 90 毫秒的差距是由较小的语音模型、不太积极的缓存以及在负载下优先考虑英语的单个共享 GPU 池驱动的。
我们将 TTS 基础设施划分为语言固定池。普通话 TTS 现在在靠近我们大多数普通话流量来源地区的硬件上运行自己的池,具有自己的扩展规则。切换后两周内,延迟从 70-90 毫秒降至 45 毫秒。
这一切都不聪明。这是基础设施工作,没有人愿意做,因为任何单一语言的边际进步单独来看都不足以证明其合理性。
我们现在在内部写下的教训是,“我们没有对此进行投资,因为没有任何一个面向用户的指标可以证明它是合理的”,正是这种决定导致了四年来两种语言之间 280 毫秒的差距。
我们在内部做出的一项虽小但意义重大的改变是团队延迟仪表板报告的方式。我们曾经根据单个 SLO 跟踪所有语言的平均端到端延迟的 p50 和 p95。仪表板大部分时间看起来都是绿色的。
新的仪表板报告 p50 和 p95 每种语言 反对 平价 SLO——支持的最慢和最快语言之间的差距有自己的预算,单独执行。我们将奇偶预算设置为 60 毫秒。当差距超出预算时,值班人员就会接到传呼。
奇偶校验仪表板做了基于平均值的仪表板无法做到的事情:它使最慢语言的回归与最快语言的回归具有同样的紧迫性。当对 32 种语言进行平均时,越南语的 200 毫秒回归会使平均值移动 6 毫秒。当您测量奇偶校验时,仪表板会移动 200 毫秒。
经过路由工作、TTS 池和奇偶校验仪表板后,我们最差的语言(粤语,主要是因为支持的声学模型语料库较小)为 320 毫秒。英语为220ms。剩下的 100 毫秒差距是真实存在的,我们大致知道它的位置 - 粤语 STT 声学模型较旧,尚未在新架构上使用,我们将在第三季度重新训练它。
但“最慢的语言落后最快的语言 100 毫秒”与“最慢的语言落后最快的语言 280 毫秒”是不同的对话。前者是已知的回归,计划每季度修复一次。后者是我们不知道的客户体验紧急情况。
如果我们用我们现在所知道的从头开始重建延迟堆栈,那么三件事按优先顺序排列。
这些都不是新颖的研究。这些都不需要纸质文件。它需要将延迟平价视为一项产品承诺,然后为乏味的基础设施提供资金以支持该承诺。我们现在拥有我们需要的平等。我们已经四年没有得到它了。