【LLMs】从大语言模型到表征再到知识图谱

从大语言模型到表征再到知识图谱

2023年8月14日,张永峰等人的论文《Natural Language is All a Graph Needs》登上arXiv街头,轰动一时!本论文概述了一个名为 InstructGLM的模型,该模型进一步证明了 图表示学习的未来包括大型语言模型(LLM)和图神经网络(GNN) 。它描述了一种单独使用指令调整来teach语言模型文本属性图(text-attributed graph, TAG)的结构和语义的方法。经过指令微调的 Flan-T5Llama-7b能够在多个基准上实现引用 图的节点分类和链接预测 任务的最先进性能: obgn-arxivCoRaPubMed。图的结构结合节点的特点用通俗易懂的英语描述。在这两项任务中都使用了许多提示。

InstructGLM

Natural Language is all a Graph Needs的作者描述了一个名为InstructGLM的模型,与GPT4Graph(使用图文件格式而非计划语言进行微调)等最近的努力相比,该模型开拓了新的领域,证明可以通过对引文图的结构[可选]及其特征的描述来指导对LLM(如谷歌的Flan-T5)进行微调,以训练其通过提示工程执行图机器学习任务,如节点分类和链接预测。

可以在下面看到使用的各种提示。主要的训练任务是节点分类 ,但作为多任务多提示指令调整的一部分,链接预测 任务对其进行了扩展。任务有多种形式:只有结构,只有功能,两者都有有或没有边列表和结构描述 ,在过度平滑成为问题之前,可以扩展多达三跳(three hops)。

InstructGLM使用多任务学习应用于大型语言模型(LLM)的指令微调

InstructionGLM的体系结构。唯一的"trick"是为节点ID使用特殊的令牌。否则,它只会向LLama或Flan-T5解释如何进行图形机器学习......

InstructGLM不需要GNN就可以实现最先进的性能,对引文网络中的节点进行分类并预测引文 ,这真的很酷。文本属性图(Text Attributed Graphs , TAG)是编码文本构成节点特征的图。该模型的一个方面是,除了简单的指令微调之外,它还扩展了LLM的词汇表为每个唯一的节点创建了一个新的令牌 。在考虑结果时,请记住他们在OGB基准测试中使用的节点特征是稀疏的:Bag-of-Words(BoW)或TF-IDF。正确的节点特征编码可以显著提高性能

LLM如何学习拓扑?

个人觉得一个大型语言模型能够推理拓扑结构是令人惊讶的!图邻接列表或遍历由矩阵表示,Tranformer架构中的注意力头也是如此。也许Transformer能够以这种方式推理并不奇怪。这个Stack Exchange的回答是"......注意力矩阵是对称的,自然地具有加权邻接矩阵的形式 。"DGL文档将Transformers建模为GNNs,可以在下图中看到Jesse Vig的jessevig/bertviz Github project(colab)中的注意力头表示为一组多重矩阵。
LLM学习网络拓扑是否类似于Transformer学习其注意力头中的权重 ?想想很有趣,很想看到一个可视化!以LLM和知识图谱领域目前的发展速度,我们可能不需要等待太久.

构建InstructGLM

论文中没有代码,但作者确实发布了他们用来微调Alpaca和Flan-T5的prompts。它们将以Python格式出现在GitHub Repo的下一篇文章(正在进行中)中。这使得该论文相对容易以粗略的形式复制。该论文暗示了该方法的广泛潜力,以及如何通过改进节点特征来提高性能,节点特征是像Bag of Words或TF-IDF这样的稀疏特征。我希望句子编码将比这些稀疏表示更强大。

泛化InstructGLM

在第三篇文章中,我将把InstructionGLM扩展到引用图之外的数据集 。我感兴趣的几个异构网络具有复杂的、半结构化的节点特征数据 。在阅读这篇论文时,我想起了我们在创业公司Deep Discovery时使用的一种对复杂节点功能进行编码的方法。它来自Megadon实验室的一个名为Ditto的实体匹配模型。Ditto[和Ditto Light]在2020年的一篇具有里程碑意义的论文《Deep Entity Matching with Pre-Trained Language Models》中进行了描述。它提供了一种相当通用的机制来对半结构化记录进行编码,以使用sentence transformer对其进行语句编码,从而实现实体匹配。

我想知道我是否可以像InstructGLM论文的作者那样,通过句子转换器使用交叉编码器(cross encoder via sentence transformer)来提高BoW/TF-IDF的性能,生成节点嵌入作为特殊节点token的特征。我希望这将使我能够将该方法应用于引文图之外的网络,例如我在实体和身份解析、财务合规、商业图和网络安全领域处理的网络。

补充

SentenceTransformers是一个Python框架,用于state-of-the-art的句子、文本和图像嵌入。在我们的论文《Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks》中描述了最初的工作。

Reimers N, Gurevych I. Sentence-bert: Sentence embeddings using siamese bert-networks[J]. arXiv preprint arXiv:1908.10084, 2019.

您可以使用此框架来计算100多种语言的句子/文本嵌入。然后可以将这些嵌入与余弦相似性进行比较,以找到具有相似含义的句子。这对于语义-文本相似、语义搜索或转述挖掘非常有用。

该框架基于PyTorch和Transformers,提供了大量针对各种任务调整的预训练模型。此外,微调自己的模型也很容易。

参考资料

  1. Natural Language is All a Graph Needs
  2. Flan-T5
  3. Scaling Instruction-Finetuned Language Models
  4. LLaMA: Open and Efficient Foundation Language Models
  5. llm-graph-ai
  6. GPT4Graph: Can Large Language Models Understand Graph Structured Data ? An Empirical Evaluation and Benchmarking
  7. Cross-Encoders
相关推荐
weixin_4374977718 小时前
读书笔记:Context Engineering 2.0 (上)
人工智能·nlp
喝拿铁写前端18 小时前
前端开发者使用 AI 的能力层级——从表面使用到工程化能力的真正分水岭
前端·人工智能·程序员
goodfat18 小时前
Win11如何关闭自动更新 Win11暂停系统更新的设置方法【教程】
人工智能·禁止windows更新·win11优化工具
北京领雁科技18 小时前
领雁科技反洗钱案例白皮书暨人工智能在反洗钱系统中的深度应用
人工智能·科技·安全
落叶,听雪18 小时前
河南建站系统哪个好
大数据·人工智能·python
清月电子19 小时前
杰理AC109N系列AC1082 AC1074 AC1090 芯片停产替代及资料说明
人工智能·单片机·嵌入式硬件·物联网
Dev7z19 小时前
非线性MPC在自动驾驶路径跟踪与避障控制中的应用及Matlab实现
人工智能·matlab·自动驾驶
七月shi人19 小时前
AI浪潮下,前端路在何方
前端·人工智能·ai编程
橙汁味的风19 小时前
1隐马尔科夫模型HMM与条件随机场CRF
人工智能·深度学习·机器学习
itwangyang52019 小时前
AIDD-人工智能药物设计-AI 制药编码之战:预测癌症反应,选对方法是关键
人工智能