大模型时代数据库技术创新

news2024/10/7 15:29:35

本文整理自 2024 年 6 月 ArchSummit(深圳站) Data4AI 和 AI4Data 方面的探索和实践案例专题的同名主题分享。


大家好,我今天讲的内容总共分为三部分,先是数据库和大模型的演变历程,尤其是两者的结合的过程。然后在分别介绍向量数据库,以及大模型在数据库运维应用结合的实践经验。

图片

1    数据库与大模型

首先是第一部分,数据库和大模型的演变历程。

讲这些之前,先简单回顾数据库的发展历史。在 IT 行业,数据库有超过 70 年的历史了,对于快速发展的 IT 行业来说,一个超过 70 年历史的技术,感觉像恐龙一样。

但是我们会看到在过去的 70 年里面,从最早的大型机再演变到后面的小型机,PC 服务器,数据中心 + 互联网,云,以及现在的 AI 时代。数据库在不停地演变和革新,每隔一段时间,新的硬件,新的应用就会催生新的数据库技术。

所以每个时代都会有不同的当红数据库。像 PC 时代的 Oracle,互联网时代的 MySQL,云时代的云数据库。

到 AI 时代硬件演变成了 GPU + CPU,应用变成了 AI 原生应用,像微软的各种 Copilot,创业公司 Midjourney 等等。在大模型时代,数据库这个领域当前最红的就是向量数据库,以及通过大模型加持的各种智能运维能力,比如百度智能云的 DBSC。DBSC 是数据库智能驾驶舱的英文缩写,我们取名叫数据库智能驾驶舱,寓意就是像给数据库也和电车一样有一个智能驾驶舱的能力,实现一定程度的自动化,改善体验,降低门槛。

图片

其实 AI 和数据库结合是老生常谈。那为什么现在工业界比以往要更兴奋?主要原因还是大模型今天表现出理解、生成、推理、记忆四大能力。

这和以往 AI 还是有本质的提升,大模型和数据库的结合相比以前的 AI 技术,让场景更通用、能力更实用。所以说大模型二次激发了数据库和 AI 结合的浪潮。

图片

讨论这个之前,我们先来看下大模型技术栈。

IaaS 这一层发生了很大的变更,从原来的以 CPU 为中心,演变成现在 CPU + GPU的模式。

PaaS 这一层有大模型,以及配套的工具链 Model Builder。为了应用实现的更简单,还有 Agent Builder 和 App Builder 等等。

向量数据库在 PaaS 这一层,通常向量数据库厂家还会带一个 RAG Flow,方便用户快速构建 RAG 应用。

而刚才提的数据库智能驾驶舱,属于 SaaS,是大模型和数据库结合的一种应用形式。其他的 SaaS 还有很多原生的 Agent、私有知识库,以及被大模型改造过的传统应用等等。

图片

2    DB4AI:向量数据库

接下来我们分别讲讲这两大块,首先是向量数据库。

向量数据库不是一个新技术,2015 年的时候 Facebook 就在开发相似度检索库 Faiss,这个也是目前很多向量数据库最早演变的基础。综合下来,向量数据库主要有三个场景

  • 首先是相似度检索,这个场景以向量检索能力为主。主要应用在多模态检索,推荐系统,分类系统里面。这些内容,熟悉的同学肯定立马反应过来在互联网里面电商等,政企里面公安等场景广泛有应用。

  • 第二个是语义检索,这个应用到文本和向量的混合检索,需要用到多路召回的能力,有语义排序模型一起。主要是企业内部搜索场景。

  • 第三个是现在比较火的 RAG 场景,RAG 是检索增强生成技术,利用到向量加持大模型,让大模型给出的结果更准确,主要应用各类知识库,客服,大模型记忆问答场景。

图片

大模型效果让人惊艳,但是还是存在知识更新不及时,容易幻觉,没有内部知识的原因,所以带火了 RAG 技术,根据现在调查,目前超过 80% 的落地应用基本都是 RAG。RAG 是检索增强生成(Retrieval-augmented Generation)。利用向量相似度检索技术搜索文档,然后组合成 prompt 喂给大模型,大模型再生成最终的答案。这就规避了刚才讲到的大模型几个典型问题。RAG 是一个非常实用的技术。

但是要做好 RAG 要经过数据提取、数据索引、检索、生成四个阶段,每个阶段都有不少难点。我这里简单提一下给大家做参考:

  • 首先是数据提取。核心是要把各种结构化,非结构化数据能提取出来,用于后面的处理。这里的复杂度主要是:

    • 文件格式复杂,以 pdf 为例子,不光有文字,还夹杂有图表,图片里面又有文字。

    • 文件有上下文,要把上文相关的元信息提取出来,后面就更容易处理。如果不提取元信息,那下一步数据分块,就容易切分错误。

  • 其次数据索引。这一步做好文档的切分, embedding 模型,把文件 embedding 成向量,才可以把向量存到向量数据库里面去。这里的难点又有两个:

    • 数据切分,过大,过小都会有问题。所以一般是按照 300~400 个字节切分。还有处理更精细的,是按意图切分。

    • 另外就是 embedding 模型,文本类的有 BGE,openAI 的 text-embedding-3;文图关联的只有 CLIP。现在这块的多模态模型是下一步重点。

  • 然后就是检索。检索主要分 query 预处理,召回两个步骤:

    • query 预处理主要的步骤是意图识别,同义词生成,专有名词生成等。
    • 召回主要就是向量数据库的工作,要支持向量检索,文本检索,多路召回能力,召回之后重排技术。
  • 最后是生成阶段。检索出来的结果在给大模型之前,还要 prompt 优化,包括 promot  加上 step by step ,针对场景的加上相应的提示词等。

  • 最后的结果依赖大模型的理解,生成,逻辑推理能力。大模型能力的强弱也直接决定 RAG 的效果。

所以大家会看到要把 RAG 作为大模型应用目前主要落地场景,但还是有非常多改进的空间的,这方面的创业公司也很多,技术发展也很快,机会很多。

图片

RAG 技术从业务逻辑上来讲,是对大模型最新的知识的补充,所以 RAG 未来的空间,核心是企业私有化知识到底多不多,有没有用于业务价值的地方。这并不取决于大模型本身能力发展到什么程度,大模型变得多智能。因为大模型再智能也无法获取私有的数据。

但是给大模型补充知识的方法有好几种,大模型精调,利用大模型长文本能力把数据全部 prompt 进去,以及 RAG。

最近国内外大模型厂商都卷起了长文本技术,国内国外的大模型都有很大的提升,长文本都支持到了 1M 甚至更多。把数据全部喂给大模型,这个好处是充分利用模型的推理能力,能实现更强的推理效果。但是 RAG 技术有以下几个显著的优势:

  • 成本更低,VectorDB 运算用的资源是 CPU,大模型是用 GPU 的,两者性价比差很远。

  • 性能好,尤其是响应的时延更好,这也是机制决定的,用过大模型的就是知道,大模型响应时延瓶颈还是比较大。

  • 问答稳定,数据库召回的每次结果都是稳定的,大模型回答存在随机性,还有幻觉问题。

  • 复杂问题解决的更好,比如安全问题涉及到复杂过滤,在 RAG 里面都可以有很好的解决方案,而大模型会比较难解决。

  • 定位问题方便,大模型还是黑盒,而 RAG 方案,整个过程都是可以追溯和分析的,可以更好的改进 corner case。

因此综合来说,RAG 在通用性,性价比上占据明显的优势。

图片

前面讲到 RAG 核心是解决大模型最新知识的补充问题,所以 RAG 里面最典型的场景就是私域知识库。

在这个场景里面,每家企业自己的私有数据通过 embedding 存在向量数据库里面,去做各种业务,比如智能问答,客服等等。

每家企业的数据是不一样的,部署的要求是不一样的。因此对向量数据库也有很多要求,需要能支持全生命周期的数据管理能力。技术上有很多关键的点要支持,比如

  • 各种版本管理,全量更新能力;

  • 复杂的查询,包括标量,向量的混合查询;

  • 公有云,私有化的部署,尤其是私有化上一般会有小型化的诉求。

我们还看到很多企业规划统一的知识库,这就要求向量数据库能有很强的扩展性,性价比,在私有化上有多租户的能力等等。

当然除了知识库场景, RAG 还能做大模型记忆库等其他场景。

图片

实现向量有很多种方案,到底是传统数据库上支持向量插件,还是在需要一个专业的向量数据库。我们现在实践下来的答案是需要一个专业的向量数据库。

相比专业的向量数据库,传统向量数据库在系统架构,索引,存储方案上都不是为向量专项设计的,所以优化起来会比较复杂。包括架构上,索引,存储方案都不是给向量准备的,从而导致写入性能,查询时延,并发效率都比较低。是很难满足大模型时代的要求,也是缺乏竞争力的。

图片

我们在实践中看到这些问题,因此我们全新自研了百度智能云 AI 原生向量数据库 VectorDB。主要的特点有四个方面

  • 首先是分布式架构,这是向量数据库的基础,分布式架构设计的好坏直接决定向量数据库的天花板,百度智能云向量数据库 VectorDB,支持百亿级的海量的存储,超过 4096 高维向量等等。

  • 第二个是高性能访问,这就需要深度的索引算法优化,目前我们支持比较全的种类开源算法以及我们自研的 puck 算法。性能上不管是时延,还是 QPS 等都相比开源综合下来要高 3~7.5 倍。

  • 第三个是,全栈的能力,E2E 方案。客户需要实现的是一个业务,所以不止向量数据库,是否全套的能力和方案很重要。目前我们支持主流的各种开源框架,还结合百度内部的 embedding 库等,实现更好的实体,短语的识别等等。

  • 最后是企业级能力上,尤其是弹性,高可用能力上。

综合来说,百度智能云向量数据库是一个成熟,功能齐全,性能卓越,简单易用的产品。

图片

接下来,我就深度解析下,百度智能云向量数据库 VectorDB 几个核心技术。

先用一张图来看下整体技术体系,VectorDB 是一个典型的全栈数据库体系,从接入服务、查询索引、数据引擎、分布式能力、向量索引,底层多种存储适配全栈能力,还有配套的生态集成、集群管理、平台管理能力。熟悉数据库的体系的同学就能知道,只有一个成熟的数据库,全栈的能力,才可以各方面都优化的很好,实现一个综合的效果。

图片

VectorDB 有三大核心能力和特点:

首先是成熟的分布式架构。向量还是一个偏 NoSQL 的场景,企业内部的数据可大,可小。所以我们利用原来多年积累的存储,数据库分布式经验,在系统的每一层都是可以扩展的:

  • 代理节点,这个是无状态对等的,同时支持自动的负载均衡。

  • 管理节点,通过 raft 协议做高可用,负责集群的拓扑,资源管理等。

  • 数据节点,复杂数据的增删改,查询和索引。支持自动的 failover 和弹性的伸缩能力。

成熟的分布式架构可以说是向量数据库的一切的基石,只有成熟的架构才能很好的支持高可靠,高可用,强扩展,大规模的能力。

图片

第二个是高性能数据引擎。

右边的图是 VectorDB 的数据引擎逻辑图。最核心的几个能力包括:

  • 支持强 schema 模型,同时支持标量和向量数据存储。

  • 支持二级索引,支持向量和标量的混合检索能力。

  • 支持行存,列存,行列混存多种模式。

  • 支持数据压缩能力。

  • 具备快照,多版本的恢复能力。

  • 能够硬件上充分利用芯片的指令集,编译器的能力,获得很好的性能。

我们通过从底到上,从芯片到架构的深度的优化实现了一个高性能的数据引擎。

图片

第三个就是向量和标量的混合检索。

在实践中,经常需要融合文本检索和向量检索的能力,向量解决近似查询,标量解决复杂条件过滤。

要很好的实现这点就要有多种的过滤机制:

  • 检索预过滤。

  • 检索时过滤。

  • 检索后过滤。

  • 按统计信息对索引进行不同的过滤机制。

图片

前面讲的核心机制,现在看看 VectorDB 和开源的对比。我们在相同的召回率条件下,整个 QPS 或者吞吐超越开源 3~7.5 倍。关于这个测试报告,大家可以在我们的 VectorDB 产品官网帮助中找到测试的规格、数据、测试代码,整个测试是可以复现。

图片

最后来简单总结下 VectorDB 核心优势,包括:

  • 远高于竞品的 QPS,以及降低超过 90% 的内存开销。

  • 全栈的能力。

  • 事务数据库级别的高可用能力。

  • 海量数据库存储检索。

  • 代码自研,兼容各种平台。

综合来说,百度智能云向量数据库 VectorDB 是一个成熟高效,综合能力领先的向量数据库。

图片

3    AI4DB:数据库运维应用

前面一起讨论了 RAG、向量数据库,接下来看数据库和大模型结合的另外一个方向 AI4DB,大模型赋能数据库运维应用,通过大模型改进数据库运维能力。

我们的产品叫 DBSC,中文是数据库智能驾驶舱。先用一张图来看下我们的数据库智能驾驶舱的能力全景。

整个服务包括数据库运维的方方面面,包括请求分析、智能运维、智能压测、数据库 devops 等。另外我们用大模型整体改造了产品的实现,让这些能力都能结合上大模型的能力,有更好的使用体验。

图片

大家可能会问,百度智能云这个产品和业界竞品的优势是什么。其实技术上不是这个产品的核心能力,这个产品和业界拉开差距的核心原因是要有积累大量的知识,其次才是将知识转化成产品能力。

百度和百度智能云在过去的 18 年的数据库使用和开发经验,服务了大量的客户,沉淀了多年的经验。现在我们将这些能力和经验沉淀在 DBSC 这个服务里面,免费开放给内外部客户。

这样 DBSC 就在支持内外部客户不停地开发、运维、和智能优化的过程中,又持续的将更多知识和能力沉淀下来,持续优化。这就形成了一个数据飞轮。用户越多,使用就越多,飞轮就会转的越来越快,服务的能力也就会进一步提升。

图片

智能领航员技术上简单说一下,就是用的 RAG 技术,embedding 模型用的文心千帆的 text 模型,向量数据库用的 VectorDB。用 VectorDB 存储积累的大量专业知识,所以用户使用下来,效果非常不错,根据我们的测试满意度 80% 以上。

图片

今天我分享的主要内容就是这些,最后我们简单畅享一下未来。大模型和数据库会持续结合,我们也看到了很多新的趋势,从底层的 IaaS,模型会从云端扩展到端;PaaS 会从现在纯文本模型扩展到多模态,上层应用会从当前主流的 Copilot 扩展到 Agent,更充分利用大模型的自主决策能力。谢谢大家!

图片

——————END——————

推荐阅读

低代码组件扩展方案在复杂业务场景下的设计与实践

通过搭建 24 点小游戏应用实战,带你了解 AppBuilder 的技术原理

基于 Native 技术加速 Spark 计算引擎

百度&YY设计稿转代码的探索与实践

如何实现埋点日志精准监控

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1891967.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

高浓度锡回收的工艺流程

高浓度锡回收的工艺流程是一个复杂而精细的过程,它旨在从废旧锡制品或含锡废料中高效、环保地提取出高纯度的锡。以下是对该工艺流程的详细阐述: 一、收集与预处理 收集:高浓度锡回收的第一步是收集废旧锡制品或含锡废料,这些材料…

【分布式系统】监控平台Zabbix自定义模版配置

目录 一.添加Zabbix客户端主机 1.服务端跟客户端配置时间同步 2.安装 zabbix-agent2 3.修改 agent2 配置文件 4.服务端安装 zabbix-get验证客户端数据的连通性 5.Web 页面中添加 agent 主机 6.监控模板 二.自定义监控内容 1.客户端创建自定义key 1.1.明确需要执行的 …

Http 实现请求body体和响应body体的双向压缩方案

目录 一、前言 二、方案一(和http header不进行关联) 二、方案二(和http header进行关联) 三、 客户端支持Accept-Encoding压缩方式,服务器就一定会进行压缩吗? 四、参考 一、前言 有时请求和响应的body体比较大,需要进行压缩,以减少传输的带宽。 二、方案一(和…

14-18 2024 年影响企业 GenAI 的关键技术趋势

现在,大多数 .com 公司已于 2023 年更名为 .ai,那么价值万亿美元的问题是:接下来会发生什么?哪些关键障碍、工具、技术和方法将重塑格局 企业 AI 的不同之处在于,它专注于可衡量、可管理的输出,企业可以控…

配置并调试后端程序(sql)

1.环境准备 安装VS Code和Node.js插件:确保你已经安装了VS Code和Node.js插件。创建launch.json文件:在你的项目中创建一个.vscode文件夹,并在其中创建launch.json文件。添加以下内容: {"version": "0.2.0"…

如何快速申请免费SSL证书,实现网站HTTPS安全传输

随着互联网技术的飞速发展,网络安全已成为不可忽视的重要议题。HTTPS协议,作为HTTP协议的安全版本,通过SSL协议加密客户端与服务器之间的数据传输,从而保障信息在传输过程中的安全性。对于网站运营者而言,为网站部署SS…

C# OpenCvSharp 实现Reinhard颜色迁移算法

C# OpenCvSharp 实现Reinhard颜色迁移算法 目录 效果 项目 代码 下载 效果 项目 Reinhard颜色迁移算法的步骤: 1、将参考图片和目标图片转换到LAB空间下 2、得到参考图片和目标图片的均值和标准差 3、对目标图片的每一个像素值,减去目标图像均值然后…

Unity动画系统(2)

6.1 动画系统基础2-3_哔哩哔哩_bilibili p316 模型添加Animator组件 动画控制器 AnimatorController AnimatorController 可以通过代码控制动画速度 建立动画间的联系 bool值的设定 trigger p318 trigger点击的时候触发,如喊叫,开枪及换子弹等&#x…

【中项第三版】系统集成项目管理工程师 | 第 2 章 信息技术发展

前言 第2章对应的内容大概率仅考察选择题,通读教程,速战速决。选择题分值预计在2-5分,属于必考的知识点。 目录 2.1 信息技术及其发展 2.1.1 计算机软硬件 2.1.2 计算机网络 2.1.3 存储和数据库 2.1.4 信息安全 2.1.5 信息技术的发展 …

表单试卷零代码搭建平台正式上线,支持源码部署

hi, 大家好, 我是徐小夕. 之前一直在社区分享零代码&低代码的技术实践,也陆陆续续设计并开发了多款可视化搭建产品,比如: H5-Dooring(页面可视化搭建平台)V6.Dooring(可视化大屏搭建平台)橙…

Facebook:数字社交的引领者与创新者

自2004年诞生以来,Facebook从一个校园网络项目迅速成长为全球最大的社交媒体平台,彻底改变了我们与世界互动的方式。作为数字社交的引领者和创新者,Facebook不仅在技术层面上不断突破,也在社会和文化领域留下了深刻的印记。本文将…

【代码随想录——图论——图论理论基础】

1. 图论理论基础 1.1 图的基本概念 二维坐标中,两点可以连成线,多个点连成的线就构成了图。 当然图也可以就一个节点,甚至没有节点(空图) 1.1.1 图的种类 有向图 加权有向图无权有向图 无向图 加权无向图无权无向…

LLM调优,大模型怎么学

背景 LLM Transparency Tool 是一个用于深入分析和理解大型语言模型(LLM)工作原理的工具,旨在增加这些复杂系统的透明度。它提供了一个交互式界面,用户可以通过它观察、分析模型对特定输入(prompts)的反应…

K8S学习教程(二):在 PetaExpress KubeSphere容器平台部署高可用 Redis 集群

前言 Redis 是在开发过程中经常用到的缓存中间件,为了考虑在生产环境中稳定性和高可用,Redis通常采用集群模式的部署方式。 在制定Redis集群的部署策略时,常规部署在虚拟机上的方式配置繁琐并且需要手动重启节点,相较之下&#…

C语言 指针和数组——指针的算术运算

目录 指针的算术运算 指针加上一个整数 指针减去一个整数 指针相减 指针的关系比较运算 小结 指针的算术运算 指针加上一个整数 指针减去一个整数 指针相减 指针的关系比较运算 小结  指针变量 – 指针类型的变量,保存地址型数据  指针变量与其他类型…

vue中使用 json编辑器

<template><div class"stringTest"><vue-json-editorv-model"vstringData" //编辑器中的内容:showBtns"false" // 保存按钮mode"code"lang"zh":expanded-on-start"true"json-change&quo…

Java项目:基于SSM框架实现的网上医院预约挂号系统【ssm+B/S架构+源码+数据库+毕业论文】

一、项目简介 本项目是一套基于SSM框架实现的网上医院预约挂号系统 包含&#xff1a;项目源码、数据库脚本等&#xff0c;该项目附带全部源码可作为毕设使用。 项目都经过严格调试&#xff0c;eclipse或者idea 确保可以运行&#xff01; 该系统功能完善、界面美观、操作简单、…

后端之路(集合项目)——结合案例正式搭建项目

在前面学完java后端的Maven、spring boot、Mysql、Mybatis之后&#xff0c;我们现在就应该集合它们开始搭建一个项目试试手了 这里我还是跟着黑马程序员的步骤来走好每一步&#xff0c;也给各位讲清楚怎么弄 先看一下这个图&#xff0c;觉得太笼统不明白的话不着急&#xff0c…

【工具分享】WSL

文章目录 WSL介绍安装步骤 WSL介绍 WSL 是 “Windows Subsystem for Linux” 的缩写&#xff0c;它是微软在 Windows 10 和 Windows 11 中引入的一项功能&#xff0c;允许用户在不使用虚拟机的情况下直接在 Windows 上运行原生的 Linux 二进制应用。WSL 提供了一个兼容层&…

【JVM系列】内存泄漏

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…