CQ: 字节系创作质量中台实践

语言: CN / TW / HK

简介

创作资源是指道具、模板、小程序等由设计师制作的资源,会应用于抖音、火山、剪映、轻颜、醒图等多款字节 APP 上。随着 UGC 模式的发展,越来越多的用户也加入到创作者行列,提供了大量、新颖的创意与玩法。创作者的增加,也导致资源数量急剧上涨,安全与质量问题也日益突出,而人工检测也存在着较大的效率、漏审等问题。为提升效率和测试覆盖率,给予创作者更好的创作环境与用户更好的使用体验,我们打造了一个专业垂类化测试服务化平台——创作质量平台(简称 CQ ),来保障创作者生产资源的质量。

平台介绍

背景

传统的创作资源检测流程大致分为用户投稿、内容检测、质量检测、上线或者打回这几步。其中质量检测大多为人工把控,这样就极可能出现效率低、漏检、错检的问题。而这些问题可能会造成线上事故或者会降低创作者投稿的热情,让我们流失一批优质的创作者。而 CQ 平台采取自动化和算法双效赋能的方式来保障质量检测这一环节。如自动化模板制作、自动化性能检测、策略分级下发、算法分类打标、算法内容检测等。同时提供复检和反馈的功能,优化自动化策略与算法模型,提高平台置信度。平台系统架构图如下图所示:

任务流

检测任务种类繁多,我们抽象出 Job 来描述一次任务,可表示任意类型任务。Task 表示一次任务的子任务,是一次自动化执行的最小单位,创建规则可根据业务需求制定。业务 APP 表示不同的检测类型,如下面会提到的模板检测、特效性能检测等。任务管理模块处理通用的任务管理逻辑。任务流程如下图所示:

质量检测类型

模板检测

模板检测的对象主要包括剪映的剪同款模板、醒图的修同款模板、轻颜的拍同款模板等。特点为量级大、检测点复杂。单剪同款模板每日就有约 3.5w+的量级。

流程如上图,目前已与流程平台形成链路闭环。制作出的剪同款模板上传至流程平台,区分高低优队列,在 CQ 注册一次任务。CQ 根据模板的优先级进行任务分流,创建对应的自动化任务。自动化完成套用素材、合成视频、导出视频等操作。获取剪同款视频后,会利用相应算法能力检测模板规则和视频质量是否符合预期,同时为视频进行打标操作,最后将产物与标签结果回传至流程平台,相应人员确认检测结果。

任务分流

由于剪同款模板的任务量级较大,单独依赖本地机架难以完全支持,剪同款模板检测采取任务分流策略,首先对任务区分优先级,根据不同优先级提供不同的剪同款模板检测能力。主要包含本地资源池、GTF 机架服务和剪同款云端三种能力。

模板优先级 检测能力 优点 缺点 量级
高优模板&低优灰度模板 本地资源池 手机客户端 SDK 版本和线上一致,效果置信度最高 本地机架,UI 自动化,效率较低 15 台 iOS 20 台安卓
高优模板&低优灰度模板 GTF 机架服务 手机客户端 SDK 版本和线上一致,效果置信度最高 本地机架,UI 自动化,效率较低 20 台安卓
低优模板 剪同款云端能力 基于 Linux 内核的 SDK,执行效率最高 落后于线上 SDK 版本,效果置信度达不到 100%,只能处理低优任务 分布式集群部署

算法分类打标

除了模板检测,模板打标分类也是人耗极高的一环。据运营统计,峰值积累了 56 万左右的模板处于未打标状态,这对模板的整体曝光率和剪同款 feeds 流的推荐质量都有很大的负面影响。因此,高效且准确的算法分类打标对模板打标的人效和线上业务效果都是非常重要的。我们对模板标题、模板视频以及模板音频进行了特征提取,通过 Gate Multimodal Unit 结构进行融合,得到多模态特征模型。其中在主题分类这一垂类分类中,准确率已经达到 91%,非常接近人工分类的效果。

落地效果

目前已承接剪映、CapCut、抖音、轻颜、醒图等多个业务线的模板。剪同款模板检测初期基本依赖于全人工操作,需要运营同学手动在手机上根据模板制作剪同款视频并人工检查,平均每人每天只能检测约 60 个模板。接入模板检测后,日均检测模板 3.8w+,日均过滤问题模板 2000+,累计检测模板近 350w,稳定性跟准确率均保持在 99%以上。算法以及打标模块将原来的检测时效从 3 天缩短至 4h 内,极大程度上解放了人效。

小程序检测

小程序检测的对象为字节系小程序。特点为:

  1. 样本多,每个小程序都有大量页面;

  2. 检测点较多,需要对每个小程序的名称、icon、简介、内容等 20+个点进行检测。

流程如上图,目前已与流程平台形成链路闭环。创作者制作小程序后上传至流程平台,截图服务会遍历小程序获取内容截图,在 CQ 注册一次任务。CQ 对截图样本归类后,通过 CV&NLP 算法能力,检测对应的检测点,再将结果可视化并回传给流程平台,并提供结果反馈功能,运营同学可在流程平台上或 CQ 上对结果进行反馈,便于算法侧调优算法,提高准确率和置信度。

算法赋能

目前基于 CV 和 NLP 算法为小程序提供 20+个检测点,主要涵盖小程序的名称、icon、简介、内容安全、页面异常、文字异常、诱导信息、服务类目等方面。针对不同的检测点,也会直接在样本上标注问题区域,便于运营人员排查问题。

抽检机制

由于样本较多,如果都需要运营人员反馈,就会大大增加运营人员的压力,但如果只对不通过结果进行反馈,就可能会有错审问题一直隐藏于通过的 case 中,模型产生长尾问题。于是 CQ 平台会对所有检测点按照以下三个维度打分:

  • 历史结果的准确率:准确率越低,得分越高

  • 上次被抽取的时间:越久未被抽到,得分越高

  • 随机因子:随机分数,保证样本的多样性

针对于通过的样例,分数 top n 的检测点对应的详情样本会抽取固定数量返回给流程平台进行人工打标。

落地效果

目前,我们搭建的小程序检测流程承接了字节系小程序的日常检测,日均提审 500+个。小程序的检测时延也从原本人审的 24h 缩减至 5h 以内,且目前准确率在 95%以上。第三方小程序也根据 CQ 的结果打通了提审-检测-下发的整个流程,期间不再需要人工介入。

特效性能检测

特效性能检测的对象为各个 APP 的特效资源。特点是特效的类型非常多,有道具、风格、美妆、贴纸、滤镜、转场、动画等,由于类型的差异,流程上也会存在差异。

流程如上图,目前已与特效平台形成链路闭环。创作者制作特效上传至特效平台,在提测过程中会在 CQ 注册一次任务。CQ 根据不同的业务类型+资源类型调度对应设备资源池,创建一次自动化任务,自动化执行结束后平台对结果做数据分析、可视化报告展示与智能告警,并回传给特效平台,QA 同学打回特效同时也会选择打回原因,CQ 用以判断结果的准确性。目前特效检测主要包含性能检测(内存、CPU、FPS 等)、基础功能检测(黑白屏、Crash)、定制化检测(资源包逻辑检查)等。自动化任务的执行覆盖特效资源使用的主流程,同时也为部分业务线覆盖了线上问题较多的场景。

触发道具检测

触发道具是指需要指定动作才可触发相应效果的道具,如需要眨眼、比心触发。特效检测初期只覆盖了静态人脸效果,但随着特效玩法逐渐多样,触发类特效数量激增,由于效果未被触发,特效检测产出的性能结果可能存在偏差、漏报等问题。为了产出更准确的性能测试数据,提高贴纸测试效率, CQ 需支持触发类特效自动化能力。

首先考虑到触发动作种类非常多,而且在持续迭代中,如果把测试机摄像头对着的人像图片更换成显示对应动作的视频,这样对 QA 同学来说素材的维护成本会增加,且需要投入大量的硬件设备,后续的硬件维护也需要非常多的人力。

经调研讨论,CQ 最终采取模拟算法数据的方式完成触发道具的检测。首先会解析特效资源包,获取资源包所需的触发动作,目前主要涉及表情、手势、触屏等动作 ,然后根据约定好的协议格式,构造一份 pb 文件,通过客户端透传给 SDK ,SDK 接收到消息后替换掉真实算法数据,即可触发相应的算法效果。

分级测试流程

特效资源在不同机型上帧率差异非常明显,为了更好的用户体验,会损失一些效果来保证性能,让用户在使用时更加流畅。特效检测也会针对资源包做分级测试。目前策略是选取具有代表性的几款机型,划分低、中、高端,依次从低端机开始测试,只有帧率结果不通过的时候,会流转至中端机,以此类推,最终给出特效资源建议下发的机型区间。

落地效果

目前特效性能检测已接入抖音、火山、剪映、轻颜、FaceU、醒图等多个业务。目前与特效平台打通,部分业务已完全置信特效性能结果,无需人工干预特效测试流程。目前稳定性在 99%以上,问题发现率在 22%左右。

总结

创作质量平台致力于打造一套高效、准确、全自动的资源检测流程,在保障质量的前提下,提高用户的使用感受和创作者的投稿热情。同时引入算法赋能,智能化的解决自动化无法覆盖的检测内容,未来我们也将进一步提升算法检测能力,覆盖更多层面,更好的与字节系产品使用场景对齐,从能效方面为公司级产品保驾护航。

加入我们

我们是字节跳动互娱研发效能团队,互娱研发负责抖音、抖音火山版、剪映、FaceU、轻颜、直播、音乐等多款明星产品的研发,目前,抖音日活(DAU)已经突破 6 亿,并继续保持高速增长。

研发效能团队主打服务化+智能化, 旨在通过工具平台+算法,赋能互娱的各个业务场景,团队职能包括但不限于提升研发效能,保证内容质量,优化用户体验,保障业务安全等。

团队拥有算法,工程(前端、后台以及客户端)、数据(大数据、DA)、产品、测试等多种职能岗位,可以高效自闭环进行智能平台产品的设计研发,具有多个公司级影响力的智能化平台产品成功落地经验。

团队发展迅速,年轻富有朝气,注重技术氛围建设,积极参与国内外各顶尖行业技术会议,输出高质量技术专利和相关论文,工作 Base 地有深圳、杭州、北京多地可选。

加入我们,让你的每一行代码都能服务全球亿万用户。

简历投递邮箱: [email protected] ;邮件标题: 姓名 - 技术栈 - 研发效能

点个在看杀个 Bug ❤