Modal

-

Modal 是面向 AI/ML 工作负载的无服务器 Python 云平台,只需在函数上添加装饰器即可将任意 Python 代码运行在云端 GPU 上,按秒计费无闲置成本,A100 $3.72/时。支持 AI 模型训练与部署、批量推理和定时任务,是开发者最快速的 GPU 云使用方式。

Modal 产品界面

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)

  1. 安装 Modal:pip install modal 并运行 modal token new 完成账号认证。
  2. 编写推理函数,在函数上添加装饰器:@app.function(gpu="A100", image=modal.Image.debian_slim().pip_install("transformers", "torch"))
  3. 在函数体中编写模型加载和推理逻辑(与普通 Python 代码完全相同)。
  4. 添加 Web Endpoint 装饰器:@app.function(gpu="A100").web_endpoint(method="POST"),将推理函数发布为 API。
  5. 运行 modal deploy app.py 部署应用,获取 HTTPS API URL。
  6. 通过 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 商务团队协商承诺使用量折扣,获取更优惠的定价和专属技术支持。

应用场景

  1. 批量 AI 推理管道:数据团队使用 Modal 的 .map() 并行操作,对大规模数据集(如数百万张图像或文本记录)进行批量 AI 推理,数千个 GPU 容器并行处理,将原本需要数天的任务压缩到数小时,按秒计费使批量任务成本极具竞争力。

  2. AI 模型 API 的快速上线:ML 工程师使用 Modal Web Endpoints 将训练好的 AI 模型快速发布为可访问的 HTTPS API,无需配置 FastAPI/Flask 服务器、Docker 容器编排或 Kubernetes 部署,从模型代码到生产 API 只需数十分钟,极大加速 AI 产品的上线速度。

  3. AI 训练和实验的云端执行:研究人员将本地开发的训练脚本通过 Modal 在云端 GPU 上执行,利用 modal run 一键触发,通过 modal shell 进入容器调试,保留本地编辑器和版本控制工作流,同时获得云端 GPU 的算力,是「本地编码 + 云端计算」的理想体验。

  4. 定时数据处理和模型更新:AI 应用的后台自动化任务——定时爬取最新数据、重新训练或更新模型、生成数据报告——使用 Modal 的定时任务功能(cron 调度)自动执行,无需部署专用服务器,按实际执行时间付费,比维护常驻服务器成本低得多。

  5. 多模型并发推理系统:需要同时运行多个 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 持久化存储,解决模型权重和数据集的跨调用持久化问题。

用户评价

  • 加载评价中...