海外独角兽:如果没有 Lance 这个数据格式,像 Chroma 和 Weaviate 这样的其他向量数据库在处理这个问题上是不是难度会大很多?
Chang She:它们并没有表模式(schema)的概念。在它们看来,一切更像是一个集合,集合有一个 record ID,可以有多个向量或者只有一个向量,外加元数据形成类似 JSON 的数据块。所以不存在所谓的模式演化和版本控制,在这种情况下,你只需要显式地进行数据快照,但这时你必须复制数据。
海外独角兽:我们交流的企业客户提到,从 AWS S3 bucket 取数之后,企业自己没有使用 LanceDB 类的产品,而是通过 ETL 也可以将其用于训练。在这个场景如果使用 LanceDB 有什么优势?
Chang She:对于分布式训练,你需要进行过滤、分发和随机化等预处理。现有格式在随机化和数据混洗(shuffling)方面效果非常糟糕。此外,你还需要一个大规模的引擎来处理过滤和其他任务。因此,直接从对象存储流式传输数据会使 ETL 变得复杂,并可能严重影响 GPU 利用率。由于 GPU 是最宝贵的资源,最大化它们的效率至关重要。这就是 LanceDB 的独特价值所在,它可以确保高效的数据处理,让 GPU 得到充分利用,并在分布式训练中表现非常出色。
海外独角兽:在你们的产品路线图上,你们提到将与 Spark 和 Ray 计算引擎兼容。你对这些计算引擎是怎么看的,未来计划如何?LanceDB 和 Databricks 、 Snowflake 之间的关系是什么样的?
Chang She:我们希望为多模态数据培养一个蓬勃的开源生态系统。与任意计算引擎实现好的集成对我们来说很重要。我们已经发布了对 Ray 的集成,它现在已经正式成为 Ray 的一部分。我们正在推进与 Spark 的集成,与 Trino/Presto 的集成也在同步进行。这有点回到了数据湖的概念,即客户将数据以 Lance 格式存储数据在对象存储中,并且应该能够使用任何处理系统对其进行处理,以满足不同目的。
我们会是他们的合作伙伴。例如,我们已经与 Spark 集成,并通过 Apache Arrow,使 Snowflake 能够读写 Lance 数据。可以设想,如果 Snowflake 加入一个 pushdown,他们就可以允许客户连接到 LanceDB,并使用 Snowflake SQL 进行向量搜索,而 LanceDB 实际上在处理这些底层操作。
海外独角兽:现在针对向量数据库的竞争非常激烈,你认为处理文本数据与其他模态数据之间的区别是什么?
Chang She:文本确实与其他模态不太一样,但需要注意的是,每个模态都有自己的特殊需求,文本与图像间的区别可能并不比图像与视频间的差异大很多。对于文本来说,问题不一定在于原始数据本身更难操作,而是在于数据的规模,一家专注文本的模型公司可能需要爬取整个互联网并摄取能获得的一切信息,全网的视频数据规模则要大很多。规模问题也是现有数据 infra 面临的一个大挑战。
海外独角兽:现在很多公司都面向文本数据做向量数据库,你们会不会想占住多模态数据处理的心智?LanceDB 的技术优势怎么能够体现在多模态的处理上?
Chang She:是,也不是。因为多模态数据的规模更大,所以优势更加明显。所以从这个意义上说,是的我们的确希望抓住多模态数据处理这个定位。
但如果你看现在的向量数据库,它们也无法处理大规模的文本数据,因为它们无法有效存储长文本。大多数向量数据库是专门为语义搜索而设计的,由向量 ID、元数据的 blob 等构成,这个 blob 适用于 MongoDB 式的存储和元数据过滤,而不是用于长文本的有效存储、检索和管理。对于短文本比如单个句子,差别不大,但如果要检索的是整个文档的长度,也会很快遇到规模的问题。
海外独角兽:我们注意到 Elasticsearch 和 PostgreSQL 这些公司也推出了向量搜索相关的产品,作为一个 start-up,在下一代数据基础设施中,哪种技术会为 LanceDB 创造更多竞争壁垒?
Chang She:从长远来看,向量搜索更可能成为一个更独立、完整的产品中的一部分,而不只是增量式地加入现有系统作为功能扩展。
对于那些正在添加向量搜索功能的现有数据库,由于架构已经确定,它们只是添加了一种新的索引能力。但这种索引与 B-tree 或 bitmap 索引有很大不同。这对于像 PostgreSQL 这样的产品来说,在工作负载特征等方面都会产生很大的影响。
我们听到很多用户表示,他们最初使用 PostgreSQL,但一旦数据超过了1000万或2000万行,延迟就会变得非常糟糕。如果他们稍微修改 SQL 查询的构建方式,查询就不再使用索引进行预过滤。所以添加这种新功能会带来很多问题,对于许多其他现有产品也是如此。
我认为,一个更完整产品的未来发展路径将是为 AI 和管理 AI 数据而设计的,而不仅仅是增量式地添加向量索引。这并不是说 PostgreSQL 的向量索引不好。在很多场景下,如果你的数据已经在 PostgreSQL 里面了,并且数据规模并不大的话最高优先级只是尽快推出产品,那么它就是一个不错的选择。我非常欣赏 PostgreSQL,但在达到一定规模后,你还是需要不同的解决方案。
海外独角兽:所以 LanceDB 既有使用多模态数据的客户,也有只使用文本模态的客户?
Chang She:是的,我们目前正在与各个模态领域的领先公司合作。例如,我们正在与 MidJourney 合作处理图像,与 Character AI 合作处理文本。我们也正在与一家暂时不能公开的大型视频公司合作。在所有这些模态中,共同的特点是庞大的数据规模、复杂的检索与数据管理需求,以及需要与分布式训练无缝集成。
海外独角兽:这会回到我们之前提到的 Lance 数据格式的优势吗?它已经在为多模态 RAG 或未来的技术栈做准备了吗?以及与 Parquet 相比,在该用例上有何不同?
Chang She:在 LanceDB 的一个 row 中,你可以存储图像、文本、音频、视频,以及与原始数据不同部分对应的任意数量的向量,这允许你能够使用任意模态跨数据检索,并使用任意模态的方法处理检索到的数据,这是 Parquet 无法有效实现的。大多数向量数据库也不允许每行超过一个向量,因为它们是为提供 API 服务而设计的,而不是作为表格。
海外独角兽:LanceDB 的客户是如何使用产品的?可以分享一些有趣的用例吗?
Chang She:我们在开源社区里看到很多用户用 LanceDB 来处理各种任务的 RAG,比如,有人将 LanceDB 用于开源的代码生成工具,也有用户用 Lance 开实现生成 SQL 语句、自动化数据分析、常规 chatbot 以及 chat with doc。
如果将我们所提供的不同语言包项目计算在内,我们每个月的包下载量加总已经超过了 100 万次。
我们也和咨询公司交流过,他们会把 LanceDB 用在财务报告分析上,通过提取出关键信息和数据,来让系统自动化回答例如“为什么这家上市公司的营业利润会上升”或“运营支出为什么突然增加”等等问题。
通常情况下,他们会发现由于能够在向量与被提取的原始数据旁边存储更多数据,因此会更容易对原始数据进行扩展以用于提取,并将其提供给模型进行总结,从而获得更准确、更丰富的 RAG 结果。我们还可以简化混合搜索和全文搜索,从而为那些需求超出基本向量搜索的用户提供更高质量的检索。
此外,大型企业也使用 LanceDB 来存储和管理他们所有的训练数据,用于分布式模型训练,比如在自动驾驶行业中进行数据挖掘、场景提取、模型训练。现在多模态 AI 的文本、图像、视频模型都使用相同的 pipeline 来做模型训练中的数据处理。
海外独角兽:其实很多行业存在一个普遍性的需求,即如何从未数字化的非结构化数据中提取数据,比如 PDF 文件、收据等等,但传统的 OCR 等效果并不理想,多模态会对这个场景带来颠覆性变化吗?这件事对于 LanceDB 是什么样的机会?
Chang She: LanceDB 是这些应用场景下的基础设施。在我看来,围绕不同垂直领域和高价值数据源的通用数据进行数据提取和分析会出现很多解决方案,我不太认为某一家公司可以同时处理法律、医疗保健和政府合同等不同领域的需求,最是由不同的公司来做。
我们的目标是为开发这些应用的公司提供基础设施,创建易于使用的工具和可组合的构建块模块。与其让这些公司编写复杂的管道来完成所有这些工作,不如只需编写一个 SQL 查询,就能从 PDF 中提取并使用信息,运行该查询即可在它们的计算集群中自动分配作业。这是我们希望在基础设施层面实现的,就是要为构建此类工具的公司提供超级简单的体验。
海外独角兽:LLM 时代的数据栈中,包括数据存储、模型训练、推理部署等,以及离线&在线用例中,LanceDB 能在哪个环节捕获到最大的价值?
Chang She:我不认为这些是彼此割裂的部分。有效存储大规模多模态数据是我们的核心,但存储本身没有价值。它必须针对特定用例类型进行优化,比如说从分布式训练的用途而言,存储的优化非常重要。对于那些大规模且复杂的需求,我们通常是唯一的解决方案。存储对于部署也是同样有价值的。
关于离线和在线用例,其他数据格式和过去的数据基础设施通常只适用于其中一种,但 LanceDB 是唯一能在两方面都表现出色的,我认为它对训练和检索是同等重要的。当然,在检索方面也有其他选择,但在这两个领域我们都有非常独特的优势,特别是针对处理多模态数据的公司。
产品路线图
海外独角兽:你计划如何进行市场推广和商业化运作?是从小型企业、中型企业和开发者开始,然后再瞄准大型企业客户,还是已经在专注于大客户了?
Chang She:我们的开源社区已经拥有相当大的规模,一些重要的科技公司和领先的生成式 AI 公司也都在与我们合作,所以这是一种面向开发者社区和大客户的双峰策略。最终,更多大型的的非技术企业可能会在采用多模态 AI 并将其进入生产阶段时,可能会稍晚一些加入我们的客户群体,但到那时我们将已经为他们做好充分准备。
海外独角兽:LanceDB 对于开源项目的商业化有什么想法?
Chang She:LanceDB 的商业化不会是对数据格式本身进行商业化,而是关于构建数据管理层、工作流层和向量数据库层。这是针对真正拥有大规模数据的大型企业,无论是在推理服务(serving)还是在模型构建中。我们的企业产品旨在提高生产力,减少维护负担,并实现扩展,而无需团队在开源解决方案之上进行大量管理和构建工作。
海外独角兽:你一直在强调 LanceDB 是唯一一个能够完全满足客户需求的解决方案,为什么只有 LanceDB 能做到这一点?
Chang She:要创建一个真正适合 AI 的数据库系统,需要对数据库和机器学习有深入的专业知识。我们团队的优势是在这个交叉领域积累了大量经验。我们处理的数据是多模态的,我们在处理非结构化数据和结构化数据上都经验丰富;查询和 workload 也是多模态的,包括 OLAP、检索和训练;上下文也可以是多模态的,涵盖离线数据集和在线服务用例。
我们团队在重要开源数据和机器学习项目中的经验是独一无二的。我们是 Pandas、 HDFS、Apache Arrow、Delta 和 Polars 等重要项目的核心贡献者。这些过往经历让我们在数据库和机器学习的交叉点上站在独特的位置上。
海外独角兽:你认为未来 1-3 年中,Lance 的发展将会经历哪些哪些重要里程碑?
Chang She:我们的目标是成为处理多模态数据的行业标准,成为各种任务的最佳选择。在未来一到三年内,我们将看到建立在 LanceDB 之上的更完整的多模态 AI 数据湖产品。这将为整个数据处理 pipeline 提供更多的价值。企业的心智将会是:我想搭建AI应用,我有一些数据,那么我可以使用 LanceDB 来存储这些数据。只需一点工作,他们就可以使用我们的工具完成生产级 AI pipeline。
如今,正在构建 AI 的公司雇佣专家,经历大量的试错,才能拥有在生产中真正良好运行的系统。我们未来一到三年的目标是,让客户无需雇佣一支 OpenAI 级别的团队,就能在企业内运行一个完整而精密的 AI 应用栈。我认为 AI 的民主化不仅仅是覆盖到更多公司,还包括减少公司所需的努力。我预测 AI 可以在企业内的各个领域提供价值。目前,大多数团队雇佣一大批专家,只专注于一个应用。我们希望达到这样一个状态:AI 应用非常易于管理和开发,一个数据基础设施可以支持企业内的多种不同应用,只需很少的维护和运营工作。
海外独角兽:我们发现基础模型公司在微调或训练模型时,常常缺乏使用、整理和准备数据的知识。如果数据存储在 LanceDB 中,如何为模型微调 选择和准备数据?
Chang She:这个问题很有意思。6 月底我们会和 Character AI 将就这一主题进行联合技术讲座。我们将讨论如何在 LanceDB 中处理数万亿的 token,以及后续工作,比如如何考虑过滤。我喜欢用雕刻来类比,LanceDB 中的数据就像是一团原始材料,Character AI 团队将讨论如何从中选择合适的数据,把它雕刻成一个鼻子,也就是得到创造出最优模型的成品。这是一个非常吸引人的话题,我们将就此进行讨论。
海外独角兽:模型越来越多由它们所使用的数据所定义,和数据越来越相关。这是否意味着“雕刻”的过程仍然需要一些专业的 know-how?LanceDB 可能提供的是一个很方便的工具,类似于雕刻用的刀,而这可能是你们的下一步,现在还没有做这个产品,对吗?
Chang She:是的,提供更高层次的工具还不是当前产品的一部分。但未来模型会 commoditize,对于采用机器学习的企业来说,差异化的因素是他们如何融入自己的专有数据。虽然开源模型还没有完全跟上,但它们现在已经相当不错而且进步很快,所以我认为我们很快就会看到模型的 commoditize,然后我们回到一个 data-centric 的世界。企业如何用自己的数据进行微调或预训练,如何用自己的专有数据定制化应用,这些问题就会变得更加重要。
海外独角兽:从接下来团队发展的角度,你们希望什么样的人加入?
Chang She:我们团队正在寻找各个领域的专家,尤其是那些以前曾在数据库领域工作或构建过数据库的人。我们团队远程工作,正在打造真正全新事物,希望找到高度自驱、好奇,对新挑战感到兴奋的人才。