分布式 Data Warebase - 让数据涌现智能
如何定义数据、信息和知识?它们之间的关系又是什么?今天,我们从DIKW模型这块经典的“金字塔”聊起,深入探讨数据系统的发展脉络,以及一个备受关注的终极命题——如何让数据真正“涌现”出智能。

本文的内容将围绕以下几个方面展开:DIKW模型、数据、信息、知识、现有架构的弊端、新一代数据系统(分布式Data Warebase)、以及数据系统的全新使命。
DIKW 模型
DIKW模型是一个经典的认知框架,它用四层金字塔结构描述了从原始数据到最终智慧的演化过程:从Data(数据)到Information(信息),再到Knowledge(知识),最终抵达Wisdom(智慧)。
用一个简单的例子来理解这个模型:
- :像“9.8”这样的数字本身没有任何背景,不具实际意义。
数据
- :当数据被赋予上下文,就变成了信息。比如“一个1千克的铁球以9.8米/秒²的加速度下落”,这里的“9.8”就有了明确的物理含义。
信息
- :是对信息的归纳总结。当观察到1kg、5kg、10kg的铁球都以9.8米/秒²的加速度下落,可以归纳出“所有铁球都以这个加速度下落”。进一步,发现铜球、银球也是如此,于是得到更普适的知识——“所有物体都以9.8米/秒²的加速度下落”。知识让我们能预测未来,比如推断8kg的铅球也会以同样的加速度下落。
知识
- :是在知识基础上通过复杂推理得出的洞见。基于“所有物体都以9.8米/秒²的加速度下落”这一知识,可以进一步推断出重力加速度与落体本身特性无关,而是时空的一种几何性质。这正是广义相对论的核心思想,就是智慧的表现。智慧是最高级的智能,需要复杂的推理论证和深刻洞察,目前只有人类能具备。
智慧
从数据到信息,再到知识,最终到智慧,这正是一个智能逐步升级的过程。对数据的理解越来越深入,提取的概念越来越抽象,体现的智能也越发高级。下面,我们来逐步拆解,看看机器是如何理解数据,并从中挖掘智能的。
数据
先从数据层说起。对于机器而言,数据不过是一堆0和1。机器表达数据的语言是比特,虽然能存储数据,但它并不理解数据的含义。
信息
再往上一层,就来到了信息层。信息的语言是数据模型。同样用一个例子来说明机器如何将比特转化为信息:比方说“小明预订了2024年6月1日的两个标间”。机器以比特形式存储这些文字,但并不理解这句话的意义。为了让它理解,需要引入“表”的抽象。可以创建一个“民宿预订”表,然后将刚才的文字分解成多个字段,存储为一条记录:预订人姓名是小明,预订日期是2024年6月1日,房间数是2,房型是标间。
通过引入表结构,原本无结构的数据就转变为带结构的记录,机器可以理解和处理。这种给数据赋予结构的方式,就是数据模型。常见的数据模型有两种:
- 第一种是关系模型。它通过“表”的抽象将数据划分为多个字段,并通过外键来表达记录之间的关系。表名、字段名、字段类型、关系等元数据会存储在系统中,它们给数据提供了上下文和结构。结构化的数据能被机器理解和处理,从而变成信息。关系模型对数据的要求比较严格,适合所有数据结构完全一致的场景。
- 另一种是文档模型。它将数据组织成文档,不同文档的结构可以不完全一样。这种有一定结构但又不严格一致的数据叫半结构化数据。文档模型形成树状结构,能较好地表达实体间的一对一和一对多关系。
总结一下:数据模型是表达信息的语言。有了它,数据就从比特升级为表记录或文档,完成了从数据到信息的跃迁。自此,机器开始理解数据,并从中提取智能。
1. 信息革命的基石——数据模型与数据产品的兴起
在数据模型这个“信息语言”之上,发展出了众多数据产品,主要分为两类:
- :基于关系模型的关系型数据库,和基于文档模型的NoSQL数据库。它们的使命是把数据转化为信息,并高效存储、检索和管理这些信息。
数据库产品
- :也基于关系模型,通常用来对原始信息做汇总分析、发现规律。
数据仓库产品
这一系列产品为信息革命打下了坚实的基础。
2. 信息革命的场景——一个民宿平台的数据架构
在这些基础之上,行业迎来了基于数据和信息的应用大爆发。互联网时代的到来,极大地加速了这一进程。以民宿平台为例:房东上架房源,租客查找、预定、入住、离店、评价。
起初,所有数据都存储在单个关系型数据库(如PostgreSQL)中,满足简单应用需求。但随着用户增多,单机数据库性能不济,于是引入了NoSQL数据库(如MongoDB)来水平扩展。用户需求又复杂起来:不再满足于全名查找,而要关键词搜索。于是,系统又引入搜索引擎(如ElasticSearch)。为此,需要定期全量导入数据,如果对时效性有高要求,还要搭建增量同步链路(如用Kafka、Flink)。有了这些数据,搜索引擎才能提供高性能的关键词搜索。
此外,还要对信息进行汇总分析。比如分析今年五一假期营收同比、热门城市排名等。系统又引入数仓(如Snowflake、Hive),并把数据同步进去,进行复杂BI分析。可以看到,一个业务往往需要同时使用多个数据库和数仓产品,并在之间进行复杂的数据同步。
知识
1. 知识是信息的归纳——知识的语言是嵌入向量
如果说信息的语言是数据模型,那么知识的语言则是嵌入向量。知识是对相关信息的归纳和汇聚,比如“所有物体都以9.8米/秒²的加速度落地”就是对一类信息的归纳。而一个民宿的所有信息合在一起,也是一种知识,它概括了价格、风格、设施等各方面信息。
我们希望用数学语言表达知识,并能比较两个民宿是否相似。民宿的比较是多维的:可以从经济型还是豪华型来比,可用价格衡量;也可以从装修风格比,按简约或华丽打分;还有更多维度。要完整描述一个民宿的特性,需要使用高维空间中的向量。这个高维空间叫潜空间,知识对应的这个高维向量叫嵌入向量。我们希望两个嵌入向量之间的距离能反映知识的相似程度,距离越短,代表的知识越相似。因此,潜空间不仅是一个高维向量空间,还是一个定义了距离的度量空间。
简单地根据输入特征生成的高维向量,在潜空间中的度量未必能反映知识相似度。因此需要模型来生成嵌入向量。这些模型可以是专门的嵌入模型,而神经网络的每一层也在不断从信息中抽象知识,中间层产出的向量也代表了不同抽象程度的知识。嵌入向量可以用来完成分类、回归、重建等下游任务。
下面分两个阶段讲解如何使用嵌入向量表达和应用知识:传统AI阶段和生成式AI阶段。
2. 知识——传统AI:离线洞察
房东想提高推广效率,只给对价格敏感的客户发送折扣。为此需要理解用户,根据用户基本信息和交互行为信息构建用户的“知识”——在潜空间中表达为一个嵌入向量,然后对这些向量分类,判断用户是否对价格敏感。
这需要在既有架构上引入新的流程:预处理用户行为信息(清洗、补全、关联),这些信息存在数仓中,可通过数仓完成;然后用这些信息训练模型,产出嵌入向量,再分类筛选。数仓在这个过程中扮演了存储离线特征数据的角色。
3. 知识——传统AI:实时决策
第二个例子是自动决策。民宿价格固定可能不合理,会导致淡季空置。房东希望在空置率高时降价,但降多少、何时降,人工判断很繁琐。用传统AI可以更高效完成:根据民宿特性(风格、年份、房间数、地理位置等)通过模型产生嵌入向量;再结合市场相关信息(所在地区入住率、相似民宿的价格等),AI模型实时推断出最优价格,提供自动定价功能。
为此,除了数据预处理和模型训练,还需要在线模型服务,在高吞吐低延迟下提供特征输入,通常用MongoDB或HBase在线特征存储。离线的特征也要同步过去。为了更好效果,还可能需要实时计算特征,这进一步增加了复杂度。
4. 知识——生成式AI:通用知识提取
过去几年,生成式AI大放异彩。基于Transformer的大语言模型在理解和生成文字方面取得突破,基于Diffusion的图像模型能生成高质量图像,还能生成音频、视频。这些能力拓宽了AI使用场景,也重新定义了非结构化数据,以一种全新的方式赋予其结构、提取知识。生成式AI训练的数据集比传统AI大几个数量级,先进的大语言模型几乎学习了人类所有公开的高质量文本语料,具备广泛的知识和智能。与ChatGPT交互时,它往往能给出很好的回答。这可能会带来错觉:数据不再重要。但事实恰恰相反,数据在生成式AI时代变得更为重要。
5. 业务数据驱动的生成式AI
举个例子,九间堂民宿要在江苏做广告,让AI生成广告图片。通用的模型只知道“九间房子、江苏”,生成的图片虽然合格,但效果有限。如果查找出九间堂在江苏最受欢迎的民宿,让大模型学习这些描述和图片信息后重新生成,广告效果会好很多。可以看到,大语言模型虽然理解大量公开知识,但缺少业务相关的私域知识。这部分私域知识是数据发挥最大价值的关键。只有将生成式AI能力与业务数据紧密结合,才能最大化发挥智能。接下来介绍三种结合方式。
6. 业务数据驱动智能方式一:上下文学习
第一种是上下文学习(In-context-learning)。比如用户想了解某民宿能否让全家住得舒适,直接问大语言模型,把民宿描述等信息给它,让它安排住宿。大语言模型能从上下文中学习知识,并把智能应用在这些新学的知识上,给出合理建议。
7. 业务数据驱动智能方式二:向量搜索
第二种是基于嵌入向量的相似性搜索。基于Transformer的文本嵌入模型能为民宿描述、评论等文字生成嵌入向量,民宿越相似,向量越接近。高效查找与指定向量最相近的若干向量的技术叫向量搜索。
8. 检索增强生成——RAG
将向量搜索与大模型上下文学习结合,就形成了检索增强生成技术(RAG)。当用户提问“靠近西湖适合一家四口居住且简约风格的民宿”,先让大模型改写问题,用文本嵌入模型生成嵌入向量,通过向量搜索找出最相关民宿的描述,再连同问题作为上下文输入给大语言模型,大模型就能给出精准答案。
9. 业务数据驱动智能方式三:模型微调
第三种方式是模型微调。RAG通过把数据变成嵌入向量(知识),而微调则是让通用模型学习业务领域知识,使其成为内在能力。流程包括清洗加工业务数据,让大模型学习这些高质量数据集。微调方式主要分为四种:
- :类似于“博览群书”,让大模型泛读高质量材料,总结出内在规律。
无监督微调
- :找一个“老师”带着学,更快更好地掌握知识。
蒸馏
- :就像应试教育,让大模型通过有监督学习掌握特定任务的规范。
监督微调
- :通过给模型“打分”,让它反复尝试找到最佳方法。
强化学习
10. 数据智能体——AI Agent
在实际应用中,往往会把多种方式结合起来,并借助外部工具。这种智能应用就是数据智能体(AI Agent)。比如一个虚拟旅游顾问,用户可以咨询任何旅行问题,规划行程、反馈修改,甚至自动完成预订。它综合了大语言模型的规划能力、推荐系统、搜索结果等功能,灵活使用外部工具。
现有架构的弊端
再次审视当前架构,为了实现一个AI Agent,需要极其复杂的数据体系,其弊端显而易见。从三个视角看:
- :构建复杂架构门槛高,开发者要学习多个数据产品,每个产品都有局限性。中小公司难以招到足够的人才,导致数据价值未充分挖掘。即使有工程师,大量时间也花在繁琐的数据同步上,降低了开发效率。
开发视角
- :运维多个产品复杂度高,数据同步是最薄弱的环节,易导致系统不稳定。同份数据在多个产品中重复存储,也带来更大成本。
运维视角
- :虽然架构是业务倒逼出来的,但并非完美。数据同步不可避免带来延迟,导致业务看到的数据不一致。
业务视角
新一代数据系统:分布式 Data Warebase
要解决数据延迟,唯一的选择是让数据同步从必需变为可选,用同一份数据支持各种场景。关系型数据库功能最完备,最接近目标。于是以关系型数据库为出发点,吸取其他产品的核心技术。
从语言层次看:关系模型能很好表达结构化数据。引入JSON类型,就能表达半结构化数据。引入高维向量类型,知识也成为系统的一等公民。这样在同一个表中可同时存储结构化数据、半结构化数据和表达知识的嵌入向量。
从性能角度看,需要五个重大改进:
- 实现分布式事务,通过数据分片横向扩展来提升性能,并保持数据一致性。
- 提升搜索性能。引入倒排索引、向量索引。
- 引入列式存储,提升数据压缩率,减少IO。
- 通过向量化执行引擎提升复杂查询效率。
- 引入物化视图,通过预计算避免重复查询。
通过这些技术变革,可以构建出新一代数据产品——分布式Data Warebase。这个词是Data Warehouse和Database的组合,意味着它同时具有两者的能力和优势。它能存储所有数据、信息和知识,支持简单查询、关键词查询、汇总分析,也能通过向量搜索提取知识。它在性能、正确性、实时性上挑战物理极限,提供极简体验,兼容现有生态,通过隔离保证不同场景互不影响,通过自适应达到最优。
分布式Data Warebase将开启数据智能的新范式,使业务架构大幅简化,工程师可将重心放在业务需求开发上。
数据系统新的使命——让数据涌现智能
总结一下:数据以比特形式存储在系统中,系统不理解数据,不具备智能。通过引入关系模型或文档模型等信息语言,元数据给数据提供了上下文和结构,信息由此产生。关系型数据库、NoSQL数据库、数仓等产品为信息的存储、提取、管理、汇总分析提供了强大工具,促进了互联网业务的发展。再往上,引入嵌入向量这种强大的数学语言来表达知识,打开了高效表达和处理知识的大门。再往上是智慧层,当AGI实现,机器可能拥有智慧,或许会发现表达智慧的新语言。
过去这些年,数据系统的发展已从信息层逐渐转向知识层。数据系统的使命也在悄然改变:不再满足于存储、提取、管理和汇总分析信息。表达、理解和使用知识,正成为数据系统的重要部分。可以断言,数据系统新的使命将会是:让数据涌现智能!