config.toml 完全解读:mesh-llm 高级配置的 20 个关键参数清单
config.toml 完全解读:mesh-llm 高级配置的 20 个关键参数清单
【免费下载链接】mesh-llmDistributed AI/LLM for the people. Share compute privately or publicly to power your agents and chat.项目地址: https://gitcode.com/gh_mirrors/me/mesh-llm
如果你刚接触 mesh-llm,可能会对config.toml这个配置文件感到陌生。它位于~/.mesh-llm/config.toml,是控制分布式 AI 推理节点、模型加载、KV 缓存、吞吐与推测解码的核心枢纽。本文将用最直白的方式,为你解读 mesh-llm 高级配置中最重要的 20 个关键参数,帮你从"能跑"进阶到"会调优"。
mesh-llm 支持通过
MESH_LLM_CONFIG环境变量指定自定义配置文件路径,未指定时默认读取~/.mesh-llm/config.toml。配置逻辑集中在 mesh-llm-config 这个 crate 中,完整的参数矩阵可以参考 CONFIGURATION.md。
先搞懂配置优先级 🔑
在逐条解读之前,先记住 mesh-llm 的取值规则,否则你会被"为什么改了没生效"折磨:
- 请求参数(最高)
- 单模型配置(
[[models]]条目) - 全局默认值(
[defaults.*]) - 模型家族 / 拓扑策略
- 内置运行时默认值(最低)
也就是说:请求里的值 > 单个模型的设置 > 全局 defaults > 运行时默认。理解了这条链路,后面的参数就好办了。
mesh-llm 高级配置 20 个关键参数清单 📋
下面按功能分区,逐一拆解这 20 个关键参数。
一、全局与节点身份(1-4)
| # | 参数 | 作用 | 示例 |
|---|---|---|---|
| 1 | version | 配置文件版本号,当前为 1 | version = 1 |
| 2 | [gpu] assignment | GPU 分配策略:auto自动挑选,pinned强制指定 | assignment = "auto" |
| 3 | [owner_control] bind / advertise_addr | 节点 QUIC 监听地址与对外广播地址 | bind = "0.0.0.0:7447" |
| 4 | [telemetry] enabled / endpoint | 遥测开关与 OTLP 采集端点 | endpoint = "http://localhost:4317" |
其中owner_control决定你的节点如何被其他节点发现和连接,是多节点组网的关键;telemetry则负责把推理指标送到监控系统,遥测设计 里有更详细的说明。
二、模型拟合与 KV 缓存(5-9)⭐ 最值得调
| # | 参数 | 作用 | 示例 |
|---|---|---|---|
| 5 | [defaults.model_fit] ctx_size | 上下文窗口大小(token),直接影响显存 | ctx_size = 8192 |
| 6 | cache_type_k / cache_type_v | KV 缓存 K/V 精度:auto、f16、q8_0等 | cache_type_v = "q8_0" |
| 7 | kv_cache_policy | 缓存宏预设:quality/balanced/saver | kv_cache_policy = "balanced" |
| 8 | kv_offload | KV 缓存是否卸载,配合显存紧张场景 | kv_offload = "auto" |
| 9 | prompt_cache | 是否复用相同前缀提示词的 KV 结果 | prompt_cache = true |
kv_cache_policy是个"一键预设":quality偏向 f16/f16 无上限的高质量缓存,saver则主动压低缓存精度并开启卸载,适合显存紧张的机器。显存规划可以参考 VRAM 配置文档。
另外prefix_cache子表(enabled、max_entries、min_tokens)专门控制精确前缀缓存,对多轮对话场景提速明显。
三、硬件与模型加载(10-14)
| # | 参数 | 作用 | 示例 |
|---|---|---|---|
| 10 | [defaults.hardware] model_runtime | 推理后端:cpu/cuda/rocm/metal/vulkan | model_runtime = "cuda" |
| 11 | device | 设备编号,多卡时可指定cuda:0 | device = "cuda:0" |
| 12 | gpu_layers | 卸载到 GPU 的层数,-1表示全部 | gpu_layers = 99 |
| 13 | fit_target_mib/safety_margin_gb | 显存目标预算与安全余量 | fit_target_mib = 22528 |
| 14 | split_mode/tensor_split | 多 GPU 拆分模式与张量比例 | tensor_split = [0.6, 0.4] |
后端选择直接决定你能跑什么模型、跑多快;fit_target_mib则是"留给模型多少显存"的预算值,配合safety_margin_gb可以让规划器自动帮你算出可加载的上下文大小。
四、吞吐与调度(15-16)🚀
| # | 参数 | 作用 | 示例 |
|---|---|---|---|
| 15 | [defaults.throughput] parallel | 并发推理槽位数(越大约吃内存) | parallel = 4 |
| 16 | continuous_batching/tuning_profile | 连续批处理开关与吞吐预设 | tuning_profile = "throughput" |
tuning_profile是吞吐方向的"宏":throughput倾向更大 batch 和更高并行,saver则相反省内存。它和kv_cache_policy一样,属于改一个值影响一大片的高级配置。
五、分级服务与推测解码(17-18)⚡
| # | 参数 | 作用 | 示例 |
|---|---|---|---|
| 17 | [defaults.skippy] activation_wire_dtype | 分级服务激活帧的传输精度 | activation_wire_dtype = "f16" |
| 18 | [defaults.speculative] strategy | 推测解码策略:auto/disabled/mtp | strategy = "auto" |
推测解码(speculative decoding)是 mesh-llm 提速的核心功能之一,strategy = "mtp"可启用原生 MTP 多 token 预测;相关实现见 resolver/speculative.rs。分级服务相关机制可参考 GLM 原生 MTP 架构。
六、请求默认值与多模型(19-20)
| # | 参数 | 作用 | 示例 |
|---|---|---|---|
| 19 | [defaults.request_defaults] temperature / top_p / max_tokens | 采样与输出长度默认值 | temperature = 0.8 |
| 20 | [[models]]+profile | 每模型独立配置,支持多实例 | model = "Qwen/Qwen3-8B:Q4_K_M" |
请求默认值只在 OpenAI 前端边界合并,请求里显式传的值永远优先;而[[models]]块可以让你在同一台机器上以不同 profile 跑多个独立实例(如"长上下文"和"高并发"两个版本),非常灵活。
实战:一份够用的 config.toml 示例 ✍️
version = 1 [gpu] assignment = "auto" [defaults.model_fit] ctx_size = 8192 kv_cache_policy = "balanced" [defaults.hardware] model_runtime = "cuda" gpu_layers = 99 [defaults.throughput] parallel = 4 tuning_profile = "balanced" [[models]] model = "Qwen/Qwen3-8B:Q4_K_M" [models.model_fit] ctx_size = 16384 kv_cache_policy = "quality" [models.throughput] parallel = 4上面这份配置把"全局兜底"和"单模型特化"分得很清楚:全局用均衡策略,而 Qwen 模型单独拉高上下文并启用高质量缓存。更完整的带注释示例在 docs/USAGE.md 的 config 章节,命令行操作可参考 config.rs。
总结 💡
config.toml是 mesh-llm 的"总控台",掌握这 20 个关键参数,你就从普通用户升级成了能自己调优的进阶玩家。记住三个要点:
- 优先级:请求 > 单模型 > defaults > 运行时
- 善用宏:
kv_cache_policy和tuning_profile两个预设能一键平衡显存与速度 - 按模型特化:全局 default 兜底,
[[models]]单独调优
先用默认配置跑通,再按本文清单逐个调整,你会发现 mesh-llm 的分布式推理性能还有很大潜力可以挖掘。
【免费下载链接】mesh-llmDistributed AI/LLM for the people. Share compute privately or publicly to power your agents and chat.项目地址: https://gitcode.com/gh_mirrors/me/mesh-llm
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
