Modal
Modal 是面向 AI/ML 工作负载的无服务器 Python 云平台,只需在函数上添加装饰器即可将任意 Python 代码运行在云端 GPU 上,按秒计费无闲置成本,A100 $3.72/时。支持 AI 模型训练与部署、批量推理和定时任务,是开发者最快速的 GPU 云使用方式。
Modal — Python 原生的无服务器 AI/ML 云平台
核心参数与统计
| 参数 | 详情 |
|---|---|
| 编程模型 | Python 装饰器(@app.function、@app.cls、@web_endpoint 等) |
| GPU 定价 | A100 40GB: $3.72/时,H100: 约 $5.96/时,T4: $0.76/时 |
| 最小计费粒度 | 100 毫秒(真正按秒/毫秒计费) |
| 冷启动时间 | 约 2-5 秒(优化后),支持容器预热 |
| 并行执行 | 原生支持大规模并行(数千个容器同时运行) |
| Web Endpoints | 一行装饰器发布 HTTPS API 端点 |
| 持久化存储 | Modal Volume 和 Modal Dict |
| 创始人 | Erik Bernhardsson(前 Spotify), Akshat Bubna |
| 成立时间 | 2021 年 |
| 免费额度 | 新用户每月 $30 免费计算额度 |
Modal 的核心设计哲学是「让云计算感觉像本地计算」——开发者不需要理解 Kubernetes、Docker Compose、IAM 策略或负载均衡配置,只需在普通 Python 函数上加上装饰器,Modal 自动处理所有基础设施细节,同时保持代码的可本地调试性。
用户与市场认可
Modal 在 Python 数据科学家和 ML 工程师社区中获得了极高的口碑,特别受到「有 Python 背景但不擅长 DevOps/Kubernetes」的数据工程师和 AI 研究人员的青睐。多篇被广泛转发的技术博客将 Modal 列为「最佳 AI 代码部署体验」,其装饰器语法的优雅设计获得 Python 社区的高度认可。
在企业用户方面,Modal 已被多家知名 AI 公司用于生产环境的批量推理和数据处理管道。Erik Bernhardsson 的技术声誉(Luigi 框架作者、前 Spotify 数据基础设施负责人)为 Modal 带来了大量来自数据工程领域的信任背书,使其在数据密集型 AI 工作负载场景中建立了良好的市场认知。
成本优势
| 计划 | 价格 | 主要功能 | 适合人群 |
|---|---|---|---|
| 免费额度 | $30/月免费计算 | 全平台功能,评估和小项目 | 学生、研究人员、评估用户 |
| 按量计费 | T4: $0.76/时,A100: $3.72/时,H100: ~$5.96/时 | 真正按使用秒数计费 | 所有用户 |
| 企业计划 | 定制报价 | 承诺使用量折扣、专属支持 | 高用量企业客户 |
Modal 在成本上的核心优势是真正的按秒/毫秒计费:与 RunPod 等按小时计费不同,Modal 函数执行 5 秒就收 5 秒的费用。对于批量推理任务(每次调用 10-30 秒),使用 Modal 比租用独占 GPU Pod 的利用率高出数十倍,总成本显著降低。
主要功能
- Python 装饰器 API(@app.function):最核心功能,在任意 Python 函数上添加
@app.function(gpu="A100")装饰器,该函数即在云端 GPU 上执行,支持指定 GPU 类型、CPU/内存、超时时间、并发数等参数,语法极为简洁直观。 - 大规模并行执行(.map()):通过
f.map(inputs)一行代码将函数并行应用到大量输入数据,Modal 自动启动所需数量的容器并行处理,非常适合批量图像处理、批量推理和大规模数据转换任务。 - Web Endpoints(@web_endpoint):在函数上添加
@app.function().web_endpoint()装饰器,即可将其发布为托管的 HTTPS API 端点,自动处理 SSL、负载均衡和扩缩容,无需配置 Web 框架或反向代理。 - 容器镜像定义(Image):在 Python 代码中声明式定义容器依赖(
image = modal.Image.debian_slim().pip_install(...)),Modal 自动构建和缓存 Docker 镜像,开发者无需编写 Dockerfile 或手动推送镜像。 - 定时任务(@app.function(schedule=...)):为函数添加 cron 或 period 调度参数,Modal 自动按时触发执行,适合定时数据处理、模型评估和报告生成等周期性任务,无需配置独立的调度基础设施。
- Modal Volume 持久化存储:跨函数调用的持久化存储卷,用于存储大型模型权重和数据集,避免每次冷启动重新下载,支持 Modal 函数之间共享数据,对大型 AI 模型的工作流至关重要。
- 本地-云端无缝调试:Modal 函数在本地调用时自动路由到云端执行,但代码体验与本地函数调用完全一致,支持
modal run本地触发和modal shell进入容器 Shell 调试,极大提升了云端代码的调试效率。 - 流式输出(Generator):支持 Python Generator 函数作为 Modal 端点,实现流式 Token 输出,适合构建支持实时流式响应的 LLM 推理 API。
模型与版本演进
| 里程碑 | 时间 | 说明 |
|---|---|---|
| Modal Labs 创立 | 2021 | Erik Bernhardsson 和 Akshat Bubna 联合创立 |
| 闭测阶段 | 2021-2022 | 产品核心架构开发,有限受邀用户测试 |
| 公测版发布 | 2022-09 | Python 装饰器 API 公测上线,引发开发者社区广泛关注 |
| Web Endpoints 发布 | 2023-03 | 支持将 Python 函数直接发布为 HTTPS API 端点 |
| 正式版(GA)发布 | 2023-06 | 平台 GA,完善 SLA 和计费体系,企业客户进入 |
| H100 GPU 上线 | 2024-06 | H100 80GB SXM GPU 正式可用,满足顶级模型需求 |
| Modal v0.70+ 优化 | ~2024-12 | 容器启动加速、@app.cls 有状态部署、Modal Volume 改进 |
技术优势
Python 原生的声明式基础设施定义:Modal 最大的技术创新在于将基础设施配置与业务代码合并在同一 Python 文件中,开发者不需要编写独立的 YAML 配置、Dockerfile 或 Terraform 脚本,所有配置都是类型安全的 Python 对象。这一设计使代码库更简洁、基础设施配置可版本控制,且符合 Python 开发者的直觉习惯。
毫秒级计费精度最大化资源利用率:传统云 GPU 按分钟或小时计费,对于执行时间短的 AI 推理任务(10-60 秒),大量时间都浪费在计费粒度内。Modal 的 100ms 计费粒度与实际计算时间高度吻合,在批量推理等场景下资源利用率远高于按小时计费的竞品,综合成本通常低 30-60%。
容器镜像构建和缓存的智能优化:Modal 对容器镜像构建采用层级缓存策略,相同的 Python 包安装步骤在首次执行后会被缓存,后续部署时只重建发生变化的层,大幅减少镜像构建时间。对于频繁迭代的 AI 应用,Modal 的部署速度通常比手动 Docker 构建推送快 3-5 倍。
大规模并行的原生支持:Modal 从设计之初就考虑了大规模并行执行场景,.map() 和 .starmap() 操作符可以在秒级启动数千个并行容器实例,是批量图像处理、大规模模型评估和分布式数据处理的理想工具,远超手动编排 Kubernetes Job 的开发效率。
如何使用
| 入口 | 说明 |
|---|---|
| CLI 安装 | pip install modal 并运行 modal token new 完成认证 |
| 本地开发 | 编写带有 Modal 装饰器的 Python 脚本,本地调试逻辑 |
| 云端执行 | modal run script.py 在云端 GPU 上执行函数 |
| Web 端点部署 | modal deploy script.py 发布为持久化 API 端点 |
| 控制台监控 | 访问 https://modal.com/apps 查看函数执行日志和使用量 |
典型使用步骤(部署 LLM 推理 API):
- 安装 Modal:
pip install modal并运行modal token new完成账号认证。 - 编写推理函数,在函数上添加装饰器:
@app.function(gpu="A100", image=modal.Image.debian_slim().pip_install("transformers", "torch"))。 - 在函数体中编写模型加载和推理逻辑(与普通 Python 代码完全相同)。
- 添加 Web Endpoint 装饰器:
@app.function(gpu="A100").web_endpoint(method="POST"),将推理函数发布为 API。 - 运行
modal deploy app.py部署应用,获取 HTTPS API URL。 - 通过 HTTP 请求调用 API,Modal 自动处理冷启动、扩缩容和 GPU 分配。
产品定价
Modal 采用完全按使用量计费的定价模式:
- 免费额度:新用户每月获得 $30 免费计算信用额度(约 8 小时 A100 或 39 小时 T4 使用时间),无需信用卡即可注册体验,用于开发测试和小规模项目。
- GPU 按秒计费:A100 40GB $3.72/时(约 $0.001/秒),H100 约 $5.96/时,T4 $0.76/时,A10G $1.10/时,最小计费粒度 100ms,无最低消费要求。
- CPU 和内存:CPU 密集型任务也可按需使用,CPU 核心和内存按小时计费,价格低廉。
- 存储:Modal Volume 持久化存储约 $0.10/GB/月,网络带宽另行计费。
- 企业计划:高用量客户可与 Modal 商务团队协商承诺使用量折扣,获取更优惠的定价和专属技术支持。
应用场景
-
批量 AI 推理管道:数据团队使用 Modal 的
.map()并行操作,对大规模数据集(如数百万张图像或文本记录)进行批量 AI 推理,数千个 GPU 容器并行处理,将原本需要数天的任务压缩到数小时,按秒计费使批量任务成本极具竞争力。 -
AI 模型 API 的快速上线:ML 工程师使用 Modal Web Endpoints 将训练好的 AI 模型快速发布为可访问的 HTTPS API,无需配置 FastAPI/Flask 服务器、Docker 容器编排或 Kubernetes 部署,从模型代码到生产 API 只需数十分钟,极大加速 AI 产品的上线速度。
-
AI 训练和实验的云端执行:研究人员将本地开发的训练脚本通过 Modal 在云端 GPU 上执行,利用
modal run一键触发,通过modal shell进入容器调试,保留本地编辑器和版本控制工作流,同时获得云端 GPU 的算力,是「本地编码 + 云端计算」的理想体验。 -
定时数据处理和模型更新:AI 应用的后台自动化任务——定时爬取最新数据、重新训练或更新模型、生成数据报告——使用 Modal 的定时任务功能(cron 调度)自动执行,无需部署专用服务器,按实际执行时间付费,比维护常驻服务器成本低得多。
-
多模型并发推理系统:需要同时运行多个 AI 模型(如文本嵌入 + 语言生成 + 图像理解)的复杂 AI 应用,使用 Modal 将每个模型封装为独立函数,根据请求量自动扩缩各模型实例,形成灵活弹性的多模型推理系统。
适用人群
- Python 数据科学家和 ML 工程师:擅长 Python 但不熟悉 DevOps 和 Kubernetes 的数据科学家,Modal 将复杂的云基础设施管理封装在熟悉的 Python 语法中,是最接近「本地编程体验」的云 GPU 使用方式。
- AI 初创公司快速迭代团队:处于快速产品迭代阶段,不希望在基础设施配置上花费大量时间的小型 AI 开发团队,Modal 让工程师专注于 AI 逻辑而非部署细节。
- AI 研究人员:需要偶发性大量 GPU 算力执行实验,按量付费避免了资源闲置,免费额度足以支持许多小规模实验。
- 批量数据处理工程师:需要大规模并行计算能力的数据工程师,Modal 的
.map()并行操作与 Python 编程习惯完美契合,比手动管理 Kubernetes Jobs 高效数倍。 - 不适配场景:需要低延迟(<100ms)实时响应的在线服务(Modal 冷启动延迟不适合实时性要求极高的场景);需要持续 7×24 高负荷运行的大型服务(长期运行时专用 GPU 实例成本更低);非 Python 技术栈(Modal 当前仅支持 Python SDK,Java/Go 等语言用户无法使用)。
总结与展望
Modal 以「让云计算感觉像本地 Python」的设计理念,在 AI/ML 云部署领域创造了独特的开发者体验。Python 装饰器 API 的简洁优雅、毫秒级计费的成本精准性,以及从开发到部署的无缝连贯性,使 Modal 在技术品味较高的 ML 工程师群体中建立了强烈的品牌认可。
在 AI 应用部署复杂度持续上升的背景下,Modal 所代表的「开发者体验优先」的基础设施产品哲学正在获得越来越多的认可。Erik Bernhardsson 在数据工程领域的深厚背景,使 Modal 在数据密集型 AI 工作负载的理解和产品设计上具有独特优势。
后续关注点:冷启动延迟的进一步优化(接近零冷启动是目标)、多语言 SDK 支持(Go/TypeScript 等)的扩展、更完善的分布式训练支持(多节点多 GPU)、以及企业级功能(VPC 集成、私有化部署选项)的逐步完善,将决定 Modal 能否从面向 ML 工程师的开发工具成长为面向企业的完整 AI 基础设施平台。
版本信息
- Modal 正式版(GA)发布 :Modal 宣布平台正式版(General Availability)发布,结束公测阶段,完善 SLA 和账单体系;同期推出 Web Endpoints 功能,支持将 Python 函数直接发布为 HTTPS API 端点,无需配置 Web 服务器和负载均衡器,使 Modal 从「GPU 函数计算」扩展为「完整 AI 应用部署平台」。
- Modal 公测版发布 :Modal 平台进入公测阶段,首次向外部开发者开放基于 Python 装饰器的无服务器 GPU 云服务,`@stub.function(gpu="A100")` 的简洁语法在开发者社区引发广泛讨论,被誉为「最符合 Python 开发者直觉的云 GPU 使用方式」,迅速积累了大量早期用户。
- Modal v0.70+ 容器与并发优化 :Modal v0.70+ 系列版本带来容器启动速度的大幅优化(冷启动时间从平均 5-10 秒降至 2-3 秒),新增 @app.cls 类方法装饰器支持有状态服务部署,改进并发处理逻辑减少资源浪费;H100 GPU 正式上线供应,满足顶级大模型训练和推理需求;同期推出 Modal Volume 持久化存储,解决模型权重和数据集的跨调用持久化问题。
用户评价