-
Notifications
You must be signed in to change notification settings - Fork 138
Simulation Speed #7
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
Comments
Hi Lukas, In a word, yes, we are aware of this issue. We are pretty sure that we'll be able to fix the underlying cause. However, we don't know for sure how much performance that will buy. We won't know till we try it. One of us will reply again to this thread once we have more info to share. |
I appreciate you coming back to me! |
The latest commit has improved the efficiency of stepping the environment by about 4X. Let us know if this works better for you. Thanks! |
I'm closing this issue. If you have any more questions, please don't hesitate to reach out! |
@LukasSchaefer Hi, Lukas, did you get a faster stepping speed? It seems that using a simple core CPU, running |
@GoingMyWay Hey :) |
Hi @LukasSchaefer, thanks for the quick sharing. I think to run 10^9 within 3 days, maybe ~40 rollout workers are needed. |
@duenez, Hi, thanks for updating the version of MeltingPot today. I saw the changelog mentioned the improved speed of simulation. I updated MeltingPot and run the speed test code provided above by @LukasSchaefer on my Intel MacBook Pro (specs shown below). The following are the results:
It seems the speed has not been improved much compared with the results posted in #7 (comment). Please correct me if I am wrong. |
@duenez Dear sir, sorry to ask you agina. Could you please have a test for the speed? |
I will take a look. We have another speed update coming soon. I am not sure why the last update didn't improve performance as expected. |
That is great👏👏. I am looking forward to running the new version. |
Hi, thanks for the update for improving the simulation speed. After testing, Melting Pot get 3-11x simulation speed improvement:
|
Glad to hear :) |
Dear @duenez, I read the introduction of substrates chemistry_branched_chain_reaction and chemistry_metabolic_cycles. The two substrates are representative testbeds for reciprocity and convention following MARL research. However, the simulation speed of the two substrates is not fast as in the above table. I understand that you may be occupied with other works and tasks at DeepMind. Could you provide some hints for RL/MARL researchers to improve the speed? |
We will have new versions of everything coming out soon. Not sure yet if it will help on the speed front or not. It's possible.. |
Dear @jzleibo, thank you. I am looking forward to seeing the new release. |
Hi all!
I just looked into the speed of the simulation of melting pot substrates and noticed it is much slower than I would expect.
I followed standard installation and use the following package versions (let me know if others could be relevant):
The code I'm executing is just a minimal execution with random action selection for 1k steps:
The results I obtained:
I was a bit surprised to see steps / second of around 50 - 150 for the majority of substrates. In comparison an identical setup for other common multi-agent environments MPE, LBF, RWARE and SMAC:
While gridworlds like LBF, RWARE and also the MPE environments are fairly simple and I would expect them to be faster than melting pot substrates, I still find it a bit concerning that even SMAC tasks which run the game of StarCraft II run significantly faster than melting pot.
Are these numbers surprising to you? Is there anything that might speed-up the simulation/ are you aware of any bottlenecks?$$10^8$$ to $$10^9$$ numbers of steps of training, these numbers result in quite long training times without access to hundreds of parallel CPUs for simulation.
Given that many substrates seem to require
I would greatly appreciate any thoughts/ suggestions!
The text was updated successfully, but these errors were encountered: