Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

长文本杀不死RAG:SQL+向量驱动大模型和大数据新范式,MyScale AI数据库正式开源

大模型和 AI 数据库双剑合璧,成为大模型降本增效,大数据真正智能的制胜法宝。

图片

大模型(LLM)的浪潮已经涌动一年多了,尤其是以 GPT-4、Gemini-1.5、Claude-3 等为代表的模型你方唱罢我登场,成为当之无愧的风口。在 LLM 这条赛道上,有的研究专注于增加模型参数,有的疯狂卷多模态…… 这当中,LLM 处理上下文长度的能力成为了评估模型的一个重要指标,更强的上下文意味着模型拥有更强的检索性能。例如有些模型一口气可以处理高达 100 万 token 的能力让不少研究者开始思考,RAG (Retrieval-Augmented Generation,检索增强生成)方法还有存在的必要吗?

有人认为 RAG 要被长上下文模型杀死了,但这种观点遭到了很多研究者和架构师的反驳。他们认为一方面数据结构复杂、定期变化,并且很多数据具有重要的时间维度,这些数据对于 LLM 来说可能太复杂。另一方面,企业、行业的海量异构数据,都放到上下文窗口中也不现实。而大模型和 AI 数据库结合,给生成式 AI 系统注入专业、精准和实时的信息,大幅降低了幻觉,并提高了系统的实用性。同时,Data-centric LLM 的方法也可以利用 AI 数据库海量数据管理查询的能力,大幅降低大模型训练、微调的开销,并支持在系统不同场景的小样本调优。总结来说,大模型和 AI 数据库双剑合璧,既给大模型降本增效,又让大数据真正实现智能

历经数年开发和迭代,MyScaleDB 终于开源

RAG 的出现使得 LLM 能从大规模的知识库中精确地抽取信息,并生成实时、专业、富有洞察力的答案。伴随而来的是 RAG 系统的核心功能向量数据库也得到了迅速发展,按照向量数据库的设计理念我们可以将其大致分为三类:专用向量数据库,关键字和向量结合的检索系统,以及 SQL 向量数据库

  • 以 Pinecone/Weaviate/Milvus 为代表的专用向量数据库,一开始即为向量检索设计打造,向量检索性能出色,不过通用的数据管理功能较弱。
  • 以 Elasticsearch/OpenSearch 为代表的关键字和向量检索系统,因其完善的关键字检索功能得到广泛生产应用,不过系统资源占用较多,关键字与向量的联合查询精度和性能不尽人如意。
  • 以 pgvector(PostgreSQL 的向量搜索插件)和 MyScale AI 数据库为代表的 SQL 向量数据库,基于 SQL 并且数据管理功能强大。不过因为 PostgreSQL 行存的劣势和向量算法的局限性,pgvector 在复杂向量查询中精度较低。
 
MyScale AI 数据库(MyScaleDB)基于高性能的 SQL 列式存储数据库打造,自研高性能和高数据密度的向量索引算法,并针对 SQL 和向量的联合查询对检索和存储引擎进行了深度的研发和优化,是全球第一个综合性能和性价比大幅超越了专用向量数据库的 SQL 向量数据库产品

得益于 SQL 数据库在海量结构化数据场景长期的打磨,MyScaleDB 同时支持海量向量和结构化数据,包括字符串、JSON、空间、时序等多种数据类型的高效存储和查询,并将在近期推出功能强大的倒排表和关键字检索功能,进一步提高 RAG 系统的精度并替代 Elasticsearch 等系统。

图片

图片

经过近 6 年的开发和数次版本迭代,MyScaleDB 已于近期开源,欢迎所有开发者和企业用户在 GitHub 上 Star,并开启使用 SQL 构建生产级 AI 应用的新玩法!

项目地址:https://github.com/myscale/myscaledb
 
完全兼容 SQL,精度提升、成本降低

借助完善的 SQL 数据管理能力,强大高效的结构化、向量和异构数据存储和查询能力,MyScaleDB 有望成为第一款真正面向大模型和大数据的 AI 数据库

SQL 和向量的原生兼容性

自从 SQL 诞生半个世纪以来,尽管其中经历了 NoSQL、大数据等浪潮,不断进化的 SQL 数据库还是占据了数据管理市场主要份额,甚至 Elasticsearch、Spark 等检索和大数据系统也陆续支持了 SQL 接口。而专用的向量数据库尽管为向量做了优化和系统设计,但其查询接口通常缺乏规范性,没有高级的查询语言。这导致了接口的泛化能力较弱,例如 Pinecone 的查询接口甚至不包括指定要检索的字段,更不用说分页、聚合等数据库常见的功能。

接口的泛化能力弱意味着其变化频繁,增加了学习成本。MyScale 团队则认为,经过系统性优化的 SQL 和向量系统是可以既保持完整的 SQL 支持,又保证向量检索高性能的,而他们的开源评测的结果已经充分论证了这一点。

在实际复杂 AI 应用场景中,SQL 和向量结合可以极大增加数据建模的灵活性,并简化开发流程。例如 MyScale 团队与北京科学智能研究院合作的 Science Navigator 项目中,利用 MyScaleDB 对于海量的科学文献数据做检索和智能问答,其主要的 SQL 表结构就有 10 多个,其中多张表结构建立了向量和倒排表索引,并利用主键和外键做了关联。系统在实际查询中,也会涉及结构化、向量和关键字数据的联合查询,以及几张表的关联查询。在专用的向量数据库中这些建模和关联是难以实现的,也会导致最终的系统迭代缓慢、查询低效和维护困难。

图片

                           Science Navigator 主要表结构示意图(加粗体的列建立了向量索引或倒排索引)
 
支持结构化、向量和关键字等数据联合查询

在实际 RAG 系统中,检索的精度和效果是制约其落地的主要瓶颈。这需要 AI 数据库高效支持结构化、向量和关键字等数据联合查询,综合提高检索精度。

例如在金融场景中,用户需要针对文档库查询 “某公司 2023 年全球各项业务的收入情况如何?”,“某公司”,“2023 年” 等结构化元信息并不能被向量很好的抓取,甚至不一定在对应的段落中有直接的体现。直接在全库上执行向量检索会得到大量的干扰信息,并降低系统最终的准确性。另一方面,公司名称,年份等通常是可以作为文档的元信息被获取的,我们可以将 WHERE year=2023 AND company ILIKE "%<company_name>%" 作为向量查询的过滤条件,从而精准的定位到相关信息,大幅提升了系统的可靠性。在金融、制造业、科研等场景中,MyScale 团队都观察到异构数据建模和关联查询的威力,很多场景下甚至有 60% 精度到 90% 的提升。
 
尽管传统的数据库产品都已经陆续意识到了向量查询在 AI 时代的重要性,并开始在数据库中增加向量能力,其联合查询的精度仍然存在显著的问题。例如,在过滤查询的场景下,Elasticsearch 在过滤比例为 0.1 时,QPS 会降到只有 5 左右,而 PostgresSQL(使用 pgvector 插件)在过滤比例是 0.01 时,检索精度只有 50% 左右,不稳定的查询精度 / 性能极大制约了其应用的场景。而 MyScale 仅使用了 pgvector 36% 的成本和 ElasticSearch 12% 的成本,就能够在各种不同过滤比例的场景下都实现高性能和高精度查询

图片

                                 在不同过滤比例场景下,MyScale 都用低成本实现了高精度和高性能查询

真实场景下性能和成本的平衡

正因为向量检索在大模型应用中的重要性和高关注度,越来越多的团队投入了向量数据库这个赛道。大家一开始的关注点都是努力提升纯向量搜索场景下的 QPS,不过纯向量搜索是远远不够的!在实战的场景中,数据建模、查询的灵活性和精准度以及平衡数据密度、查询性能和成本是更为重要的议题。

在 RAG 场景中,纯向量查询性能有 10x 的过剩,向量占用资源庞大,联合查询功能缺乏、性能和精度不佳往往是当下专有向量数据库的常态。MyScaleDB 致力于在真实海量数据场景下 AI 数据库的综合性能提升,其推出的 MyScale Vector Database Benchmark 也是业内首个在五百万向量规模,不同查询场景下比较主流向量数据库系统综合性能、性价比的开源评测系统,欢迎大家关注和提 issue。MyScale 团队表示,AI 数据库在真实应用场景下还存在很大的优化空间,他们也希望在实践中不断打磨产品并完善评测系统。

MyScale Vector Database Benchmark 项目地址:
https://github.com/myscale/vector-db-benchmark

展望:AI 数据库支撑的大模型 + 大数据 Agent 平台

机器学习 + 大数据驱动了互联网和上一代信息系统的成功,而在大模型的时代背景下,MyScale 团队也致力于提出新一代的大模型 + 大数据方案。以高性能的 SQL + 向量数据库为坚实的支撑,MyScaleDB 提供了大规模数据处理、知识查询、可观测性、数据分析小样本学习的关键能力,构建了 AI 和数据闭环,成为下一代大模型 + 大数据 Agent 平台的关键基座。MyScale 团队已经在科研、金融、工业、医疗等领域探索这套方案的落地。

图片

随着技术的快速发展,某种意义上的通用人工智能 (AGI) 有望在未来 5-10 年内出现。关于这个问题,我们不禁要思考:是需要一个静态、虚拟且与人类竞争的大模型,还是其他更加全面的解决方案?数据无疑是连接大模型、世界与用户的重要纽带,MyScale 团队的愿景是将大模型和大数据有机结合,打造更加专业、实时、高效协作,同时亦充满人性温度和价值的 AI 系统。
产业AI 数据库MyScaleDB
1
相关数据
数据分析技术

数据分析是一类统计方法,其主要特点是多维性和描述性。有些几何方法有助于揭示不同的数据之间存在的关系,并绘制出统计信息图,以更简洁的解释这些数据中包含的主要信息。其他一些用于收集数据,以便弄清哪些是同质的,从而更好地了解数据。 数据分析可以处理大量数据,并确定这些数据最有用的部分。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

知识库技术

知识库是用于知识管理的一种特殊的数据库,以便于有关领域知识的采集、整理以及提取。知识库中的知识源于领域专家,它是求解问题所需领域知识的集合,包括基本事实、规则和其它有关信息。

数据管理技术

数据管理是利用计算机硬件和软件技术对数据进行有效的收集、存储、处理和应用的过程,其目的在于充分有效地发挥数据的作用。

数据库技术

数据库,简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据运行新增、截取、更新、删除等操作。 所谓“数据库”系以一定方式储存在一起、能予多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。

查询语言技术

查询语言泛指向数据库或信息系统查询的各种编程语言。 查询语言必须要能表达所有关系代数所能表达的查询,这样才被称为关系完整的。

查询技术

一般来说,查询是询问的一种形式。它在不同的学科里涵义有所不同。在信息检索领域,查询指的是数据库和信息系统对信息检索的精确要求

通用人工智能技术

通用人工智能(AGI)是具有一般人类智慧,可以执行人类能够执行的任何智力任务的机器智能。通用人工智能是一些人工智能研究的主要目标,也是科幻小说和未来研究中的共同话题。一些研究人员将通用人工智能称为强AI(strong AI)或者完全AI(full AI),或称机器具有执行通用智能行为(general intelligent action)的能力。与弱AI(weak AI)相比,强AI可以尝试执行全方位的人类认知能力。

强生机构

强生公司成立于1886年,是全球最具综合性、业务分布范围广的医疗健康企业之一,业务涉及制药、医疗器材及消费品三大领域。强生坚信健康是活力人生、繁荣社区和不断进步的基础。正因如此,130多年来,公司始终致力于推进健康事业,让人们在每个年龄段和每个人生阶段都保持健康。

http://www.jnj.com/
小样本学习技术

人类非常擅长通过极少量的样本识别一个新物体,比如小孩子只需要书中的一些图片就可以认识什么是“斑马”,什么是“犀牛”。在人类的快速学习能力的启发下,研究人员希望机器学习模型在学习了一定类别的大量数据后,对于新的类别,只需要少量的样本就能快速学习,这就是 Few-shot Learning 要解决的问题。

推荐文章
暂无评论
暂无评论~