Download Latest Version v0.7.1 source code.zip (2.8 MB)
Email in envelope

Get an email when there's a new version of verl

Home / v0.6.0
Name Modified Size InfoDownloads / Week
Parent folder
README.md 2025-10-15 118.6 kB
v0.6.0_ model engine, rollout server, composability source code.tar.gz 2025-10-15 1.4 MB
v0.6.0_ model engine, rollout server, composability source code.zip 2025-10-15 2.2 MB
Totals: 3 Items   3.7 MB 0

Highlights

Model Engine

As noted in https://github.com/volcengine/verl/issues/3624, model engine is a service that provides APIs for manipulation of a parallel and distributed model using single controller. This release provides a prototype for such idea using FSDP + ulysses backend and megatron core backend. The implementation is under https://github.com/volcengine/verl/tree/main/verl/workers/engine. Currently, we only implement SFT trainer using model engine. In the following releases, we will start to implement RL trainer using model engine. Please refer to https://verl.readthedocs.io/en/latest/workers/model_engine.html for the design and instructions to add more model engine backends.

Rollout Server

As agentic reinforcement learning emerges as a predominant research area, verl rollout is transitioning from SPMD mode to server mode, which is more efficient for multi-turn rollout and tool calling. In version 0.6, we made several major changes to rollout servers:

By switching to native server mode, https://github.com/volcengine/verl/pull/3530 adds DP+EP support for large MoE models.

To improve extensibility, https://github.com/volcengine/verl/pull/3285 refactors the BaseRollout interface and deprecates all sharding managers. This refactor ensures the training engine remains agnostic of the inference engine during weight synchronization, making it easier to integrate new inference engines (e.g., TensorRT-LLM) without modifying the training engine.

Newly Supported Models

  • Qwen3 VL
  • GPT OSS

Algorithm

Recipe

Some awesome recipes have been added in v0.6:

Breaking changes and deprecations

nD Dispatch method

Previously, we implemented a set of predefined dispatch method including ONE_TO_ALL, DP_COMPUTE_DATA_PROTO, MEGATRON_COMPUTE_DATA_PROTO, etc,. DP_COMPUTE_DATA_PROTO and MEGATRON_COMPUTE_DATA_PROTO are strongly correlated to the underlying distributed strategies. Writing a separate dispatch method for each strategy is not scalable. In this release, we propose a new API to to unify all distributed strategies. The general steps are

  • Define device meshes or process groups
  • register dispatch and collect info by calling _register_dispatch_collect_info inside the worker
  • Add registration for methods using @register(dispatch_mode=make_nd_compute_dataproto_dispatch_fn(mesh_name=mesh_name))

Please refer to https://github.com/volcengine/verl/blob/main/tests/single_controller/test_device_mesh_register.py as an example.

ShardingManager

ShardingManager is deprecated and will be removed in next release.

Importance bug fixes

  • Fix hang issue when mixing text and images data training in VLMs (e.g., Qwen VL)
  • Fix DataProto getstate bug

What's Changed

New Contributors

Full Changelog: https://github.com/volcengine/verl/compare/v0.5.0...v0.6.0

What's Changed

New Contributors

Full Changelog: https://github.com/volcengine/verl/compare/v0.5.0...v0.6.0

Source: README.md, updated 2025-10-15