可信AI的软件工程视角:从小型DNN到大型语言模型的调试与修复

探讨从小型DNN到LLMs,在训练、推理与测试阶段的AI软件调试与修复方法,提升AI模型可信度。

原文标题:【NTU博士论文】从小型深度神经网络到大型语言模型:构建可信 AI 的软件工程视角

原文作者:数据派THU

冷月清谈:

本文从软件工程的视角,探讨了如何提升AI模型的可信性,重点关注AI模型开发过程中的训练、推理与测试三个关键阶段。文章借鉴传统软件调试与修复的理念,针对小型深度神经网络(DNNs)和大型语言模型(LLMs),分别提出了相应的调试与修复方法。在训练阶段,着重解决数据偏差和数据使用问题;在推理阶段,关注神经元级别的调试和提示机制的公平性;在测试阶段,强调测试数据的充分性,并通过构建决策图来衡量测试用例对模型决策逻辑的覆盖程度。目标是系统性地规范AI开发流程,确保AI模型在各个阶段的可靠性和公平性。

怜星夜思:

1、文章提到了通过集成良性小语言模型(SLMs)来解决LLM的数据使用问题,这种方法的局限性是什么?在哪些场景下可能不太适用?
2、文章中提出了一种可解释的覆盖率标准,通过构建DNN的决策结构来实现。这种方法在实际应用中会遇到哪些挑战?如何克服这些挑战?
3、文章提到了FairThinking方法,通过动态生成多样化视角的提示来提升LLM推理的公平性。除了提示工程,还有哪些方法可以提升LLM的公平性?

原文内容

来源:专知
本文约1000字,建议阅读5分钟
本文从训练、推理与测试三个阶段出发,探讨从小型深度神经网络(DNNs)到 LLMs 的 AI 软件调试与修复方法。

随着人工智能(AI)软件各个行业日益普及,可信可靠性问题日益成为关注焦点。尽管传统软件可信通常软件工程(Software Engineering, SE)实践规范,由于传统软件开发与 AI 模型开发之间存在显著差异,这些 SE 实践尚未有效整合到 AI 模型开发过程中。受到现状启发,我们软件工程视角出发,系统规范 AI 开发流程,提升可信性。

具体而言,我们借鉴传统软件监管方式,关注关键阶段:开发、执行测试。映射至 AI 模型对应阶段:训练(training)、推理(inference)测试(testing)。阶段对于确保 AI 模型可信可靠性重要。研究目标通过改进阶段提升 AI 模型可信度。我们主要方法借鉴传统软件修复理念,首先识别问题,实施修复措施。

此外,大型语言模型(LLMs)正在整个软件产业。因此,本文训练、推理测试阶段出发,探讨小型深度神经网络(DNNs)到 LLMs 的 AI 软件修复方法。

❶ 训练阶段:可信问题修复方法

我们首先关注模型训练过程产生可信问题原因。训练数据通常引发问题关键所在。针对数据试,我们聚焦社会影响较大问题——公平性(fairness)我们目标分析个子群体(具有相同敏感属性数据)训练过程中的贡献,进而揭示偏差根源。

我们发现,不同群体训练中的贡献不均造成不公平主要因素。为此,我们提出一种基于梯度度量方法,用于评估训练群体贡献不均衡性,据此进行修复,通过匹配群体贡献缓解不公平现象。

针对 LLMs,处理版权权、数据个人敏感信息(PII)泄露数据使用问题重要。然而,通过训练数据重新训练模型修复这些问题,可能严重影响模型标准性能。解决问题,我们提出一种简洁实现修复策略:将 LLM 良性语言模型(SLMs)进行集成。通过理论分析实证实验,我们证实这种集成方法有效缓解上述数据问题,同时保持 LLM 性能不受影响。

❷ 推理阶段:可信问题修复方法

我们进一步探讨模型推理阶段出现可信问题原因。对于小型 DNNs,推理过程视为神经功能组合,因此进行神经级别重要。我们程序动态切片(dynamic slicing)分析修复方法启发,引入一种重要性驱动神经诊断方法(Importance-based Neuron Diagnosis),用于高效定位导致不公平结果神经元。

基于上述方法,我们进一步提出一个新颖的 DNN 公平性修复框架——RUNNER框架通过分析训练敏感群体梯度贡献差异,识别偏差源,通过结构调整修复模型公平性。

对于 LLMs,我们提示(prompting)机制角度分析推理阶段不公平问题。为此,我们提出了 FairThinking方法,推理过程动态生成多样视角提示,从而引导模型输出公平表达,实现推理公平性修复。

❸ 测试阶段:可信评估测试充分

尽管 AI 模型通常经过训练-验证-测试划分评估性能,研究表明,这种基于现有测试评估方式可能高估模型性能无法暴露模型潜藏问题。因此,评估测试数据充分性(test adequacy)成为关键,尤其是测试覆盖率(test coverage)

我们提出一种解释覆盖标准,通过建 DNN 决策结构实现。结构类似传统中的控制图(CFG)我们模型解释出发构造决策图(decision graph)其中路径代表模型一种独特决策逻辑。基于控制数据信息,我们设计路径覆盖变体,用于衡量测试用例模型决策逻辑覆盖程度。

此外,我们探索这些覆盖标准是否扩展应用于 LLMs进一步增强测试验证机制。



关于我们

数据派THU作为数据科学类公众号,背靠清华大学大数据研究中心,分享前沿数据科学与大数据技术创新研究动态、持续传播数据科学知识,努力建设数据人才聚集平台、打造中国大数据最强集团军。




新浪微博:@数据派THU

微信视频号:数据派THU

今日头条:数据派THU


感觉公平性是个老大难问题啊!除了提示工程,我觉得还可以从数据层面入手,比如使用更均衡的数据集来训练模型。或者,在训练过程中引入一些正则化项,惩罚那些产生歧视性输出的模型。

另外,模型训练完成后,还可以进行一些后处理,调整模型的输出,使其更加公平。总之,这是一个需要多方面努力才能解决的问题。

从机器学习的角度来看,可以通过修改损失函数来优化模型的公平性。例如,可以使用对抗学习的方法,训练一个判别器来识别模型的歧视性输出,并用判别器的反馈来指导模型的训练。

此外,还可以使用一些领域自适应的方法,将模型从一个领域(如数据充足的领域)迁移到另一个领域(如数据稀缺的领域),从而缓解数据偏差带来的不公平问题。

我觉得这有点像在黑盒子里摸索。DNN内部的运作机制太复杂了,想要完全理解它的决策过程几乎是不可能的。所以,构建决策结构可能只能抓住一些关键的决策点,而忽略了其他细节。这就像看地图一样,地图再详细,也不可能完全反映真实的世界。

也许未来可以结合一些AI技术,比如用一个AI来分析另一个AI的决策过程,说不定能有意想不到的效果!

我猜这种方法会不会有点像“头痛医头,脚痛医脚”?感觉它更像是一种补丁,而不是从根本上解决问题。而且,SLMs的引入也会增加模型的复杂性,维护起来可能更麻烦。说不定以后会出现专门攻击SLMs的方法呢!

我觉得提升LLM的公平性,有点像给AI做“思想教育”。除了技术手段,更重要的是要提高AI的“道德意识”。这需要我们不断反思和改进AI的训练数据和算法,确保AI能够真正服务于人类,而不是加剧社会不公。

也许以后可以给AI开设“道德伦理”课程,让它们学习如何做一个“好”AI!

这个问题很有意思!感觉SLMs的集成,像是给LLM加了个“安全阀”。但这种方法可能更适合处理一些特定的数据问题,比如版权侵权。如果问题是模型本身学到了一些有害的模式,SLMs可能就无能为力了。

而且,SLMs的性能也会影响最终效果,如果SLMs本身不够强,可能就无法有效“纠正”LLM的错误。感觉在对安全性要求极高的场景下,这种方法可能还不够稳妥。

从理论层面分析,这种方法的挑战在于如何保证决策结构的准确性和完整性。DNN的决策过程高度非线性,难以用简单的图结构精确表示。此外,决策结构的构建过程可能引入新的偏差,影响覆盖率评估的可靠性。

为了克服这些挑战,可以尝试使用一些形式化方法,如抽象解释或符号执行,来更精确地分析模型的行为。同时,可以结合领域知识,设计更具针对性的覆盖标准,提高评估的有效性。

构建DNN的决策结构,听起来就挺复杂的。感觉最大的挑战就是如何有效地提取和表示模型的决策逻辑。对于大型DNN来说,这简直就是个噩梦!

而且,即使成功构建了决策结构,如何定义和衡量“覆盖率”也是个难题。不同的覆盖标准可能会产生不同的结果,选择哪个标准可能需要大量的实验和验证。我觉得可以考虑结合一些可视化技术,帮助我们更好地理解模型的决策过程。

从更学术的角度来看,SLMs集成方法的有效性取决于SLM与LLM之间的知识迁移能力。如果SLM所具备的知识与LLM需要修正的知识领域相关性较低,则集成效果会大打折扣。此外,SLM的规模和训练数据也会影响其性能,从而间接影响整个系统的表现。

另外,这种方法可能在处理涉及复杂推理或需要大量上下文信息的任务时表现不佳,因为SLM可能无法提供足够的背景知识来指导LLM的输出。