测试开发之路 个人随笔 - AI 产品测试人员的道路

孙高飞 · 2025年03月24日 · 最后由 magicyang 回复于 2025年03月26日 · 4292 次阅读

最近的状态

今天凌晨 4 点半上床睡觉,睡前跑大模型推理框架的性能测试,发现失败率仍然在 10% 左右,折腾一晚上仍然没有修复好这个 bug。 捞了日志发给了研发同学后就洗澡睡觉了。 早上 10 点半睁开眼睛,又只睡了 6 个小时,睡眠一直不足。 吃了个饭,洗漱洗漱来公司,趁着午休还有时间,打算写点东西。

这种状态大概持续了 1 个月,不分工作日还是周末,天天都是后半夜。是在上个月末,领导在团队里找人来上海参与封闭式攻坚,找了好几个人都没来,因为这个攻坚要持续很久(目前已经快一个月了,还没看到头)。我也因为家里的事情就没想来,但后来看领导那边压力太大,我就还是跟女王大人商量了一下,坐火车来了上海。

从攻坚项目感受到的

项目是保密的, 不能说细节,但是各个公司都在抢占这里的市场,我们是从大年初三开始的初期开发。按理说已经够卷了,但没想到竞争对手还是比我们更快的上线了第一版产品。最近一个月我们的研发和算法同学做了很多推理加速的改造,因为是非常新的技术,所以大家也是边做边学(研发说半年前 deepseek v2 出来的时候才开始有人大规模的做这种优化)。我来了以后也学习到了很多新的知识,又补充了 AI 领域内的一块知识空白。

最近这 1,2 年研究的开始很难分享出来了,因为研究的东西越来越难, 我自己可能也没搞明白。或者研究的东西越来越垂直,深入。可能只有同样做这个事情的人才能理解,比如现在做的是大模型推理加速框架的测试工作。里面的很多东西,比如 EP、DP、PP、TP、PD 分离,我要测试不同配比之下的性能收益情况和容灾能力,比如 NP/ND 和降级不分离下的测试表现。 虽然我负责测试这些,但我现在也就是懂个大概,而且这些东西的测试过于底层了,是属于大模型推理框架的部分,行业里同样做 AI 测试的人应该也没多少涉及的。

但从这几年做的工作来看,在 AI 产品这个赛道里,对测试人员的要求也越来越高了,起码大厂是这样的。2016 年刚入 AI 这一行的时候,还没要求测试人员懂 AI,即便是到了 AI 开始火的那两年,8 成以上的测试人员也只是对着模型测一测效果和性能,做的事情还比较简单。 属于一下午就能培训个七七八八的水平。而到了现在我们已经开始要求测试人员对 AI 有较为深入的了解了,这样才能测试更加底层和更加全链路的特性。

之前在星球直播的时候,总结过个人划分的几个阶段:

  • 初级:可以不懂 AI,知道简单的模型指标的计算方法即可。数据需要他人帮助挖掘,主要评估模型效果。大模型场景下主要是人工打分工作,外包人员就可以完成。非大模型场景往往可以通过自动化测试,这种场景有基本的代码能力即可。 由于不需要懂 AI,不需要自己挖掘数据也就不用很懂业务,所以在初级阶段基本上稍微培训培训就可以胜任。
  • 中级:可以不懂 AI,但是需要熟悉数据处理/挖掘相关的方法。熟悉用户和数据。 测试数据的质量决定了评估模型能力的关键,所以熟练掌握各种数据分析/采集/挖掘工具是这个阶段的测试人员需要掌握的。 如果是在结构化数据领域,需要熟练掌握 pandas 或者 spark 这种分布式计算技术,而在计算机视觉领域,则需要 opencv,ffmpeg,yolo 模型等等。大模型领域则需要各类文本处理工具,比如分词器,情感分析模型等。 由于 AI 需要海量的数据支撑,有些时候需要处理很大的数据,所以一般要学会处理大数据的场景,有时候为了构建性能测试需要的海量数据,需要大数据技术,或者使用异步 IO(最好是 go 语言)进行构建。 PS:我们曾经一个性能测试场景需要构建 20 亿张图片,验证系统能否支撑这个量级的数据。
  • 高级:懂 AI 的业务流程,能够从整个系统和业务的角度展开各种测试:高可用(容灾),效果,性能,稳定性,等等。可以在一个比较复杂的 AI 系统中指定测试策略。比如我之前帖子里讲的对话系统和智能体。这类产品有很复杂的系统架构,为了回答用户的问题,需要构建知识库,从文档解析,图片分类,多模态到文档拆分,向量化再到语义检索,rerank,拒答检测,敏感词检测,RAG。 这中间每个步骤都是一个或者多个模型组合在一起,这样才能回答用户的问题。而在这样一个复杂的系统中测试各个模型和组件的功能,性能,效果,容灾,是需要相当长时间的积累。
  • 资深:懂 AI 的比较细节的原理,了解推理和训练的流程原理,加速策略,能够针对很专业的 AI 平台或者 AI 技术型产品进行测试。这个很难,我也不敢说自己在这个水平上。因为说我懂原理吧,我也懂的不是很深,属于很勉强的听懂算法同学在说什么的范畴吧。 在这个水平的时候跟算法同学走的就很近了,很多时候是在测试算法本身,或者测试推理框架,而不是那个模型了。 我记得在范式的时候也测过一些,比如测特征工程,测训练框架中的 checkpoint,超参,实时训练,在这边测试 PD 分离,测试 sglang,vllm 这些推理框架。很多时候需要起码懂得一些原理才好测试。 比如需要知道 TP16 和 TP8 的算力区别,首 token 的性能的差异。 PD 分离与不分离的差别,首 token 的计算差异。这样才能知道要怎么对比性能,在哪个点上对比性能,比如拿 TP16 去跟 TP8 比首 token 耗时,那就是耍流氓。 所以需要懂一些原理才设计的了测试场景。

我感受到的变化

从几年前起很多人应该就有感受,市场对测试人员的要求越来越高了,AI 这一行也一样。早些年的测试只需要会计算个召回,精准,FI,AUC 的就可以入行做 AI 产品的测试了,毕竟那时候大模型还没火起来,智能体也没什么人做。AI 更多用在了推荐、反欺诈、OCR、目标检测等成熟场景里,这些场景虽成熟, 但其实测试方法还是较简单的。 而现在只知道这些的去找工作,如果没有很漂亮的学历和背景,那就很难了。 因为行业中的 AI 产品越来越复杂了, 现在有很多以前测试人员不需要负责的事情也开始交给测试了。

总之,行业在进步,测试人员也得进步了,完全没有办法停止学习。 这种感受最近尤为明显,不努力的去学习,可能连算法同学在说什么都听不懂了。

结尾

好了,得干活了,今天就写到这里。 最后再推销一下自己的星球。

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 3 条回复 时间 点赞

ai infra 其实已经卷了快 2 年了。
如果研发告诉你这块只有半年,说明他可能还不够资深。

千卡以上的集群开始卷是 24 年初、甚至是到下半年才真正完全开始的,大家那时候都没卡。--其实也是所有人的机会。比如我那时候犹犹豫豫,不想离家,加上估计老板不放,一年以后再看其实已经没有机会了。
除了 pd 分离是 24 年中旬的技术,其他都是已有技术。
比如你说的 vllm 性能真正接近 sglang 也是去年 7-8 月,v0.6.0 调度大更新以后的事情。

整个这块的技术栈不仅杂,而且比较乱。中间算子、编译、硬件特性、调度一堆东西裹在一起,上手成本极高。
整个行业现在只缺大牛,那种真正能把技术栈打通,且有千卡实际经验的人。这种人都在大厂,小厂没卡。--这种不是能培养就能培养出来的,要靠资源堆。

到了一定的技术阶段,学习的用处已经越来越小,选择对的路,适合自己的路更重要一些。--技术迭代越来越快,你要我像你这么加班,那就是要我命了。还是命更重要一点。😓
对我自己而言,我对大模型集群,兴趣是越来越小了,老老实实搞搞简单一点的边缘端得了,至少不至于需要拼命卷。

像你提到的 fp16,fp8,其实硬件还有 bf16,tf4,未来可能推进的是 tf6。nvidia 从 15 年的 tensorcore 已经迭代了很多版本了。从我的角度看,至少目前通讯、调度还是核心痛点。在带宽持续演进的同时,异步调度会越来越复杂。

magicyang 回复

老哥看一下我帖子里说的哈, 不能只看一半的。 帖子里表达了是在 deep seek v2 出现后国内才开始大规模开展,这里说的是大规模开展投入生产,而不是在研究室里拿几张卡随便玩一玩。尤其 PD 分离技术即便是字节也是去年才开始研究并投入生产的。 因为在这之前不需要有这种加速场景,以我们为例,在去年的时候挣钱的大头还是在计算机视觉,ocr,推荐等传统场景,大模型的变现能力是有限的。所以往年各大厂都没有动力去做大规模的大模型推理加速。 这次的 deepseek 的出现很大程度的促成了这种产品的发展。我们做的这个产品因为 deepseek,在用户量上有了质的提升。 所以线上卡的存量不够了,这才开始了大规模的 PD 分离架构的开展,还有大 EP 方案的研究。

这一点字节确实走在了国内的前沿, 他们在去年就开始做这些实践了。 大厂高工的技术能力还是很强的,加上大厂有钱,有卡, 所以现在只有大厂才有资源玩这些东西。

孙高飞 回复

从我的认知,元宝这波卷的是硅基流动这个级别的公司。
迟早会有大厂来卷他。什么时候卷死小厂还得再看看。
从我的认知看,模型效果,实际解决问题才是根本。
这还是少数人的游戏,未来还得再看看。

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册