Skip to content

AReaLite vllm 同步场景 改造+精度对齐 - #3

Open
Bruce-rl-hw wants to merge 10 commits into
lite-vllmfrom
wsl-vllm
Open

AReaLite vllm 同步场景 改造+精度对齐#3
Bruce-rl-hw wants to merge 10 commits into
lite-vllmfrom
wsl-vllm

Conversation

@Bruce-rl-hw

Copy link
Copy Markdown
Collaborator

详细差异

vllm_remote.py(类型:实质逻辑重写 / 热更新 + 生成路径)

关键改动

  • agenerate
    • 增加 stop_token_ids → stop_sequences 转换并按需注入 payload。
    • 改为 while 循环分批追加生成(迭代拼接 input_ids + 已生成 tokens)。
    • 使用 result['choices'][0]['logprobs']['tokens'] + convert_tokens_to_ids 替代直接 tokenizer.encode
    • 累积 output_tokens / logprobs / versions(仍以 -1 占位)。
    • 移除频繁日志与逐步输出 stop_reason,降低噪音。
  • update_weights(disk)
    • 仅 rank 0 执行重启,其它 rank 通过 双 barrier 等待。
    • 解析 CMD_REMAINED,定位 --model 路径并替换为新的 meta.path
    • 使用 psutil 基于 根进程 + 子孙进程 构建 expanded_pids移除端口/关键字扫描与 LISTEN 扩展)。
    • 两段式终止:SIGTERM(等待 5s)→ SIGKILL(等待 2s),降低残留概率。
    • 重启后刷新 GET_ALL_PID 并写回环境变量;适当放宽 setup_timeout
    • 新增 “Start to load new vllm...” 提示;保留 cuda.empty_cache / gc.collect 注释块作为可选优化。

  • logprob 截断修正
    生成循环内改为直接使用 vLLM 返回的 logprobs["tokens"]token_logprobs,弃用旧的 tokenizer.encode + 长度对齐截断方式,避免原实现中 logprobs 数组输出 token 序列 长度不一致的问题(去掉手工 slice / FIXME 截断)。
    效果:对齐精确、去除隐式截断带来的统计偏差;便于跨后端(HF / SGLang / vLLM)一致性对比。

  • 权重更新顺序调整
    重构 “upload(写出/同步权重) → update(服务侧热替换)” 的依赖关系,移除 vLLM 侧对 update_weights/0 目录层级的读取假设;重启时动态替换命令行中的 --model 为新路径,避免固定从 .../update_weights/0 抓取的硬编码耦合。
    效果:目录结构解耦、更新路径更灵活;支持多版本/多位置权重切换与回滚。


潜在合并阻塞点

  • 硬编码本地路径(例:/home/b84412626/data/b84412626/home/.../datasets--)需恢复为占位符或变量化。
  • 默认长度参数变更需在 PR 描述中明确披露变更动机与复现影响,并给出覆盖方法。

@github-actions

github-actions Bot commented Oct 1, 2025

Copy link
Copy Markdown

This pull request has been automatically marked as stale because it has not had recent activity within the last 14 days.

Please add a comment or push new commits to keep it active.

Thank you for your contribution!

@github-actions github-actions Bot added the stale label Oct 1, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants