在 Daft 中調用大模型:EMR Serverless Spark 的能力邊界與選型邏輯
在Daft里调大模型:EMR Serverless Spark 的能力边界与选型逻辑
EMR Serverless Spark 透過 AI Function,將大模型調用整合為 Daft DataFrame 中可聲明資源、處理結構化輸入輸出並具備容錯與可觀測性的資料流水線算子。
2026-10-30 7
版权
版权声明:
本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《 阿里云开发者社区用户服务协议》和 《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写 侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
简介: 本文系统剖析了在 Daft DataFrame 中集成大模型能力时,EMR Serverless Spark 所提供的 AI Function 范式及其工程边界,指出其核心价值在于将大模型调用重构为具备声明式资源契约、结构化 I/O、细粒度容错与原生可观测性的数据流水线算子;对比通用 Serverless 函数、自建 Ray 和传统 PySpark 方案,阐明其专为 TB 级多模态湖仓批处理场景优化的设计取舍,并给出基于数据规模、实时性、模型来源与部署约束的选型决策树及三个不可妥协的前提条件。
当开发者在 Daft DataFrame 中尝试集成大模型能力(如图像理解、视频摘要、文本生成),首要问题并非“能不能调”,而是“以何种方式、在什么约束下、由谁来承载推理任务”。EMR Serverless Spark 并非提供一个通用大模型 SDK 或 HTTP 封装层,它将大模型调用重构为数据流水线中的可声明、可编排、可计量的计算算子——即 AI Function。这种设计不追求覆盖所有开源模型或任意推理框架,而是聚焦于在分布式湖仓场景中,保障多模态数据处理与模型推理的协同可靠性、资源可控性与运维可观测性。
Daft 与大模型的耦合机制:从 UDF 到 AI Function 的演进
Daft 本身支持通过 Python UDF(User-Defined Function)注入自定义逻辑,包括加载 transformers 或调用 REST API。但该路径在生产级多模态批处理中面临三重瓶颈:资源不可控(GPU 显存/并发未声明)、错误不可恢复(单帧失败导致整 Batch 中断)、结果不可结构化(返回 JSON 字符串需二次解析)。EMR Serverless Spark 引入的 AI Function 是对这一模式的工程收敛:它要求用户显式声明输入 Schema、输出 Schema、目标模型(如百炼上的 Qwen-VL)、GPU 资源规格(如 gpu:1)、batch size 及重试策略。系统据此完成自动资源调度、失败隔离、结果列式反序列化,并将输出直接映射为 DataFrame 新列。
例如,对一批视频路径执行视觉理解:
from daft import col
import emrspark.ai as ai
df = daft.read_parquet("oss://bucket/videos.parquet")
# 声明 AI Function:输入为 video_path,输出为 caption 和 confidence
labeled_df = df.with_column(
"caption",
ai.llm_vision(
col("video_path"),
model="qwen-vl-plus",
gpu="gpu:1",
batch_size=4
)
)
该表达式不会在 Driver 端加载模型,也不会触发任意 HTTP 请求;而是在 Ray Worker 上按需拉起隔离容器,绑定指定 GPU,批量解码视频帧并调用百炼服务,最终将结构化结果回填至列中。
产品能力差异:为什么不是所有“能跑模型”的平台都适合 Daft 场景?
| 维度 | EMR Serverless Spark + Daft | 通用 Serverless 函数(如 FC) | 自建 Ray 集群 | PySpark + 外部 API 调用 |
|---|---|---|---|---|
| 数据亲和性 | 原生支持视频/图像/音频列式加载与惰性解码,帧级切片自动分发 | 需手动下载→解码→上传,无列式优化 | 需自行实现 Arrow 兼容与内存管理 | DataFrame 分区后转为 Pandas,序列化开销高 |
| 资源声明粒度 | 支持 per-UDF 级 GPU/CPU/内存声明,与 batch size 联动调优 | 按函数实例统一配置,无法区分推理与预处理负载 | 依赖手动 YAML 配置,缺乏运行时弹性 | 无资源声明能力,全靠 Driver 分配 |
| 失败语义 | 单 Batch 内部分失败自动跳过,不影响整体作业;支持重试与死信队列 | 实例级失败即丢弃整个请求 | 需自行实现 checkpoint 与状态恢复 | 容易因单条记录异常中断全分区 |
| 可观测性 | 内置指标:GPU 利用率、Batch 处理延迟、API 调用成功率、显存 Spill 次数 | 仅函数执行时长与错误码 | 依赖 Prometheus 自行埋点 | 无内置模型层监控 |
| 部署一致性 | 同一套 DataFrame 代码可在本地 native runner 与集群无缝切换 | 本地模拟成本高,环境差异大 | 集群配置复杂,版本升级风险高 | 本地调试可行,但集群行为难以复现 |
关键差异在于:EMR Serverless Spark 不把大模型当作“外部服务”,而是作为数据处理流水线中一个具备确定性输入输出、资源契约与容错语义的原生算子。这决定了它适用于 TB 级多模态数据的规模化标注、清洗与向量化,而非低延迟交互式问答或小样本实验。
选型决策树:什么条件下应选用 EMR Serverless Spark?
- ✅ 应选用:已构建 OSS/HDFS 数据湖,需对百万级视频/图像批量执行统一打标(如“是否含人脸”“动作类别”);要求结果写入 Delta Lake 并与下游特征工程 SQL 衔接;团队使用 Python 生态但缺乏 GPU 运维能力。
- ⚠️ 需评估:实时性要求 <500ms 端到端延迟;模型需定制 CUDA kernel 或私有 ONNX 模型;输入数据为流式 Kafka Topic 且需 sub-second 响应。
- ❌ 应规避:仅需单张图调用一次 Qwen-VL 做演示;模型权重需频繁热更新(当前 AI Function 绑定百炼模型 ID,更新需重启作业);预算受限且日均处理量 <10GB。
实践收敛点:三个不可妥协的前提
- 数据必须落盘于对象存储:AI Function 当前仅支持 OSS、OSS-HDFS、NAS 等挂载路径,不支持本地文件系统或临时内存数据。
- 模型必须接入百炼平台:Daft 的 AI Function 底层调用百炼 REST API,暂不支持直连 HuggingFace Inference Endpoints 或自建 vLLM 服务(需封装为百炼兼容接口)。
- Schema 必须提前定义:输出字段类型(如
str,float,list[str])需在调用前明确,动态 JSON 解析需通过后续.apply()补充,不可作为 AI Function 直接返回结构。
Daft 在 EMR Serverless Spark 中的价值,正在于将大模型从“黑盒 API”还原为“可编程数据算子”——它不降低技术门槛,但显著抬高了生产级多模态数据工程的下限。
参考文献
- 《阿里云 EMR Daft AI Function:用 DataFrame 表达式搞定大模型调用与多模态向量化》 https://mp.weixin.qq.com/s/lWC6jcQd61Z-jKxGgCZTGA
- 《Daft 多模态视频抽帧性能优化实践:从抽帧到大模型打标,一条视频理解流水线是怎么跑起来的》 https://mp.weixin.qq.com/s/KmJpVc7mvczMEvfsSRBWbA
- 《Daft AI Function:用 DataFrame 表达式搞定大模型调用与多模态向量化》 https://developer.aliyun.com/article/1770403
- 《Daft 多模态视频抽帧性能优化实践:从抽帧到大模型打标,一条视频理解流水线是怎么跑起来的》 https://developer.aliyun.com/article/1770396
- 《从 Common Crawl 到可训练语料:用 EMR Serverless Daft 构建清洗、模型标注与向量化管线》 https://mp.weixin.qq.com/s/zmbjEAdaRAHaAvJPxn3OTA
- 《AI中心是EMR Serverless Spark专为大数据与AI融合场景打造的一站式智能引擎,通过AI Function与模型服务两大核心能力,让您仅需SQL即可在海量数据处理流程中无缝集成大模型能力。-开源大数据平台 E-MapReduce(EMR)-阿里云帮助中心》 https://help.aliyun.com/zh/emr/emr-serverless-spark/user-guide/the-ai-center
- 《AI中心是EMR Serverless Spark专为大数据与AI融合场景打造的一站式智能引擎,通过AI Function与模型服务两大核心能力,让您仅需SQL即可在海量数据处理流程中无缝集成大模型能力。-开源大数据平台 E-MapReduce(EMR)-阿里云帮助中心》 https://help.aliyun.com/document_detail/3000928.html
- 《AI中心是EMR Serverless Spark专为大数据与AI融合场景打造的一站式智能引擎,通过AI Function与模型服务两大核心能力,让您仅需SQL即可在海量数据处理流程中无缝集成大模型能力。-开源大数据平台 E-MapReduce(EMR)-阿里云帮助中心》 https://help.aliyun.com/zh/emr/emr-serverless-spark/user-guide/ai-center-14/
- 《AI中心是EMR Serverless Spark专为大数据与AI融合场景打造的一站式智能引擎,通过AI Function与模型服务两大核心能力,让您仅需SQL即可在海量数据处理流程中无缝集成大模型能力。-开源大数据平台 E-MapReduce(EMR)-阿里云帮助中心》 https://help.aliyun.com/zh/emr/emr-serverless-spark/user-guide/the-ai-center-beta/
- 《EMR Serverless Spark 多模态数据处理快速入门:视频抽帧、去黑边与大模型打标-开源大数据平台 E-MapReduce(EMR)-阿里云帮助中心》 https://help.aliyun.com/zh/emr/emr-serverless-spark/getting-started/multimodal-data-processing-quick-start
文章标签:
目录
相关文章
|
15天前
|
JSON 程序员 数据格式
最新版Notepad++下载、安装、配置保姆级教程(附官网安装包)
Notepad++ 是一款免费开源、轻量快速的 Windows 文本编辑器,支持多标签、语法高亮、代码折叠与宏录制,体积小、启动快、资源占用低,兼容 x64/x32/ARM 架构,是程序员和文字工作者的高效利器。
3560 0 2
|
14天前
|
人工智能 API 开发工具
DeepSeek Harness 神插件:白嫖 13 家大厂模型
`dsh-our-free-model` 是 DeepSeek Harness 神级插件:零配置、零API Key、零账号,聚合13家大厂免费模型(含DeepSeek V4.1 Flash、Kimi K3等),支持本地网关、用量看板与自动降级,真正实现“白嫖即用”。
2429 45 184
|
8天前
|
开发者 索引
DeepSeekHarness大肥鱼自带插件市场了?加个地址就能用
Open Plugin Market 是一个开放插件索引平台,收录800+优质DSH插件,支持分类浏览、智能推荐与随机发现。无需安装市场,粘贴索引地址即可一键接入,网页版直访 dshopen.org,助力小开发者被看见。(239字)
1899 1 7
|
7天前
|
人工智能 Linux API
Magpie 是开源AI编程模型调度网关,上线一月获1.8万Star。它通过本地高性能网关统一托管多平台API密钥、账号与免费额度,实现跨Agent的模型秒级切换、静默额度轮换与资源复用,显著降低碎片化管理成本。(239字)
1162 0 0
|
4天前
|
人工智能 安全 API
2026 年阿里云双 11|百炼大模型 API 指南:免费 Token 领取、API Key 生成、代码调用实战教程
对于零基础的AI开发者、技术爱好者和小型开发团队来说,低成本、低门槛调用主流大模型接口,是开启AI项目原型开发的必经之路。百炼大模型服务平台汇集了百余款主流大模型,面向新用户提供大规模免费推理额度,不需要预先充值,即可完成文本生成、逻辑推理、代码编写、多模态解析等各类开发验证工作。很多新手在初次接触平台时,常常遇到不清楚免费额度规则、不知道如何生成API‑Key、环境配置错误、调用接口持续报错等一系列问题。
583 1 1
热门文章
最新文章
來源:阿里雲開發者社區 AI · developer.aliyun.com