生成式 AI 时代的数据库:Databend 与大模型的融合探索
Databend7月 30, 2024
生成式人工智能(Generative AI)近年来快速崛起,从图像生成、自然语言处理到个性化推荐系统,生成式 AI 的应用范围越来越广泛。 在这其中,数据可以说是企业在生成式 AI 时代取得成功的关键,每个公司都能访问相同的基础模型,但那些能够利用自己的数据构建具有真正商业价值的生成式人工智能应用的公司,将会是成功的公司。当前,生成式人工智能 (AI) 的整合正在重塑数据技术的未来。伴随着这一技术的迅猛发展,对数据库系统提出了新的要求和挑战。本文将探讨生成式 AI 对数据库的影响、当前数据库厂商在 AI 融合方面的探索、未来趋势以及 Databend 在大模型融合中做出的探索。
生成式 AI 是一类通过学习数据分布来生成新数据的算法。其核心是生成模型,如生成对抗网络(GANs)、变分自动编码器(VAEs)和最近备受瞩目的 Transformer 模型。生成式 AI 不仅能够生成逼真的图像和文本,还可以用于数据增强、仿真和预测等多种应用。
如今在数据库圈里,AI 几乎是一个流量密码,大家的共识就是如何借用大模型提升数据库体验或性能。作为数据工作者,我们也一直在进行大模型应用的探索。随着生成式 AI 的普及,数据的种类和规模正在呈指数级增长,生成式 AI 对数据库系统也提出了一些新的要求:
- 数据存储与管理:生成式 AI 模型训练需要大量的高质量数据,这要求数据库系统具有强大的数据存储和管理能力。同时,生成模型生成的数据也需要有效地存储和索引,以便后续使用和分析;
- 数据处理与分析:生成式 AI 模型在训练过程中需要进行大量的数据预处理和特征工程。数据库系统需要提供高效的数据处理能力,以支持大规模数据的快速处理和实时分析;
- 数据安全与隐私:生成式 AI 模型可能生成包含敏感信息的数据,因此,数据库系统需要加强数据的安全性和隐私保护,防止 数据泄露和滥用。
数据技术与大模型的融合探索
面对生成式 AI 带来的挑战,不少数据库服务商已经开始探索与 AI 技术的深度融合,有来自云厂商的数据库,也有来自独立的数据库、大数据平台,都在致力于探索如何基于机器学习与 AI 能力,提升数据库系统的性能和功能。下面列出的是我们认为在数据领域进行 AI 应用探索较有代表性的数据库服务商:
- Snowflake:Snowflake 是一家数据库领域关注度非常高的公司,于 2020 年上市,目前市值 455.97 亿美金(2024.7)。该公司一直在积极布局数据和人工智能领域,2023 年完成了对企业级 AI 搜索引擎 Neeva 的收购,并在 2024 年第一季度宣布 CEO 更换为原 Neeva CEO Sridhar Ramaswamy,以抓住人工智能和机器学习的机遇。此外,Snowflake 在 2023 活动中发布了全托管服务 Snowflake Cortex,允许用户访问行业领先的大型语言模型、AI 模型和矢量搜索功能,所有用户能够利用其企业数据,来安全地利用生成式人工智能技术提供的生产力,且使机构用户能够更轻松地在数据云中发现、分析和构建人工智能应用程序。Snowflake 的这些布局印证了数据仓库正在朝 AI 方向发展,抢先在这一领域布局对数据库公司未来战略具有重要意义;
- Google BigQuery:作为 Google 的云数据仓库解决方案,BigQuery 预集成了强大的机器学习功能,使用户能够直接在数据库中训练和部署生成式 AI 模型。此外,BigQuery 还提供了 AutoML Tables 等工具,简化了 AI 模型的开发和部署过程。Google 也通过发布 Gemma 进入开源大模型的竞争,凭借 70 亿参数碾压 Llama2-13B(130 亿参数);
- Databricks:Databricks 是一家面向企业的初创公司,提供了 一个基于 Apache Spark 的大数据分析平台。今年 3 月,Databricks 公布了旗下开源大语言模型 DBRX,参数规模达到 1320 亿,表现更是超越 Meta 的 Llama2、Mistral AI 的 Mixtral,xAI 的 Grok-1。Databricks 的企业客户可以在其平台上利用 RAG 系统中的长上下文功能,用自己的私有数据构建一个自定义的 DBRX 模型。Databricks 的 Lakehouse 架构整合了数据湖和数据仓库的优点,使得用户可以在同一平台上进行数据存储、处理和分析。通过与 MLflow 和 Delta Lake 的集成,Databricks 为生成式 AI 模型的训练、管理和部署提供了强大的支持;
- TiDB:TiDB 是国内数据库厂商 PingCAP 开发的一款开源分布式 NewSQL 数据库。它在水平扩展性和高可用性方面表现优异,特别适合大规模数据处理。TiDB 在今年推出了向量搜索(beta 版),它以一种数据库插件的形式提供了一种高级搜索方案,用于对各种数据类型(包括文档、图像、音频和视频)执行语义相似性搜索。此功能使开发人员能够使用熟悉的 MySQL 技能轻松构建具有生成人工智能 (AI) 功能的可扩展应用程序;
- Databend:Databend 是一款基于存算分离架构的新一代云原生数据仓库,专注于高性能和弹性扩展。Databend 通过其优化的存储和计算引擎,提供了对大规模数据处理的支持。通过与 AI 和机器学习工具的集成,Databend 使用户能够高效地在私有数据上进行生成式 AI 模型的训练和推理,同时保证数据的隐私性和高可用性。
随着数据库厂商在生成式 AI 技术的不断探索中,我们看到数据库系统在以下几个方面呈现出新的潜在价值:
- 自动化与智能化:数据库系统将进一步实现自动化和智能化,通过 AI 技术自动进行数据管理、优化和安全保护,从而降低运维成本和复 杂度;
- 自然语言查询: 生成式 AI 的一大特点就是可以理解人类的自然语言,并将其转化为各种代码及结构化查询语言,使得一些不那么专业的用户也能轻松使用数据库进行复杂的查询和分析。这个场景目前也是很多数据库公司较为热门的应用,很多数据库公司推出了 Chat2Query、TxT2SQL 等自然语言到 SQL 的转化工具,但这个应用的准确性仍然具有较大的挑战,目前还很难落地到生产环境中;
- 数据清洗和标准化: 数据清洗是一个高度重复的任务,现在的生成式 AI 能够快速理解多种数据格式和上下文信息,可以更高效地取代人力执行此类任务;
- 实时处理与分析:现在,数据库系统更加注重实时数据的处理和分析能力,通过生成式 AI 模型,系统可以在实时数据流中进行即时预测和决策。例如,在电商平台上,生成式 AI 可以实时分析用户行为,生成个性化的产品推荐,提高用户体验和销售转化率;
- 多模态数据支持:生成式 AI 应用涉及文本、图像、音频等多种数据类型,未来的数据库系统将加强对多模态数据的支持,实现对多种数据类型的统一存储和处理;
- 隐私保护与安全:随着数据隐私和安全问题的日益突出,数据库系统须加强对数据隐私的保护。
作为一家技术领先的数据仓库提供商,Databend 一直都在思考 AI 如何与大数据技术进行融合,下面是我们在与大模型融合过程中做的一些探索。从时间顺序来看,探索和尝试大致可以分成两个阶段:
2023:第一阶段探索
在 2022 年 ChatGPT 推出后,Databend 的数据库设计团队开始了 Databend 探索的第一阶段,将强大的商业大模型能力引入到数仓,比如使用 OpenAI 的 API 向量化,做一些 RAG 的工作。用户可以把自己的知识库存储在 Databend 中,Databend 可以结合 embedding 去查询,帮助用户实现一个 RAG 解决方案。AskBend 就是 Databend 实现的一个 RAG 解决方案,用户可以对 Databend 文档进行提问,它可以给出一些基于 Databend 文档的回答。
OpenAI 大模型刚出来的时候大家都很兴奋,很多公司推出了引入 OpenAI API 的各种服务,但这种模式也存在一些问题,最突出的就是数据隐私和成本控制等问题。在这种模式下,数据必须上传给 OpenAI,无法保证企业的数据隐私;此外,使用 OpenAI 的成本很高。假设你的数据量有几万或者十几万,光调取 OpenAI API 的成本就已经很高,再加上 tokens 的成本一天至少也得几十或上百美元。而在 OpenAI 停止向中国区用户提供服务后,如果 SaaS 产品集成了 OpenAI 的能力,在合规性上也是一个很大的风险点。
2024:第二阶段探索
2024 年,随着更多大模型涌现以及能力的升级迭代,Databend 对大模型的探索进入了第二阶段,开始尝试探索使用 Hugging Face 开源大模型来做 RAG 以及数据清洗,解决数据隐私和成本问题。在这个过程中,我们基本确定了 “Data + AI”模式中大数据的未来应用趋势,AI 分析适合小数据量场景,Data Warehourse 的数据分析则逐渐趋向于中大型数据量场景。 探索一: 轻量数据分析
在小数据量场景中,我们开始尝试 Kimi 和 OpenAI 做一些大数据分析。事实证明,在在小数据量的场景中,目前大模型的分析能力已经很强大了,可以满足技术小白,不精通 SQL,甚至不会用数仓的用户数据分析需求。
在传统数仓中,如果想进行大数据分析,首先需要根据需求写出 SQL,并在数仓 中执行,输出的结果再接入 BI 中进行图形化展现。而如果使用 AI,完全可以使用自然语言进行数据分析。AI 会根据你给的 prompt 自动生成出 Python 脚本,然后运行这个 Python 进行数据分析。
举一个例子,比如你有一个分析任务,需要向 AI 提出问题“你是一名数据分析师,分析近一年的每日温度变化趋势,并找出极端天气。如遇高温低温,用图表展示出来”。以 ChatGPT 数据分析模型 Data Analyst 为例,当把上面的 prompt 给它后,Data Analyst 会先写一段 Python 代码,并尝试运行。目前 ChatGPT 写的 Python 还并不一定是准确的,但它在后台中有一个 Python 解释器,会根据错误不停迭代,最终生成一个正确的 Python 脚本。同时,Data Analyst 还支持数据可视化,可以创建折线图、条形图、直方图、散点图等各类图表。这个过程其实和在数仓里写 SQL,进行数据分析,再用 BI 进行可视化展示非常像。如果你是一个小白,只要分析的数据量不大,都可以上传给它,CSV 或 Excel 都支持。甚至还可以挂云存储,比如 Google driver。它可以基于你自己的数据,根据你的提问,给出数据分析结果。
但 AI 的数据分析能力目前还无法处理大数据量的场景。最近 OpenAI 收购 Rockset 其实也是想将大模型与实时数据结合,Rockset 可以实时地处理一部分数据,剩下的再用 AI 推理。它可以把数仓里面的 SQL 能力,计算能力推给 AI,然后由 AI 帮忙写代码,再去实时数仓里调取相应的 agent 进行任务编排和执行。
探索二: 数据清洗任务
Databend 在这个阶段做的另一个探索是用大模型实现 ETL,包括数据清洗、数据分类打标签等任务。我们在第一阶段探索中遇到的问题是引用 OpenAI 服务无法应对数据隐私和成本挑战,所以在这个阶段中 Databend 开始探索使用 Hugging Face 开源大模型来做 RAG 以及数据清洗,可以完美解决上述问题。
在尝试了通义千问 2、Deepseek 几款开源大模型后,我们发现开源大模型的能力其实已经很强了。尤其是千问 2,我们以千问 2-7B 模型为例进行了部署。它对硬件要求不高,GPU 内存只需要十几 GB。如果想获得更强大的 AI 能力也可以考虑 70B 模型,但也需要更高的资源配置。
与之前不同,我们在这次探索中改变了融合大模型的模式,不再基于 Databend 的 Query 内部运行 AI 集群,而是通过 Databend 的 Item Function Server 模式连接开源大模型,Databend 只需要定义一个 Function 的 API。部署好后,用户就可以在云上自动连接大模型。即使未来有千问 3 或其他更好的开源大模型,也可以很方便地切换,并且全部的数据处理都在自己的机器上,不但解决了数据隐私、合规性的问题,还实现了成本可控。如果用户需要,我们甚至可以单独给用户部署一套。
目前,我们基于这个 AI Function 实现了以下能力:
- ai_text_similarity:文本相似度;
- ai_mask:数据脱敏处理,用于保护敏感信息,如地址和电话号码。如果像以前靠人力的话,数据量很大的情况下需要很重的人力,AI 做这件事可以大大提高效率;
- ai_extract:实体提取处理,从文本中识别和提取特定的实体信息。比如说你的数据里包含有地址、性别这些实体信息,这个功能就可以将含有这些信息的数据提取出来;
- ai_sentiment:情感分析(positive/negative/mixed),用于判断文本的情感倾向。比如电商里有一些评论,该能力就能判断这些数据的情感方向;
- ai_classify:归类处理,根据预定义类别对文本进行分类;
- ai_translate:翻译,将文本从一种语言转换为另一种语言;
- ai_generate:内容生成
这些能力基本上都属于数据清理任务,用 AI 代替人类,可以大大节省人力成本。在整套方案的实现中,我们进行了多项优化工作,如对 UDF Server 做了一些改造,以往传统的逐行处理方式效率低下,改为批处理模式后,大大提升了数据处理的效率;通过向量化技术改造原始模型,使其更适合在低配 GPU 上运行,降低了运行成本等等;实现了精细的计费和监控机制,确保资源使用的透明性和成本控制。目前,这些能力我们还没有开放体验,稍晚点会开放出来。
在第二阶段的探索中,Databend 重点关注了数据清洗和数据处理功能的实现。这些功能展示了 AI 在大数据处理中的潜力,特别是在减少人力和提高效率方面。未来,Databend 将继续探索 AI 在大数据中的应用,进一步优化和完善系统。
结语
生成式 AI 时代的到来,为数据技术的发展带来了新的机遇和挑战。通过深入融合生成式 AI 技术,数据库可以在数据存储、处理和分析方面实现更高的性能和智能化。然而,面对数据质量、计算资源、模型解释性和隐私安全等问题,我们仍需不断探索和创新。未来,随着技术的不断进步和应用的广泛推广,生成式 AI 与数据库的融合必将带来更多的可能性和变革。
以上就是 Databend 在与大模型融合探索中的一些经验和成果,希望对大家有所启发,欢迎提出问题和讨论。
订阅我们的新闻简报
及时了解功能发布、产品规划、支持服务和云服务的最新信息!