在AI应用快速发展的今天,海量多模态数据的处理已成为构建高质量AI系统的核心挑战。火山引擎推出的LAS Daft数据处理引擎,正是为解决这一难题而设计的创新解决方案。
LAS Daft基于云原生湖仓一体架构,整合了开源分布式执行引擎Daft的强大能力,实现了对图文、音视频、点云等多模态数据的统一处理。该系统覆盖了从数据清洗、格式转换到零拷贝对接训练框架的完整数据处理流程。
本文主要讲解 Daft 在分布式 Python 计算、多模算子处理、流式调度等方面的核心设计,以及在智能驾驶大规模数据处理、LLM离线推理等实际应用场景中的落地经验,探讨如何在保证成本可控的前提下,实现AI数据处理能力的可扩展性与工程化落地。
2.1 AI在Data场景下的新兴需求

新兴需求呈现为四层金字塔结构,每层包含核心变革方向及具体表现。
2.2 AI时代下的技术瓶颈与市场需求
AI 技术的爆发式发展推动数据处理从纯文本场景向文本、图片、音视频等多模态联合场景快速演进,多模态数据管理在数据规模、处理复杂度、存储与合规性等方面面临全新挑战,需从技术、安全、效率等维度系统应对。
2.2.1 数据计算需求:规模与复杂度的双重挑战
2.2.2 数据存储需求:异构与合规的双重压力
2.2.3 多模态数据管理的行业实践与技术应对
为破解上述瓶颈,产业界从技术工具、治理框架、场景应用等维度探索解决方案:
2.2.4 未来趋势:技术融合与生态协同
多模态数据管理需结合生成式 AI、联邦学习、知识图谱等技术,突破存储、处理、合规等瓶颈。医疗、金融、城市治理等场景的持续验证,将推动多模态数据治理成为数字经济核心基础设施,释放数据要素乘数效应,助力人类社会向“智能共生”新文明迈进。
2.3 LAS产品全景图(LakeHouse AI Service)

从图中可以看到LAS产品全景图(LakeHouse AI Service)整体呈现出分层架构,各部分相互关联,共同构建起一个全面的LakeHouse AI服务体系。
先看最上层,是数据处理的核心流程环节,涵盖数据采集、数据清洗、特征工程、企业搜索、数据洞察和模型训练。这些环节依次衔接,从数据的获取开始,经过清洗和特征工程的处理,为后续的搜索、洞察以及模型训练提供了高质量的数据基础。
中间部分是整个产品的核心功能模块,分为统一元数据、多模态算子平台和智能检索三大块。统一元数据包含了多种集合类型,像Table集合、Volume集合等,还有数据血缘、模型集合等重要组成部分,它就如同整个系统的数据管理中枢,对各类数据和模型进行统一的组织与管控。多模态算子平台则集成了Source/Sink算子、Embedding算子等多种算子,并且提供了算子API服务和Pipeline模板仓库等,支持多模态数据的处理和流转。智能检索部分能够进行向量索引构建、全文索引构建以及Hybrid Search等操作,还具备结果排序和LLM检索增强等功能,实现了高效准确的信息检索。
在中间核心功能模块的周围,分布着一些辅助性的功能组件。左侧有库表、文本、图像、语音等不同类型的数据入口,为系统提供了多样化的数据来源。右侧是湖管理和湖计算,湖管理负责对数据湖进行整体的管理,湖计算则支持数据湖中的计算任务。还有数据集管理、任务/工作流编排等功能,它们协同工作,保障了整个系统的稳定运行和高效协作。
最下层是基础支撑部分,包括结构化数据湖和非结构化数据湖,为数据提供了存储场所,而TOS对象存储则进一步为数据存储提供了支持,整个架构层次清晰,功能完备。
2.4 Daft多模计算定位

2.4.1 技术维度:五大“统一”构建全场景数据处理能力
Daft以“多模态数据湖计算”为核心定位,通过技术架构突破传统工具的场景限制,实现数据形态、计算资源、任务阶段、生态工具、部署模式的全面兼容:
2.4.2 生态维度:多工具协同构建完整数据处理链路
Daft通过整合数据存储、ETL、模型训练、多模态处理、搜索与推荐等领域的主流工具,形成覆盖“数据全生命周期”的生态网络:
2.4.3 景价值:AI时代的“数据处理枢纽”
Daft的“多维度统一”与“生态整合”能力,使其成为AI场景下数据湖计算的核心引擎:
综上,Daft通过技术架构的创新与生态工具的整合,成为AI时代“多模态数据湖计算”的关键基础设施,为数据驱动的业务创新提供底层支撑。
2.5 Daft计算框架

Daft计算框架围绕分布式数据处理构建,其核心逻辑分为接口层、优化层、执行层和运行时层,各模块协同工作以实现高效的数据处理。以下是对框架结构的详细解析:
接口层(Interface)提供了双入口支持,降低了使用门槛。Daft支持Python API和SQL两种接口形式,开发者可以根据场景灵活选择。Python API通过read_parquet、read_csv等函数加载数据,支持链式调用,实现数据处理流程的直观定义。SQL接口则通过Planning模块将SQL翻译为逻辑执行计划,与Python API的逻辑计划统一处理,确保接口一致性。
优化层(Optimizer)是框架性能的核心环节,通过Optimize模块对数据处理流程进行逻辑优化与物理优化。逻辑优化主要对join、select、limit等操作的执行顺序、数据分区策略进行优化,减少冗余计算与数据传输。物理优化则将逻辑计划翻译为可执行的物理计划,如ScanTaskSource、HashJoinBuild等,并生成LogicalPlan,为后续执行层提供高效执行路径。
执行层(Execution)负责将优化后的计划转化为实际计算任务,包含任务调度与执行引擎两部分。任务调度通过Scheduler模块将任务分发到TaskContext,并由Runner(如Swordfish、Flotilla)执行。执行引擎则分为Swordfish Local Engine和Flotilla Distributed Engine,前者适用于单机资源处理,后者基于Ray实现,可扩展至多节点集群,支持大规模数据并行处理。
运行时层(Runtime)决定了框架的执行模式,支持单机与分布式模式切换。Local Machine模式适合小规模数据处理或开发调试,而Ray Cluster模式则通过Ray集群扩展计算资源,满足大规模数据的并行处理需求。框架的核心特性包括分布式模式切换、执行器架构和优化器规则,这些特性共同确保了Daft在分布式数据处理中的灵活性、可扩展性与性能。
3.1 Python分布式

从图中可以看到,整个流程起始于TOS/vePFS,里面存储着多份Data。这些Data首先会经过数据拆分环节,被拆分成多份Data,之后这些拆分后的数据会流向Daft。Daft会对数据进行自动分片以及通过Rust download处理。
原本存在需要手工绑定Task和手写Python S3 SDK这样的操作,但经过Daft处理后,数据会被分配到不同的Node,像Node1、Node2、Node3,每个Node上都有对应的Task来对数据进行处理。
同时,图中还展示了使用daft库进行分布式处理的代码示例,包括Task级别和Class级别的定义,通过装饰器@daft.udf来指定返回数据类型、CPU和GPU资源等,体现了从单机代码轻松转换为分布式任务的方式,实现单机调试后在集群跑生产的目标。
3.2 CPU/GPU异构流式调度

该结构图展示了基于Daft on Ray的CPU/GPU异构流式调度系统,通过分层设计实现从数据源到模型推理的全流程高效协同。数据源以Webdataset形式接入,包含图像和文本/JSON等原始数据,首先进入CPU Node模块进行预处理,通过Lance组件完成数据转换(如JSON展开、类型转换)和清洗(如图像解码、字段提取),将原始数据转化为标准化中间格式。
随后数据进入异构节点池并行处理阶段,CPU Node Pool负责轻量级任务(如文本过滤、图像列合并),利用CPU的逻辑控制优势高效完成;A10 Node Pool则专注于计算密集型任务(如美学评分、图像描述生成),借助NVIDIA GPU的并行算力提升处理效率。两者通过Ray的分布式流式调度机制协同工作,实现数据在节点间的智能流转,形成“轻量任务CPU做、密集任务GPU扛”的异构分工。
预处理后的数据流入PyTorch模块进行核心推理操作(如图像编码生成、SDIP流程),最终通过Iterator接口输出处理结果,支持流式数据连续接入。该系统技术特性突出表现为:CPU+GPU异构协同通过Ray调度实现资源最优配置;基于Ray的流式计算框架保障多节点高效协作;少参数并发控制策略显著降低开发运维复杂度,为AI任务提供灵活易用的异构计算解决方案。
3.3 多模Lazy计算

上图是多模态数据处理的两种框架流程。上方为Ray Data流程,从ReadImage和ReadText读取图像与文本数据,以pandas或pyarrow表格格式存储,经两个Map_Batches处理后,通过write_parquet或write_lance写入数据。中间以紫色圆柱代表含图片、文本、音频等多种文件的多模态数据源,下方标注Transform、Inference、Write为核心处理环节。下方是Daft流程,左侧输入含url的Text Meta Files和Image Meta Files(均为parquet/csv格式),经Meta Join关联元数据得到Series,再经Meta Filter过滤,利用with_column依次完成Url Download、vector decode、UDF Inference操作,最终同样通过write_parquet或write_lance输出。两种框架均涵盖多模态数据的读取、处理、推理和写入,Ray Data侧重直接读取原始数据并批处理,Daft则先基于元数据关联过滤,再加载处理实际数据。
3.4 多模类型处理

3.5 LLM离线推理

数据从 TOS 存储层流入后,经清洗、视觉理解、图文向量化、文本生成等多模态处理,再通过 Daft 整合为统一数据集,全流程由平台级能力(任务编排、资源监控等)保障稳定,最终输出的多模态数据集可直接服务于下游 AI 应用。
3.6 Dataloder + Daft Iter_batches

3.6.1 Pytorch的缺陷分析
3.6.2 Daft Remote的优势总结
4.1 Lance是什么

4.2 Daft+Lance表象矛盾的思路

通过结合Lance多模列式存储与Daft延迟读取能力,可实现以下优化效果:
最终达成"1+1>2"的协同效果,实现非结构化数据与结构化数据的高效统一管理。
4.3 Daft url & Lance row id

多模对象的KV方式访问:
4.4 Daft+Lance带来的组合优势

Daft与Lance的结合,为AI领域的湖计算与湖存储打造了针对性技术方案,核心优势可从分布式能力、表达式下推、多模态存储三方面展开:
综上,Daft与Lance的组合从分布式执行、表达式下推到多模存储,全方位适配AI场景中多模态数据“存储、计算、管理”的技术需求,为AI时代数据湖的建设提供技术范式。
5.1 智驾PB级的数据架构升级

某智驾升级前后的痛点&收益

5.2 某基模的图文混排场景

某基模的图文混排场景升级前后的痛点&收益

欢迎大家关注我的公众号【老周聊架构】,AI、大数据、云原生、物联网等相关领域的技术知识分享。