作者丨何思思
编辑丨林觉民
2023 年 8月14日,第七届GAIR全球人工智能与机器人大会在新加坡乌节大酒店正式开幕。论坛由GAIR研究院、雷峰网、世界科技出版社、科特勒咨询集团联合主办。
大会共开设10个主题论坛,聚焦大模型时代下的AIGC、Infra、生命科学、教育,SaaS、web3、跨境电商等领域的变革创新。此次大会是在大模型技术爆炸时代,首个出海的AI顶级论坛,也是中国人工智能影响力的一次跨境溢出。
在第一天的大模型时代的超级基建专场上,Zilliz创始人兼CEO星爵进行了以“向量数据库作为新一代基础设施如何为大模型提供语义存储”为主题的精彩演讲。
过去的每个十年,AI都迈向一个新的阶段。星爵指出,受限于研发成本和开发难度,过去十年全球仅有1%的开发者专注于AI领域的研发工作,但如今有了大模型和向量数据库作为能力基座,一个AI 应用的开发仅仅需要两三个工程师一个周末的时间便可完成。
“忽如一夜春风来,千树万树梨花开。”对于大模型,星爵如此评价道。除此之外,星爵还强调了向量数据库之于大模型的重要性。他认为,向量数据库承担着大模型数据片外存储的重任,不管是图片、视频语言还是生物学中蛋白质的三维结构,都可以用向量的方式表征它的语义。
回到大模型目前落地遇到的最主要困境,即数据实时性和私域专有数据的问题,学术界和工业界存在两种解决方案,一是通过Fine tuning的方式迭代演进,让大模型学到更多的知识;二是通过Vector search的方法,把最新的私域知识存在向量数据库中,需要时在向量数据库中做基于语义的向量检索,这两种方法都可以为大模型提供更加精准的答案。
但是从成本角度出发,向量数据库的成本是Fine tuning的1/ 1000。所以大模型厂商都无一例外地推荐开发者使用向量检索的方式做知识库管理,以便和模型有一个更好交互,降低落地使用成本的同时,提升在业务中的实际效果。
以下是星爵的现场演讲内容,雷峰网(公众号:雷峰网)作了不改变原意的编辑及整理
星爵:谢谢主持人,特别开心能来到新加坡跟大家交流,今天我分享的主题是关于向量数据库作为新一代为 AI 时代提供语义存储的基础设施有哪些机会和挑战。
我们都知道过去十多年AI发展的特别快,基本上每隔十年都会来到一个新的阶段。如果我们把时间线拉得更长一点,过去十年最大的革命浪潮是什么?是移动计算。
十年前硅谷有一个很常见的现象:一群狂热的开发者利用周末的时间,甚至24小时内就能做出一个移动应用程序,这也是为什么我们经常说十年前涌现了一波很好的AI开发浪潮,年纪稍长的人可能都知道在上一次移动计算的浪潮开始前,开发一个移动应用程序是相当复杂的,比如当时诺基亚的塞班程序,从编译器到工具开发起来困难重重。
上一代的移动开发主要以安卓和iOS为代表,它极大地简化了移动的开发栈,使得数以千万计的开发人员涌入进来,他们只需选择一个开发平台,以类似MongoDB的数据存储管理,再加上类似Figma、 Sketch的设计工具,就可以用一个周末的时间做出一个移动开发程序,这就是我们过去十年AI发展的结果。
但随着AI工具栈复杂程度的提高,也相应地带来了很多问题:
一方面,企业要想做一个AI程序,需要在几百个项目中挑出几十个项目,从运维、调优、训练到最后的部署都需要花费大量的人力、物力、财力。
另一方面,对工业界的AI应用方来说,成本是居高不下的。此外,AI 应用开发程序的复杂程度也极大地限制了开发人员的进入。根据过往十年全球GitHub的数据显示,全球仅有不到1%的开发者从事AI开发工作,也就是说全球工程师的数量不足100万,所以我们会发现AI开发工程师通常会轻轻松松地拿到丰厚的报酬、股票期权甚至是更好的跳槽机会,但其实这对整个AI行业的发展是非常不利的。
怎么改变?
今年上半年整个AI行业发生了翻天覆地的变化,可以用“忽如一夜春风来,千树万树梨花开”形容。还是拿今年3月份在硅谷看到的现象举例:很多AI开发的爱好者常常聚集起来,用一个周末的时间做出一款应用程序。在研发过程中,他们基本会用很简单的工具栈;接着选一个类似ChatGPT的大模型平台管理包括文本、图片、视频、知识库等在内的数据;随后他们会找一个系统做向量数据库,把数据用语义的方式管理起来,提供一个很好的语义检索;最后还他们需要Prompt Engineer提出很好的问题,这样就能保证三个人的小组在周末就轻轻松松地做出一个基于大语言模型的应用开发程序。
我们把这套开发工具栈提炼成“CVP stack”,C代表类似 ChatGPT 这样的开发平台,它后面有大模型,有一套完整API生态;V 代表Vector Database 向量数据库,负责数据的语义检索和管理;P代表 Prompt Engineer,他们负责把业务逻辑用大语言模型能够理解的语义方式表达出来。
过去半年,国内出现了一些增长很快的开源的开发框架,本质上都是围绕CVP stack 所展开的更简化的开发工具。我们有一个预测:CVP stack能极大地降低开发成本。因为未来不只会有大模型,还会有多语言模型,跨模态模型,跨领域模型,这些模型都会极大地简化开发程度,包括向量数据库、Prompt Engineer都能开发出各种各样的应用程序,这就会驱使大量开发者涌入AI应用程序开发这个赛道。
我相信未来三年一定会有越来越多的人拥抱 AI 开发。其实现在我们也已经看到这个趋势,比如做一个APP,一个网站或者一个startup,基本是无大模型、无AI不成 startup,大家都在考虑把自己做的应用程序用大模型重做一次,这就意味着未来AI开发会变地越来越民主化。
向量数据库的应用场景:私域知识库、应用开发程序、数据处理
我还想着重跟大家分享一下,为什么向量数据库承担了大模型数据片外存储的重任?
如果打开一个神经网络,我们可以看到里面每个节点传输数据的权重,这就是我们说的向量。 所以大语言模型中传输数据的基本单元,你就可以认为向量是一个最基本的语义的传输单元,不管是图片、视频语言还是生物学中蛋白质的三维结构,都可以用向量的方式表征它的语义。
向量其实已经成为了非结构化数据在AI中语义表达的一种最根本的表达形式和基本的数据单元,这就是为什么要把各种各样的数据向量化后,存在向量数据库中,等到需要时再在向量数据库中做语义的检索和管理。
如果回到大模型目前落地遇到的最主要困境,即数据实时性和私域专有数据的问题,学术界和工业界存在两种解决方案,一是通过Fine tuning的方式迭代演进,让大模型学到更多的知识;二是通过Vector search的方法,把最新的私域知识存在向量数据库中,需要时在向量数据库中做基于语义的向量检索,这两种方法都可以为大模型提供更加精准的答案。
但是从成本角度出发,向量数据库的成本是Fine tuning的1/ 1000。所以大模型厂商都无一例外地推荐开发者使用向量检索的方式做知识库管理,以便和模型有一个更好交互,降低落地使用成本的同时,提升在业务中的实际效果。
所以一个最简单的总结就是,大语言模型负责计算,向量数据库负责存储尤其是语义存储。在过去半年时间里,向量数据库也涌现出了一系列的应用场景,我们总结为四类:
用向量数据库构建各行业各企业的私域知识库。我们知道每个企业都有很多数据,包括Word 文档、会议摘要、PDF、产品说明书等,这些其实都可以通过向量化的方式提取语义放到向量数据库中,当和大语言模型交互时,就可以把相应领域的相关知识,作为一个prompt 传给大语言模型。
当然我们肯定不想把所有的知识都传给大模型,因为所有知识库加起可能有几百万、几千万甚至上亿个token,所以就需要精确定位到和“我”提问的问题上下相关的内容,定位越精准,就意味着可以用越少的token、越经济的方法得到你想要的结果。
那通过向量数据库检索的方式就可以从你的私域知识库中找到相关的片段,然后把它构建为 prompt的一部分传递给大语言模型,从而得到一个更好的结果,这就解决了大语言模型在某些领域“胡说八道”的现象。
同时大语言模型重新训练一次的更新速度是非常慢的,像GPT其实是基于2021年9月之前的知识构建的,更新训练模型时通常会涉及到整个模型的全训练、调优以及收敛等,成本非常高,这时就可以把实时增量的知识通过向量数据库的方式供给大模型。
第二,用大语言模型+向量数据库+Prompt Engineer (CVP Stack)的方式,构建基于大语言模型的应用开发程序。其实我们在调用OpenAI时发现,大模型有时候产生出来的问题非常好,那这些问题实质上就可以成为知识库的一部分。
在这个过程中,我们会思考如果用向量数据库的方式把这些知识缓存下来,这样下次再需要获得同类知识时,就不需要再次调用大模型,我们把这个能力称为基于语义的新一代缓存。 我们知道上一段的缓存基本上是基于Memory Cache、Redis,本质上是基于关键字匹配的一个正定的缓存。
而在大语言模型中,同样的问题可以有不同的答案且每个答案都是正确的,不同但类似的问题,也可以得到相同的答案甚至类似的答案。也就是说不同的人在问相同的问题时,有不同的问法,这就需要通过向量数据库提供一个模糊语义的检索和匹配。基于这样的需求,今年我们开源了一个GPTCache的项目,仅 4 个多月时间已经在Git Hub上收获了5000颗Star,全球范围内拥有100 多家企业级用户。
第三,用户在调用大语言模型时肯定希望模型越用越好,且越来越能理解用户的需求,甚至可以预测接下来会发生什么。所以我们在使用的过程中,大模型会把历史的交互情况缓存下来,以便为下一次交互提供上下文的参考。上下文越来越多时,相应的管理工作也会变得相当复杂,这时向量数据库就可以存储你每次的交互内容、个性定制话题,从而让大模型越来越了解你。
第四,在训练大语言模型的过程中,要灌入各种各样的数据,这时就会涉及数据对齐,数据清洗、数据处理等工作,实际上这些工作已经可以用向量数据库的方式做预处理了。
向量数据库的下一个杀手锏级应用:AI Agent
当我们看到向量数据的这些场景时,也会好奇AI的下一个杀手级应用是什么?向量数据库的下一个杀手锏级的应用在哪里?
其实从今天上午到现在,大家不止一次提到了AI Agent。大概三个月前在Hacker News上就引发了一场非常激烈的讨论,这是我当天做的截屏,大概持续了几个小时,这应该是当天讨论最热的一个Topic。
Auto-GPT基本两个多月就在GitHub上收获了十四万颗star,是有史以来最快达到这个成绩的一个项目,斯坦福的这篇论文也指明了无数工程师、大学研究人员下一代研发的方向等。此外,一些领先的企业也已经开始做相关探索。比如现在商业化领域已经出现了类似名人明星的代理,我们可以跟他们聊天互动等。
其实,AI Agent 本质上是AI从Copilot 走向Autopilot 的一个必然阶段。比如现在不管是微软的代码生成,还是微软PPT的辅助工具都可能叫做Copilot。但是我觉得下一步如果这些智能代理能具备很强的推理能力、很强的感知能力、很好的记忆力,它就一定能进行自我迭代、自我演化,真正成为一个Autopilot。那在我们向更强大的AI Agent演进的过程中,向量数据库将承担一个类似人类的长期记忆的角色。
我们都知道人的大脑有很多分区,人有一项最基本的能力,就是能够记忆。我们记得我们背的第一首古诗是什么、记得十年前我们跟某个人的对话是什么样的,记得当时是什么样的场景得出了什么样的结论等等。相应地,在AI Agent的演进过程中,向量数据库就提供了长期记忆,也就是类似人类的海马体的功能。
总体而言,我认为,新一代AI的篇章刚刚展开,未来一定会出现跨模态、多模态、甚至跨领域的大模型。Zilliz从2018年开始做向量数据库,我们也希望能和更多的AI科研人员、创业者、工程师们一起探讨AI发展以及未来AI的边界,谢谢。