ChatGLM 大模型外挂(向量)知识库

前言

        如果我们想往大模型里边注入知识,最先能想到的就是对大模型进行微调。笔者曾实验过,只用几十万量级的数据对大模型进行微调并不能很好的将额外知识注入大模型,笔者在算力这方面囊中羞涩,只有4块卡,这几十万量级的数据训练6B的模型都要训练好几天。。。如果不微调的话,其实还是可以利用外挂数据库的方式让大模型利用额外的知识的,比如向量数据库或者是图数据库,本文主要讲解大模型如何外挂向量数据库,外挂图数据库如果之后有时间,实践之后再分享出来。

        我们知道,大模型有很好的根据上文来回答问题的能力。我们假设一个场景,我有个问题是:“请给我介绍一下万能青年旅店这支乐队“(假设模型内部并没有存储万青的相关信息),然后我有个100w字的文档,里边包含了世界上所有乐队的介绍。如果模型对无限长的输入都有很好的理解能力,那么我可以设计这样一个输入“以下是世界上所有乐队的介绍:[插入100w字的乐队简介文档],请根据上文给我介绍一下万青这支乐队”,让模型来回答我的问题。但模型支持的输入长度是很有限的,比如chatgpt支持4000长度的输入。实际上,如果想让大模型根据文档来回答问题,必须要精简在输入中文档内容的长度。一种做法是,我们可以把文档切成若干段,只将少量的和问题有关的文档片段拿出来,放到大模型的输入里。至此,”大模型外挂数据库“的问题转换成了“文本检索的问题”了,目标是根据问题找出文档中和问题最相关的片段,这已经和大模型本身完全无关了。文本检索里边比较常用的是利用向量进行检索,我们可以把文档片段全部向量化(通过语言模型,如bert等)ÿ

你可能感兴趣的:(ChatGLM实战教程,人工智能,深度学习,自然语言处理)