解锁产品迭代新速度:A/B测试在AI大模型时代的应用

news2024/11/19 4:29:59

本文作者为火山引擎A/B测试平台DataTester的资深研发工程师刘明瑶。作为火山引擎数智平台VeDI旗下的核心产品,DataTester源于字节跳动长期的技术和业务沉淀,目前已经服务了数百家企业,助力企业在业务增长、用户转化、产品迭代、策略优化以及运营提效等环节科学决策。在大模型时代,当A/B测试应用在AI场景中,“让每一个决策更加正确”的显性效果也会被指数级放大。

大模型时代,效率和质量我都要

从去年的ChatGPT,到今年的Sora,国内对于大模型的讨论居高不下,月之暗面、智谱AI、百川智能等国内AI创业公司也正迅速成长为大模型领域的独角兽。为了在这场竞争中脱颖而出,这些大模型公司必须采取快速迭代的策略,以确保他们的产品和服务能够迅速响应市场变化和用户需求。这意味着从模型设计到部署的每一个环节都需要高效且灵活,以便能够及时捕捉并利用新兴的市场机遇。

而对于大多数企业来说,如果要想在激烈的市场竞争中保持领先地位,就需要迅速适应这一变革,利用AI来赋能产品。在追求敏捷开发的同时,保证产品能力和用户体验提升则是更重要的指标。为了实现快速迭代与优化的有机结合,A/B测试成为了一种不可或缺的工具。通过A/B测试,我们能够在实际用户环境中并行测试多个优化版本,精确衡量每个版本对用户体验和业务指标的影响。

A/B测试: 助力产品上线更快

如果我们想在当前的人工智能浪潮中迅速把握先机并吸引用户,就需要产品经理精心设计功能,以及研发团队高效地开发和上线产品,并通过优化产品开发流程来确保在这场技术变革中保持领先地位。落实到具体的场景,可以通过如下方式来更快地发布产品:

  1. 更快地上线:涉及大模型相关的产品,往往涉及一系列错综复杂的提示和规则判断。在有限的测试环境中,我们很难捕捉到对单个部分进行调整后的具体影响,正因如此,在真实的生产环境中进行测试显得尤为重要。通过灰度发布只对线上部分用户开放,拿到真实的用户使用数据,能帮助我们更全面地理解这些调整如何影响产品的实际操作和用户体验。如果测试结果符合预期,可以进一步扩大测试范围并发布。

  2. 更快地体验:在新功能准备就绪后,我们不会急于全面推出,而是先进行灰度发布。这意味着我们会在一个小范围内,比如内部员工或者经过筛选的内测用户群体中,先行推出新功能。这样,我们能够在不影响大部分用户的情况下,收集到宝贵的第一手使用反馈。这些反馈对于我们识别潜在问题、优化用户体验至关重要。一旦收集到足够的数据并进行了必要的调整,我们就会将功能全面上线,确保所有用户都能享受到最佳的体验。

  3. 更快地回滚:在产品上线的过程中,如果遇到严重的问题,可以迅速回滚到之前的稳定版本。这不仅减少了潜在的风险,还为用户提供了持续的稳定服务。问题修复后,再次快速修复和上线。这种快速响应和闭环迭代的方法,能够持续改进产品,确保我们始终走在市场的前沿。

最新特性快速发布

案例场景:某公司在做一个问答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 和输入参数的组合,直至找到符合其应用场景的最优配置。随后,通过一个手动评分流程,选定最终将投入生产的配置。具体步骤如下:

  1. 构造一系列输入样本;

  2. 利用测试脚本,将这些输入发送给大模型,得到相应的输出;

  3. 制定一套评分标准,用以评估输出结果(通常基于人工设定的参考标准);

  4. 根据这些标准对测试结果进行评估;

  5. 引入新的配置,并重复上述步骤以进一步优化

这种方法本身并没有问题,实际上,这是选择向最终用户展示应用程序初始版本的最好方式。然而,这种方法存在巨大的局限性:

  • 测试输入的范围受限于工程师的想象,这与用户实际可能产生的输入存在差距;

  • 所采用的评分标准往往与对产品整体性能的实际影响不成正比;

  • 无法全面覆盖所有可能的变量组合,例如未能测试所有 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测试了解更多

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1683538.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CCF20220901——如此编码

CCF20220901——如此编码 代码如下&#xff1a; #include<bits/stdc.h> using namespace std; int main() {int n,m,cnt1,a[1000],c[1000]{1};cin>>n>>m;for(int i1;i<n;i){cin>>a[i];cnt*a[i];c[i]cnt;}int b[1000]{0};for(int i1;i<n;i)b[i](…

2种方法将集合数据List构建成树形结构

文章目录 递归循环构建树结构hutool.TreeUtil.build构建树结构 递归循环构建树结构 先查最外层树节点数据&#xff0c;再递归遍历每一层子节点数据 public ApiResultDto<List<LocationDto>> getTreeByParams(LocationSearchDto searchDto, SecurityUser user) {// …

成都爱尔胡建斌院长提醒近视超过600度,记得每年检查眼底!

高度近视是指近视度数在600度及以上的一种屈光不正的状态。 近视的眼睛必定是变形的。在正常情况下&#xff0c;人的眼球类似球体&#xff0c;但随着近视加深&#xff0c;眼轴变长&#xff0c;眼球体积逐渐增大&#xff0c;整个眼球从圆球型向椭圆球形发展&#xff0c;而眼球壁…

【详细讲解】二叉树的层序遍历

广度优先搜索 总结一下&#xff0c;思路就是&#xff1a; 加入元素&#xff0c;记录size&#xff0c;size就是当前这一层的元素个数。不断弹出元素&#xff0c;size - 1&#xff0c; 同时加入弹出元素的左右孩子&#xff0c;直到size0&#xff0c;说明当前层已经完全遍历完&am…

Linux安装刻录软件

在工作场景经常使用光盘和刻录机&#xff0c;在windows系统下有nero软件&#xff0c;在linux下有k3b,但是原始的k3b只能一次刻录&#xff0c;十分浪费光盘&#xff0c;这里我们使用经优麒麟优化过的刻录软件&#xff0c;实现多次追加刻录。 进入优麒麟软件仓库&#xff0c;需要…

二叉树求解大小操作详解

目录 一、求所有结点个数 1.1 递归思路 1.2 递归分支图 1.3 递归栈帧图 1.4 C语言实现 二、求叶子结点个数 2.1 递归思路 2.2 递归分支图 2.3 递归栈帧图 2.4 C语言实现 三、求第K层的结点个数 3.1 递归思路 3.2 递归分支图 3.3 递归栈帧图 3.4 C语言实现 四、求…

智能进化:让AI大模型变得更聪明的路径探索

前言 随着人工智能&#xff08;AI&#xff09;技术的飞速发展&#xff0c;大模型在多个领域展现出了前所未有的能力。然而&#xff0c;它们仍然面临着理解力、泛化能力和适应性等方面的挑战。如何让大模型变得更聪明&#xff0c;是当前AI研究和应用的一个重要课题。本文将探讨…

奇瑞控股携手契约锁推动客户、供应商及内部业务全程数字化

奇瑞控股集团是安徽省排名第一的制造业企业&#xff0c;同时入选中国企业家协会发布的中国500强、《财富》中国500强&#xff0c;连续21年位居中国品牌乘用车出口第一。 面对汽车行业“新四化”主题及“数字化”时代变革&#xff0c;奇瑞控股持续创新求变&#xff0c;率先引入电…

Qt笔记:动态处理多个按钮点击事件以更新UI

问题描述 在开发Qt应用程序时&#xff0c;经常需要处理多个按钮的点击事件&#xff0c;并根据点击的按钮来更新用户界面&#xff08;UI&#xff09;&#xff0c;如下图。例如&#xff0c;你可能有一个包含多个按钮的界面&#xff0c;每个按钮都与一个文本框和一个复选框相关联…

《微服务王国的守护者:Spring Cloud Dubbo的奇幻冒险》

5. 经典问题与解决方案 5.3 服务追踪与链路监控 在微服务架构的广袤宇宙中&#xff0c;服务间的调用关系错综复杂&#xff0c;如同一张庞大的星系网络。当一个请求穿越这个星系&#xff0c;经过多个服务节点时&#xff0c;如何追踪它的路径&#xff0c;如何监控整个链路的健康…

【HarmonyOS4学习笔记】《HarmonyOS4+NEXT星河版入门到企业级实战教程》课程学习笔记(十)

课程地址&#xff1a; 黑马程序员HarmonyOS4NEXT星河版入门到企业级实战教程&#xff0c;一套精通鸿蒙应用开发 &#xff08;本篇笔记对应课程第 17 节&#xff09; P17《16.Ark-状态管理Prop Link Provide Consume》 将上一节写出的代码进行功能模块封装&#xff1a;1、任务…

计算机毕业设计 | node.js(Express)+vue影院售票商城 电影放映购物系统(附源码+论文)

1&#xff0c;绪论 1.1 项目背景 最近几年&#xff0c;我国影院企业发展迅猛&#xff0c;各大电影院不断建设新的院线&#xff0c;每年新投入使用的荧幕数目逐年显著上升。这离不开人们的观影需求及对观影的过程要求的不断进步。广大观影消费者需要知道自己的空闲时间&#x…

STM32自己从零开始实操02:输入部分原理图

一、触摸按键 1.1指路 项目需求&#xff1a; 4个触摸按键&#xff0c;主控芯片 TTP224N-BSBN&#xff08;嘉立创&#xff0c;封装 TSSOP-16&#xff09;&#xff0c;接入到 STM32 的 PE0&#xff0c;PE1&#xff0c;PE2&#xff0c;PE3。 1.2走路 1.2.1数据手册重要信息提…

SpringCloud Alibaba的相关组件的简介及其使用

Spring Cloud Alibaba是阿里巴巴为开发者提供的一套微服务解决方案&#xff0c;它基于Spring Cloud项目&#xff0c;提供了一系列功能强大的组件&#xff0c;包括服务注册与发现、配置中心、熔断与限流、消息队列等。 本文将对Spring Cloud Alibaba的相关组件进行简介&#xff…

操作系统实验1:Linux常用命令及简单C语言程序调试

1.1实验目的 了解Linux系统的组织和行为&#xff0c;包括 Linux的用户界面、目录结构组织、运行程序的基本方式。通过使用终端(terminal)熟悉Linux Shell 、常见命令(cd、ls、ps、chmod等)和 redirect、pipe机制。学习使用vi或者gedit等编辑器编辑一个c语言源程序&#xff0c;…

高中数学:平面向量-数量积(向量与向量的乘积)与投影

一、引题 物理上的力做功 二、数量积与投影 1、数量积 θ的范围是[0,π] 2、投影 向量的投影&#xff0c;依然是一个向量&#xff01; 3、运算法则 易错点&#xff1a; 4、重要性质 这里对性质(2)要注意一下&#xff1a;如果 a → \mathop{a}\limits ^{\rightarrow…

数据结构和算法|堆排序系列问题(一)|堆、建堆和Top-K问题

在这里不再描述大顶堆和小顶堆的含义&#xff0c;只剖析原理层面。 主要内容来自&#xff1a;Hello算法 文章目录 1.堆的实现1.1 堆的存储与表示过程1.2 访问堆顶元素1.4元素出堆 2.⭐️建堆2.1 方法一&#xff1a;借助入堆操作实现2.2 ⭐️方法二&#xff1a;通过遍历堆化实现…

JS 实战 贪吃蛇游戏

一、css 部分 1. 居中 想要开始和暂停两个按钮居中&#xff0c;可以将盒子设置为弹性盒 也可以使用其他方法 【代码】 2. 将父元素设置为相对定位&#xff0c;偏于之后贪吃蛇长长的身子&#xff0c;是以父元素为基点的绝对定位&#xff0c;通过 left 和 top 来控制位置 二、…

vue表格中上传按钮样式

问题&#xff1a;写了样式但是遇到问题如下图&#xff1a; 解决方法&#xff1a; ::v-deep .el-upload {display: flex;justify-content: center;align-items: center; } 因为上传的图标被包含在el-upload中&#xff0c;而删除按钮并没有被包含在el-upload中。 所以整体的样式…

存储+调优:存储-IP-SAN

存储调优&#xff1a;存储-IP-SAN 数据一致性问题 硬盘&#xff08;本地&#xff0c;远程同步rsync&#xff09; 存储设备&#xff08;网络&#xff09; 网络存储 不同接口的磁盘 1.速率 2.支持连接更多设备 3.支持热拔插 存储设备什么互联 千…