AIGC时代数据库的一些思考
大模型时代已经开始。无论是基础模型还是上层应用都开始大规模出现,突然间如沐春风。相信“软件生态进化论”的人认为,所有应用都将在AIGC时代被重新定义。那么,像数据库这样的核心软件呢?
在写这篇文章之前,我们实际上在数据库领域启动了一个 DB-GPT 项目。该项目近期受到广泛关注。占领 GitHub Trending 后,它还登上了 Hacker News 和 GitHub Star 的专题。增长曲线极其陡峭。自5月6日发布第一个版本以来,不到一个月的时间已经突破3300颗星,并且还在快速增长中。
起源
其实我开始关注GPT比较晚。我一开始是一名开发人员(我从事的是 3D 模型渲染和 VR,早在 2015 年或 2016 年,它太酷了我不想),然后我一路工作到 PAAS 平台,后来我主导了它。数据库团队。一路走来,我从事 VR、区块链、人工智能和数据库方面的工作。从开发到运维,我都包揽了。他被认为是一个很好的投手,而我一直对新技术感到好奇。由于之前做过AI工作,对机器学习、深度学习有一定的经验和理解,所以潜意识里还是有一些概念的。我仍然认为AI技术是根据场景进行深度定制和调整的。优秀的舞台。这在一定程度上阻碍了我对新技术的嗅觉,所以我不是第一个进入的人(可怕的是我有固定心态,错过了致富的机会)。
二三月份的时候,ChatGPT 就已经很火了,基于 ChatGPT 的非常有趣的应用也发布了。 GitHub 也长期被这些有趣的项目所统治。那时我躁动的心开始躁动起来,我决定深入学习GPT。大家都知道,3月份LLM领域很热闹,ChatGPT-4发布,微软Copilot、LLaMA开源代码发布,国内很多大模型受邀测试,技术圈大佬们都已经开始了拥抱AI浪潮,加入大模特的创业精神。 3月份可以说是一个比较高的点。对于我个人来说,除了享受乐趣之外,我只是沉浸在学习中。当然,从理论到实践,一路上的努力是必不可少的。这两三个月,我基本保持了9-2-7的状态,个人装备也得到了升级。从1080游戏卡到现在的RTX 4090。4月初,我写了一篇文章,主要讲解了GPT的原理以及基于LLaMA的Alpaca LoRA模型微调的实践。截至4月底,几乎所有主流开源模型都已在实战中跑通。这时,我也有了个人的想法。当然,此时Auto-GPT、Langchain、GPT-4 Plugin等相关连接和设备项目相继出现,一定程度上给予了很大的启发。
在大模型领域,在即将到来的生态中。深入算法基础理论除了做技术和效果之外,还有一个方法,那就是定义框架标准,创建标准和关系。我们扬帆远航时代的航船,扬起风帆出发~(虽然船上的人不多,但我们相信我们的意志会让更多的人与我们同行)
我们的image
其实,数据库领域的产品有很多,新技术、创新产品不断出现。这会导致什么问题?我个人的总结有两个方面:1.有无穷无尽的新技术、新特性需要学习。 2、无尽的监控运维平台。基于此,我们制定了DB-GPT第一阶段的架构规划。但接下来有一个新问题需要回答。在数据库这样的私有区域,用户的环境、数据甚至表结构的定义的机密性和安全性都必须得到严格的保护。如何在确保隐私和安全的同时为每个人提供更好的解决方案?这些痛点怎么办?
我们的理念是技术的绝对开放和环境的绝对保护。
这句话该怎么解释呢?在我们的项目中,我们使用完全开放和开源的方法来构建技术能力。我们从第一行代码开始,并且是开源的。我们完全基于开源生态系统,结合最好的技术来创建一个通用的工具平台。那么什么是私有的呢? Private 顾名思义,在数据库的敏感场景下,数据安全是最重要的。我们真心希望这个工具包能够完全私密地安装在用户本地,不受任何外部入侵或控制。
其实,随着大车型的发展,大家显然也意识到了大车型带来的变化。数据库领域最流行的应用和尝试无疑都指向了Text2SQL的方向,即基于自然语言生成SQL语句。遵循这个想法,我们甚至可以更深入地挖掘。文本生成SQL这个产品要解决的本质问题是什么?我理解这就是数据库的易用性。毕竟学习写SQL本身是有一定成本的,一直被认为是一项技术活。如果这一层问题能够解决,并且能够直接从自然语言生成SQL,就意味着更多的人可以使用数据库产品。当然,专门写SQL的人不可避免地要寻找新的。自己的定位。但总体来说,从一小部分人开始,大家的用户受众呈指数级增长~(模式开启)。
因此,由于整个交互方式随着大模型的发布和迭代而改变,从自然语言到SQL的过渡只需要是一个中间阶段的产物,因为在DB-GPT项目中我们现在可以直接使用SQL 结果的自然语言。那么未来我们需要什么,或者说下一阶段数据库领域的产品形态和交互方式会是什么样?我想我们可以从最流行的应用Discord中找到一些灵感和参考。例如,使用Midjourney或微软发布的Copilot系列,我认为它们都是基于聊天到交付(C2D)概念。也就是说,在和大模型沟通的时候,Prompt本身就是在为最终的交付而努力。毕竟,一切都是为了“结果”。
如果我之前说了这么多,那么DB-GPT的未来愿景是什么?换句话说,经过多年在这个领域的个人经验,我的愿景是什么?是的,我们的愿景是让数据库在世界各地更易于使用。我对这个愿景思考了很长时间。其实一开始我想参考阿里巴巴的愿景:世界上不应该有难用的数据库。但仔细想想,我们并不是在做数据库工作,而且我们的能力是有限的。这样喊口号显得无知、傲慢。但我们已经有了像DB-GPT这样的好名字,所以我们不需要一个有趣的口号。我真的很后悔这个项目的名字。但我们的项目才刚刚开始,一切才刚刚开始。对于未来,我们还要继续探索、努力、与更多同行一起认可、见证。因此,我们的愿景 是让世界数据库 更易于使用。我们还有很长的路要走,但我希望我们能够共同努力,让数据库在全世界更容易使用。
那么在我们的项目中,我们可以使用哪些技术和方法来让天下的数据库变得更简单呢?上面是我们的架构图。画功不好,总体画得比较潦草,但轮廓应该还算干净。
现在大语言模型最神奇的地方就是理解和推理的能力,这在某种程度上具有人类的能力。由于一个大的语言模型可以被认为是一个个体。我们的架构完全是根据人们的行为方式来定义的。我觉得人做一件事的时候,主要依靠两个技能。 1、了解知识。 2、使用工具。一旦我掌握了这两项技能,我意识到基本上很多问题都可以解决,而且我还可以一路进步。
所以有了这么好的模板,事情就变得简单了。该结构可以根据人复制。所以在上图中:
- 我们的左边是知识。知识经过组织、构建和嵌入后,存储在向量数据库中以供使用。
- 右边是目前最流行的Agent-Plugins机制的工具。不过,为了完全兼容开源社区,我们的设计也兼容langchain和Auto-GPT。
- 最大的榜样就是我们自己。为了环境私有化,我们坚持在大模型中寻找更好的开源模型,通过一定程度的微调可以释放出最好的能力。不过,为了充分测试各个模型的能力,我们使用了FastChat的多模型对话评估能力。毕竟大家说的好才是真的好。当然,目前的Vicuna-13b确实是最好的型号,可以使用大约20G的显存。其他模型要么太大,要么效果不佳。经过这段时间的测试,我个人认为10B级型号是私有化安装的最佳选择。
- 提示是与大模型交互过程中非常重要的一环。提示在某种程度上决定了大型模型生成的响应的质量和准确性。因此,在我看来,当大模型能力达到一定程度,比如存在COT(思维链)能力之后,提示方法比FT方法更重要。领域知识在某种程度上是通过知识库+提示的组合来构建的,以使大型模型发挥作用。可能不建议对小场景进行训练。因此,在DB-GPT项目中,我们根据用户输入和使用场景自动优化合适的提示,让用户更轻松、更高效地使用大语言模型。
AIGC时代数据库的挑战与机遇
这是最好的时代,也是最坏的时代。在变革浪潮中,挑战与机遇必须并存。随着大模型带来的加速效应,生活的各个领域都会比以前更快,数据库领域也是如此。作为数据库领域的从业者,相信最近大家都在关注向量数据库。许多国内外公司都在积极拥抱这个新兴的载体数据库,当然它的影响力也与日俱增。在这个过程中,对传统数据库的挑战是巨大的。我们都知道,目前一些最著名的数据库,比如MySQL、PG、MongoDB、Redis、OceanBase、TiDB等著名的大项目,都是随着互联网的浪潮而发展起来的,包括与大数据相关的数据库。之后。有机产品。因此,趋势的强度非常重要。我认为这是有可能的。
关于挑战和危险。我想修炼者或多或少应该有这样的感受。 Oracle一直是数据库领域的绝对主宰。在甲骨文和IBM基于深入的、基于行业的解决方案构建产品的时代,他们堆积了很高的行业壁垒。当时投入人力专门跟进、深入打造项目和解决方案的想法或多或少有些超负荷了。毕竟人工成本确实增加了不少。
随着AIGC的浪潮,无数新星将会诞生。这些后起之秀肯定会与现有产品竞争。为什么这么说?因为数据库回归到了它最本质的能力,那就是存储和搜索。由于目前的分布式数据库可以同时处理TP和AP,因此新兴的矢量数据库站在了巨人的肩膀上。在消费AIGC时代需求的同时,还可以处理关系数据库的功能。在现有数据库不断兼容并挑战传统数据库厂商的同时,他们也必须考虑未来和新时代的需求。如果你只专注于吃巨人留下的食物残渣,你就会错过一个更大的时代。确实不划算,我认为这是危险的。
关于未来
事实上,大模型出来后,很多人都表示担心它会被取代,包括我,但随着我们深入下去。通过使用和探索,我的看法逐渐改变了。我看到 GPT 确实打开了新世界的大门。以我们社区中的一位朋友为例。他通过ChatGPT接口开发了几个非常有趣的应用程序,例如翻译支持系统(bilingual_book)以及如何将大型模型与硬件结合起来使硬件变得更加智能。转换(xiaogpt)和单词记忆系统(duolingo_remember)。当然,还有非常酷的 2023-get_up,它会自动记录你每天起床的时间,然后结合 AI 图像写下一首诗,开始新的一天。所以,在大模特时代,我们不缺机会,不缺有趣的灵魂。我们要完全开放,和这些有趣的人同行~
我绝对不知道数据库以后会往什么方向发展。但我明白一件事,很明确,我一定会顺势而为。那么什么是浪潮?我理解Inspurt是一种需求,一种面向未来的强烈需求,而对这种需求的解读不能只关注数据库本身。其实我觉得这几年数据库领域的发展,尤其是国产数据库的发展并不尽如人意。近年来,国内数据库的发展可以说是蓬勃发展,技术力量也突飞猛进。但回归到业务本身,也存在着许多不容忽视的困难。近年来国内数据除了技术力有比较明显的提升外,在商业化或者商业生态的方向上基本没有明显的进展。由于中国缺乏SaaS生态系统,专注于开源的战略很难找到盈利模式。通过以项目和解决方案为中心的方法,项目执行成本和利润永远不会下降。
如今,尤其是国产数据库,拥抱下一个大浪潮,以更大的需求寻找突破,是必然的选择。同时,在国内整个科技生态圈中,希望大家能够多做一些对长期有利的事情,少一些追求短期利益。云提供商应该构建更多的生态系统。核心平台的开发者应该建立更多的标准和连接。大时代到来之前,不要在开始之前就考虑如何盈利。如果我们多修一些桥梁、多修一些路,将来我们一定会有很多机会。
版权声明
本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。