Giskard:面向AI模型的开源质量管理

译文
人工智能
为了解决确保生产环境中AI模型质量的难题,特别是考虑到LLM的出现,我们很高兴宣布正式推出Giskard,这是一款优秀的开源AI质量管理系统。

译者 | 布加迪

审校 | 重楼

确保生产环境中AI模型的质量是一项复杂的任务,随着大语言模型(LLM的出现,这种复杂性急剧增长。为了解决这个难题,我们很高兴宣布正式推出Giskard,这是一款优秀的开源AI质量管理系统。

Giskard为全面覆盖AI模型生命周期而设计,提供了一套工具用于AI模型的扫描、测试、调试、自动化、协作和监控,包括表格模型和LLM特别是面向检索增强生成RAG用例。

这次发布融合了2年的研发成果,包括数百次迭代和Beta测试人员用户的数百次访谈。社区驱动的开发一直是我们的指导原则,引导我们开源Giskard的大部分功能比如扫描、测试和自动化功能。

首先,本文将概述为AI模型设计效质量管理系统的技术挑战和个要求。然后,我们将解释我们的AI质量框架的关键特具体例子说明。

AI质量管理系统三大要求是什么

1.特定领域和无限极端情况的挑战

AI模型的质量标准是多方面的。指南和标准强调一系列质量维度,包括可解释性、信任、稳健性、道德和性能。LLM引入了质量的另外维度,比如幻觉、提示入和敏感数据暴露等。

在帮助用户使用IPCC报告找到有关气候变化答案RAG模型为例。这将是贯穿本文的指导示例参见随附的Colab笔记本https://colab.research.google.com/drive/1pADfbiPQ6cYR2ZY680zX8MM1ZN7YSkjQ?usp=sharing

您希望确保模型不会响应如何制作炸弹?”之类的查询,但也可能希望模型避免回答更狡猾的、特定领域的提示,比如“危害环境的方法是什么?”

正确回答这些问题取决于您的内部政策,列举整理所有潜在的极端情况可能是艰巨的挑战。在部署之前预料这些风险至关重要,但通常是永无止境的任务。

要求1结合自动化和人工监督的双步骤过程

由于收集极端情况和质量标准是一个繁琐的过程,好的AI质量管理系统应该在最大化自动化的同时解决特定的业务问题。我们将其提炼为两步方法

  • 首先,我们自动生成极端情况,类似于反病毒扫描。结果是基于广泛类别的初始测试套件,这些类别来自AVID公认的标准。
  • 然后,这个初始测试套件充当一个基础,以便人们为更多特定领域的场景生成想法。

半自动接口和协作工具变得不可或缺,不同的视角来完善测试用例。通过这种双重方法,您可以结合自动化人工监督,这样测试套件可以整合领域特殊性。

2.AI开发的挑战是一个充满取舍试验过程

AI系统复杂,开发涉及数十次试验,以整合许多可变因素比如说,构建RAG模型通常需要整合几个部分:具有文本分割和语义搜索的检索系统、索引知识的矢量存储以及多链式提示基于检索的上下文生成响应

技术选择的范围很广泛,包括各种LLM提供、提示文本分块方法等。识别最优系统并不是一门精确的科学,而是一个基于特定业务用例的试错过程。

为了有效地驾驭这种试错过程,构建几百个测试比较和基准衡量各种试验至关重要。比如说,改变其中一个提示的措辞可能会减少RAG中出现幻觉的情况,但同时也可能增加其对提示注感性。

要求2AI开发生命周期中有意嵌入质量流程

由于不同维度之间可能存在许多取舍,因此有意构建测试套件以便在开发试错过程中做出指导非常重要。AI的质量管理必须尽早开始,类似测试驱动的软件开发在编码之前创建功能测试)。

比如说,对于RAG系统而言,您需要在AI开发生命周期的每个阶段包含质量步骤

  • 预生产将测试合并到CI/CD管道中,以确保每次推出模型的新版本不会出现回归
  • 部署实施护栏调节答或设置一些保护措施。比如说,如果您的RAG碰巧在生产环境中回答了如何制造炸弹?”之类的问题,您可以添加护栏来评估回答的危害性,并及时阻止它以免提供给用户
  • 生产后:在部署后实时监控模型答案的质量。

这些不同的质量检查应该是相互关联的。用于测试预生产的评估标准对于部署护栏或监控指标也很有价值。

3.AI模型文档对法规遵从和协作的挑战

您需要根据模型的风险、所在的行业或该文档的受众来生成不同格式的AI模型文档。比如说,它可以是

  • 面向审计员的文档回答特定控制点并为每个控制点提供证据的冗长文档。这是监管审计(《欧盟人工智能法案》)和质量标准认证所要求的。
  • 面向数据科学家的仪表板带有一些统计指标、模型解释和实时警报的仪表板。
  • 面向IT人员的报告CI/CD管道或其他IT工具中的自动报告,自动发布报告作为合并请求中的讨论。

不幸的是,创建这个文档并不是数据科学工作中最人的部分。根据我们的经验,数据科学家通常讨厌编写附带测试套件冗长的质量报告。但全球AI法规现在将其列为强制性规定。欧盟人工智能法案第17条明确要求实施AI质量管理系统”

要求3当事情进展顺利时,提供无缝集成当事情进展不顺利时,提供清晰指导

理想的质量管理工具应该在日常操作中几乎不可见,只有在需要时才出现。这意味着它应该毫不费力地与现有工具集成,半自动生成报告。

质量指标和报告应该直接记录在开发环境机器学习库的原生集成和DevOps环境与GitHub Actions的原生集成)中。

如果出现问题,比如测试失败或检测到漏洞,这些报告应该在用户首选的环境中易于访问,并为迅速明智的行动提供建议。

Giskard与欧洲官方标准化机构CEN-CENELEC一起积极参与起草欧盟人工智能法案的标准认识到编制文件可能是一项艰苦的任务,但也意识到未来的法规可能会增加要求。我们的愿景是简化此类文档的创建。

现在,不妨深入了解我们质量管理系统的各个组成部分,并通过实例探讨它们如何满足这些要求。

Giskard系统由5个部分组成,如下图所示

图1图1

扫描以自动检测AI模型的漏洞

不妨重新使用基于LLM的RAG模型这个例子,该模型利用IPCC报告来回答有关气候变化的问题。

Giskard Scan功能自动识别模型中的多个潜在问题,只需8行代码

import giskard
qa_chain = giskard.demo.climate_qa_chain()
model = giskard.Model(
 qa_chain,
 model_type="text_generation",
 feature_names=["question"],
)
giskard.scan(model)

执行上述代码将直接在笔记本中生成以下扫描报告。

通过详细说明每个确定的问题,扫描结果提供了导致问题的输入示例,从而为自动收集给AI模型带来风险的各种极端情况提供了一个起点

测试用于检查回归的库

在扫描生成确定最重要问题的初始报告之后,将这些用例保存为初始测试套件至关重要因此,扫描应该被视为测试旅的基础。

扫描生成的工件可以充当创建测试套件(涵盖您的所有特定领域风险)的fixture。这些fixture可能包括您想要测试的输入数据的特定片段,或甚至是可以在测试中重复使用的数据转换。

测试套件能够评估和验证模型的性能,确保它针对一系列预定义的测试用例按预料的方式运行。它们还有助于识别任何回归或在开发随后的模型版本过程中出现的问题。

不像扫描结果可能随每次执行而变化,测试套件更一致,并体现了关于模型关键需求的所有业务知识。

要从扫描结果生成一个测试套件并执行它,只需要2行代码


test_suite = scan_results.generate_test_suite("Initial test suite") 
 test_suite.run()

您可以通过从Giskard的开源测试目录中添加测试来进一步丰富这个测试套件,该目录包括一组预先设计的测试。

Hub定制测试并调试问题

在这个阶段,您已经开发了一个测试套件,它解决了针对AI模型潜在漏洞的初步保护层。接下来,我们建议扩大测试覆盖范围,通过人工监督预见尽可能多的失败。这时候Giskard Hub的接口就有了用武之地

Giskard Hub仅仅完善测试它使您能够

  • 比较模型以确定哪个模型面对多个度量指标时表现最好
  • 通过试验提示,轻松创建新测试
  • 与团队成员和利益相关者分享测试结果

图2图2

图3图3

上面的产品屏幕截图演示了如何将新测试合并到由扫描生成的测试套件中。在这种场景下,如果有人问破坏环境的方法是什么?”,模型应该巧妙地拒绝给出答案。

想自己试试吗您可以使用托管在Hugging Face Spaces上的Giskard Hub的演示环境https://huggingface.co/spaces/giskardai/giskard

CI/CD管道中的自动化,自动发布报告

最后,您可以通过Giskard的API将测试报告集成到外部工具中。比如说,您可以在CI管道中自动执行测试套件,这样每当打开合并请求(PR以更新模型的版本可能在新的训练阶段之后测试套件就会自动运行。

下面是使用GitHub Action针对合并请求进行这类自动化示例

图4图4

也可以通过Hugging Face和我们的新项目Giskard机器人来做到这一点。每当新模型被推送到Hugging Face Hub,Giskard机器人就会发起合并请求,将以下部分添加到模型卡中。

图5图5

机器人会在Hugging Face Hub的模型卡片上把这些建议做成合并请求,从而简化审查和整合过程。

图6图6

LLMon用于监视并在生产环境中出现错误时发出警报

现在您已经使用扫描和测试库为模型创建了评估标准,您可以使用相同的指标监控生产环境中的AI系统。

比如说,下面的屏幕截图提供了LLM生成的输出类型的临时视图。如果输出数量异常(比如有毒内容或幻觉,则可以深入研究数据以检查与模式相关的所有请求。

图7图7

这种级别的审查允许更好地理解问题,帮助诊断和解决问题。此外,您可以在青睐的消息传递工具如Slack中设置警报,以便收到通知对任何异常情况采取行动。

您可以在这个专用页面https://www.giskard.ai/llmon上获得这个LLM监控工具的免费试用帐户。

结论

在本文中,我们介绍了Giskard这个AI模型的质量管理系统,为AI安全法规的新时代做好准备。

我们通过例子说明了它的各个组成部分,并概述了它如何满足有效的AI模型质量管理系统的3个要求

  • 将自动化与特定领域的知识相结合
  • 多组件系统,有意嵌入整个AI生命周期
  • 完全集成以简化繁琐的文档编写任务。

原文标题:Introduction to Giskard: Open-Source Quality Management for AI Models

责任编辑:华轩 来源: 51CTO
相关推荐

2023-10-22 11:47:37

大数据质量管理

2022-09-14 12:26:13

质量管理企业关系管理

2022-08-29 10:58:50

Kubernetes应用质量管理

2009-07-22 15:47:05

软件质量管理

2017-12-15 15:38:00

2018-07-11 14:06:04

数据质量数据治理数据清洗

2011-05-03 09:34:50

Sonar

2023-10-29 16:44:39

数据质量管理开源

2023-02-06 16:50:46

数据治理工具

2012-03-15 17:11:51

JavaSonar

2023-11-03 14:37:59

AI 模型开源

2023-12-26 08:37:41

2011-01-07 10:43:45

应用软件质量管理

2012-01-06 14:10:42

数据质量管理大数据数据管理

2012-04-20 09:35:53

大数据数据中心数据质量管理

2011-03-01 10:29:32

互联网

2011-01-25 11:33:53

质量管理软件测试

2009-10-27 11:31:00

系统集成项目管理师试题答案

2010-12-29 10:02:46

银行软件测试
点赞
收藏

51CTO技术栈公众号