免费体验阿里云高性能向量检索服务:https://www.aliyun.com/product/ai/dashvector
每天早晨当闹钟铃声响起我们睁开双眼,光线强度的信号传到视觉皮层,随手摸了一下手机看一下时间。五官的神经元激活后形成对事物的神经表征,最后由大脑对信号进行处理,这就是我们人类理解世界的机制。AI 模型的学习原理也并无二致,它实际识别和理解的不是一个个具体的文字符号,而是神经网络对各类数据的向量值,可以说向量是 AI 理解世界的通用数据形式。
图1 国王、女王、男、女在向量空间的表现形式
东汉和帝永元十二年(公元100年),许慎完成《说文解字》初稿。中国人有了第一部真正意义上的字典。基于字典读者可以精准匹配到某个字所对应的相关信息。这样的精准匹配方法在后世影响巨大,无论是八股文考试、高考语文的古诗词默写、SQL等标量数据库查询都是采用这种方法。这套逻辑归结成一句话则是“每一个问题的背后都有一个对应的标准答案”。可以说几千年的人类文明和学习方式都建立在此基础之上,但是它与我们的人类大脑处理问题的方式并不相同。人类的记忆形成依赖于大脑中的海马体,当一个人经历了某件事后海马体会形成情景记忆存入脑中,在处理问题时会通过模糊匹配的方式从海马体中再次提取出来。相较于精准匹配,模糊匹配所展现的特征往往与“标准答案”有所偏差,但是这却让人类在有限大脑资源的情况下能够拥有强大记忆的能力。这也是为什么一个不擅长背书的人,在早已忘记童年伙伴的名字的情况下,到了退休年龄依然能够回忆小时候的故事场景的原因所在。
图2 中国第一部字典《说文解字》
而向量数据库就是AI系统中的海马体。
有用过大语言模型(LLM)的朋友可能都有过这样的经历,同样的问题在不同的时间段问,大语言模型会返回完全不同的答案。如果LLM回答错误通过提示让他进行修正,但是过几天它又开始一本正经的胡说八道。这是由于作为AI的主体,大语言模型自身并不具备短期记忆能力。所以我们可以将大语言模型视为一个患有短期失忆症的中科院院士。从应用角度来说,这样的AI显然不是我们想要的。当我们与一位知识渊博的院士打交道的时候,他应当记住我们今天的对话内容,对于他已经说错的话在提示后他会改正进步。如果他在某个领域不是很懂,在我们推荐他一些书本后他具有自主学习的能力。
那么,我们的AI开发者是如何让大语言模型拥有记忆力呢?最早的方案叫Retrieval Augmentation,它会将用户过往的聊天历史记录和该用户可能涉及到的专业知识全部存储到向量数据库中,这个数据库被称为“外部记忆”。当用户输入prompt的时候,应用程序会先去“外部记忆”去寻找相关信息,然后与prompt一起输入给大语言模型。这种方式给予了AI具有记忆能力,但是这种方式也带来了另一个问题:Max Token的限制问题。对于GPT3.5 来说,单次输入的最大token数为4001,GPT4为8192,即使是目前最为强大的GPT-4-32k也在32769。对于某些专业性极强的领域光找出来几篇具有相关性的论文的字数就已经超出了LLM的限额。如何对信息进行裁剪控制token成了Retrieval Augmentation方案的核心工作。
图3 Retrieval Augmentation方案逻辑
试想一下,如果作为一个人来说当我们在为了解决问题找了50篇相关论文。我们如何在其中整理出核心的2000字结论?这就涉及到我们人类的另一项重要能力——逻辑推理能力。当我们人类在处理这50篇论文的时候,会一篇一篇链式阅读,在阅读每篇论文的时候,我们通常会带着疑问(子问题)划出相应的重点内容,用俗语说“好记性不如烂笔头”。在读前几篇的时候可能对某些概念还并不熟悉和理解,但是随着阅读过程中不断进行的逻辑推理和内容的归纳、复盘。在读完第50篇论文的时候便能够轻松输出一篇2000字的结论。这样的思考方式我们称之为Chain of Thoughts。
图4 Chain of Thoughts方案逻辑
随着 LLM 能力越来越强,还会有很多这样的讨论。其背后隐藏的主线逻辑是:当 AI 能有这么强的信息提取和组织能力之后,传统数据库的很多能力是受到冲击的。 向量搜索的普及过程中,很多之前用 SQL 和结构化数据比较难解锁的产品功能自然得到了实现,长期用户的使用范式肯定慢慢会从传统数据库转移到 LLM + 向量数据库。那么数据仓库未来会如何面对这一冲击,届时向量数据库又比今天的形态复杂多少呢?这是值得我们一起持续思考和关注的重要问题。
了解阿里云向量检索服务DashVector的使用方法,请点击:
https://help.aliyun.com/product/2510217.html?spm=a2c4g.2510217.0.0.54fe155eLs1wkT