基于大模型的应用的测试的一些注意事项
- 时间敏感性冲突:这个冲突主要来自于原始训练大模型的数据,在训练集中数据包含了一些在时间线上相对正确的结果,随着时间的推移,原先正确的数据有可能已经变得过时而不正确。例如2006年7月11日,刘翔在国际田联超级大奖赛洛桑站男子110米跨栏决赛中,以12秒88打破了已封尘13年之久的世界纪录。但是如果到了2013年在问这个问题,那么如上的信息就不对了,已经变成了美国名将梅里特2012年12.80秒是世界记录了。
- 数据真实性冲突:很多训练用的数据集来自互联网,网络中也充斥着很多虚假信息,这些信息对于模型的能力也是一个严重的影响,有研究表明恶意的虚假信息会显著削弱自动化事实核查系统和开放域问答系统的准确性。可以根据训练数据集,设计相关的一些测试用例,进行验证。
- 数据一致性冲突:这种问题主要表现在大模型在反馈语义相同,但是句法不同的时候,其表现出来的能力有所差别,这种冲突一部分原因也是因为训练集的数据冲突导致的,训练集中有优质的数据也有低劣的数据,这些质量良莠不齐的数据有可能包含了内部冲突。如果对于常识性的一些问题,采用不同的问题描述有可能得到不一样的反馈结果,这就会出现一些偏差。常规可以通过设计一些不同的表述形式、不同的语言相同的问题等测试用例进行验证。
这些在训练集中的问题如果处理不好就很容易导入到模型本身,是很多大模型容易出现的问题,因此我们需要在测试过程中基于大模型训练的数据构造这种测试用例,验证这种现象是否会影响被测系统的能力。
大模型的安全机制
大模型的安全机制一般有两套,一个是在训练时发挥作用,另外一个是在推理式发挥作用。
Training Time
训练时增加安全和价值观对齐的SFT(有监督的微调)和偏好对齐数据。最终效果是有用的,但是很容易Jailbreak。
Reasoning Time
在推理式增加安全算子有如下2个办法:
- 多个基于BERTM等小model的分类器,每个分类器可以偏向于某个领域(例如血腥),流式输出时可以一句一句的分类,然后API再做成Token级流式效果。
- 关键词、正则以及语义匹配,出发后直接返回特定话术。优点可以快速的在线修复,语义匹配可以通过Embedding 检索实现即可。
但是这个技术难点在于用于训练分类器的大量标注好的非安全数据。其次,模型要做的足够快,最小化影响ttft(time to first token)和tps(transaction per second)。