1. 把知识图谱转化成文本,作为文本语料的一部分,或者说作为比较好的语料,成为训练的一部分去做。
○ 缺点:对于现在的这类大模型来说,它的训练数据是非常大的,直接通过知识图谱来对预训练模型或者说大模型中的训练数据做知识扩充没有必要。因为数据量已经足够大到能包含这些扩充的知识的。
2. 把知识图谱本身的结构化信息保留,作为训练的时候的一个特殊的内容或者结构加在大模型里边,
○ 缺点:不是特别容易,因为对大模型的结构有一些要求,至少 GPT 系列的不大会采用结构,还是通过某种方式转换成文本语料的一部分去做可能会更合适。
3. Finetune:
○ 缺点:在 GPT4 这种大级别情况下fine-tune很难,它自己的技术报告里面讲微调成本很高
4. 外部检索(like今天早上讨论的langchain+neo4j/networkx)
○ Motivation: You do not need to machine learn Obama's birthday evert time you need it, it costs a lot and does not guarantee correctness. Just query it.
○ Google LaMDA/New Bing/Meta: ,把知识图谱做一个外部知识库来检索,做一个纯外挂。摆事实、讲道理的时候,摆事实部分去找知识图谱,讲道理部分再用语言模型。
○ 外部检索存在一些查询的disambiguation问题,可以参考传统graph QA的方法解决
5. 检索增强的大模型retrieval-augmented language modeling (NLP 2021及2022年十大突破的方向)
○ 与4比较类似。随着大模型参数量越来越大,外挂知识图谱帮它去解决事实一致性以及时效性的问题。
○ Example:Deepmind-RETRO, OpenAI-webGPT, Google-LaMDA, FAIR-Blender
6. 其他小方向:(1)将知识图谱的链式关系和预训练模型进行融合。(2)将知识图谱作为一个约束加到训练模型里面,引入一个额外的任务。比如预训练模型是一个独立的任务,然后再单独用知识图谱训练一个表示学习模型,然后将这两个模型进行交互。通过知识图谱构建的表示学习的任务,是作为一个辅助任务帮助预训练模型进行效果的提升。
万字长文讲述大模型与知识图谱的关系 [Link]