如何利用大模型构建知识图谱?如何利用大模型操作结构化数据?

part 01   利用大模型构建知识图谱
上图是之前,我基于大语言模型构建知识图谱的成品图,主要是将金融相关的股票、人物、涨跌幅之类的基金信息抽取出来。之前,我们要实现这种信息抽取的话,一般是用 bert + ner 来实现,要用到几千个样本,才能开发出一个效果相对不错的模型。而到了大语言模型时代,我们有了 few-shot 和 zero-shot 的能力。
这里穿插下 few-shot 和 zero-shot 的简单介绍,前者是小样本学习,后者是零样本学习,模型借助推理能力,能对未见过的类别进行分类。 因为大语言模型的这种特性,即便你不给模型输入任何样本,它都能将 n+ 做好,呈现一个不错的效果。如果你再给模型一定的例子,进行学习:
is_example = {    '基金':[            {                'content': '4月21日,易方达基金公司明星基金经理张坤在管的4只基金产品悉数发布了2023年年报'                'answers':{                                '基金名称':['易方达优质企业','易方达蓝筹精选'],                                '基金经理':['张坤'],                                '基金公司':['易方达基金公司'],                                '基金规模':['889.42亿元'],                                '重仓股':['五粮液','茅台']                }        }    ],    '股票':[            {                'content': '国联证券04月23日发布研报称,给予东方财富(300059.sz,最新价:17.03元)买入评级...'                'answers':{                                '股票名称':['东方财富'],                                '董事长':['其实'],                                '涨跌幅':['原文中未提及']                }        }    ]}就能达到上述的效果。有了大语言模型之后,用户对数据的需求会减少很多,对大多数人而言,你不需要那么多预算去搞数据了,大语言模型就能实现数据的简单抽取,满足你的业务基本需求,再辅助一些规则,就可以。 而这些大语言模型的能力,主要是大模型的 icl(in-context learning)能力以及 prompt 构建能力。
icl 就是给定一定样本,输入的样本越多,输出的效果越好,但是这个能力受限于模型的最大 token 长度,像是 chatglm-2,第一版本只有 2k 的输入长度。像是上面的这个示例,如果你的输入特别多的话,可能很快就达到了这个模型可输入的 token 上限。
当然,现在有不少方法来提升这个输入长度的限制。比如,前段时间 meta 更新的差值 orp 方法,能将 2k 的 token 上限提升到 32k。在这种情况下,你的 prompt 工程可以非常完善,加入超多的限制条件和巨多的示例,达到更好的效果。
此外,进阶的大模型使用的话,你可以采用 lora 之类的微调方式,来强化效果。如果你有几百个,甚至上千个样本,这时候辅助用个 lora 做微调,加一个类似 a100 的显卡机器,就可以进行相关的微调工作来强化效果。
part 02   利用大模型操作结构化数据
结构化数据其实有非常多种类,像图数据也是一种结构化数据,表数据也是一种结构化数据,还有像是 mongodb 之类的文档型数据库存储的数据。office 全家桶之前就在搞这块的工作,有一篇相关论文讲述了如何用大模型来操作 sheet。
此外,还有一个相关工作是针对 sql 的。前两年,有一个研究方向特别火,叫:text2sql,就是如何用自然语言去生成 sql。
大家吭哧吭哧做了好几年,对于单表的查询这块做得非常好。但是有一个 sql 困境,就是多表查询如何实现?多表查询,一方面是没有相关数据,本身多表查询的例子就非常少,限制了模型提升;另一方面,多表查询本身就难以学习,学习条件会更加复杂。
而大语言模型出来之后,基于 gpt-4,或者是 palm 2 之类的模型,去训练一个 sql 版本的模型,效果会非常好。sql-palm 操作数据库的方式有两种。一是在上下文学习(in-context learning), 也就是给模型一些例子,包括数据库的 schema、自然语言的问题和对应的 sql 语句,然后再问几个新问题,要求模型输出 sql 语句。另一种方式是微调(fine-tuning),像是用 lora 或者是 p-tuning。
上图就是一个用 prompt 工程来实现 text2sql,事先先把表的 schema 告诉大模型,再提问,再拼成 sql…按照这种方式给出多个示例之后,大模型生成的 sql 语句效果会非常好。还有一种就是上面提到的微调,将 schema 和 question 组合成样本对,让大模型去学习,这时候得到的效果会更好。具体可以看下 sql-palm 这篇论文,参考文末延伸阅读;
此外,还有更进阶的用法,和思为之前举的例子有点相似,就是大模型和知识图谱结合。
比如说,我想问“奥巴马出生在哪个国家“,它就是构建知识图谱 kqs,再进行一个召回,而召回有很多种方法,比如之前思为分享的 llama index 的向量召回,而向量召回最大的难点在于模型,像 openai 提供的模型,效果会比较好,但是数据量大的时候,频繁调用 openai api 接口一方面涉及到隐私问题,另一方面涉及到预算费用问题;而自己要训练一个模型,不仅难度大,由于数据量的原因,效果也不是很好。因此,如果你是借助 llama index 的向量模型进行召回,可能需要辅助一些额外的关键词模型,基于关键词匹配来进行召回,像是子图召回之类的。
对应到这个例子,系统需要识别出关键词是 obama 和 country,关联到美国,再进行召回。这样处理之后,将相关的事实 retrieved facts 喂给大模型,让它输出最终的结果。在 retrieved facts 部分(上图蓝色部分),输入可能相对会比较长,在图中可能是一个三元组,这样就会相对比较简单。这里还会涉及到上面说的 2k 输入 token 提升问题,还是一样的通过一些微调手段来实现。
 part 03   大模型使用工具
下面就是本文的重头戏——大模型的使用工具。什么是大模型工具?你可以理解为它是把一些复杂操作集成到一起,让大模型做一个驱动。
举个例子,chatgpt 刚出来的时候,会有人说“给我点一个披萨”,这当中就涉及到许多复杂的操作。
data-copilot 是浙大某个团队做的大模型工具,主要是做意图识别和信息抽取。上图右侧是“输入一句话,把相关的图绘制出来”的效果展示,这里就要提取一句话中的关键词信息,关键词信息识别之后去对应的数据库中找对应的数据,找到数据之后进行数据处理,最后再生成一个图。这里并没有用到图数据库,而是直接基于 2sheet 接口来实现的。
这里我们向这个模型提出一个需求“今年上证50指数的所有成分股的净利润增长率同比是多少”,这个模型会将其解析成对应的一个个步骤进行操作。上图右侧显示了一共有 4 步:
step1 解析关键指标;
step2 提取相关数据;
step3 数据处理,整理成对应格式;
step4 绘制成图;
而大模型是如何实现的呢?主要分为两层,一方面你要设计一个接口调用,供 prompt 调用;另一方面准备好底层数据,它可能是在图数据库中,也可能在关系型数据库中,给接口做承接之用。
这个例子更加复杂,是想让大模型来预测中国未来(下四个季度)的 gdp 增长。这里看到它分成了三部分(上图橙色部分):
step1 拿到历史数据;
step2 调用预测函数,它可能是线性函数,也可能是非线性函数,也有可能是深度学习模型;
step3 绘制成图(上图蓝色部分);
一般来说,金融分析师做相关的金融数据分析的模型会相对统一,这种相对统一的模型我们用函数实现之后,就可以让他的工作更加便捷:分析师只要说一句话,图就画好。
 part 04   大模型的最终形态
上面展示的形态,基本上人工痕迹还是很明显的:prompt 要人为写,数据接口也得人为写。而我觉得它最终的形态,可能同 gpt4 的形态有点相似,像是前段时间出的 code interpreter,代码编译器功能。你只用一句话,后面所有的功能都实现完了。
大概实现过程就是上图所示的,用 llm 作为接口,把整个百科、计算器、搜索、编译器、知识图谱等等接入进来,从而最终实现画图的功能。
而它的最终效果是怎么样的呢?下面是国际友人在推特上 po 出的一张图:
就那么简单,你不需要额外地搞 api,就能实现一个功能。


iMEMS加速度计的工作原理及基础
vivo X30新机首发三星Exynos 980芯片,支持5G网络
什么是Thunderbolt雷电技术?
密封双连动片不动故障修理
中智行荣获“2021中国智能交通车路协同优秀服务提供商”大奖
如何利用大模型构建知识图谱?如何利用大模型操作结构化数据?
国产电感品牌谷景如何在疫情期间保障客户电感稳定供应
位移、速度和加速度与阻抗参数之间的关系
锐捷网络与美的智能达成战略合作,共同致力智能零售终端的商用和普及
可伸缩的LED显示器,能附着在人体皮肤上
SSD价格高涨你还没买?2017的Q1季度SSD市场如何发展?
海康威视全城智慧监控系统的特点及应用方案
标准印刷电路板的六个基本组件介绍
石油化工制造流程的本质及其智能制造的基本特征
ADI公司的16-BIT, 10-MSPS SAR模数转换器
中软国际加入开放原子开源安全委员会
蓝牙耳机音质评测2020,又降噪音质又好的蓝牙耳机,618必买!
Google Cloud Next ’23 启幕在即,观看攻略与惊喜好礼请收好!
2023“玄铁RISC-V生态大会”来了 带你挖掘RISC-V产业化潜能
新能源动力电池新政藏伏笔,三元锂电池迎产能爆发前夜