基于大模型的应用的测试的一些注意事项

本文涉及的产品
可观测可视化 Grafana 版,10个用户账号 1个月
应用实时监控服务-应用监控,每月50GB免费额度
应用实时监控服务-用户体验监控,每月100OCU免费额度
简介: 大模型应用测试需注意三大冲突:时间敏感性冲突,即模型数据可能随时间变得过时;数据真实性冲突,指训练数据中可能存在虚假信息,影响模型准确性;数据一致性冲突,表现为模型对语义相同但句法不同的输入反应不一。测试时应针对这些问题设计用例,确保模型性能。

基于大模型的应用的测试的一些注意事项

  • 时间敏感性冲突:这个冲突主要来自于原始训练大模型的数据,在训练集中数据包含了一些在时间线上相对正确的结果,随着时间的推移,原先正确的数据有可能已经变得过时而不正确。例如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)。

目录
相关文章
|
20天前
|
Java 测试技术 数据安全/隐私保护
软件测试中的自动化策略与工具应用
在软件开发的快速迭代中,自动化测试以其高效、稳定的特点成为了质量保证的重要手段。本文将深入探讨自动化测试的核心概念、常见工具的应用,以及如何设计有效的自动化测试策略,旨在为读者提供一套完整的自动化测试解决方案,帮助团队提升测试效率和软件质量。
|
1月前
|
jenkins 测试技术 持续交付
探索自动化测试在持续集成中的应用与挑战
本文深入探讨了自动化测试在现代软件开发流程,特别是持续集成(CI)环境中的关键作用。通过分析自动化测试的优势、实施策略以及面临的主要挑战,旨在为开发团队提供实用的指导和建议。文章不仅概述了自动化测试的基本原理和最佳实践,还详细讨论了如何克服实施过程中遇到的技术难题和管理障碍,以实现更高效、更可靠的软件交付。
|
26天前
|
机器学习/深度学习 人工智能 测试技术
探索自动化测试框架在软件开发中的应用与挑战##
本文将深入探讨自动化测试框架在现代软件开发过程中的应用,分析其优势与面临的挑战。通过具体案例分析,揭示如何有效整合自动化测试以提升软件质量和开发效率。 ##
|
22天前
|
并行计算 算法 测试技术
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面,旨在通过综合策略提升程序性能,满足实际需求。
54 1
|
1月前
|
敏捷开发 监控 jenkins
探索自动化测试框架在敏捷开发中的应用与优化##
本文深入探讨了自动化测试框架在现代敏捷软件开发流程中的关键作用,分析了其面临的挑战及优化策略。通过对比传统测试方法,阐述了自动化测试如何加速软件迭代周期,提升产品质量,并针对实施过程中的常见问题提出了解决方案。旨在为读者提供一套高效、可扩展的自动化测试实践指南。 ##
41 9
|
1月前
|
监控 安全 测试技术
如何在实际项目中应用Python Web开发的安全测试知识?
如何在实际项目中应用Python Web开发的安全测试知识?
29 4
|
28天前
|
监控 JavaScript 前端开发
如何在实际应用中测试和比较React和Vue的性能?
总之,通过多种方法的综合运用,可以相对客观地比较 React 和 Vue 在实际应用中的性能表现,为项目的选择和优化提供有力的依据。
33 1
|
23天前
|
Java 测试技术 API
软件测试中的自动化测试框架选择与应用##
在快速迭代的软件开发周期中,选择合适的自动化测试框架对于提高软件质量和开发效率至关重要。本文探讨了当前流行的几种自动化测试框架的特点和适用场景,旨在为软件开发团队提供决策依据。 ##
|
25天前
|
机器学习/深度学习 人工智能 安全
探索AI在软件工程中的最新应用:自动化测试与代码审查
探索AI在软件工程中的最新应用:自动化测试与代码审查
|
5天前
|
监控 JavaScript 测试技术
postman接口测试工具详解
Postman是一个功能强大且易于使用的API测试工具。通过详细的介绍和实际示例,本文展示了Postman在API测试中的各种应用。无论是简单的请求发送,还是复杂的自动化测试和持续集成,Postman都提供了丰富的功能来满足用户的需求。希望本文能帮助您更好地理解和使用Postman,提高API测试的效率和质量。
34 11