SuperAPI AI 工具集

verl-e2e-testing

测试与质量

查看项目

更新于 10-16 02:33

技能介绍

用途:在通过 Megatron-Bridge 自身的单元与功能测试后,用 verl 的 Megatron 后端做外部兼容性冒烟验证,覆盖仅跑 Bridge 测试容易漏掉的集成环节,如 provider 配置最终化、经 Bridge 的 HF 导入、PEFT 包装、DDP 包装、优化器构建、rollout/ref 接线以及外部 RL 循环的检查点所有权。它不替代 Bridge 正确性测试:数值一致性、导入导出保真度与特性行为仍由 Bridge 聚焦测试保证。

主要能力与覆盖等级:Level 0 为 LoRA + DDP 冒烟,任何声称 verl 兼容的 Bridge 变更都需要;默认配置为 USE_MBRIDGE=True、VANILLA_MBRIDGE=False、VALUE_VANILLA_MBRIDGE=False、LORA_RANK=4、USE_MEGATRON_FSDP=False、TOTAL_TRAIN_STEPS=1。Level 1 覆盖保存/恢复;Level 2 覆盖并行张力(TP/PP/CP/EP 等);Level 3 为可选 Megatron-FSDP;Level 4 为特性相关 e2e;Level 5 为收敛/学习信号。Level 0 只证明训练循环能完成一次更新,不是收敛测试。

使用方式:显式设置 BRIDGE_REPO 与 VERL_REPO,并把 Bridge 的 src、3rdparty/Megatron-LM 与 verl 加入 PYTHONPATH;运行前记录两棵树的 git 状态与提交。确认 Python 实际导入的是 $BRIDGE_REPO/src 下的 megatron.bridge,在 Ray 集群上还需验证 worker 导入,必要时通过运行时环境变量传递 PYTHONPATH。先跑 Bridge 聚焦测试,再准备 verl 默认数据集,如通过 examples/data_preprocess/gsm8k.py 生成 parquet,然后运行 tests/special_e2e/run_ppo_trainer_megatron.sh,建议保存日志并检查关键字段与配置,而非只看命令形态。

限制:默认文本冒烟不激活所有特性;使用 dummy 配置只能验证构建与训练机制,不代表预训练权重兼容;关闭奖励模型或启用 enforce_eager 需作为局限性报告,因为会分别缺少奖励模型服务与 vLLM CUDA 图捕获验证;并行规模全为 1 的 Level 0 不足以证明分布式行为;20 步运行不能称为基准意义上的收敛。资料未提供具体收费、价格或平台信息。