目录

CoServe-RBO:面向服务质量约束的多模型混部优化

项目简介与应用场景

CoServe-RBO面向MaaS平台的共享GPU多模型服务,协同请求调度、风险准入、参数校准与运行治理。在单张GPU上部署两个不同规模的Qwen模型,优化有效吞吐、请求按时完成率和尾延迟,并扩展到显存回收与推理—训练资源交接。

主要功能

  • RBO:以可挽救收益选择请求,在超车预算和等待保护约束下调整执行顺序。
  • RBO-Guard:依据工作量与截止风险控制准入,压力下降后渐进恢复。
  • SafeTune:生成候选Guard参数,通过真实负载验证后启用,支持运行监测与回滚。
  • 多模型加载、卸载、服务探测、并发请求处理、监控统计和网页操作。
  • 身份认证、角色权限、资源配额、安全检查与审计记录。
  • 空闲显存回收、模型预热恢复、训练预算控制和检查点续跑。

提交目录

README.md
src/                 源码、配置、运行脚本和模块文档
docs/                官方技术文档与说明材料
tests/               验证证据、冻结结果与测试索引
demo/                可部署演示入口与演示说明
presentation/        决赛PPT、演示视频和宣传海报
作品原创承诺书.pdf

系统环境与依赖

Linux;以openEuler为主要适配平台。GPU演示采用单张NVIDIA A10 24 GiB,部署Qwen2.5-0.5B-Instruct及Qwen2.5-1.5B-Instruct;历史实验环境及各批配置见测试证据。 要求Python 3.10及以上,兼容的NVIDIA驱动、CUDA和vLLM环境。默认运行配置启用CUDA Graph与MPS,需提供 nvidia-cuda-mps-control。 Python依赖见 src/pyproject.toml;GPU推理依赖见 src/requirements-vllm-cu124.txt;训练依赖见 src/requirements-training-cu124.txt。网页行为测试需Node.js。 模型权重由运行环境提供,分别配置 MODEL_A 和 MODEL_B。

构建与安装

在Linux服务器的项目根目录执行:

cd src
python3 -m venv .venv
source .venv/bin/activate
python -m pip install -e .
# 在匹配CUDA 12.4的GPU环境中,先配置兼容的PyTorch,再安装推理依赖。
python -m pip install -r requirements-vllm-cu124.txt

运行方法

cd src
source .venv/bin/activate
export COSERVE_PYTHON="$PWD/.venv/bin/python"
export MODEL_A=/root/models/Qwen2.5-0.5B-Instruct
export MODEL_B=/root/models/Qwen2.5-1.5B-Instruct
bash run_final_system.sh

模型路径按服务器实际目录填写。网关监听8080,模型后端使用8001和8002。启动前检查端口空闲;从浏览器访问 http://服务器地址:8080。鉴权环境变量和API访问权限按 src/docs/ 中的安全配置说明设置,真实密钥由运行环境提供。 也可从根目录执行 bash demo/run_demo.sh。正式入口支持 managed-final、auto-residency、external-replay 配置,通过 COSERVE_PRODUCT_PROFILE 选择。 默认Guard模式为off,按网页操作完成候选验证并启用保护;运行配置以 src/run_final_system.sh 为准。

测试方法

cd src
python -m unittest discover -s tests -p 'test_*.py'
node tests/test_operations_console_behavior.cjs
node tests/test_security_view.cjs

GPU功能与性能测试连接真实后端,执行 scripts/http_compare.py、scripts/run_gpu_web_console_smoke.py 等脚本。参数通过 --help 查看,测试材料索引见 tests/README.md。 操作、监控、部署与校准流程见 src/docs/operations-console.md 及其他模块文档。

核心代码位置

机制 实现文件
RBO src/coserve/scheduler/bounded_overtake.py
RBO-Guard src/coserve/scheduler/overload.py、recovery_window.py
SafeTune src/coserve/scheduler/guard_calibrator.py、guard_rollout.py
服务网关 src/coserve/gateway/app.py
网页 src/coserve/web/

已知限制

GPU性能实验需匹配相应硬件、模型、负载与配置;各实验批次分别统计。托管模型生命周期操作需可访问的本地模型权重;接入已有服务需可访问的推理端点。物理模型卸载与重载包含服务恢复时间。模型权重和运行密钥不随源码分发。

第三方工具与模型

系统基于openEuler、vLLM和Qwen模型,依赖版本见安装文件。工具使用说明与第三方来源信息见 docs/人工智能及第三方工具使用说明.pdf。

决赛材料

项目说明书及其余决赛材料已按官方目录命名整理。沿用初赛赛题仓库,将本目录内容提交到master分支根目录;使用普通Git文件提交,不使用Git LFS。

关于
334.1 MB
邀请码
    Gitlink(确实开源)
  • 加入我们
  • 官网邮箱:gitlink@ccf.org.cn
  • QQ群
  • QQ群
  • 公众号
  • 公众号

版权所有:中国计算机学会技术支持:开源发展技术委员会
京ICP备13000930号-9 京公网安备 11010802047560号