AIGC 应用、数据分析等企业 10+ 热门专题课,就在极客时间企业版>>> 了解详情
写点什么

AutoGPT 放弃向量数据库!向量数据库是小题大作的方案?

  • 2023-10-11
    北京
  • 本文字数:2453 字

    阅读完需:约 8 分钟

AutoGPT放弃向量数据库!向量数据库是小题大作的方案?

AI 大模型超全落地场景&金融应用实践,8 月 16 - 19 日 FCon x AICon 大会联诀来袭、干货翻倍!

生成式 AI 促进了向量数据库的火爆,但如今的技术风向变化似乎也挺快。作为全球最著名的 AI 项目之一,AutoGPT 宣布不再使用向量数据库,这一决定可能让不少人感到惊讶。毕竟从一开始,向量数据库就一直协助管理着 AI 智能体的长期记忆。

 

那么这个基本设计思路怎么就变了?又该由哪种新方案代替?对于大模型应用来说,矢量数据库是必要的吗?

 

事情发展

 

AutoGPT 是今年 3 月 30 日发布的一种“AI agent(AI 智能体)”,类似的还有 LlamaIndex 和 LangChain。AutoGPT 一发布就名声大噪,上线仅 7 天就在 GitHub 上获得了 44,000 颗星。相较于之前一遍又一遍向模型输入提示词的用法,它能够自行工作、规划任务、将问题拆分成多个较小的部分、再逐个加以执行。毫无疑问,这是个雄心勃勃的计划。

 

AutoGPT 的设计思路还涉及一种以嵌入形式管理智能体记忆的方法,外加一套用于存储记忆并在必要时检索的向量数据库。从当时的角度看,向量数据库被认为是整个解决方案当中最重要的组成部分。而且其他通用人工智能(AGI)项目也纷纷采取同样的方法,例如 BabyAGI。

 

之前在默认情况下,AutoGPT 支持五种存储模式:

 

  • LocalCache (will be renamed to JSONFileMemory)

  • Redis

  • Milvus

  • Pinecone

  • Weaviate

 

但现在查看 AutoGPT 的说明文档,我们会发现一条令人惊讶的警告消息:

 


AutoGPT 最近刚刚经历了“向量记忆改造”,其删除了所有向量数据库实现,包括 Milvus、Pinecone、Weaviate,仅保留几个负责记忆管理的类。如今,JSON 文件成为存储记忆/嵌入的默认方式。

 

原因是向量数据库没有附加价值?

 

其实,AutoGPT 的维护者 Reinier van der Leer 于今年 5 月份就在 GitHub 上询问大家对“增加不同存储方式的价值”的看法,因为他们想进行重构,并打算放弃除“本地”内存提供程序(现在称为 json_file)之外的所有东西,同时努力实现 Redis VectorMemoryProvider。

 


有开发者对此表示赞同,认为如果后端足够好,那么没有理由保留这些向量数据库。“但我建议将 pinecone(如果有优势的话,那也可以是 redis)集成到自定义 JSONFileMemory 中。”

 

当然也会有反对者,他们认为“向量数据库比当前的 JSON 文件内存系统更高效。它们是为此类任务而构建的,可以简化开发并减少 token 消耗。”Reinier 对此进行了反驳,“这说法太笼统了,是否有例子或假设案例来证明这一点是正确的?”

 

至于以后要不要恢复向量数据库,该开发团队表示这肯定不是当前的首要任务,况且他们也没发现向量数据库能带来什么特别的附加价值。

 


在开发内存系统时,我们要关注数据结构,而不是存储机制。使用具有 JSON 持久性是最简单的实现方法,为实验留出了空间。

 

为什么 AutoGPT 一开始采用但现在又放弃向量数据库?是向量数据库的价值问题还是架构设计问题?InfoQ 询问了流数据库公司 RisingWave(risingwave.com)创始人 &CEO 吴英骏,他认为更多的是设计决策上的事情:

 

AutoGPT 最开始采用矢量数据库进行矢量存储与查询,相信单纯是为了快速打造产品原型,缩短开发周期。选用矢量数据库进行初代产品的开发可以更快得到高效可靠的矢量存储查询功能。而如今,AutoGPT 选择“放弃”矢量数据库,多半也是发现运维与使用矢量数据库的代价已经超过了其带来的好处。在这种情况下,重新自己造轮子更符合项目发展的长远收益。毕竟,在软件开发过程中,过早优化会带来极高开发成本与风险,导致软件复杂度不可控。

 

这也正如 AutoGPT 项目维护者 Reinier 所言,AutoGPT 支持多个向量数据库,确实会拖慢开发速度。那么像 AutoGPT 这样的大模型应采用向量数据库并不是必要的吗?对于长期记忆,我们还有其他选择?

 

该如何选型?

 

早在 4 月份,就有网友对AutoGPT最初的选择提出批评,认为向量数据库是种“小题大做的解决方案”。他的论证过程也很简单:

 

假设大语言模型需要 10 秒钟才能生成一条结果,即需要存储的单条新记忆。那么我们获得 10 万条记忆的时间周期将为:100000 x 10 秒 = 1000000 秒——约等于 11.57 天。而即使我们用最简单的暴力算法(Numpy 的点查询),整个过程也只需要几秒钟时间,完全不值得进行优化!也就是说,我们就连近似最近邻搜索都不需要,更不用说向量数据库了

 

那么我们应该如何为自己的项目选型?吴英骏老师认为,对于任何大模型应用,是否需要选用矢量数据库,完全取决于该应用对于矢量存储与查询的依赖程度。

 

“对于需要存储大量矢量的场景,如海量图像检索、音视频检索等,很显然使用矢量数据库可以获得更加强大、专业的功能,而对于数据量并没有那么大的场景来说,还不如使用 Numpy 等 Python 库计算来的高效、便捷。实际上,在矢量数据库这个赛道上,也分为轻量级矢量数据库以及重量级矢量数据库等,到底是选择 PostgreSQL 上的 pgvector 插件还是选择一个专用的分布式矢量数据库,也是需要对于特定应用做出具体分析之后再做出决策。”

 

这个说法也符合如今 AutoGPT 项目的真实选择,使用 np.dot 进行嵌入比较:

 


Andrej Karpathy 也曾在 Twitter 上表达过此类观点。之前他利用 OpenAI 的 API 建了一个大模型应用,有网友问使用了什么向量数据库,Karpathy 表示,不用追风一些“奇特的东西”,使用 Python 库中的 np.array 已经足够了。推文底下当即有人评论说,这种务实的观点应该传播到学术界和整个机器学习社区!

 


写在最后

 

目前据我们所知,不采用向量数据库的也不止 AutoGPT:比如 GPT Engineer、GPT Pilot 甚至是 GitHub Copilot 等都不使用向量数据库——相反,它们通过最近文件、文件系统内的邻近度或查找对特定类/函数的引用来获取相关上下文。

 

是否选择使用向量数据库要看情况,而 AutoGPT 放弃向量数据库,是朝着正确方向迈出的重要一步,即专注于提供价值、而非深陷技术泥潭。

 

会不会有一天,向量数据库又将重返 AutoGPT?向量数据库到底算不算是 AI 技术革命中的重要组成部分?或者说,向量数据库 Pinecone 成为 AI 长期记忆方案的愿景,只是一句空洞的口号?或许也有人认为,真正的问题是像 AutoGPT 这样的项目并没能带来任何价值。也许目前我们能够论证的就只有这些,余下的只有靠时间来证明......

 

延伸阅读:

向量数据库?不要投资!不要投资!不要投资!

公众号推荐:

AGI 概念引发热议。那么 AGI 究竟是什么?技术架构来看又包括哪些?AI Agent 如何助力人工智能走向 AGI 时代?现阶段营销、金融、教育、零售、企服等行业场景下,AGI应用程度如何?有哪些典型应用案例了吗?以上问题的回答尽在《中国AGI市场发展研究报告 2024》,欢迎大家扫码关注「AI前线」公众号,回复「AGI」领取。

2023-10-11 15:0610520

评论

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

火山引擎VeDI:新增微信小程序广告A/B实验功能,助力企业降低获客成本

字节跳动数据平台

数据库 大数据 ab测试 企业号 1 月 PK 榜 对比实验

跨境电商如何利用item_get-根据ID取商品详情(shopee.item_get)提升用户体验?

技术冰糖葫芦

API 编排

人工智能大模型多场景应用原理解析

百度开发者中心

人工智能 图像识别 大模型

4个知名企业Offer拿到手软,他是怎么做到的?附面试真题

测试人

软件测试

AI大模型低成本快速定制秘诀:RAG和向量数据库

百度开发者中心

人工智能 数据库 大模型

阿里云 Flink 原理分析与应用:深入探索 MongoDB Schema Inference

Apache Flink

想在 Mac 里装 Windows ?试试 Parallels Desktop虚拟机!

Rose

Windows系统 Mac双系统安装 Parallels Desktop

QSpace Pro 一款简洁高效的多窗格文件管理器,灵活且实用!

Rose

Mac软件 QSpace 多窗格文件管理器

申万宏源基于 StarRocks 构建实时数仓

StarRocks

数据仓库 数据分析 实时数仓 StarRocks

WorkPlus移动应用管理平台,助力企业实现高效移动办公

WorkPlus

热更新适配ibatis原理浅析

京东科技开发者

vivo 海量基础数据计算架构应用实践

vivo互联网技术

大数据

文心一言 VS 讯飞星火 VS chatgpt (186)-- 算法导论14.1 3题

福大大架构师每日一题

福大大架构师每日一题

软件测试/测试开发|学习两个个月后拿到4个知名企业Offer,他是怎么做到的?

霍格沃兹测试开发学社

AI大模型在电商商家端自定义报表分析中的应用与实践

百度开发者中心

人工智能 电商 大模型

用游戏盾会掉线吗,游戏出现掉线或者卡顿的可能有哪些原因

德迅云安全杨德俊

三个方面浅析数据对大语言模型的影响

华为云开发者联盟

人工智能 华为云 华为云开发者联盟 大语言模型

国产 Web 组态软件在玻璃生产线中的应用

图扑物联

万字图解|深入揭秘 (数据链路层、物理层) 工作原理

云舒编程

IP 物理层 路由 图解网络 数据链路层

测试管理 | 入班第二个月后拿到4个知名企业Offer,他是怎么做到的?

测吧(北京)科技有限公司

测试

活动回顾|分享成果&展望未来,一起走进隐语年度嘉年华精彩现场叭!

隐语SecretFlow

隐私计算 数据要素流通 隐语开源社区

隐私计算 互联互通又一成果,相关代码已在隐语社区发布!欢迎加入隐语标准生态

隐语SecretFlow

技术标准 数据安全 隐私计算 数据要素 互联互通

租赁舞台LED屏的注意事项及问题排除

Dylan

活动 LED显示屏 led显示屏厂家 效果广告

CES 2024的亮点仅仅聚焦AI深度赋能和产业创新吗?| DALL-E 3、Stable Diffusion等20+ 图像生成模型综述

蓝海大脑GPU

荣耀开发者大会 2023 · 一张图读懂极致体验分论坛

荣耀开发者服务平台

合合信息启信数据发布园区金融解决方案,助力银行精准服务“十四五”特色产业

合合技术团队

大数据 金融 合合信息 启信慧眼

定制+轻量级低代码:满足客户个性需求的最佳实践

天津汇柏科技有限公司

低代码 软件定制开发 软件开发定制

在游戏里开公司!基于ERNIE SDK的多智能体游戏应用

飞桨PaddlePaddle

百度 paddle 游戏开发 飞桨 飞桨国赛

百度智能云千帆 AppBuilder 构建 AI 原生应用开发新范式

百度Geek说

人工智能 百度智能云

AutoGPT放弃向量数据库!向量数据库是小题大作的方案?_生成式 AI_Tina_InfoQ精选文章