一招教你轻松调用大模型来处理海量数据
背景介绍
当下,以大语言模型为代表的人工智能(AI)正在快速演进,这将深刻改变我们分析、处理与使用数据的方式,推动各行各业迎来新的发展机遇。但另一方面,选取、部署和使用好大模型具备一定的技术要求和开发成本,限制了用户利用 AI 批量处理和分析海量数据的能力。
MaxFrame 产品是阿里云自研大数据平台 MaxCompute 提供的面向 Data + AI 领域的分布式计算方案。依托于 MaxCompute 业界领先的查询处理引擎、大规模弹性计算能力,以及存储的海量数据,MaxFrame 提供了兼容 Pandas API 的 DataFrame 表示层语义,旨在支持用户利用熟悉的 Python 生态进行敏捷、高效的数据清洗、机器学习训练和离线模型推理等计算任务,并在一些典型的用户场景中展现了明显的性能和性价比优势。
为了让大模型的智能在大数据平台中普适化,降低用户利用 AI 处理和分析数据的门槛,MaxFrame 正式推出了 AI Function 功能。我们引入了开箱即用的 Qwen 2.5 和 Deepseek-R1-Distill-Qwen 等系列大模型,用户不再需要去关心和解决复杂繁琐的模型部署问题,直接调用 AI Function 中提供的简单易用的编程接口,就可以对 MaxCompute 表中的海量数据使用大模型进行离线处理。AI Function 的典型使用场景包括从文本数据中提取结构化信息、整理总结内容、生成摘要、翻译语言,以及文本质量评估,情感分类等多项任务,可以极大地简化数据处理流程并提升处理结果的质量。
AI Function 功能概览
AI Function 提供了简单的的 generate
接口,允许用户选择模型种类,并以表和 prompts 作为参数输入执行。在接口执行中,MaxFrame 会先对表数据进行切分,根据数据规模设置合适的并发度并启动 worker 组执行计算任务,每个 worker 对输入的数据行使用用户传入的 prompts 参数为模板进行渲染并构建模型输入数据,来调用 worker 中本地启动的大模型进行推理,并将推理结果和成功状态写入 MaxCompute 表中。
整体架构和流程如图所示:

目前,MaxFrame 以开箱即用的方式支持如下 Qwen2.5 和 Deepseek-R1-Distill-Qwen 系列模型:
Qwen 2.5 文本系列模型
Qwen2.5-7B-instruct
Qwen2.5-3B-instruct
Qwen2.5-1.5B-instruct
Qwen2.5-0.5B-instruct
Deepseek-R1-Distill-Qwen 系列模型
DeepSeek-R1-Distill-Qwen-14B
DeepSeek-R1-Distill-Qwen-7B
DeepSeek-R1-Distill-Qwen-1.5B
这些模型均离线托管在 MaxCompute 平台内部,用户不再需要去考虑模型下载、分发以及 API 调用的并发上限问题。因此,调用 AI Function 的 MaxFrame 作业能够充分利用 MaxCompute 海量的计算资源,以较高的总体 token 吞吐率和并发完成基于大模型推理能力的文本处理任务。
除了支持 MaxCompute 离线托管的内置模型,对于需要处理和理解复杂文本数据的场景,AI Function 也支持调用阿里云灵积平台 (DashScope) 提供的 LLM API。DashScope 提供了参数规模更大和种类更丰富的大模型,如 QwenMax,DeepSeek R1 满血版等,用户可自行申请 DashScope ApiKey,确定灵积 API 的限流策略,并在 AI Function 中设置和使用。
使用方式
大模型对文本的处理有许多有趣的用例,下面提供一个简单的问答案例来理解在 AI Function 接口是如何使用的。
前置需求:
开通 MaxCompute
安装 MaxFrame 最新的客户端
pip install maxframe -U
从零开始使用 MaxFrame 可以查看 快速开始,这里以本地运行作为参考,通常你需要从使用 MaxFrame SDK 创建一个 Session 开始:
在上面的代码中,我们创建了一个包含五个问题的 DataFrame。接下来,我们将使用 AI Function 来生成每个问题的答案。
我们创建了一个 ManagedTextLLM 对象,并指定了要使用的模型为 qwen2.5-1.5b-instruct
。我们还定义了一个 prompts 模板,其中包含一个系统消息和一个用户消息,用户消息中,预留了 f-string
形式的变量 {query}
,这些占位符将会被替换为 DataFrame 中的 query 列,占位符支持使用来自 DataFrame 的多个列,均通过对应的列名来引用。
在 MaxFrame 中,对 llm 对象调用 generate
方法,传入 DataFrame 和 prompts 模板,即可获得每个问题的答案,使用 execute
将触发对结果 DataFrame 的计算,所以的计算都会发生在 MaxCompute 集群上,将自动根据计算规模对输入的 DataFrame 进行数据分片和并行计算。

应用案例
为了更直观地展示 MaxFrame AI Function 的强大功能和应用场景,我们将通过三个应用案例来深入了解这些技术是如何为用户解决实际问题的。
文本风控分类 - 使用 DeekSeek-R1-Distill-Qwen 模型
Deepseek-R1-Distill-Qwen 模型具备深度推理能力,在推理过程中,能够对文本进行分类、情感分析、文本质量评估等多项任务,在推理时能够详细输出思维链和逻辑推理过程,这种能力使得在深度理解得文本分类任务时具备更大得优势,特别是在风控这种涉及复杂语义和上下文关联的场景。
在 AI Function 中,可以使用 DeepSeek-R1-Distill-Qwen-14B
模型对文本进行风控分类,演示使用的数据集为 google/civil_comments,这是 Civil comments 平台存档的公开评论,来自全球大约 50 个英文新闻网站上。
以演示为目的,civil_comments 中已经存放了该数据集中的文本,我们直接读取该数据集的前 10 行。

接下来,我们将进行分控分类,判断对应的评论是否是安全的。相比于单独训练模型,Deepseek-R1-Distill-Qwen 系列模型只需要使用 prompts,即可完成对应的推理任务。
Deepseek-R1-Distill-Qwen 相比于普通模型,会有额外的推理过程,因此时间上会比普通模型完成一次推理需要更长的时间,但能够获得质量更高的推理结果。


在 reasoning 模型中,推理过程可能是人工复查结果的重要依据,因此 MaxFrame 也支持提取推理思维链的内容,单独存放在 reasoning_content
中,可以使用 flatjson
访问。
这里直接将原始文本的 DataFrame 和推理结果的 DataFrame 进行合并,并提出 reasoning_content
输出。


健康的:

不健康的:

在这个风控场景中,我们可以看到 Deepseek-R1-Distill-Qwen 模型在文本分类和逻辑推理中的强大表现。它不仅提供高度准确的分类结果,还揭示了推理的思考过程,使用户对模型的决策和分析有更全面的了解。这种透明度对于满足合规要求和提高信任度是至关重要的。借助 MaxFrame AI Function,用户可以海量的对文本进行风控,更好地应对复杂的风险控制问题,并快速识别潜在威胁。
文本结构化信息提取 - 使用 Qwen 2.5 模型
接下来的场景展示 MaxFrame AI Function 在非结构化数据处理上的强大能力。在大数据分析中,非结构化数据如文本和图像往往占据主导地位,带来了巨大的处理挑战。让我们深入探讨如何利用 AI Function 简化这一过程。
我们演示如何使用 AI Function 从简历中提取候选人的工作经验,使用随机生成的简历文本进行演示。

接下来我们使用 prompts 要求 LLM 从其中提取简历信息,并以 json 结构返回。
为了能够约束模型以预期的 json format 输出,AI Function 支持使用 json_mode,允许使用 response_format
提供预期的 json 格式。
generate
函数也接收通过 params 传入的模型推理参数,包括 response_format
, max_tokens
, repeat_penalty
等参数,避免在处理复杂 json 和长文本时出现重复输出的问题。下面的计算结果中,根据 prompt 传入的指令和response_format
的设置,模型的输出变成了结构化的 json 格式文本。
可以看到,MaxFrame 除了 AI Function 之外,还有大量的数据分析算子,在提前限定 json 结构的情况下,可以轻松地解析出结果。
文本摘要生成 - 使用 Qwen 2.5 模型
对于长文本进行摘要、大纲生成、关键词抽取也是常见的大模型文本处理的场景。LLM 能够用更少的文本和干净的内容来概括和提取原文的主要含义。这里演示如何使用 Qwen 2.5 模型对文本生成摘要和大纲,仍然以 HuggingFaceFW/FineWeb-EDU 数据集的部分数据进行演示。


提取并打印可以获得摘要结果。

通过上面三个应用案例的分析和展示,我们可以看到,MaxFrame AI Function 具备以下优点:
使用便捷。用户把数据导入 MaxCompute 表之后,调用 MaxFrame 的 read_odps_table 接口就可以构建出 DataFrame 对象,把该对象和编写好的 prompts 通过 llm.generate 接口传入并调用 execute 来执行,得到推理后的 DataFrame 对象。开发者使用简单的几行代码来调用 AI Function,就可以完成传统意义上非常复杂的模型部署、数据读取、任务分片和分布式模型推理执行的过程,极大提升了开发效率。
低运维成本。上述案例中,模型完全由 MaxCompute 离线托管,用户不再需要花费精力去关心模型的选取、下载、部署、启动以及运行监控和错误处理等等复杂繁琐的过程,只需要聚焦在数据处理逻辑编写,以及 prompts 调优等业务最关键的方面即可,极大降低了使用大模型能力处理数据的学习和使用成本。
结语和展望
通过这些案例,我们可以清楚地看到 MaxFrame 提供的 AI Function 的强大能力,以及其在不同场景中的巨大应用潜力。从文本风控分类到结构化信息提取,再到文本摘要生成,AI Function 为用户提供了灵活、高效的解决方案。凭借其易于使用的接口和高效的分布式计算能力,用户可以快速实现 AI 驱动的数据处理任务,无需关注繁琐的模型管理、推理部署、高可用维护等细节。这种高效的工作流程不仅提高了生产力,还显著降低了成本,帮助企业和开发者从数据中获取更多价值。
AI Function 的正式发布是 MaxFrame 探索大数据平台向智能化演进的开始。未来,我们将不断完善 AI Function 并增加更多的功能,包括:
增加多模态内置模型,用户编写合适的 prompt 并调用 AI Function 就可以实现对图片、音频、视频等海量非结构化数据的处理。
支持用户上传、管理和使用自定义的微调模型。
集成阿里云 PAI 平台提供的服务,支持大参数模型(如 DeepSeek V3, DeepSeek R1,Qwen Max)在高吞吐需求下的使用。
更丰富易用的调试工具,帮忙用户更高效的编写和设置合适的 prompt,并优化推理效果。
敬请期待!
感兴趣的用户可加入 MaxFrame 官方用户支持群的钉钉群号:37130012987
参考链接
[1] https://help.aliyun.com/zh/maxcompute/user-guide/maxframe-overview-1/
[2] https://dashscope.aliyun.com/
[3] https://github.com/QwenLM/Qwen2.5
[4] https://huggingface.co/deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B
评论