本文作者为火山引擎A/B测试平台DataTester的资深研发工程师刘明瑶。作为火山引擎数智平台VeDI旗下的核心产品,DataTester源于字节跳动长期的技术和业务沉淀,目前已经服务了数百家企业,助力企业在业务增长、用户转化、产品迭代、策略优化以及运营提效等环节科学决策。在大模型时代,当A/B测试应用在AI场景中,“让每一个决策更加正确”的显性效果也会被指数级放大。
大模型时代,效率和质量我都要
从去年的ChatGPT,到今年的Sora,国内对于大模型的讨论居高不下,月之暗面、智谱AI、百川智能等国内AI创业公司也正迅速成长为大模型领域的独角兽。为了在这场竞争中脱颖而出,这些大模型公司必须采取快速迭代的策略,以确保他们的产品和服务能够迅速响应市场变化和用户需求。这意味着从模型设计到部署的每一个环节都需要高效且灵活,以便能够及时捕捉并利用新兴的市场机遇。
而对于大多数企业来说,如果要想在激烈的市场竞争中保持领先地位,就需要迅速适应这一变革,利用AI来赋能产品。在追求敏捷开发的同时,保证产品能力和用户体验提升则是更重要的指标。为了实现快速迭代与优化的有机结合,A/B测试成为了一种不可或缺的工具。通过A/B测试,我们能够在实际用户环境中并行测试多个优化版本,精确衡量每个版本对用户体验和业务指标的影响。
A/B测试: 助力产品上线更快
如果我们想在当前的人工智能浪潮中迅速把握先机并吸引用户,就需要产品经理精心设计功能,以及研发团队高效地开发和上线产品,并通过优化产品开发流程来确保在这场技术变革中保持领先地位。落实到具体的场景,可以通过如下方式来更快地发布产品:
-
更快地上线:涉及大模型相关的产品,往往涉及一系列错综复杂的提示和规则判断。在有限的测试环境中,我们很难捕捉到对单个部分进行调整后的具体影响,正因如此,在真实的生产环境中进行测试显得尤为重要。通过灰度发布只对线上部分用户开放,拿到真实的用户使用数据,能帮助我们更全面地理解这些调整如何影响产品的实际操作和用户体验。如果测试结果符合预期,可以进一步扩大测试范围并发布。
-
更快地体验:在新功能准备就绪后,我们不会急于全面推出,而是先进行灰度发布。这意味着我们会在一个小范围内,比如内部员工或者经过筛选的内测用户群体中,先行推出新功能。这样,我们能够在不影响大部分用户的情况下,收集到宝贵的第一手使用反馈。这些反馈对于我们识别潜在问题、优化用户体验至关重要。一旦收集到足够的数据并进行了必要的调整,我们就会将功能全面上线,确保所有用户都能享受到最佳的体验。
-
更快地回滚:在产品上线的过程中,如果遇到严重的问题,可以迅速回滚到之前的稳定版本。这不仅减少了潜在的风险,还为用户提供了持续的稳定服务。问题修复后,再次快速修复和上线。这种快速响应和闭环迭代的方法,能够持续改进产品,确保我们始终走在市场的前沿。
最新特性快速发布
案例场景:某公司在做一个问答App,为了优化问答效果,下游算法团队准备升级新模型,但是测试环境不太方便验证,想要直接在线上环境验证效果。
对于这个案例场景,火山引擎A/B测试平台就可以支持通过创建一个 Feature 来实现。
-
设置变体
假设目前线上模型为火山引擎豆包模型 Skylark2-pro-4k ,我们计划将模型升级为 Skylark2-pro-32k 来提升产品效果,为此可在 DataTester Feature 中创建如下两个变体,根据获得的变体内容选择使用相应的模型。
-
设置发布受众
为了防止影响线上用户,在 Feature 中可以通过添加过滤规则来限制体验 Skylark2-pro-32k 模型的用户,其余用户则继续使用原有模型。
通过上述步骤创建 Feature 并发布,我们能够确保仅针对特定的测试用户ID启用升级后的新版模型,并直接在生产环境中对新模型进行效果测试,而不会对现有用户产生任何负面影响。在测试阶段,如果新版模型的表现达到预期,我们无需进行代码修改或发布新版本,仅需调整 Feature 的的发布受众规则,逐步扩大新模型的覆盖范围,最终实现对所有用户的全面部署。这一策略不仅加速了产品的迭代周期,还确保了产品质量和用户体验的持续优化。
优化效果快速验证
案例场景:某公司发布了一款文生图的App,经过模型的迭代,具有了文生视频的能力,内部测试反馈不错。但是由于测试人员数量有限,以及 case 无法覆盖到更多的场景,考虑通过发送短信或者站内信的方式,将该能力灰度给一部分粘性较高用户,在获得这部分真实用户的一手反馈信息后,再决定优化或者发布给所有用户。
为了实现这个功能,我们在 DataTester 中可以将这部分用户ID筛选出来后创建一个人群包,然后基于人群包创建 Feature 完成灰度发布。
-
设置变体
在 Feature 中,我们使用布尔值(Boolean)类型的变体来控制是否向用户展示“文生视频”功能。客户端在接收到这一配置的变体结果后,可以根据结果决定是否向用户展示该功能入口。
-
设置发布受众
对于“体验群体”,我们将功能发布的范围设定为变体一,确保他们能够顺利访问新功能入口。相对地,对于那些未被列入体验群体的用户,新功能页面将不会被展示,从而保证了功能的逐步和有选择性的推出。
-
更新 Feature
在内测阶段,一旦产品根据用户反馈进行了优化并获得积极评价,我们可以迅速将其推广至所有用户。通过简单地修改Feature 并发布,而非重新编写代码或打包更新,我们可以显著缩短服务升级和部署的时间。这种方法不仅提高了效率,还通过可视化的配置管理降低了操作失误的风险。
A/B测试:助力产品质量更高
如今,大多数互联网产品野蛮生长的时代已经过去,人口红利到顶,产品策略需要从快糙猛的跑马圈地方式转向深耕细作精细化运营方式,要精细化运营,就需要采用数据来驱动,而在大模型时代,数据驱动就显得愈发重要。如下图所示,调用大模型时需要调整很多参数,而如何确定最优值往往是个很困难的事情。
线下调参存在局限
在当前,很多产品在进行大模型接入时仍依赖于传统的线下方法。这一过程通常包括:尝试多种Prompt、Model、Embedding 和输入参数的组合,直至找到符合其应用场景的最优配置。随后,通过一个手动评分流程,选定最终将投入生产的配置。具体步骤如下:
-
构造一系列输入样本;
-
利用测试脚本,将这些输入发送给大模型,得到相应的输出;
-
制定一套评分标准,用以评估输出结果(通常基于人工设定的参考标准);
-
根据这些标准对测试结果进行评估;
-
引入新的配置,并重复上述步骤以进一步优化
这种方法本身并没有问题,实际上,这是选择向最终用户展示应用程序初始版本的最好方式。然而,这种方法存在巨大的局限性:
-
测试输入的范围受限于工程师的想象,这与用户实际可能产生的输入存在差距;
-
所采用的评分标准往往与对产品整体性能的实际影响不成正比;
-
无法全面覆盖所有可能的变量组合,例如未能测试所有 Prompt、Embedding与 Model 的每一种组合;
-
无法捕捉到每种配置对与输出质量无关的因素的影响,例如成本、延迟等;
线上调参更显明智
为了打破这一僵局,我们可以通过在线上环境中取一部分流量进行A/B测试,或者针对特定用户群体开展实验,收集真实用户的反馈。这些数据将帮助我们评估不同参数设置对系统性能的具体影响,包括输出质量、系统延迟、运营成本、用户满意度以及用户留存率等多个关键指标。这种方法能够为我们提供更为精确和全面的洞察,从而指导我们做出更加明智的决策。
为了实现上述目标,我们可以在 DataTester 中创建一个30天、10%的线上流量的实验,用于验证 Skylark2-pro-4k 和 Skylark2-pro-32k 模型对系统的影响。为了将影响量化,我们设置了一些评价指标,如点赞数、点踩数、对话轮次、响应时长等。在实验结束后,可以通过查看实验报告,根据对照组或者实验组优胜情况决定使用哪个模型。
如果有多种参数都需要验证,每个参数如果都设置 30%流量,10个就需要 300%的流量,是不是就无法支持了呢?为了解决这个问题,DataTester 研发了流量分层技术——“实验层”。
实验层把总体流量“复制”无数遍,形成无数个流量层,让总体流量可以被无数次复用,从而提高实验效率。各层之间的流量是正交的,你可以简单理解为:在流量层选择正确的前提下,流量经过科学的分配,可以保证各实验的结果不会受到其他层实验的干扰。
通过精心设计的A/B测试,我们得以精确地确定了各项参数的最优设定,确保了效果提升的最大化。这种方法的优势在于其高效的实验流程,它允许我们基于数据科学的对比和评估不同的参数组合,从而快速锁定那些能够显著提升产品表现的关键因素。此外,A/B测试的结果为我们提供了有力的数据支持,使我们能够确信所采取的优化措施对产品有着积极的、显著的正面影响。
A/B测试:助力产品竞争力更强
赋能各类需求场景
A/B实验支持App、小程序、Web页面等多端,可视化实验、广告实验、推送实验等场景也可以满足企业各类需求。 通过A/B实验的实施,我们可以迅速地将先进的大模型技术整合到产品的各类场景中,这一举措极大地提升了产品的智能化水平,同时也显著改善了用户的互动体验,进一步探索出了更多的应用场景,给用户提供了更多的玩法。这种机制使我们能够持续地对产品进行精细化调整,确保每一次迭代都能在业务指标上取得实质性的进步。在这个快速变化的行业中,A/B测试赋予了我们不断前行的勇气和信心。它让我们坚信,只要我们基于数据做出决策,就敢于进行必要的改变和创新。
智能优化实验策略
A/B实验支持智能优化,帮助产品低成本最大化收益,你只需要列出所有的实验策略,A/B 系统会实时帮助你关注不同实验策略的优化目标变化,并根据各策略的实际表现,动态地对流量进行分配,最终帮你在实验场景流量较少的情况下,找到优化目标最优的实验策略,同时获取最最大化的实验收益。这就逐渐形成了一个正向循环,提升产品能力 ->接入大模型 -> 最大化产品收益 -> 提升产品能力。
正如学习过程中不断积累知识一样,产品开发也是一个不断进步的过程。在这个过程中,我们必须不断前进,因为停滞不前就意味着退步。A/B测试为我们提供了一个科学的实验平台,让我们能够在不断尝试中学习和成长,从而在激烈的市场竞争中保持领先地位。它不仅帮助我们从探索者的角色转变为行业的领导者,更让我们在这场技术革命中,从跟随者变成了引领潮流的先锋。这种以数据为核心的测试方法,是我们在产品发展道路上不断突破自我、追求卓越的坚实基石。
总结
A/B实验给了我们“变”的底气,赋予了我们”变“的信心。这种以数据为核心的实验方法,是我们在产品发展道路上不断优化和创新的关键。它基于数据驱动的原则,引导我们进行精细化的运营。在这个过程中,我们持续地突破极限、创新思维、提升品质。正确且有效地运用A/B测试,能够使产品变的 “更快“、”更高、“更强”,在大模型时代助力产品勇立潮头!
点击跳转火山引擎A/B测试了解更多