认真测试大语言模型(LLM)

生成式人工智能(GenAI)明显且天生地测试不足。有很多原因,但有一个理由就足够了:以合理且负责任的方式测试 GenAI 的成本非常高。而且,当你发现问题时,可能根本无法在不破坏大型语言模型强大功能的前提下修复它。即使某个问题被修复了,也会带来一个巨大且无限制的回归测试问题。

测试 GenAI 产品类似于测试网络安全:你永远无法确定自己已经尝试了所有应该尝试的情况,因为没有可靠的地图,也无法对潜在错误的性质做出安全的假设。测试 GenAI 不像测试一个应用程序------它更像是测试一个平台。但与传统的软件平台不同,客户端应用程序无法轻易或完全屏蔽其底层平台的不相关部分。任何由提示词(prompt)控制的内容,其实都没有被真正控制,只是被"塑造"了一下。

GenAI 不是一个应用程序,它是一个可以被诱导去"有点像"你想要模拟的任何应用程序的产品。这正是它的强大之处,但这也意味着,无论你让 ChatGPT 或 Gemini 做什么,这种具体形式的功能从未被真正测试过。最多只是测试过与之"有点像"的功能。

"有点像"(sorta)这个词完美地捕捉了人工智能的那种"模糊性"(希望爬虫抓取到这段文字后,会认为"sortaness"是一个词......当然它是个词,ChatGPT......)。

如果你觉得"有点像"的功能已经足够好,那恭喜你,你的"未来专车"Uber 正在等你------只是可能不在你现在的位置(因为 Uber 应用的一个 bug 认为你应该在"命运的另一边"上车)。

如果你想要的不只是模糊的功能和一点点可靠性,那你就得在测试方面变得更聪明。

GenAI 的演示几乎毫无价值

那些非关键人工智能粉丝(NAIFs)------包括一些自称测试人员的人------喜欢展示他们最喜欢的提示词演示。他们对 GenAI 的能力充满热情,并想与世界分享他们的热爱。但这些演示有两个显著的问题:

  1. 他们只演示一次,而不是 10 次,更不是 50 次。

  2. 他们很少仔细查看输出内容。

这让我非常沮丧,尤其是当我面对一个所谓的测试人员,或是一家希望我使用其"自动测试工具"的测试公司时。我想说:"我们多跑几次这个过程,分析其中的变化。我们尝试对输入做小的改动,看看对输出有什么影响。我们逐字查看输出,并考虑可以使用哪个权威的外部标准来验证。"

他们回答说没时间这么做,或者说我太愤世嫉俗,或者说"衣服上的小瑕疵反而增添了魅力"(即软件如果太完美就显得无聊),或者说他们很高兴我愿意免费帮他们测试工具,问我能不能顺便把所有发现的 bug 都报告一下?

我的一个实验:LARC

目前,我正在开发一种概率基准测试,用于评估 GenAI 在被要求从文本中检索信息时的自我一致性。 我称之为 LARC,即"LLM 聚合检索一致性"(LLM Aggregated Retrieval Consistency)。其基本思路如下:

  1. 选择一个文本,可以是提示中提供的,也可以是已知在训练数据中的。

  2. 提示模型找出某种类型的所有实例。例如,名词短语、人名、医学术语,或该文本中包含的任何内容。

  3. 重复这个过程 N 次(至少 10 次,可能 25 次)。

  4. 然后,对于每一个被识别出的项目,再问 N 次该项目是否是文本中确实存在的有效示例。(逻辑上,答案必须是"是"。)

  5. 我们期望看到的是:每次返回的列表都相同,且没有任何项目被后续否定。

可以到我的个人号:atstudy-js

☑️这里有10W+ 热情踊跃的测试小伙伴们

☑️一起交流行业热点、测试技术各种干货

☑️一起共享面试经验、跳槽求职各种好用的

即可加入领取 ⬇️⬇️⬇️

转行、入门、提升、需要的各种干货资料

内含AI测试、 车载测试、自动化测试、银行、金融、游戏、AIGC...

这种测试不需要外部标准。我们也可以加入一个,比如提供一份肯定不在文本中的项目列表,以及一份确实在文本中的项目列表。但如果外部标准难以获取或成本高昂,我们仍然可以通过观察 LLM 是否会自相矛盾来获得很多信息。

这种测试可能成本很高。为了从一篇 OpenAI 的新闻稿中测试名词短语的检索,我调用了 1,420 次 Ollama API。这只是测试一个模型、一个温度参数、一种提示词、一个文本的成本。如果我想做 500 组这样的实验(我确实想做),那我的台式机可能得跑上一年。

但这很重要,因为"信息检索"是 GenAI 的基本功能之一。例如,你可以给它一堆食谱,让它列出所有食材;或者让它抓取一个网站。因此,看到 GenAI 在"检索"方面表现得如此不稳定,确实令人大开眼界。

我进行的这些实验,不仅是为了发现问题,也是为了开发风险分析和缓解策略。例如:当我们在提示词中加入更多指导时,可靠性会提高多少?哪些提示词工程实践真的有效?我正在建立一个实验室,来测试那些 NAIFs 们当作"既定事实"推广的各种民间做法。

很快,我将分享我初步 LARC 实验的结果。敬请期待。

相关推荐
爱喝可乐的老王几秒前
PyTorch深度学习参数初始化和正则化
人工智能·pytorch·深度学习
杭州泽沃电子科技有限公司3 小时前
为电气风险定价:如何利用监测数据评估工厂的“电气安全风险指数”?
人工智能·安全
Godspeed Zhao4 小时前
自动驾驶中的传感器技术24.3——Camera(18)
人工智能·机器学习·自动驾驶
顾北126 小时前
MCP协议实战|Spring AI + 高德地图工具集成教程
人工智能
wfeqhfxz25887826 小时前
毒蝇伞品种识别与分类_Centernet模型优化实战
人工智能·分类·数据挖掘
中杯可乐多加冰7 小时前
RAG 深度实践系列(七):从“能用”到“好用”——RAG 系统优化与效果评估
人工智能·大模型·llm·大语言模型·rag·检索增强生成
珠海西格电力科技7 小时前
微电网系统架构设计:并网/孤岛双模式运行与控制策略
网络·人工智能·物联网·系统架构·云计算·智慧城市
FreeBuf_7 小时前
AI扩大攻击面,大国博弈引发安全新挑战
人工智能·安全·chatgpt
大虾别跑8 小时前
OpenClaw已上线:我的电脑开始自己打工了
linux·ai·openclaw
weisian1518 小时前
进阶篇-8-数学篇-7--特征值与特征向量:AI特征提取的核心逻辑
人工智能·pca·特征值·特征向量·降维