火山引擎多模态数据湖:基于 Daft 与 Lance,构筑 AI 时代数据湖新范式

在 AI 技术飞速发展的当下,数据作为 AI 的 "燃料",其形态与处理方式正发生深刻变革。本篇文章来自火山引擎LAS团队琚克俭在"2025AICon 全球人工智能开发与应用大会"分享,主要围绕 "AI 场景下多模态数据处理" 主题,介绍LAS团队基于 Daft+ Lance打造的多模态数据湖方案,为 AI 时代数据湖的建设提供全新思路。

AI 驱动下,数据湖场景的变革与挑战

传统数据湖更多聚焦于大数据领域的结构化数据处理,而 AI 场景的繁荣,正从存储、计算、数据管理等多个维度,对数据湖提出全新要求。

在存储侧,AI 场景下的数据来源愈发多元,多模态数据(如图片、视频等)大量涌现,同时还需满足结构化与非结构化数据统一存储的需求。不同于大数据场景对 "降低存储成本" 的追求,AI 场景更看重 "数据读取 IO 速度",以支撑高效的模型训练与推理。

计算侧的变化同样显著。过去大数据场景以纯 CPU 处理为主,而 AI 场景下,模型的引入催生了 CPU 与 GPU 异构的计算需求。此外,业务主导权向 AI 倾斜,数据处理范式也从大数据时代的 SQL,逐渐转向 AI 算法团队更熟悉的 Dataframe。

数据管理与应用层面也在迭代。数据源管理不再局限于 Database、table等,文件模型、函数等均需纳入管理范畴;上层应用也不断迎来爆发,未来还将向 agent、具身智能等场景延伸。

基于 湖计算Daft+湖存储Lance的AI数据湖方案

LAS(LakeHouse AI Service)

传统数据处理技术栈难以应对这些新变化。多模态数据用传统方式存储,易引发 IO 放大等问题;将完整多模态数据直接导入计算侧,又会带来巨大的 IO 与内存压力。

正是基于这些痛点,火山引擎LAS团队沉淀出了面向 AI 场景的数据湖解决方案 ------LakeHouse AI Service。

LAS产品全景图 (LakeHouse AI Service)

LAS 核心框架可概括为 "AI 数据湖",包含数据湖计算、湖存储与湖管理三大模块。此次分享重点聚焦 "湖计算" 与 "湖存储",分别对应 Daft 与 Lance 两大核心组件。

Daft:多模态数据的 "湖计算" 引擎

Daft 是基于 Ray 构建的计算框架,旨在解决 AI 场景下多模态数据处理的四大核心需求:

  1. 快速实现单机到分布式扩展:AI 场景中,数据量往往庞大,单机调试完成后,需快速扩展为分布式处理以提升效率。Daft 依托 Ray 的 Runtime 优势,可轻松实现这一扩展,满足客户对大规模数据处理的诉求。
  2. 统一多模态与结构化数据处理:无需在不同框架间切换,Daft 能在同一框架内完成多模态数据与结构化数据的统一存储与计算,简化数据处理流程。
  3. 支持 CPU 与 GPU 异构调度:AI 数据处理常需加载模型,Daft 可在同一工作流中统筹 CPU 算子与 GPU 算子,充分发挥硬件性能,适配复杂的计算需求。
  4. 打通大数据与 AI 团队协作壁垒:大数据团队习惯 SQL 开发,AI 算法团队擅长 Dataframe 数据加工。Daft 在接入层适配 Python 与 SQL 两种方式,让两类团队能在同一技术栈下高效协作,同时避免因技术差异导致的组织协作问题。

从架构来看,Daft 的设计逻辑清晰且高效。其底层基于 Ray 实现分布式扩展,中间层整合了大数据场景的优化经验,优化器与执行器均采用 Rust 编写,打造 native 执行引擎 ------ 既保留了 Python 生态(如 Pandas、Polars)的数据预处理习惯,又大幅提升了执行效率。

在核心应用场景上,Daft 展现出强大能力:

  • Python 脚本分布式转化:针对基于模型或 Python UDF 的单机执行逻辑,Daft 提供无状态(task)与有状态(class)两种分布式 UDF。有状态 UDF 可实现模型一次加载、反复使用,降低模型加载成本,尤其适用于推理场景。
  • CPU 与 GPU 异构调度:借助 Ray 的能力,Daft 可实现 CPU 数据准备与 Python 训练框架的流式衔接,提升数据处理与模型训练的协同效率。
  • 多模态数据延迟计算:以图文混排场景为例,Daft 无需将图片与文本全部读取后再进行 shuffle 和 join,而是通过 URL(或后续的 Row Id)关联数据,在需要时才进行下载与处理,大幅减少不必要的 IO 与内存消耗。同时,Daft 支持多模数据类型定义,如视频抽帧可仅读取关键帧、图片 resize 无需加载完整图片,进一步优化处理效率。

此外,Daft 还能实现数据处理与训练的无缝衔接。通过将数据加载过程部署到异构 CPU 集群,以远端队列作为数据缓存,流式供给训练框架,从软件层面解决了数据加载性能差导致的 GPU 训练效率低问题,同时支持训练状态存储,便于后续快速恢复训练。

Lance:多模态数据的 "湖存储" 方案

Lance 作为配套的存储格式,主要解决多模态数据存储的三大核心问题:

  1. 多模态数据列式存储:借鉴大数据场景下列式存储的优势,Lance 可对多模态数据进行列式存储,实现高压缩比。在实际生产中,100G 的 Tensor 数据经 Lance 压缩后可降至 2G,大幅节省存储成本。
  2. 大小列数据统一存储:针对多模态数据(如图片)及其标签信息(如描述等),Lance 能将两者统一存储在同一系统中,降低数据管理成本,同时支持高性能点查,满足 AI 训练对数据快速访问的需求。
  3. schema 变更 Zero copy:多模数据常需基于标签列或模型打标,Lance 支持 schema 变更时的 Zero copy,避免数据反复拷贝带来的效率损耗。

值得注意的是,Lance 与 Daft 并非矛盾关系,而是相辅相成。Daft 初期通过 URL 关联多模态数据,实现延迟计算;Lance 则将多模态数据以列式存储,并以 row ID 替代 URL 作为数据标识。两者通过 Arow 类型接口对接,既保留了 Daft 延迟计算的优势,又能享受 Lance 列式存储的高压缩比,完美统一多模态数据处理与存储流程。

实践验证:Daft+Lance 方案的落地成效

在实际落地中,Daft 与 Lance 的组合方案已在多个场景中展现出显著价值,为客户带来效率提升与成本优化。

自动驾驶场景:端到端效率提升 70%

此前,某自动驾驶客户采用 Argo+K8S 调度 + LMDB 的方案,Python 分布式处理依赖 Argo+K8S,数据存储通过 LMDB 加 index 文件组织。

该方案存在明显短板:K8S 调度无法支持 CPU 与 GPU 异构,需将中间结果落盘,导致效率低下;同时,GPU使用率超95%之后会Block GPU指令调用,进而影响数据训练。

引入 Daft+Lance 方案后,客户将调度流程替换为 Daft on Ray,存储方式升级为 Lance。新方案通过 Daft on Ray 实现数据在内存中的流式处理,可分别扩展 CPU 与 GPU 资源,避免中间结果落盘的效率损耗;Lance 则将源数据与原始数据统一管理,支持高性能点查,实现数据预处理与训练的无缝衔接。最终,该客户端到端处理时间缩短 70%,大幅提升自动驾驶数据处理与模型迭代效率。

LLM图文混排场景:解决大 join 稳定性难题

某LLM客户需处理爬虫获取的图文混排数据,原始方案采用 Webdataset 存储,通过 Spark 读取数据后进行大 join。尽管尝试了 remote shuffle 等优化手段,但仍面临稳定性差、处理效率低的问题。

采用 Daft+Lance 方案后,客户无需基于图片与文本内容进行大 join,而是通过 row ID 关联源数据,在需要时再加载具体数据。这一优化彻底解决了大 join 的稳定性问题,同时显著提升了数据处理速度,为LLM 场景的内容处理提供了可靠支撑。

未来规划:完善多模态生态,推动开源协作

展望未来,火山引擎LAS团队将持续深化 Daft 与 Lance 的能力。在 Daft 方面,将补全多模态数据类型支持,重点加入视频处理能力(满足自动驾驶等场景的视频抽帧、训练需求),同时拓展 LeRobot、MCP 等行业特定数据类型;在生态融合上,将进一步加强与 Lance 的对接,打造更高效的 "计算 + 存储" 协同方案。

我们也欢迎感兴趣的开发者们加入Daft和Lance中文社区!

相关推荐
汉克老师3 小时前
GESP6级C++考试语法知识(十七、数据结构(三、认识队列 Queue))
数据结构·c++·队列·gesp6级·gesp六级·数组模拟队列
yuzhiboyouye4 小时前
内连接,左连接,右连接怎么区别开来?
数据库
JavaWeb学起来4 小时前
Python学习教程(六)数据结构List(列表)
数据结构·python·python基础·python教程
铭毅天下4 小时前
Easysearch 版本进化全图——从 ES 国产替代到 AI Native 搜索数据库
大数据·数据库·人工智能·elasticsearch·搜索引擎
muddjsv4 小时前
SQL 最常用技能详解与实战示例
数据库·sql·mysql
muddjsv5 小时前
大中小型企业数据配置年度成本估算分析
数据库·企业运营
塔能物联运维6 小时前
存量机房升级成为行业主流方向:热管理重构算力中心价值路径
数据库
lqj_本人6 小时前
鸿蒙electron跨端框架PC工志簿实战:项目、工时、阻塞和下一步都要有位置
数据库·华为·harmonyos
刘一说6 小时前
AI科技热点日报 | 2026年5月22日
数据库·人工智能·科技
LCG元6 小时前
RAG工程指南:从基础检索到生产部署全解析
java·运维·数据库