写点什么

矢量数据库:企业数据与大语言模型的链接器

  • 2023-08-02
    北京
  • 本文字数:1976 字

    阅读完需:约 6 分钟

矢量数据库:企业数据与大语言模型的链接器

随着 ChatGPT 的推出,通用人工智能的时代缓缓拉开序幕。我们第一次看到市场在追求人工智能开发者,而不是以往的开发者寻找市场。每一个企业都有大量的数据:私有的用户数据、自己积累的行业数据、产品数据、生产线数据、市场数据等等。这些数据都不在基础大语言模型的记忆里,如何有效地将这些数据利用起来,是政府和企业在迈向通用人工智能的发展道路上面临的重要课题。


我们可以将私有数据作为微调语料来让大语言模型记住新知识,这种方法虽然可以让大模型更贴近企业应用场景、更高效使用私有数据,但往往难度较大,另外企业数据涵盖了文本、图像、视频、时序、知识库等模态,接入单纯的大语言模型学习效果较差。


我们今天来聊聊另一种更常见的方案,通过矢量数据库提取相关数据,注入到用户 prompt context(提示语境)里,给大语言模型提供充分的背景知识进行有效推理。如图一所示。


图一 基于数据提取的大语言模型应用架构


矢量数据库允许任何对象以矢量的形式表达成一组固定维度的数字,可以是一段技术文档,也可以是一幅产品配图。当用户的提示包含了相似语义的信息,我们就可以将提示编码成同样维度的矢量,通过矢量数据库查寻 K-NearestNeighbor(近邻搜索)来获得相关的对象。Approximate Nearest Neighbor(近似近邻搜索)作为矢量数据库的核心技术之一,在过去的十年里获得了长足进步。它可以通过损失一定的准确度在高维空间里快速搜索近邻矢量,比如 NGT 算法可以在接近一千维的矢量空间达到万次查询,而准确度不低于 99%。如图二所示,不同的算法展现了不同的妥协效果。


图二 查询QPS和返回准确度(召回)之间的妥协。数据集为fashion-mnist采用了784维矢量,测试基于单个CPU的统一环境,测试时间为2023年4月。


这种语义搜索的方法起源于大语言模型时代之前,起初是为了降低企业搜索的工程复杂度,提升搜索结果的相关性,因为矢量本身和神经网络高度契合,也成为大语言模型应用的标准配置。甚至出现如 Memorizing Transformer 和 KNN-LM 这样的架构将近邻搜索算法和大语言模型结合来成功构造快速 external memory(外部记忆)。


但是这样的架构依然存在一个重要的问题:从用户的提示生成矢量,通过近邻搜索找到有关数据,这两方面的矢量相似度高并不一定代表语义的相关性也高,因为两方的矢量可能并不在同一语义空间。如果企业数据的语义空间和大语言模型有比较大的区别,图一所示的架构就可能无法有效地关联重要数据而降低了可用性。


这种语义空间差别在处理多模态数据时尤其明显,比如从文本到图像的对齐(如图三),从文本到知识图谱的对齐(如图四)。同时,图像、视频、知识图谱、文档等等都蕴含大量的信息,压缩到单一矢量大大损失颗粒度,从而降低了近邻搜索的有效性。


如果将这些对象碎片化处理,再由大语言模型进行整合,除了复杂的碎片化工程,这种方法大大提高了提示语境的长度要求。尽管大量的研究工作已经从计算效率上解决了语境长度的瓶颈,比如 Linear Transformer,Reformer,到最近的 LongNet,理论上 1B 的 Token 已经是可行的,但实际的效果却显示当前的大语言模型并不能很好地利用长语境来获得相关信息(如图五)。归根结底,将大量背景信息有效高效地投射到文本语义空间从而让后端的大语言模型可以更好发挥依然是目前应用开发的一大难点。

 

图三 图像文本通过交叉注意力机制对齐。借用BLIP2架构图


图四 知识图谱和文本通过交叉注意力机制对齐。借用动态知识图谱融合模型


图五 相关的文档在提示语境中的位置会极大影响大语言模型的能力。来自于最近的研究。


语义空间的投射可以看作是一个 alignment(对齐)任务。在粗颗粒度上,单一矢量的空间对齐可以通过学习投射矩阵来实现(如图六所示)。这个投射空间小,可以用较少的标注数据训练,从而大大提升搜索结果的相关性,也已经成为业界广泛使用的技术。


而细粒度的对齐工作依然是目前技术突破的焦点,从 Perceiver IO,CLIP 到 BLIP2,我们也渐渐看到交叉注意力机制的通用对齐能力(如图三、四),特别是大规模的无监督学习半监督学习大大提升了对齐的泛化能力。把这些对齐算法和矢量数据库结合起来提供快速高效的细粒度对齐将会极大提升大语言模型应用的用户体验,也是值得我们期待的方向。


图六 粗粒度对齐


总体而言,通过矢量数据库将企业内部数据和大语言模型结合起来拥有广泛的应用场景,但技术挑战也仍然很大,我们今天讨论的这些技术点仅仅是诸多挑战中的一两个环节,还有很多没有触碰,后面有机会和大家继续探讨。


参考资料:

https://github.com/erikbern/ann-benchmarks

https://arxiv.org/pdf/1911.00172.pdf

https://arxiv.org/pdf/2307.02486.pdf

https://arxiv.org/pdf/2006.16236.pdf

https://arxiv.org/pdf/2307.02486.pdf

https://arxiv.org/pdf/2301.12597.pdf

https://arxiv.org/pdf/2307.03172.pdf

https://arxiv.org/pdf/2307.03172.pdf

https://arxiv.org/pdf/2307.03172.pdf

https://finetunerplus.jina.ai/

https://github.com/krasserm/perceiver-io

https://arxiv.org/pdf/2103.00020.pdf

https://arxiv.org/pdf/2301.12597.pdf

作者介绍


缪旭,九章云极 DataCanvas 公司首席 AI 科学家。二十余年人工智能研究和管理经验,深耕人工智能的技术实现和应用,发表多篇学术文章,并拥有多项授权发明,专注将可推理可解释的人工智能、大模型、大规模实时机器学习、知识图谱等前沿 AI 技术加速应用于各行各业。

2023-08-02 17:006736

评论

发布
暂无评论
发现更多内容

ShardingSphere 异构迁移最佳实践:将3.5亿量级的顾客系统 RTO 减少60倍

SphereEx

Java php MySQL 数据库 ​Apache ShardingSphere

腾讯云小微技术登顶权威榜单XTREME基准,跨语言技术迁移开发助力企业出海

科技热闻

秒云与趋动科技联合发布容器云平台与GPU资源池化整体解决方案

MIAOYUN

人工智能 容器 云原生 容器化 容器云平台

蓝凌叮当刘向华:如何用一款SaaS俘获年轻人的心?

ToB行业头条

《正面管教》:如何科学地管教孩子?

郭明

读书笔记

Java—线程

武师叔

6月月更

游泳馆应用软件开发:在线一站式服务,优化用户整体体验

开源直播系统源码

软件开发 APP开发 直播系统

想发自己的NFT,你要先搞清楚这6个问题

华为云开发者联盟

区块链 数据资产 NFT

java培训如何让SpringBoot支持Jsp

@零度

JAVA开发 spring-boot

蜜月期过后,跨境电商的出口在哪里?亚马逊云科技全新洞察发布

Lily

大数据培训算法面试题分享

@零度

算法 大数据开发

Wallys/Network_Card/DR-NAS26/AR9223/2x2 MIMO

wallys-wifi6

【真相】大厂招人不怕花钱的原因竟然是。。。

博文视点Broadview

“躺着都能赚钱”的时代已经过去,亚马逊云科技为跨境电商找到下一个爆点

Lily

PostgreSQL精品学习资源合集(含基础手册、实操技巧&案例、书籍推荐)

墨天轮

数据库 postgresql

本地开发测试,局域网中使用IP地址访问项目网站

迷彩

网站架构 学习记录 网站开发 6月月更

全球云计算市场持续发力,但云身份管理能力认可度不足3成

行云管家

云计算 云服务 企业上云 混合云 多云

从无到有,政务系统的全面可观测模板

博睿数据

智能运维 博睿数据 政务系统 全面检测

实战 | SpringBoot+MySQL事务/行级锁实现商品减库存

写程序的小王叔叔

微服务 事务 MySQL 数据库 6月月更 事务/行级锁

fitfi运动赚钱链游系统开发模式详情

开发微hkkf5566

Mybatis省略@Param注解原理

mybatis 6月月更 @Param注解

如何实现十亿级离线 CSV 导入 Nebula Graph

NebulaGraph

知识图谱 数据导入 Nebula Graph CSV 文件导入

改变世界的开发者丨黑客松冠军,为听障儿童推开一扇“有声的窗”

华为云开发者联盟

云计算 华为云 GaussDB 听觉 听障儿童

产品故事|你所不知道的语雀画板

编辑器 思维导图 SaaS 企业知识管理工具

在线帮助中心对企业的作用及解决方案

小炮

本周二晚19:00战码先锋第5期直播丨深入理解OpenHarmony系统启动,轻松踏上设备软件开发之旅

OpenHarmony开发者

OpenHarmony

致力超表面光子芯片产品研发与制造,山河光电完成数千万元Pre-A轮融资

硬科技星球

山河光电

【网络安全】VPN是什么?VPN与堡垒机有啥区别?

行云管家

网络安全 堡垒机 vpn

【LeetCode】高度检查器Java题解

Albert

LeetCode 6月月更

全国超10亿用户!AntDB数据库的电信核心交易替换之路

亚信AntDB数据库

数据库 通信 电信 运营商 数据库应用开发

面试突击56:聚簇索引和非聚簇索引有什么区别?

王磊

Java MySQL 面试

矢量数据库:企业数据与大语言模型的链接器_AI 工程化_缪旭_InfoQ精选文章