无服务器算力平台,把 Python 函数直接变成云端 GPU 任务,按秒计费无需运维。
一句话说清楚:把 Python 函数扔到云上跑 GPU
Modal 做的事很直接——你写一个普通的 Python 函数,加个装饰器,它就能在云端按需调用 GPU 或 CPU 来跑,跑完就停,按秒计费。不用配服务器,不用管容器,不用操心扩缩容。写完代码直接 modal run,函数就在云上执行了。
适合谁用?跑模型推理、做批量数据处理、训练小规模模型、跑定时任务的人。尤其是那些不想为了一个脚本去折腾 Kubernetes 或者云厂商控制台的开发者。
它到底怎么工作的
核心概念就两个:函数和容器。你用 @app.function(gpu="A100") 这样的装饰器声明一个函数需要什么资源,Modal 负责把这个函数打包、调度到云端、拉起容器、执行、返回结果。冷启动通常在一两秒内,热容器可以复用。
import modal
app = modal.App()
@app.function(gpu="A100")
def run_inference(prompt):
# 你的模型推理代码
return result
本地调用 run_inference.remote(prompt) 就触发了云端执行。不需要写 Dockerfile,Modal 会根据你的 Python 环境自动构建镜像,也支持自定义依赖和系统包。
几个实际值得注意的点
按秒计费,没有闲置成本。 函数不跑的时候不花钱。对于间歇性任务——比如每天跑一次的数据管道、偶尔触发的推理请求——这比常驻 GPU 实例划算得多。
GPU 型号可选。 A100、H100、A10G、T4 都有,按需选。也支持多 GPU 并行。
存储和网络内置。 Modal 提供 Volume(持久化存储)和 Dict/Queue 这类轻量状态管理,函数之间可以共享数据,不用自己搭 Redis 或 S3。
定时任务和 Web 端点。 同一个函数可以挂 cron 调度,也可以暴露成 HTTP 接口,省掉额外的基础设施。
谁不太适合
需要长时间常驻服务的场景——比如 7×24 在线的低延迟推理 API——Modal 也能跑,但按秒计费的模式下成本可能不如包月实例可控。另外,如果你的工作流深度绑定某个云厂商的托管服务(比如 AWS SageMaker 的整套 pipeline),迁移过来需要重新适配。
整体来说,Modal 解决的是一个很具体的痛点:让写 Python 的人不用碰运维就能用上 GPU。代码即基础设施,这个思路在原型验证和小规模生产场景里确实省事。
常见问题
Modal 是什么?
无服务器算力平台,把 Python 函数直接变成云端 GPU 任务,按秒计费无需运维。
Modal 的官方网站是什么?
Modal 的官方网站是 https://modal.com/,可直接在浏览器中打开使用。
