Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Maintenance/update readme #378

Merged
merged 5 commits into from
Feb 4, 2022
Merged

Conversation

arnupretorius
Copy link
Collaborator

@arnupretorius arnupretorius commented Feb 2, 2022

What?

Update to readme to remove outdated information and share more info on Mava's future roadmap.

Why?

It is important to be transparent and keep users up to date.

How?

Update main repo readme.

closes #378

@arnupretorius arnupretorius self-assigned this Feb 2, 2022
@arnupretorius arnupretorius added the documentation Improvements or additions to documentation label Feb 2, 2022
@arnupretorius arnupretorius linked an issue Feb 2, 2022 that may be closed by this pull request
README.md Outdated
> From incorporating the latest research and innovations to making the framework more stable, robust and well tested.
> Furthermore, we are committed and will do our best to keep everything working and have the experience of using Mava be as pleasant as possible.
> During Beta development breaking changes may occur as well as significant design changes (if we feel it could greatly improve the useability of the framework) but these will be clearly communicated before being incorporated into the codebase.
> It is also inevitable that there might be bugs we are not aware of and that things might break from time to time. We will do our best to fix these bugs and address any issues as quickly as possible. ⭐

**UPDATE**: The team has been hard at work over the past few months to improve Mava's systems performance, stability and robustness. These efforts include extensively benchmarking system implementations, fixing bugs and profiling performance and speed. The culmination of this work will be reflected in our next stable release. However, during this period, we have learned a lot about what works and what doesn't. In particular, our current base system design allows for a decent amount of flexibility but quickly becomes difficult to maintain with growing signatures and system constructors as additional modules get added. Our class designs are also overly reliant on wrappers and inheritance which do not scale as well as we would like with increases in system complexity. Furthermore, our original motivation for choosing Tensorflow 2 (TF2) as our deep learning backend was to align with Acme's large repository of RL abstractions and tools for TF2. These were very useful for initially building our systems. But since then, we have found TF2 less performant and flexible than we desire given alternative frameworks. Acme has also affirmed their support of Jax underlying much of the DeepMind RL ecosystem. Therefore, in the coming months, following our stable release, **we plan to rollout a more modular and flexible build system specifically for Jax-based systems.** Please note that all TF2-based systems using the old build system will be maintained during the rollout. However, once a stable Jax release has been made with the new build system, Mava will only support a single DL backend, namely Jax, and we will begin to deprecate all TF2 systems and building support. That said, we will make sure to communicate clearly and often during the migration from TF2 to Jax.
Copy link
Contributor

@AsadJeewa AsadJeewa Feb 3, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is very clear regarding the reasons for changes but is this not too much information for the external user? Don't normally see explanations but perhaps we want to be different and keep the user in the loop.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm very much for being as transparent and open as possible but at the same time willing to hear alternatives and arguments against this. Just note, this discussion is of course already public 😄 So happy to take it offline if needed.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ah yes its easy to forget that

@AsadJeewa
Copy link
Contributor

AsadJeewa commented Feb 3, 2022

Some important updates to the README. I really like that we are moving away from Acme and it shows the progress that the team has made.

README.md Show resolved Hide resolved
Copy link
Contributor

@jcformanek jcformanek left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good.

Copy link
Contributor

@KaleabTessera KaleabTessera left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good @arnupretorius , thanks!

@arnupretorius arnupretorius merged commit 559a0f8 into develop Feb 4, 2022
@arnupretorius arnupretorius deleted the maintenance/update-readme branch February 4, 2022 10:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation size/M
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[MAINTAIN] Update readme
5 participants