Skip to content

[RLlib] 'MeanStdFilter' connector is broken. #49716

Open
@duburcqa

Description

What happened + What you expected to happen

'merge_states' is used to aggregate the statistics collected over all the parallel environments, then broadcast the result back to all remote workers.

This design is problematic for 'MeanStdFilter', because it means that, after the first iteration, all the local workers store not only the statistic collected at the current iteration, but also all one that were aggregated at previous iteration. Only the statistics collected at the current iteration should be considered when merging, which is not the case at the moment.

This issue is blocking and not just nice-to-have because it causes the number of "pushes" to grow exponentially, causing int64 overflow after a few iterations (more precisely, 304 iterations with 80000 samples each). Then 'nan' appears everywhere after this point, which is not surprising.

Versions / Dependencies

I checked that the issue is present for "ray[rllib]>=2.38,<=2.40".

Reproduction script

Any script specifying algo_config.env_runners(env_to_module_connector=lambda env: MeanStdFilter()) would face this issue.

Issue Severity

High: It blocks me from completing my task.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

No one assigned

    Labels

    P2Important issue, but not time-criticalbugSomething that is supposed to be working; but isn'trllibRLlib related issuesrllib-connectorv2Connector related issuesrllib-newstack

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions