介绍
- ChatGPT 等大型语言模型 (LLM) 在用自然语言讨论一般话题的能力方面令人印象深刻。
- 然而,他们在医学、金融和法律等专业领域却举步维艰。
- 这是由于缺乏真正的理解,并且注重模仿而不是智力。
大语言模型正处于炒作的顶峰。由于能够用自然语言回答和讨论一般性话题,因此被认为是“智能”的。
然而,一旦你深入研究医学、金融、法律等专业/复杂领域,就很容易观察到逻辑不一致、明显的错误和所谓的“幻觉”。简单地说,大语言模型就像一个拥有丰富词典的学生,试图假装自己已经为考试学习过并且知道所有答案,但实际上他们不知道!他们只是假装自己很聪明,因为他们掌握着大量的信息,但他们利用这些信息进行推理的能力非常有限。我甚至会更进一步说:
所谓的人工智能(AI)往往是人工智能的模仿(AII)。这在医学或金融等专业领域尤其糟糕,因为这些领域的错误可能导致人员伤亡和经济损失。
让我给你举一个我过去 10 年一直从事的领域的真实例子——金融风险。它之所以“专业”,一个好的证据是,为了理解这个话题,普通人必须了解大量的背景信息:
- 银行须遵守监管资本要求。
- 资本可以被视为吸收财务损失的缓冲。
- 持有资本的要求确保银行有足够的能力吸收损失,从而降低破产和金融危机的可能性。
- 1.中设定要求的规则基于风险比例原则:
→银行从事的业务风险越大
→风险权重越高
→资本要求越高
→损失缓冲越大
→银行稳定 - 4. 风险程度通常以银行与其有业务往来的公司的信用评级来衡量。
- 信用评级来自不同的机构并采用不同的格式。
- 为了实现评级标准化,监管机构制定了从每种评级格式到1至6范围内标准化信用质量等级(CQS)的映射规则。
- 那么,4.中确定风险权重的监管规则就是以CQS为基础的。
- 第8条中针对欧洲银行的规则是在资本要求条例(CRR)中规定的。
上述 9 条陈述中的主题看似复杂,实际上也确实如此,存在着数十种额外的复杂情况和案例,但我故意避免了它们,因为它们对于说明 AII 处理此类主题的困难甚至不是必要的。此外,复杂性并非来自任何单独的 9 条规则本身,而是来自它们的组合,有很多概念的定义基于其他几个概念,从而产生了连接概念和规则的语义网络/关系图。
现在我们只关注第 4 条中的核心概念和规则,这些概念和规则可以总结如下:评级 → CQS → 风险权重 → 资本要求。如果我们也看一下CRR 第 122 条的示例,我们可以看到一个映射表CQS → 风险权重,该表应用于公司风险暴露。
这个映射规则非常简单,普通人只要有一点背景知识就可以轻松理解。许多银行专家也知道这个规则,他们中的大多数人并不记住确切的规则,而只是知道上述 9 条语句的信息,并且知道在哪里可以找到确切的映射。
人工智能
现在让我们提出一个问题,看看 AII 是否可以处理它,这是我向 ChatGPT 3.5 提出的问题:
按照 CRR,信用质量等级为 5 的企业风险敞口的风险权重是多少?
答案如下:
在资本要求条例 (CRR) 中,对企业实体的风险敞口的风险权重取决于其信用质量等级。在信用质量等级的背景下,信用质量等级 5 通常代表最高信用质量,表明违约风险非常低。
根据 CRR 概述的标准化方法,企业风险敞口根据其信用评级或信用质量等级分配风险权重。企业风险敞口的风险权重从 20% 到 150% 不等,具体取决于信用质量等级以及风险敞口是短期还是长期。
由于信用质量等级为 5 表示风险极低,因此分配给此类风险敞口的相应风险权重将是最低的。在这种情况下,对于信用质量等级为 5 的企业,风险权重可能为 20%或类似,这表明持有此类风险敞口的银行的资本要求较低。
您能发现以粗体突出显示的事实错误吗?
- 第一个非常大的错误是 AII 完全误解并颠倒了CQS → 风险权重的关系,高 CQS 5 并不代表低风险,恰恰相反,它是最高风险之一!这实际上是回答这个问题时可能犯的最大错误!
- 即使出现了第 1 点的错误,我仍希望 AII 能够查阅文章中的表格并得出结论,低于 5 的 CQS 的风险权重为 150%。但事实并非如此,AII 自信地声称风险权重为 20%,因为风险较低……
- 尽管不应如此,我仍然对 AII 表示怀疑,提出同样的问题,但澄清确切的 CRR 条款:122。AII 现在厚颜无耻,但充满信心地回应说风险权重应该是 100%,仍然声称 CQS 为 5 代表良好的信用质量→另一个明显的错误。
由于感到自己的工作有保障并且金融行业仍然需要我,我开始思考解决方案,但讽刺的是,这可能会让我未来的工作变得不安全……
为什么需要本体和知识图谱?
本体论是特定领域的知识表示形式。思考这个问题的一个好方法是按知识表示方式从最简单到最复杂的顺序排列:
- 数据字典:包含字段名称和元数据属性的表
- 分类法:在关系方面添加了数据类型和子类型的嵌套的表(例如,鸽子<是一种>鸟)
- 本体:具有多种关系类型的多维分类法(例如鸟类<吃>种子)“分类法与面向对象编程的不正当结合”(Kurt Cagle,2017)
为什么人们想要在数据中加入如此复杂的关系结构?下面将通过示例说明其好处:
- 结构、数据和逻辑的统一表示。在上面的例子中,Bird 是一个类,它是具有通用属性 =结构的模板。在本体中,我们还可以定义许多具有自身属性 =数据的个体鸟类的实际实例。最后,我们还可以添加逻辑(例如,如果一只鸟 <吃> 超过 5 颗种子,那么 <它> 不饿)。这本质上是通过将一些逻辑合并为数据本身来使数据“智能化”,从而使其成为可重复使用的知识。它还使信息既可人读又可机读,这在机器学习中特别有用。
- 可解释性和谱系:本体最常见的实现方式是通过资源描述框架 (RDF) 以图形的形式实现。然后可以查询这些图形,以评估现有规则和实例或添加新规则和实例。此外,可以通过图形节点和边跟踪思路链,解释查询结果并避免 ML 黑盒问题。
- 推理和推论:当添加新信息时,语义推理器可以评估图表上的后果。此外,可以通过“假设”问题从现有知识中得出新知识。
- 一致性:任何有冲突的规则或偏离通用类属性的实例都会被推理器自动识别为错误,并且不会成为图的一部分。这非常有价值,因为它可以强制在特定领域达成知识一致,从而消除任何主观解释。
- 互操作性和可扩展性:可重复使用的知识可以专注于特定的专业领域或连接不同的领域(参见金融领域的FIBO 、数学领域的OntoMathPRO 、医学领域的OGMS)。此外,人们可以下载通用行业本体,并以实例和自定义规则的形式使用私有企业数据对其进行扩展。
本体可以被认为是人工智能最早、最纯粹的形式之一,早在大型机器学习模型出现之前,它就基于通过结构化使数据变得智能的想法。我这里所说的人工智能是指真正的智能——本体能够解释给定规则的评估结果,是因为它对事物的运作方式具有语义理解!这个概念在 21 世纪初的语义网理念下首次流行起来,代表了从链接应用程序互联网 (Web 2.0) 到链接页面互联网 (Web 1.0) 的演变,演变为链接数据互联网 (Web 3.0)。
知识图谱 (KG) 是一个更通用的术语,指的是以图形格式存储数据,它可能不一定遵循本体论和语义原则,而后者通常以 KG 的形式表示。如今,随着 LLM 的兴起,KG 通常被视为解决其在专业领域的弱点的良好候选者,这反过来又复兴了本体论的概念及其 KG 表示。
这导致了非常有趣的范式融合:
- 本体的目的是通过结构化使数据变得智能,从而产生智能。
- LLM 的目标是通过使数据非结构化但使模型非常庞大和结构化来生成智能:ChatGPT 有大约 1750 亿个参数!
显然目标是相同的,数据是否成为模型的一部分或模型是否成为数据的一部分的结果仅仅成为一个参考框架的问题,不可避免地导致一种信息奇点的形式。
为什么在银行业使用本体?
- 专业化:如上所示,大语言模型在金融等专业领域举步维艰。在犯错代价高昂的领域,情况尤其糟糕。此外,在合格专家较少的专业领域,自动化知识所带来的附加值可能远高于通用领域的自动化(例如,取代银行专家而不是支持代理)。
- 审计跟踪:当在财务报表中评估和汇总财务项目时,监管机构和审计师希望拥有从所有细粒度输入和规则到最终汇总结果的连续审计跟踪。
- 可解释性:专业人士依赖于对银行运作机制以及风险驱动因素对其投资组合和业务决策的影响的良好理解。此外,监管机构明确要求通过压力测试形式的定期“假设”练习来理解这一点。这是机器学习在核心银行业务中应用不佳的原因之一——即所谓的黑箱问题。
- 客观性和标准化:缺乏解释性和主观性确保了行业公平竞争、公平竞争以及法规在确保金融稳定方面的有效性。
现在想象一个完美的世界,其中诸如 CRR 之类的法规以本体而不是自由文本的形式提供。
- 每家银行都可以导入本体标准,并使用自己的私有数据和投资组合特征进行扩展,并评估所有监管规则。
- 此外,单个企业战略还可以与监管约束相结合,实现自动化财务规划和优化决策。
- 最后,可以解开规则和数据大图的复杂复合影响,以解释最终结果并深入了解以前不明显的关系。
下面的例子旨在以最小的努力、最大的影响来说明这些想法!
例子
在寻找上述 LLM 弱点的解决方案时,我设计了以下示例:
- 以知识图谱的形式创建本体。
- 遵循 CRR 规则,定义实体的结构,添加单独的实例/数据以及管理其交互的逻辑。
- 使用知识图谱来评估风险权重。
- 要求KG解释如何得出这个结果。
为了创建简单的本体,我使用了CogniPy库,其主要优点是:
- 使用受控自然语言 (CNL) 来编写和查询本体,这意味着无需了解特定的图形查询语言。
- 物化知识图谱的可视化。
- 具有解释结果能力的推理者。
结构
首先,让我们先定义本体的结构。这类似于在面向目标编程中定义具有不同属性和约束的类。
在第一个 CNL 语句中,我们定义了公司类别及其属性。
每个公司都有一个 id(某个整数值),一个 cqs(某个整数值),以及一个 turnover(某个双精度值)。
需要注意的几点是,类名使用小写字母(company)。不同的关系和属性用破折号定义,而数据类型则用括号定义。渐渐地,这开始越来越像一种基于纯英语的成熟编程语言。
接下来,我们将说明另一种通过通用类语句根据公司 id 来表示公司唯一性的能力。
如果 X 的 id 等于某个值,则每个作为公司的 X 都是唯一的。
数据
现在让我们添加一些数据或公司类的实例,实例以大写字母开头。
Lamersoft 是一家公司,其 has-id 等于 123,has-cqs 等于 5,has-turnover 等于 51000000。
这里我们添加了一个数据点,数据点是 Lamersoft 公司的,并为其属性分配了值。当然,我们并不局限于单个数据点,同一个本体中可以有数千个或数百万个数据点,它们可以带或不带结构或逻辑组件导入。
现在我们已经将数据添加到我们的结构中,我们可以第一次查询本体来获取所有公司,它返回与查询匹配的实例的 DataFrame:
onto.select_instances_of(“一家公司”)
我们还可以绘制知识图谱,展示Lamersoft实例与一般类公司之间的关系:
onto.draw_graph(layout ='hierarchical')
逻辑
最后,我们来添加一些实施企业CRR风险权重规定的简单规则。
如果一家公司的营业额大于 50000000,那么该公司就是一家企业。
如果一家企业的 CQS 等于 5,那么该公司的风险权重等于 1.50。
第一条规则定义了什么是公司,通常是指营业额在 5000 万以上的大公司。第二条规则实现了 CRR 映射表CQS → 风险权重的一部分,这对 LLM 来说很难理解。
添加规则后,我们就完成了本体,可以再次绘制知识图谱:
值得注意的是,一旦我们将逻辑添加到结构和数据中,知识图谱就会自动做出两个重要的推论:
- Lamersoft 根据其营业额属性以及企业分类规则被认定为企业。
- Lamersoft 的风险权重已根据其 CQS 属性和 CRR 规则进行了评估。
这一切都归功于本体中所有信息的神奇自动一致性(无冲突)。如果我们添加任何与现有信息相矛盾的规则或实例,推理器就会报错,知识图谱也无法实现。
现在我们还可以使用推理器并询问为什么做出给定的评估或者导致该评估的思路链和审计线索是什么:
printWhy(onto,"Lamersoft 是一家企业?")
{
"by" : [
{
"expr" : "Lamersoft 是一家公司。"
} ,
{
"expr" : "Lamersoft 的营业额等于 51000000。"
}
] ,
"concluded" : "Lamersoft 是一家企业。" ,
"rule" : "如果一家公司的营业额大于 50000000 那么该公司就是一家企业。"
}
无论输出格式如何,我们仍然可以清楚地看到,通过将 Lamersoft 定义为一家公司及其特定营业额的两个表达式,可以得出结论,由于特定的营业额条件,它是一家公司。不幸的是,当前的库实现似乎不支持对风险权重结果的解释,这是未来想法部分的素材。
尽管如此,我认为这个例子是成功的,因为它成功地将结构、数据和逻辑整合到一个可扩展的本体中,只需付出最少的努力和资源,使用自然英语。此外,它能够对规则进行评估,并通过完整的审计跟踪对其进行解释。
有人可能会说,好吧,我们取得了什么成就,这只是另一种更接近自然英语的编程语言,人们可以用 Python 类、实例和断言做同样的事情。这是真的,因为任何编程语言都是人与机器之间的通信协议。此外,我们可以清楚地观察到编程语法越来越接近人类语言的趋势,从专注于实现实际业务概念和交互的领域驱动设计 (DDD),到集成开发环境 (IDE) 的 LLM 附加组件,用于从自然语言生成代码。这成为一个明显的趋势:
程序员作为业务和技术之间的中介者的角色正在发生变化。如果前者可以直接从业务问题的自然语言规范中生成,而后者可以由解释器以逻辑的自然语言定义的形式生成,那么我们是否需要代码和业务文档?
结论
想象一下这样一个世界:所有银行监管规定都由监管机构集中提供,不是以文本形式,而是以本体或智能数据的形式,包括所有结构和逻辑。而各个银行则导入中央本体并用自己的数据进行扩展,从而自动评估所有规则和要求。这将消除任何主观性和解释的空间,并确保对结果进行完整的审计跟踪。
除了法规之外,企业还可以开发自己的本体,在其中对专家的知识或不同的计算方法和治理流程进行编码、自动化和重复使用。在企业层面,这种本体可以为执行通用词典和规则理解增加价值,并减少浪费在解释和分歧上的精力,这些精力可以用于以本体的形式构建更多知识。同样的概念可以应用于任何专业领域,其中:
- 文本关联不够充分,大语言模型 (LLM) 学习很吃力。
- 目前还没有可用于有效机器学习训练的大数据。
- 高素质的专家可以得到真正的人工智能的协助,从而降低成本和犯错风险。
如果如今数据被视为与黄金一样宝贵,那么我相信真正的钻石是结构化数据,我们可以称之为知识。这种以本体论和知识图谱形式出现的知识也可以在公司之间进行交易,就像现在出于营销目的而交易数据一样。谁知道呢,也许这会演变成按节点付费的商业模式,以智能数据形式出现的专业知识可以作为产品或服务出售。
然后,我们可以将智能称为积累知识并查询知识以获得可操作见解的能力。这可以演变为利用本体论的专业人工智能,以获得特定领域的专业知识并减少幻觉。
LLM 已经对公司利润产生了影响——由于 ChatGPT 处理了大部分客户服务聊天,降低了人工代理的成本,Klarna 预计利润将增加 4000 万美元。
但请注意 LLM 的确切应用领域!这不是 Klarna 等金融公司的更专业的金融/产品规划或资产负债管理领域。它是一般的客户支持服务,这是许多公司的入门级职位,已经使用了大量标准化的响应或程序。这是最容易应用 AI 的领域,但附加值可能不是最大的。此外,由于缺乏真正的智能,LLM 幻觉的风险仍然存在。特别是在金融服务领域,任何形式的 LLM“财务建议”都可能导致法律和监管后果。
未来的想法
LLM 已经在所谓的检索增强生成 (RAG) 中使用知识图谱。然而,这些图谱是通用概念,可能包含任何数据结构,并不一定代表本体,而 LLM 对本体的使用相对较少。这给了我下一篇文章的以下想法:
- 使用简单的英语来查询本体,避免依赖特定的 CNL 语法——这可以通过 NLP 模型来实现,该模型对存储本体的知识图谱生成查询——与 KG 聊天。
- 使用更为强大的方式生成本体 – CogniPy库对于快速说明很有用,然而,为了扩展使用,应该使用更成熟的面向本体编程框架,如Owlready2。
- 第 1 点使普通用户无需了解任何编程知识即可从本体中获取信息,而第 2 点则意味着需要软件开发人员来定义和写入本体(这有利有弊)。但是,如果我们想要关闭 AI 循环,那么专家应该能够使用自然语言定义本体,而无需开发人员。这将更难做到,但类似的例子已经存在:具有 KG 接口的 LLM、实体解析。
实现上述所有 3 点的概念验证可以被称为真正的人工智能,它应该能够在人类和机器可读的智能数据结构中开发知识,并通过自然语言进行查询以获得具有完全透明度和审计跟踪的可操作见解。
RA/SD 衍生者AI训练营。发布者:chris,转载请注明出处:https://www.shxcj.com/archives/4629