扫码下载 APP
qrCode
更多下载方式
今天不再提醒

Multimodal AI数据处理的性能较量:为什么Daft正在重新定义数据管道

robot
摘要生成中

传统的数据引擎(Spark、Ray)在处理图像、视频、音频这些多模态数据时开始掉链子。问题出在哪?内存爆炸、GPU利用率低、单机根本撑不住。

多模态数据为什么这么难啃

一张压缩的JPEG图片,一旦解码会膨胀20倍。一个视频文件能生成几千帧,每帧都是几兆。同时还要CPU和GPU一起干活——这种混合计算负载让传统引擎彻底懵了。

Daft vs Ray Data:性能差距有多大

在相同的GPU集群(8台g6.xlarge + NVIDIA L4)上跑真实工作负载,结果很直观:

  • 音频转录(11.3万文件):Daft 6分22秒 vs Ray Data 29分20秒(4.6倍差距
  • 文档嵌入(1万PDF):Daft 1分54秒 vs Ray Data 14分32秒(7.6倍差距
  • 图像分类(80万张):Daft 4分23秒 vs Ray Data 23分30秒(5.4倍差距
  • 视频检测(1000个视频):Daft 11分46秒 vs Spark 3小时36分(18.4倍差距

为什么差距这么大

1. 原生优化 vs 自己写代码

Daft内置了图像解码、文本嵌入、LLM调用等原生操作,经过高度优化。Ray Data要靠你自己用Pillow、HuggingFace这些库写Python函数——每个库都有自己的数据格式,来回转换就是性能黑洞。

2. 流式处理 vs 内存堆积

Daft用流式执行引擎(Swordfish)让数据不停流动:第1000张图正在GPU推理,第1001到2000张还在下载解码。整个分区永远不会被完整加载到内存里。

Ray Data倾向于把操作融合到一个任务里,容易导致内存暴增。你可以用类来规避,但那样会把中间结果物化到对象存储里,又增加序列化开销。而且Ray的对象存储默认只有30%机器内存,爆盘风险大。

3. 资源协调

Daft让CPU、GPU、网络同时满载运行。Ray Data默认为I/O操作保留一个CPU核心,容易造成CPU处理工作被卡死,需要手动调参才能优化。

实战案例怎么说

Essential AI团队:用Daft处理Common Crawl的236亿份网页文档(24万亿token),扩展到3.2万请求/秒/VM,他们的评价是——“如果用Spark,光装JVM、调参就要费老劲。Daft从本地跑起来快得多,scale到多机器也很顺。”

CloudKitchens:索性把整个ML基础设施改成"DREAM Stack"(Daft + Ray + Poetry + Argo + Metaflow),因为他们发现Ray Data性能和功能都不够,Daft补齐了这个缺口。

字节跳动工程师:在130万张ImageNet图片上跑分类任务,Daft比Ray Data快20%,还更省资源。

什么时候用Daft,什么时候用Ray

选Daft:多模态数据处理、复杂ETL、在乎可靠性和性能、喜欢DataFrame/SQL风格

选Ray Data:想要Ray Train/Ray Serve的紧密集成、需要细粒度CPU/GPU配置


关键数字:Daft在多模态处理上快2-7倍,比Spark快4-18倍,而且稳定可靠。如果你的工作负载涉及大规模媒体处理,这不是可选项,是必选项。

此页面可能包含第三方内容,仅供参考(非陈述/保证),不应被视为 Gate 认可其观点表述,也不得被视为财务或专业建议。详见声明
  • 赞赏
  • 评论
  • 转发
  • 分享
评论
0/400
暂无评论
交易,随时随地
qrCode
扫码下载 Gate App
社群列表
简体中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)