Goal
设计目标
将大模型上线前验证中分散、重复、耗时的人工操作自动化。平台通过 Web 页面提交任务,自动完成资源申请、模型准备、量化、评测压测、推理服务启动、日志追踪和结果保存,将约 1 小时的手动验证流程压缩至 30 分钟内完成。 同时,平台将长时间运行的脚本任务抽象为统一 Task,使其他评测、压测或批处理任务也可以接入统一调度框架,实现状态可追踪、结果可沉淀、流程可复用。

Overview
在作业帮实习期间参与建设的大模型推理上线前验证平台,将模型拉取、量化、评测、压测、推理服务启动与结果收集抽象为自动化任务流。 用户通过 Web 页面提交任务后,系统会自动完成资源申请、vLLM Worker 和 RESTful API 启动、长时间脚本执行、日志追踪与结果保存。 平台将约 1 小时的手动上线前验证流程压缩至 30 分钟内完成,并支持接入其他耗时型脚本任务,实现统一调度、状态追踪与结果沉淀。
Goal
将大模型上线前验证中分散、重复、耗时的人工操作自动化。平台通过 Web 页面提交任务,自动完成资源申请、模型准备、量化、评测压测、推理服务启动、日志追踪和结果保存,将约 1 小时的手动验证流程压缩至 30 分钟内完成。 同时,平台将长时间运行的脚本任务抽象为统一 Task,使其他评测、压测或批处理任务也可以接入统一调度框架,实现状态可追踪、结果可沉淀、流程可复用。
Approach
系统采用 Job / Pipeline / Node 的任务编排模型。前端负责任务提交与结果展示,FastAPI 提供统一后端接口,JobManager 负责任务队列与状态流转,ResourceManager 负责 GPU、集群等资源申请与释放。 任务执行阶段,调度器基于节点依赖选择可运行节点,并通过 Ray Actor 启动 vLLM Worker、RESTful API 或自定义脚本执行器。节点完成后,系统自动更新状态、收集日志、保存结果并释放资源,从而支撑上线前验证和其他长时间脚本任务的自动化执行。
Architecture
Capabilities
基于 Job / Pipeline / Node 模型编排上线前验证流程,支持模型拉取、量化、评测、压测等步骤自动串联执行。
自动拉起 vLLM Worker 与 RESTful API,完成服务启动检测、异常日志收集、超时处理和生命周期回收。
统一申请和释放 GPU、集群节点、目录等资源,减少多任务并发时的资源冲突和人工分配成本。
自动保存评测结果、压测数据、错误日志和任务状态,支持长时间脚本任务的统一追踪与复用。
Difficulties
难点:上线前验证并不是单个脚本,而是由模型拉取、量化、评测、压测、服务启动、结果收集等多个步骤组成。不同步骤之间存在依赖关系,部分节点需要等待上游结果后才能继续执行。
解决方式:将完整流程抽象为 Job / Pipeline / Node。Job 表示一次完整任务,Pipeline 表示一组执行流程,Node 表示具体的服务启动或脚本执行单元。调度器根据节点状态和依赖关系选择可运行节点,从而实现复杂流程的自动化编排。
难点:评测、压测和量化任务都可能占用 GPU 或特定集群资源。如果多个长时间任务同时运行,容易出现资源冲突、重复占用或任务启动失败。
解决方式:通过 ResourceManager 维护 GPU、集群节点、目录等资源池,在任务执行前统一申请资源,在任务结束或失败后自动释放资源。对于批量资源申请,系统需要保证申请失败时已占用资源能够回滚,避免资源泄漏。
难点:上线前验证需要临时启动 vLLM Worker 和 RESTful API,并在任务完成后自动回收。服务启动过程可能出现资源不足、启动超时、端口不可用、Worker 未 ready 等问题。
解决方式:通过 Ray Actor 启动 Worker、API 和脚本执行器,并加入服务存活检测、ready 检测、超时处理、异常日志收集和自动停止逻辑,保证服务能够被可靠地拉起、使用和回收。
难点:平台不仅要支持固定的上线前验证流程,还要支持接入其他长时间运行的脚本任务。不同任务的参数格式、执行命令、资源需求和结果文件位置都不一样,直接写死流程会导致后续扩展成本很高。
解决方式:将不同任务抽象为统一 Task,通过参数处理器将用户配置转换为命令序列,再交给统一执行器调度。这样 benchmark、evaluation、quantization 以及其他耗时脚本都可以复用同一套提交、执行、日志追踪和结果保存机制。