跳转至

配置参考

YAML 包含三部分:server 定义 Engine 拓扑和内存预算,models 注册模型路径和性能 profile,devices 描述 GPU 容量与带宽。监听地址、端口和 Ray 地址通过 CLI 传入。完整配置见示例。

文件系统路径

示例和部分随附工具默认采用 /srv 目录布局:/srv/models 存放模型权重,/srv/aegaeon-archives 存放 CUDA Graph 存档,/srv/datasets 存放数据集。

运行示例前,请将路径替换为本机实际使用的绝对路径。将各个 models[].path 设为对应的 checkpoint 目录;使用 CUDA Graph save/load 时,将 server.cuda_graph.archive_dir 设为所需的存档位置。对于工具,优先使用其路径参数或文档说明的环境变量;若未提供这些选项,则修改工具中的默认路径。确保服务能够读取输入并写入输出。多节点部署时,所有使用这些路径的节点都必须能够访问相应文件。快速开始演示了如何替换配置中的路径。

ServerConfig 默认值

字段 默认值 含义 / 注意事项
cpu_num_slabs 128 每节点 CPU KV slab 数量
cpu_slab_size_bytes 1073741824 每 slab 1 GiB,单位 bytes
memory_utilization 0.775 显存容量估算比例;CUDA allocator 另行管理实际分配
worker_num_cpus 16 每 Worker Ray CPU 资源请求
nnodes 1 物理 Ray 节点数
num_prefill_engines 1 每节点 Prefill Engine 数
num_decode_engines 1 每节点 Decode Engine 数
num_engines 0 每节点 Simple Engine 数;与 P/D 引擎互斥
tensor_parallel_size 1 每 Engine 一个 Worker;当前只支持值 1
model_cache_size_gb 0 CPU 权重缓存 GiB;0 进入自动估算路径
dummy_weights false 测试占位权重;仅用于控制路径测试
decode_work_stealing false 节点内 Decode 批次转移
decode_work_stealing_min_batch_gap 2 donor/receiver 批次数差阈值,至少 2
model_placement_policy least-loaded 或 round-robin
request_routing_policy least-outstanding 或 round-robin
startup_models null null=全部;[]=空服务
cuda_graph CudaGraphConfig() 默认关闭;详见下表

CPU KV 默认每节点 128 GiB,slab 和权重缓存需匹配可用主机内存。Simple 模式使用 num_engines > 0,Prefill 与 Decode Engine 数量均为 0;P/D 模式使用 num_engines: 0,两个阶段至少各有一个 Engine。

startup_models: null 加载所有配置模型,[] 启动空服务,列表选择指定模型。CLI 的 --models 优先。

models 条目

字段 默认 说明
name 必填 对外模型名字;profile 文件夹可使用独立名称
path 空字符串 本地权重目录;省略时 ModelSpec.path() 触发下载
params null 输入数字乘以 2^30 得到参数量;null 表示从本地权重元数据推断
profile 空字符串 性能目录别名;省略时由模型名称最后一段规范化生成
max_model_len null 覆盖上下文总长度;仍受模型能力限制
id 省略 所有模型都省略时按顺序生成;显式设置时为每个模型都填写 ID
tool_parser null 支持的 vLLM 工具解析器名称;覆盖根据模型名称或路径选择的解析器

devices 条目

字段 说明
name 必填,设备逻辑名;应与检测/别名匹配
memory 必填,乘以 2^30 得到容量 bytes
bandwidth 可选,乘以 2^30 得到 bytes/s;省略会尝试 NVML 检测
profile 通过 DeviceSpec.extra 保存,指定性能目录别名
其他字段 保存到 DeviceSpec.extra;只有实现中显式读取的字段才会生效

cuda_graph 默认与约束

字段 配置类默认值 约束
mode 'off' 'off' / save / load;各取值均使用引号
archive_dir '' save/load 必填
batch_sizes [1,2,4,8] 正整数、非空;会排序去重
seq_len_buckets [128,256,512,1024,2048] 配置类接受多个;当前 Worker save/load 必须只填一个最大长度桶
strict true 控制初始化 scratch 等严格检查;ABI/layout/binding 校验始终执行
base_address 0x400000000000 正整数、2 MiB 对齐;可写带引号十六进制字符串
region_size_bytes 274877906944 256 GiB 虚拟地址范围;正整数、2 MiB 对齐
scratch_size_bytes 4294967296 4 GiB;正整数、2 MiB 对齐,且小于 region_size_bytes

CUDA Graph save/load 默认关闭;mode 为 'save' 或 'load' 时,在 P/D Decode Worker 上运行。详见 CUDA Graph。