快手直播字幕延迟压到 500 毫秒:端到端字符错误率 3.51%,千万并发实时字幕是这样做出来的

快手电商直播技术团队公布了名为 Live Captioning Engineering 的实时字幕工程范式,把主播发声到字幕具备展示条件的端到端延迟,从过去的 1.5 至 2 秒压缩到 400 至 500 毫秒,同时把字符错误率(CER)从 7.81% 降到 3.51%,并且这套方案要撑住千万级别的持续并发。这是电商直播这类高并发、强实时场景中,第一套被完整讲清楚的成体系字幕工程打法。

两个数字先摆在前面

衡量实时字幕体验,业内最常看的就是两个指标:一个是端到端延迟,即从主播说出第一个字,到观众屏幕上出现对应字幕的时间差;另一个是字符错误率 CER,衡量转写内容本身有多准。快手披露的数据是:端到端延迟 1.5–2 秒 → 400–500 毫秒,CER 7.81% → 3.51%。

这两个数字的意义不在单点突破,而在于同时成立。只降延迟很容易——少等一点上下文就直接出字,代价是识别错得更多;只降错误率也容易——多听半句话再输出,代价是字幕慢半拍。真正的难点是既要快又要准,还得在千万级并发下稳定维持。这也是过去很多直播字幕”能用但不好用”的根源:观众看到的是不断跳字、改词、对不上嘴型的一行字。

四段接力:一条字幕要走完的完整链路

这套范式的核心,是把字幕交付拆成四段接力,任何一段拖后腿,观众端都能直接感知到。

链路分段 负责的事 做不好会怎样
流式 ASR 识别 把主播的连续声音流实时转成文字,边听边出结果 字全错或迟迟不出字
PTS 对齐 把识别结果与音视频时间戳对齐 字幕与画面嘴型脱节,字幕抢在声音前面或拖在后面
级联分发 经服务链路把结果推送到海量观众端 不同观众看到不同版本,延迟抖动、内容不一致
端侧渲染 由用户手机上的播放器把字幕画出来 闪烁、串行、覆盖端侧已有 UI

把链路拆成四段的好处是优化目标清晰:ASR 段看错词率,PTS 段看时间偏差,分发段看到达率和抖动,渲染段看帧率与重绘次数。相比笼统地喊”端到端优化”,这种拆法是能落到各自的 SLA 上单独考核的工程思路。

第一段:流式识别决定了下限

主播语速快、口语多、夹杂商品名和促销词,直播场景的识别难度高于会议和讲座。流式 ASR 的做法是把音频切成连续小块,模型边收边算边吐结果,中间结果允许被后续修订。这里产出的每一段文本都必须带上足够的时间信息,才能交给下游做对齐。

第二段与第三段:对齐与分发

PTS 对齐解决的是”字该在第几帧出现”的问题。识别结果的产出时间不等于语音的真实发生时间,中间隔着模型推理耗时与网络传输,必须回退到音视频帧的时间戳体系里重新定位。

级联分发则要解决千万级持续并发的一致性问题:直播间观众分布在全国各地,网络质量参差不齐,字幕要以稳定的节奏到达,而不是一波一波地抖。级联结构的作用是把写压力分层扩散,避免单点扇出过大导致的雪崩。

第四段:渲染才是观众真正看到的那一层

无论前链路做得多好,最终字幕要落在观众手机播放器的画面上。渲染层要处理的是刷新节奏:字幕更新过于频繁会造成闪烁,过于保守又会让修订显得迟钝。

最难的活儿:流式修订如何做到不闪、不串

直播语音是连续的,模型边听边改,前一句话的识别结果很可能在听到后半句时被推翻重写。这就要求系统能区分三件事:哪一句话、第几次修订、该排在时间轴的哪个位置。对应到工程实现,就是 sentenceId、revision 与播放器时间线这套机制。

机制 作用 解决的问题
sentenceId 锁定一句完整的话作为最小粒度 避免半句被当作整句反复替换
revision 标记这句话被修订到第几版 识别结果多次修正时不产生错序
播放器时间线 决定修订后的字幕在哪一帧刷新 字幕刷新与画面同步,不闪不跳

三者配合,才能在不闪烁、不串行的前提下,把不断修正的字幕稳稳贴在画面上。对于想要搭建高并发实时 AI 系统的团队来说,这套把”流式、修订、对齐”讲透的工程经验,参考价值要大于单纯的识别准确率数字——因为准确率可以靠换模型改善,而延迟、抖动和闪烁只能靠链路设计解决。

为什么电商直播是块硬骨头

把时间放进场景里看,这次的难度更清楚:电商直播不是几十人的视频会议,而是同时在线上看的人数可能达到千万量级,且主播持续说话、几乎不停顿,商品名、规格、价格、促销话术高度密集。字幕一旦延迟或错字,影响的不是观感,而是用户对”这件商品是什么”的理解,直接关系转化。

同时这也是实时 AI 能力的典型压力测试:模型侧要流式输出且可修订,工程侧要对齐、分发、渲染全部低延迟,任何一环按离线批处理思路做都会崩。

常见问题

400 到 500 毫秒的延迟具体指什么?

指从主播发声到字幕具备展示条件的端到端时间差,包含识别、对齐、分发与渲染全过程,而不只是模型推理耗时。此前行业里常见的水平在 1.5 至 2 秒。

CER 3.51% 意味着什么水平的准确率?

CER 即字符错误率,3.51% 相当于每 100 个字符中约 3 个有误。快手披露的对比基准是优化前的 7.81%,也就是说转写错误减少了一半以上。

这套方案只适用于直播吗?

四段链路本身是通用的。凡是”边发生边出字幕”的场景,包括在线课程、大型会议直播、体育赛事解说、远程访谈等,都可以复用同一套拆解方法,差别主要在并发规模与术语密度。

小结

直播字幕这件事,过去更多被当成模型能力问题——换个更强的 ASR 就好了。快手这次给出的答案是:它是一个完整的工程问题,模型只是第一段。把延迟从秒级压到半秒级、把错误率砍掉一半以上,靠的是把 ASR、PTS 对齐、级联分发和端侧渲染逐段拆解,再为流式修订设计专门的时序机制。对正在构建实时 AI 能力的团队而言,这套思路可以直接迁移;对用户而言,最直观的变化是字幕终于不再慢半拍,也不再跳字。