如何在 Ray 中调用大模型?基于 EMR Serverless Spark 的端到端方案设计

简介: 本文提出一种以EMR Serverless Spark为核心枢纽的端到端方案,解决Ray集群中调用大模型时面临的资源弹性不足、服务与数据割裂、多模态协同困难等关键问题;通过模型服务注册中心将Ray Serve部署的LLM封装为可治理、可编排的数据算子,利用Daft AI Function在DataFrame层统一处理结构化与非结构化输入,并集成质量校验、可观测性与自动化交付能力,已在生产环境支撑日均亿级调用且平均延迟低于500ms。

当工程师在 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 MODEL SQL 语句完成注册:

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.limit=500)、健康检查(每分钟自动发送 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(
        model="llm_intent_classifier",
        input_columns=["events", "media_url"],
        output_type=StringType(),
        timeout_ms=30000
    ).alias("ai_output")
)
`

该操作实际触发三步:1)Daft 引擎从 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 MODEL SQL 完成注册;验证 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 网络开销。


参考文献

相关文章
|
搜索推荐 数据可视化 数据挖掘
构建精准的目标客户群用户画像构建
构建精准的目标客户群用户画像
2120 6
|
XML SQL Web App开发
用友 GRP-U8 Proxy XXE-SQL注入漏洞
用友 GRP-U8 Proxy XXE-SQL注入漏洞,攻击者可利用该漏洞获取数据库敏感信息,具体复现操作请看下文。
983 1
|
7月前
|
JSON 前端开发 API
用Pydantic实现Python数据校验的最佳实践
本文以小张调试用户注册报错为引,生动揭示Python后端数据校验混乱的痛点:规则散落、类型错误频发、业务逻辑被校验淹没。随即引出Pydantic解法——通过声明式模型(如`class User(BaseModel): username: str; age: int = Field(ge=18)`),实现自动类型转换、嵌套校验、字段约束与清晰错误提示,大幅提升代码可读性、健壮性与可维护性。(239字)
610 0
|
5月前
|
人工智能 架构师 测试技术
阿里P9面试官冷笑:“你用GPT-4跑通个demo就叫熟悉大模型?”我默默关掉了电脑...
本文剖析大模型落地的核心转变:从“跑通Demo”到“工程化生产”。指出面试淘汰主因是缺乏Agent架构、Skill封装、评测闭环、成本管控等实战能力。以Claude Code、Cursor、OpenClaw为例,揭示生产级AI应用的分层机制与MCP协议价值。强调:合格AI工程师=懂模型+精工程+建闭环,Skill工程师即AI时代新架构师。
|
10月前
|
机器学习/深度学习 人工智能 算法
基于深度学习的摔倒检测系统
针对人口老龄化背景下老年人摔倒问题突出,传统检测方法存在佩戴不便、隐私泄露等局限,本研究基于深度学习技术,利用YOLOv8模型与Python开发非接触式摔倒检测系统。通过高效算法与高质量数据集实现精准识别,具备实时性高、适应性强等优势,可广泛应用于家庭、社区及医疗机构,有效提升老年人安全监护水平,减轻照护负担,推动人工智能在智慧医疗领域的融合应用。
|
存储 编译器 Linux
动态链接的魔法:Linux下动态链接库机制探讨
本文将深入探讨Linux系统中的动态链接库机制,这其中包括但不限于全局符号介入、延迟绑定以及地址无关代码等内容。
2590 141
|
人工智能 Java API
阿里云 0 元领取 100 万 Tokens,零门槛体验 DeepSeek-R1 满血版
阿里云开放DeepSeek-R1满血版体验,0门槛领取100万Tokens,参数规模6710亿,性能强劲且完全免费。用户可轻松写代码、做表格、写故事、逻辑推理等。重点是无需任何编程基础,学生党、职场新人皆可使用。通过注册阿里云账号、生成API Key并使用HiFox客户端,即可快速上手体验顶级AI助手的强大功能。限时福利,赶快行动!
2004 65
|
开发工具 数据安全/隐私保护 git
git: 修改gitlab仓库提交地址
git: 修改gitlab仓库提交地址
1304 0
|
敏捷开发 人工智能 自然语言处理
“教育+AI”,阿里云可以做什么?
“教育+AI”,阿里云可以做什么?
|
人工智能 自然语言处理 BI
蓝凌aiKM,双能驱动场景变革:蓝凌知识管理平台和通义千问共建实践
蓝凌aiKM通过双能驱动场景变革,结合蓝凌知识管理平台与通义千问大模型,助力企业构建智能“大脑”。aiKM不仅提升知识管理效率,还赋能业务场景,如新人培训、营销支持和流程优化。蓝博士产品整合专属内容与大模型能力,提供智能搜索、问答及推荐服务,帮助企业高效利用私域知识资产,推动数字化转型。蓝凌在AI时代致力于激活企业新生产力,打造知识护城河,成为核心竞争力。
798 0

热门文章

最新文章