SuperAPI AI 工具集

alterlab-remote-compute

通用与其它

查看项目

更新于 10-16 05:00

技能介绍

用途:该技能是 GPU 类技能依赖的远程调度层,解决基础模型工作负载(蛋白质折叠、骨干扩散、单细胞模型等)耗时数分钟至数小时、无法在同步调用中完成的问题。它不封装任何具体模型,只描述“在哪里、如何运行”;具体运行内容由模型技能(如 alterlab-alphafold、alterlab-boltz、alterlab-proteinmpnn)定义。

主要能力:提供统一的三动词契约。submit(spec) → handle:入队任务并返回不透明句柄(SLURM 作业号、Modal 调用 id、RunPod 作业 id、GCP 操作名)。poll(handle) → status:将后端状态映射为 PENDING | RUNNING | SUCCEEDED | FAILED | CANCELLED | UNKNOWN,并按退避轮询,避免忙等。harvest(handle) → artifacts:把声明的输出文件复制回本地 out/ 目录(HPC 用 scp/rsync,云端从对象存储下载)。后端覆盖 SLURM/HPC、Modal(改为参考 alterlab-modal)、RunPod(服务端端点,密钥读自 RUNPOD_API_KEY)、GCP Batch 与 Vertex AI(使用 ADC 认证,输出读自 GCS 桶)。

使用方式:scripts/dispatch.py 是仅用标准库的 CLI,可跨后端执行同一作业规格,例如:python scripts/dispatch.py submit --backend slurm --script run.slurm;python scripts/dispatch.py poll --backend slurm --handle 123456;REST 后端:python scripts/dispatch.py submit --backend rest --endpoint "$RUNPOD_ENDPOINT" --payload spec.json。SLURM 路径会调用 sbatch 提交(用 --parsable 捕获作业号),并用 sacct -j "$JOBID" --format=State,ExitCode,Elapsed --noheader --parsable2 轮询至终态。各后端的命令与 API 细节在 references/providers.md 中按需加载。

限制与注意事项:不用于在 Modal 上专门部署无服务器容器或自动扩缩 API(应使用 alterlab-modal)、不用于执行具体模型的折叠或序列设计、不用于本地单机分析、不用于通过 HTTP 查询数据库。轮询应使用退避(如 10s → 30s → 60s,有上限)。判定终态应依据 sacct 与退出码,而非 squeue 中是否出现。即使状态为 COMPLETED,也需回收后校验预期文件是否存在。不得硬编码凭据,需从环境读取 RUNPOD_API_KEY、GCP ADC 与集群主机;缺少必需密钥时调度器拒绝运行。暂未提供的内容:具体计费方式、价格、性能效果与完整安装步骤。