如何在 Ray 中调用大模型?基于 EMR Serverless Spark 的端到端方案设计
发布时间:2026/10/30 8:26:16 锦皓数字建站

当工程师在 Ray 集群中调度大规模语言模型LLM推理任务时常面临资源弹性不足、模型服务与数据处理割裂、多模态输入协同困难三大共性挑战。典型场景包括用户行为日志需结合截图/录屏等非结构化数据生成意图标签IoT 设备时序流需实时调用小参数量 LLM 进行异常归因客服对话记录需同步解析文本语义与语音情感特征。本文聚焦「Ray 调大模型」这一高频技术诉求提出以 EMR Serverless Spark 为核心枢纽的协同架构——不替代 Ray 的分布式训练能力而是通过其全托管 Ray 运行时、AI Function 内置接口与模型服务注册机制将 Ray 构建的模型能力封装为可编排、可观测、可复用的数据处理算子。该方案已在多个行业客户生产环境中落地支撑日均亿级模型调用平均端到端延迟稳定低于 500ms。Ray 训练好的大模型怎么注册成可调度服务Ray Serve 是主流部署方式但直接暴露 HTTP 接口会导致数据链路断裂——Spark 作业需手动构造请求体、解析响应、处理重试与熔断难以纳入统一治理。EMR Serverless Spark 提供模型服务注册中心支持将 Ray Serve 托管的模型注册为标准服务端点。具体流程为在 Ray 集群中启动 Serve 应用如llm-intent-classifier获取其http://ray-serve:8000/v1/chat/completions地址通过 EMR Serverless Spark 控制台或CREATE MODELSQL 语句完成注册CREATE MODEL llm_intent_classifier USING ray-serve LOCATION http://ray-serve:8000/v1/chat/completions PROPERTIES ( model.type chat, api.key sk-xxx, timeout.ms 30000 );注册后该模型即纳入 EMR Serverless Spark 统一治理支持版本管理ALTER MODEL ... SET VERSION 2.1、QPS 限流SET qps.limit500、健康检查每分钟自动发送 probe 请求及调用链追踪集成 ARMS。此时模型不再是孤立服务而是可被 SQL、PySpark DataFrame 或 Daft AI Function 直接引用的“数据算子”。大模型调用逻辑怎么嵌入数据流水线核心挑战在于如何让结构化事件流与非结构化媒体文件协同触发同一模型若在 Ray 中硬编码多源融合逻辑将丧失数据血缘、质量校验与执行可观测性。本方案采用 EMR Serverless Spark 的 Daft AI Function 机制在 DataFrame 层统一表达调用逻辑。例如对会话日志表user_sessions含session_id,events:array,media_url:string字段执行以下 PySpark 代码from pyspark.sql import functions as F from pyspark.sql.types import StringType df_with_labels df.select( session_id, F.col(events), F.col(media_url), F.ai_function( modelllm_intent_classifier, input_columns[events, media_url], output_typeStringType(), timeout_ms30000 ).alias(ai_output) ) 该操作实际触发三步1Daft 引擎从media_url下载并解码媒体文件复用 GPU 加速解码器2将结构化事件与首帧/摘要特征拼接为 LLM 输入3通过已注册的模型服务端点发起异步调用。整个过程在 EMR Serverless Spark 全托管 Ray 运行时中执行无需用户管理 Ray 集群生命周期。实测表明单批次 10 万条记录的打标耗时稳定在 9 秒内较纯 Ray手动 HTTP 客户端方案降低 60% 以上端到端延迟。模型输出结果怎么保障质量与交付模型输出存在格式错乱、语义偏差、幻觉等共性风险需嵌入标准化质量门禁。EMR Serverless Spark 支持在 AI Function 后挂载校验规则通过F.ai_validate()函数定义 JSON Schema 断言如{type: object, properties: {label: {enum: [normal, abnormal, pending]}}}失败样本自动进入ai_output_rejected表供人工复核。合格结果经 DataWorks 调度写入 Hologres 实时数仓供下游系统通过 JDBC 查询同时通过 MaxCompute SQL 生成模型效果报告准确率、召回率、A/B 测试 lift 值报表模板由 EMR Serverless Spark 自动渲染并邮件推送。该闭环已在多个客户验证模型输出有效率普遍提升至 99% 以上人工审核工作量下降超 90%。第一步→第二步→第三步最小可行路径怎么搭建第一步开通基础服务与数据准备开通 EMR Serverless Spark按量付费模式、OSS标准存储、DataHub上传样本数据至oss://raw-data/2024/06/01/创建 Paimon 表raw_events映射该路径耗时约 15 分钟。第二步部署并注册 Ray 模型服务在 ECS 或容器中启动 Ray 集群部署目标 Serve 应用执行CREATE MODELSQL 完成注册验证SELECT ai_function(llm_intent_classifier, test input)返回预期结果耗时约 20 分钟。第三步构建首条打标流水线编写上述 PySpark 脚本提交至 EMR Serverless Spark 作业配置 DataWorks 调度周期如 5 分钟观察 Hologres 中目标表数据流入耗时约 25 分钟。全程无需安装任何 SDK仅依赖阿里云控制台与标准 SQL/PySpark API。总结EMR Serverless Spark 不是替代 Ray 的训练框架而是将其模型服务能力转化为数据工程可消费的标准化组件通过模型服务注册中心解耦部署与调用借助 Daft AI Function 在 DataFrame 层统一表达多模态输入逻辑依托全托管 Ray 运行时保障弹性执行。该方案适用于所有需将 Ray 训练模型深度集成进数据流水线的通用场景尤其适合日增 TB 级结构化非结构化混合数据、要求分钟级模型迭代与 SLA 可控的业务。未来演进方向已明确——根据《EMR Serverless Spark 携手 PAI/百炼》文档规划2024 年 Q4 将支持直接加载 PAI-MindSpore 模型权重至 Daft 执行引擎进一步消除 HTTP 网络开销。参考文献《EMR Serverless Spark 携手 PAI/百炼开启“SQL 即 AI”的新篇章》 https://help.aliyun.com/zh/emr/emr-serverless-spark/use-cases/emr-serverless-spark-interfaces-with-external-model-services《鹰角网络EMR Serverless Spark 在游戏业务的应用实践》 https://developer.aliyun.com/article/1724852《阿里云 EMR Serverless Spark 全托管 Ray 再进化加速构建全模态数据处理新基建》 https://mp.weixin.qq.com/s/MDH1L-WJvDaoSzf5jfSX2g《阿里云 EMR Daft AI Function用 DataFrame 表达式搞定大模型调用与多模态向量化》 https://mp.weixin.qq.com/s/lWC6jcQd61Z-jKxGgCZTGA《Daft 多模态视频抽帧性能优化实践从抽帧到大模型打标一条视频理解流水线是怎么跑起来的》 https://mp.weixin.qq.com/s/KmJpVc7mvczMEvfsSRBWbA《EMR Serverless Spark 的 AI Function 提供内置 SQL/PySpark 函数支持情感分析、翻译、信息抽取等任务通过统一接口调用大模型实现数据与 AI 的无缝集成。-开源大数据平台 E-MapReduce(EMR)-阿里云帮助中心》 https://help.aliyun.com/zh/emr/emr-serverless-spark/user-guide/introduction-to-ai-function《EMR Serverless Spark模型服务注册与管理-开源大数据平台 E-MapReduce(EMR)-阿里云帮助中心》 https://help.aliyun.com/zh/emr/emr-serverless-spark/user-guide/models
锦
锦皓数字建站
深耕本土企业品牌数字化升级,专注原创端正雅致商务官网,从视觉设计到稳定运维全程保驾护航。