ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

Agent Lightning 如何配置 API Gateway 的 default_proxy 温度与 log_probs 记录

2026/9/14 14:57:54 拓冰建站 浏览量
Agent Lightning 如何配置 API Gateway 的 default_proxy 温度与 log_probs 记录 Agent Lightning 如何配置 API Gateway 的 default_proxy 温度与 log_probs 记录【免费下载链接】agent-lightningThe absolute trainer to light up AI agents.项目地址: https://gitcode.com/GitHub_Trending/ag/agent-lightning在 Agent Lightning v1.0 中API Gateway 由agl-server启动它使用 Hydra 配置体系完整的默认配置位于 agentlightning/config/server.yaml。其中的default_proxy段控制两件事训练/验证 rollout 强制使用的采样温度train.temperature与val.temperature以及是否要求模型后端返回 chosen-token 的 log probabilitiesinclude_log_probs。本文的任务是调整这两组配置并确认它们真正作用于转发的模型请求适用前提是你已经按 安装文档 完成安装、包括verlGPU 栈。Gateway 如何使用这两组配置default_proxy.train.temperature的默认值是1default_proxy.val.temperature的默认值是0.7default_proxy.include_log_probs的默认值是true。这三个值不是建议值而是 Gateway 转发请求时实际写入请求体的值训练模式train的模型请求会被强制改写为配置的 train 温度并加上return_token_ids: true当include_log_probs为true时还会加上logprobs: true要求后端返回所选 token 的 log 概率与 token ID。验证模式val的模型请求会被改写为配置的 val 温度并加上return_token_ids: true。一个容易踩的坑verl自身也有类似的温度设置但这些值不会被用于经 Gateway 转发的请求因为 proxy 会自动替换它们。也就是说改verl侧的温度对 proxied 请求无效必须改 Gateway 侧的default_proxy。请求改写的实现见 agentlightning/server/proxy.py 的prepare_body。include_log_probs: true的作用是记录 rollout 的 log 概率verl依赖这些值上报 rollout-correction 指标部分 rollout-correction 功能也硬性依赖它们官方建议保持true。在异步训练场景下若启用verl的 rollout correction例如 token 级重要性采样rollout_is: token、rollout_is_threshold: 2见 docs/7-asynchronous-training.md这些 log 概率就是修正策略失配的数据来源。修改配置启动参数覆盖推荐的方式是在启动agl-server时用 Hydra 命令行参数覆盖任意配置项无需改动仓库文件agl-server \ host0.0.0.0 \ port8080 \ key$AGL_KEY \ default_proxy.train.temperature1.0 \ default_proxy.val.temperature0.7 \ default_proxy.include_log_probstrue其中host、port、key是 docs/5-api-gateway-configuration.md 给出的顶层设置key为空会禁用鉴权并打印警告启用时 trainer 与 Controller 必须使用同一个非空 key。本例中只把温度写成默认值作占位实际应按你的采样策略填入目标数值。Hydra 语法支持任意深度覆盖例如只改训练温度时传default_proxy.train.temperature0.9即可其余项保持默认。修改配置直接编辑 server.yaml如果希望改动持久化可以直接编辑 agentlightning/config/server.yaml其默认内容为host: 0.0.0.0 port: 8080 key: default_proxy: model_name: Qwen/Qwen2.5-7B-Instruct include_log_probs: true train: temperature: 1 val: temperature: 0.7修改default_proxy下对应字段后用不带覆盖参数的agl-server启动即可加载新值。两种方式不要混用命令行覆盖优先于文件值混用时以启动命令为准。model_name 一致性不匹配时的报错现象改温度时往往同时会换模型此时注意default_proxy.model_name必须与verl中actor_rollout_ref.model.path配置一致server default_proxy.model_name trainer actor_rollout_ref.model.path即使 vLLM 端点本身健康两侧模型名不一致也会产生 model not found 错误。遇到该报错时先核对这两处配置是否完全一致再怀疑后端服务。验证配置生效温度生效判断docs/5-api-gateway-configuration.md明确说明此处配置的 train/val 温度就是模型请求实际使用的值。启动后如果仍观察到与预期不符的采样行为检查是否同时存在verl侧温度配置造成误判或启动命令中的 Hydra 覆盖是否拼写正确键名必须带default_proxy.train./default_proxy.val.前缀。log_probs 记录判断Gateway 会把每次模型请求记录为model_request事件用 triplet 格式查询事件时GET /rollouts/{rollout_id}/events?formattriplet实现见 agentlightning/server/routes/events.pymodel_request事件的数据中会包含prompt_token_ids、response_token_ids和response_log_probs字段。response_log_probs有值说明后端按logprobs: true返回了 per-token log 概率该字段为null表示响应中缺少 logprobs 或 schema 无法识别提取逻辑见 events.py任何非法值都会降级为null而不抛错。下游可用性训练侧消费这些值时若某 rollout 的response_log_probs不可用verl的 rollout adapter 会放弃该样本的rollout_log_probs见 agentlightning/verl/rollout_adapter.py依赖 rollout correction 的指标因此无法计算——这反过来验证了保持include_log_probs: true的必要性。限制说明include_log_probs控制的是对 train 后端请求追加logprobs: trueval 模式的转发请求不追加该字段见 proxy.py所以验证请求不产生 log 概率记录。温度由 Gateway 统一强制agent 或verl侧对 proxied 请求传入的温度会被覆盖无法按单次请求单独指定。本文覆盖的是agl-server的default_proxy配置Controller 侧通过agl_server.url默认http://localhost:8080连接 Gateway其配置见 docs/6-controller-configuration.md不在本次调整范围内。【免费下载链接】agent-lightningThe absolute trainer to light up AI agents.项目地址: https://gitcode.com/GitHub_Trending/ag/agent-lightning创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考