AIGC时代,对于数据库领域的一些思考

2023年 7月 10日 29.5k 0

大模型时代已开启,无论是底层模型还是上层应用,都开始大规模涌现,忽如一夜春风来。“软件生态进化论”者认为,在 AIGC 时代,所有的应用都将被重新定义。那么,数据库这样的基础软件呢?

其实在写这篇文章之前,我们已经发起了一个数据库领域的DB-GPT项目,最近项目也引起了极大的关注,在占领 GitHub Trending 之后,又登上了 Hacker News 首页,GitHub Star 增长曲线极为陡峭,自从5月6号发布第一个版本以来, 不到一个月就突破了3.3k star,而且仍然在一路高歌猛进。

AIGC时代,对于数据库领域的一些思考

源起

其实相对来说,我个人开始深度关注GPT是相对较晚的。 最早我是开发出生(搞3D模型渲染与VR,当时是15、16年,酷的不要不要的 ),后面一路跌跌撞撞去搞PAAS平台,在到后来带数据库相关的团队。 这一路上我搞过VR、区块链、AI、数据库,从开发到运维啥都搞过一点,也算是比较能折腾的一个人,对新的技术也是一直保持着好奇。 因为之前我也搞过一点点AI相关的工作嘛,对机器学习跟深度学习也有一些体验跟认识,所以在潜意识里还是有一些固有的观念,思想还停留在AI技术是按场景深度定制与调优的阶段。这在一定程度上阻碍了我对新技术的嗅觉,让我不是第一批进入的那波人( 固化思维真可怕,错过了暴富的机会呀)。

到二三月份的时候,ChatGPT已经非常火了, 一些基于ChatGPT的非常有趣的应用喷涌而出,GitHub也长期被这些有意思的项目霸占榜单, 这时候我那颗躁动的心就开始不安了,然后下定决心去深入学习GPT,三月份大家也知道LLMs领域是非常热闹的, ChatGPT-4的发布、微软Copilot的发布、LLaMA的开源、国产一众大模型的邀测,以及技术圈的大牛们相继开始拥抱AI浪潮,加入到大模型的创业之中, 可以说三月份是一个比较大的高潮吧。与我个人而言,除了看热闹之外,就是埋头扎根学习。 从理论到实践,当然这一路过来付出肯定是少不了的。这两三个月的时间,基本都是保持在9-2-7的状态,个人的设备也是一路升级。从1080的游戏卡,到现在的RTX 4090。在4月初的时候,我写过一篇文章,主要是介绍GPT的原理以及基于LLaMA的Alpaca模型LoRA微调实践。 到4月底的时候,基本主要的开源大模型都已经实战跑过一遍了。 这个时候也有了一些个人的想法。当然了这时候也陆续出现了Auto-GPT、Langchain、GPT-4 Plugin等相关做连接跟工具的项目,这在一定程度上给了我很大的启发。

在大模型这个领域,在即将到来的生态里面。 除了深入算法核心理论,做技术跟效果,还有一条路,那就是定义框架标准做标准跟连接,我们开往大海航时代的小船,扬起风帆,出发了~ (尽管船上还没几个人,但我们相信,愿力会让更多的人,与我们同行)

我们的愿景

其实在数据库领域,有非常多的产品,同时新的技术与创新产品也一直是层出不穷。 这导致了什么问题呢? 我个人总结有两个方面 1. 学不完的新技术与特性。 2. 建不完的管控运维平台。 基于这样的背景, 我们构思了DB-GPT一期的架构方案。 但随之而来的,又有一个新的问题需要回答。数据库这么隐私的领域,用户的环境、数据、甚至一张表结构的定义,都需要严格守护它的隐私跟安全,我们怎么才能更好的让大家在保障隐私安全的前提下,更好的解决这些痛点问题呢?

这里我们的理念是技术的绝对开放、环境的绝对私有。

这句话怎么解读呢?在我们的项目中,关于技术能力的建设采用完全开放、开源的思路,从第一行代码开始就开源,完全基于开源的生态,结合最好的技术,来打造通用的工具平台。 那么私有又是什么? 私有顾名思义, 在数据库这个敏感的场景,数据安全是重中之重。 我们强列希望,这套工具可以完全私有化的部署在用户本地,不受任何外部的侵入与掌控。

其实随着大模型的发展,大家也都明显意识到大模型带来的变革。 在数据库这个领域大家当下做的最多的应用与尝试,当属Text2SQL这个方向, 即根据自然语言生成SQL语句。 顺着这个思路,我们不妨在深挖一下。 从文本生成SQL这个产品本质想解决的问题是什么呢? 我理解是数据库的易用性,毕竟学习写SQL本身就有一定的成本,一直以来也算个技术活。 如果能把这一层问题解决掉,可以直接从自然语言生成SQL,那也就意味着有更多的人可以使用数据库这个产品,当然不可避免的,专门写SQL的这群人,需要重新寻找自己的定位。但总体来讲,从一小群人到所有人,用户受众有了指数级的增长~(格局打开)。

那么既然随着大模型的发布迭代,整个交互的方式都会发生变化,从自然语言到SQL一定只是一个中间阶段的产物, 因为在DB-GPT项目中,我们已经可以直接从自然语言到结果了。 那么面向未来我们需要什么,或者下个阶段数据库这个领域的产品形态或者是交互方式是什么样的呢? 我觉得我们可以一定程度上从Discord中,最流行的应用中,找到灵感与参考。比如Midjourney的使用,或者微软发布的Copilot系列,我觉得都是一种聊天即交付的理念, 即Chat to Delivery(C2D) 。 或者说我们跟大模型交互过程中Prompt本身,都是在为最终的交付而努力。 毕竟一切都是为了"果"。

AIGC时代,对于数据库领域的一些思考AIGC时代,对于数据库领域的一些思考

前面讲了这么多,那么DB-GPT的愿景到底是什么呢? 或者说我个人在这个领域经历多年之后,我的愿景是什么呢? 是的,我们的愿景是: 让天下的数据库更易用。 关于这个愿景,我也是思考了很久,其实一开始,我是想着参考阿里巴巴的愿景: 让天下没有难用的数据库。 但思来想去,我们一不是做数据库的,二能力又有限。 这么喊口号,多少有些不知天高地厚, 显得无知轻狂。 但我们已经占了DB-GPT这么好的名字了,不想个有意思的口号,着实对不起这个项目名字。 但我们的项目刚刚起步, 一切都刚刚开始,对于未来,也还需要与更多的同行者一起去探索,去努力,去实现,去见证。 所以我们的愿景,是让天下的数据库更易用。前路漫漫,愿我们能够戮力同心,一起努力,让天下的数据库更易用。

AIGC时代,对于数据库领域的一些思考

那么在我们的项目中,我们是通过怎样的技术与手段,可以使得让天下的数据库更易用呢? 上面是我们的架构图,画功不好,整体比较潦草,但条条框框应该还是清楚的。

大语言模型最近最认为神奇的地方,就是它理解、推理能力,确实一定程度上具备了人的能力。 既然大语言模型可以看成是个人。 那么我们的架构也就完全参考人做事的方式来进行定义了。 人做一件事情,我认为主要借助两能力。 1. 学习知识。 2. 使用工具。 有了这两个能力之后,发现基本很多问题都能解决, 而且还能一路成长。

那么既然有这么好的范本,那事情就变得简单了,架构按照人来抄。 所以在上图中:

  • 我们左侧是知识,通过对知识的整理、构建、Embedding之后,存储到向量数据库中,以备使用。
  • 右侧我们是工具,即目前最流行的Agent-Plugins这套机制,同时为了充分兼容开源社区,我们在设计上,也兼容了langchain跟Auto-GPT。
  • 大模型是我们的核心,为了确保环境可以私有化,我们在大模型坚持从开源中找更好的模型,通过一定程度的微调,把最好的能力放出来。 同时为了充分测试各个模型的能力,我们使用了FastChat多模型对话评测的能力,毕竟大家说的好才是真的好。 当然目前Vicuna-13b,确实是可以在20G上下的显存上跑起来的,效果最好的模型了。 其他模型要么过大,要么效果不好。 经过这一段时间的验证,我个人认为,10B级模型是私有化部署最好的选择了。
  • prompt是与大模型交互过程中非常重要的部分,一定程度上Prompt决定了大模型生成答案的质量与准确性,所以我的判断,在大模型能力达到一定的水平之后,比如具备COT(思维链)能力之后,prompt的方式比FT的方式更重要。 一定程度上领域知识的构建,就是通过知识库 + prompt的结合来进行让大模型工作的。 面向小场景的Training,或许可能并不可取。因此在DB-GPT项目中,我们会根据用户输入与使用场景,自动优化对应的Prompt,让用户使用大语言模型变得更简单、更高效。
  • AIGC时代数据库的挑战与机遇

    这是一个最好的时代,也是一个最坏的时代。 变革的浪潮中,挑战跟机遇一定是并存的。 随着大模型带来的加速效应,各行各业的存与亡也都会比以往来的更快, 数据库领域亦如是。 作为数据库领域的从业者,我相信大家最近对向量数据库都有关注。 很多国内外的公司也都在积极的拥抱这个向量数据库这个新起之秀,当然其影响力也在与日俱增。 这个过程中,对传统数据库的挑战一定是巨大的。 我们都知道,像目前最出名的一些数据库,像MySQL、PG、MongoDB、Redis、OceanBase、TiDB这些有名的大项目,都是随着互联网的浪潮发展起来的, 包括后面催生出来的大数据相关的生态产品。 所以趋势的力量是非常重要的, 这个我认为是机。

    至于挑战,或者危。 我觉得从业者应该也或多或少都有所感受了。 数据库这个领域的绝对霸主一直都是Oracle,在Oracle、IBM那个以深入根据行业来构建解决方案来打造产品的年代, 他们积累了很高的行业壁垒。 那个时候沉淀下来的以人力来专项跟进,深入打造项目与解决方案的思路,放在现在或多或少有点不堪重负,毕竟人力的成本属实上涨了一大截。

    而随着AIGC的浪潮,会催生出茫茫多的新起之秀。 这些新起之秀一定会跟目前的产品发生竞争。 为什么这么说呢? 因为数据库回到最本质的能力,无非就是存与查。 既然目前分布式数据库同时能搞定TP与AP, 那么新起的向量数据库站在巨人的肩膀上,在吃掉AIGC这个时代的需求的同时,也能顺手搞定关系型数据库所具备的职能。现存的数据库在不断兼容挑战传统数据库厂商的时候,也需要面向未来的看看,新时代的需求,如果只顾着去啃食巨无霸们留下的边角料,而错失了一个更大的时代,属实有些不划算,这我人认为是危。

    关于未来

    其实大模型出来之后,很多人都表现出会被取代的担忧, 包括我也不例外,但随着不断的深入。在使用与探索的过程中,我的看法逐渐发生了变化。 我看到的是GPT真的打开了一扇新世界的大门。 以我们社区的有个小伙伴为例,他通过ChatGPT的接口,开发了很多非常有意思的应用,比如辅助翻译的系统(bilingual_book)、如何将大模型与硬件结合,让硬件更智能的小爱同学的改造(xiaogpt),还有背单词的系统(duolingo_remember)。当然还有酷到爆炸的每天自动记录起床时间然后写一首诗,并结合一张AI配图,开启崭新的一天的2023-get_up。 所以大模型时代,我们不缺机会,缺有趣的灵魂。 我们需要心态绝对开放,与这些有趣的人同行~

    未来数据库会朝着什么方向发展,我肯定是不知道的。 但有一点我理解是明确的, 一定会紧跟浪潮。 那么浪潮又是什么,浪潮我理解是需求,面向未来的强大的需求, 而对这个需求的解读也不能仅仅只关注数据库本身。 其实这些年数据库领域的发展,尤其是国产数据库的发展,我觉得是不尽如人意的。 这些年在国产数据库的发展,表面上看可谓是百家齐放,技术实力也都突飞猛进。 但回到商业本身,就又多苦水。 这些年国产数据除了在技术实力上面有比较大的改善之外, 在商业化方向,或者商业生态里面,基本没什么明显的进步。 以开源为主的打法,苦于国内没有SaaS生态,难以找到盈利模式。 以项目与解决方案为主的打法,项目实施成本与边际效益始终降不下来。

    所以到今天,尤其是对国产数据库来讲,拥抱下一个大的浪潮,在更大的需求中寻求突破,是一道必然选择。 同时在国内的整个技术生态里面,希望大家能够多干利于长远的事,少追求的短期的利益。 做云的厂商,多建生态。 搞基础平台的,多建标准与连接。 在一个大的时代面前,不要还没开始,就想着怎么盈利。 多修桥铺路,未来肯定有大把的机会。

    相关文章

    Oracle如何使用授予和撤销权限的语法和示例
    Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
    下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
    社区版oceanbase安装
    Oracle 导出CSV工具-sqluldr2
    ETL数据集成丨快速将MySQL数据迁移至Doris数据库

    发布评论