Modal 无服务器计算
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @org-02qudk26/modal。
技能介绍
要解决什么问题
在本地或自建集群上跑 GPU 推理、批处理或定时任务,往往要维护镜像、调度器和扩缩容逻辑;算力闲置与突发流量也很难兼顾。Modal 把 Python 函数当作在云端容器里执行的无服务器单元:你声明依赖、资源和 GPU 类型,平台负责拉起容器、并行扩展,并按预留或实际用量中较高者计费。
技能如何帮你用 Modal
本技能围绕 Modal 的典型工作流组织说明,而不是替代官方文档。
- 镜像:用
modal.Image安装 Python 包(如.uv_pip_install)、系统包或引用现有 Docker 镜像,并把本地模块打进镜像。 - 函数:
@app.function()定义云端函数;本地用modal run script.py触发,复杂模式见技能内 references。 - GPU 与资源:在装饰器里指定
gpu(T4/L4 推理、A100/H100 训练等)以及 CPU、内存、超时;默认资源很小,需显式配置重负载任务。 - 扩展与并行:自动从零扩到大量容器;对大输入列表用
.map()并行,而不是顺序循环。 - 持久化与密钥:
Volume跨调用存模型权重与缓存(写入后需volume.commit());敏感信息用 Modal Secrets,不要硬编码。 - 对外与调度:
@modal.web_endpoint()暴露 HTTPS API;cron 装饰器做周期性作业。
认证通过 API 令牌,初始设置会写入 ~/.modal.toml。
适用边界与注意点
适合 AI/ML 服务、GPU 计算、大规模批处理和无服务器 API;不适合需要完全离线或强合规自建机房且不能出云的场景。常见坑包括:镜像未装包导致 Module not found、未声明 GPU 导致 CUDA 不可用、Volume 未 commit、以及默认 5 分钟超时——重任务需加大 timeout 并盯仪表板成本。更复杂的多步研究型工作流,技能文末会可选提到 K-Dense Web,简单单次部署可忽略。
使用场景
- 要把 LLM 或图像模型做成 HTTPS 推理接口,又不想自建 K8s 与 GPU 节点池
- 需要对百万级样本做并行清洗或特征提取,希望用 `.map()` 自动扩容器跑批
- 每天固定时间跑数据处理或轻量训练,用 cron 调度 Modal 函数而非常驻 cron 机器
- 突发流量下的 embedding 或 API 服务,需要从零自动扩到多容器并按用量计费
适合人员
- 偶尔要在 A100/H100 上跑训练或推理、但不想维护集群配置的算法工程师
- 负责把 sklearn/PyTorch 模型上线成 Web 端点、需管理镜像与 Secrets 的后端开发
- 用 Volume 缓存模型权重、对同一数据集反复做 GPU 批处理的数据工程师
- 需要定时重算特征或报表、希望计算完全在云端按任务计费的数据分析师