Papers › IMPALA: Scalable Distributed Deep-RL with Importance Weighted Actor-Learner Architectures

IMPALA: Scalable Distributed Deep-RL with Importance Weighted Actor-Learner Architectures

5 Feb 2018ICML 2018 7arXiv:1802.01561archive 2025-07-28

Lasse Espeholt, Hubert Soyer, Remi Munos, Karen Simonyan, Volodymir Mnih, Tom Ward, Yotam Doron, Vlad Firoiu, Tim Harley, Iain Dunning, Shane Legg, Koray Kavukcuoglu

In this work we aim to solve a large collection of tasks using a single reinforcement learning agent with a single set of parameters. A key challenge is to handle the increased amount of data and extended training time. We have developed a new distributed agent IMPALA (Importance Weighted Actor-Learner Architecture) that not only uses resources more efficiently in single-machine training but also scales to thousands of machines without sacrificing data efficiency or resource utilisation. We achieve stable learning at high throughput by combining decoupled acting and learning with a novel off-policy correction method called V-trace. We demonstrate the effectiveness of IMPALA for multi-task reinforcement learning on DMLab-30 (a set of 30 tasks from the DeepMind Lab environment (Beattie et al., 2016)) and Atari-57 (all available Atari games in Arcade Learning Environment (Bellemare et al., 2013a)). Our results show that IMPALA is able to achieve better performance than previous agents with less data, and crucially exhibits positive transfer between tasks as a result of its multi-task approach.

PaperPDFConference PDFCodeCode Syntology ran

In Syntology Open this paper in Syntology's Atlas, the map of the papers in Syntology's graph and their citations.

For agents, Syntology's MCP tool lists every function and class Syntology harvested from this paper and whether it ran (how to connect): get_harvested_code_for_paper(arxiv_id="1802.01561")

Code

Syntology Ran 16 of 34 code samples harvested from 11 repositories linked to this paper; 18 have no recorded run. Of those that ran: 1 ran · honoured contract; 1 ran · violated contract; 2 ran · our draft was wrong; 4 ran · fixture could not drive it; 8 ran with no contract checked.

By repository: community (archive-listed): 34 samples from 11 repositories, 16 ran. The run record, sample by sample. “Ran” means executed on a synthesized input, not that the code is correct or reproduces the paper.

24 repositories listed; official and paper-mentioned ones first.

deepmind/scalable_agent officialmentioned in papermentioned on GitHubtf report
Sheepsody/Batched-Impala-PyTorch mentioned on GitHubpytorch report
crazydonkey200/neural-symbolic-machines mentioned on GitHubtfApache-2.0 report
deepmind/streetlearn mentioned on GitHubtfApache-2.0 report
facebookresearch/gala mentioned on GitHubpytorch report
facebookresearch/torchbeast mentioned on GitHubpytorch report
google-deepmind/scalable_agent mentioned on GitHubtf report
google-deepmind/streetlearn mentioned on GitHubtfApache-2.0 report
google-research/valan mentioned on GitHubtf report
haje01/impala mentioned on GitHubpytorch report
heiner/scalable_agent mentioned on GitHubtfApache-2.0 report
michaelnny/deep_rl_zoo mentioned on GitHubpytorch report
theSparta/neural-symbolic-machines mentioned on GitHubtfApache-2.0 report
threewisemonkeys-as/torched_impala mentioned on GitHubpytorch report
urw7rs/spiralpp mentioned on GitHubpytorch report
villinvic/Georges mentioned on GitHub report
windstrip/DeepMind-StreetLearn mentioned on GitHubtf report

Repository list and official/mentioned flags are the archive's, frozen 2025-07-28. Reachability, where shown, is from one Syntology probe window (2026-09-16 to 2026-09-18); repositories not probed show nothing. GitHub stars are not tracked.

Code Syntology ran Syntology

34 samples harvested; 16 ran; 1 honoured the contract we drafted; 18 have no recorded run. Read from Syntology's graph 2026-09-24; that is when this build read the record, not when the samples ran.

1ran · honoured contract
1ran · violated contract
2ran · our draft was wrong
4ran · fixture could not drive it
8ran
18unverified

Licence: 3 of the 34 samples are pointer only, meaning Syntology does not serve that copy's text. This page shows no code text for any sample; each one links to its file in the repository.

Harvested from 11 repositories linked to this paper, official or community; each sample names its own and says which. “Ran” means the sample executed on a synthesized input. It does not mean the output is correct, and nothing here reproduces the paper's results. “Honoured” and “violated” refer to a contract Syntology drafted from the code itself; “our draft was wrong” and “fixture could not drive it” are failures of Syntology's instrument, not of the code.

Each sample ends with its code_sha256, Syntology's identity for that exact code. An agent fetches the stored sample with Syntology's MCP tool get_code(code_sha256="…") (how to connect); click an identity to copy that call.

Repository labels, per sample. official repository: The archive marks this repository official for the paper. named in the paper: The archive records that the paper mentions this repository; it is not marked official. community (archive-listed): In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper. found in paper text by Syntology: Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted. community: Not in the archive's code links for this paper; a community repository Syntology harvested. Samples from a repository marked official are listed first. Licence labels name the repository's licence as recorded at harvest. “Pointer only” means Syntology does not serve that copy's text, for one of four reasons: no licence file was found; the licence was not identified; the licence is recorded as permissive but that copy's record is not marked cleared; or the licence is outside the permissive list Syntology serves text under (MIT, Apache-2.0, BSD and similar). Some licences outside that list permit redistribution, such as WTFPL, and GPL-3.0 under its conditions; they are simply not on the list. Hover a licence label for the reason. File links open the file on GitHub at the default branch, which may have changed since the harvest.

Categorical villinvic/Georges/training/RL.py community (archive-listed) ran MIT (permissive) · 89ed626ce6f952a2 · report
CategoricalActor villinvic/Georges/training/RL.py community (archive-listed) ran · metamorphic tier: deterministic MIT (permissive) · e05eecb1a5750a6c · report
ConfigLoader villinvic/Georges/training/RL.py community (archive-listed) ran MIT (permissive) · 4d9828f13202e523 · report
Distribution villinvic/Georges/training/RL.py community (archive-listed) ran MIT (permissive) · 6490dcf1e1570c31 · report
GALA_A2C facebookresearch/gala/gala/gala_a2c.py community (archive-listed) ran licence not identified · pointer only · aad00ea22af3c855 · report
Learner seolhokim/DistributedRL-Pytorch-Ray/agents/runners/learners/impala_learner.py community (archive-listed) ran MIT (permissive) · 3fdd0c84f214c2bb · report
V villinvic/Georges/training/RL.py community (archive-listed) ran · metamorphic tier: deterministic MIT (permissive) · 7d75b7a3afdfddc6 · report
VTrace Sheepsody/Batched-Impala-PyTorch/src/IMPALA.py community (archive-listed) ran · metamorphic tier: deterministic no licence file found · pointer only · a7ffabde1fe6a3c9 · report
action_log_probs facebookresearch/torchbeast/torchbeast/core/vtrace.py community (archive-listed) ran · our draft was wrong Apache-2.0 (permissive) · 815b225c5ab9f314 · report
from_importance_weights facebookresearch/torchbeast/torchbeast/core/vtrace.py community (archive-listed) ran · our draft was wrong Apache-2.0 (permissive) · 123172de8a1bc477 · report
from_logits facebookresearch/torchbeast/torchbeast/core/vtrace.py community (archive-listed) ran · fixture could not drive it Apache-2.0 (permissive) · 715b439b8761ea76 · report
log_probs_from_logits_and_actions google-research/valan/framework/vtrace.py community (archive-listed) ran · fixture could not drive it Apache-2.0 (permissive) · a872fa719c5242ff · report
log_probs_from_logits_and_actions google-deepmind/scalable_agent/vtrace.py community (archive-listed) ran · fixture could not drive it Apache-2.0 (permissive) · a75de4dc4c61d7dc · report
pairwise_cross_corr villinvic/Georges/training/RL.py community (archive-listed) ran · honoured contract fingerprinted MIT (permissive) · ba92bb44edd2ada6 · report
safe_crossover villinvic/Georges/training/RL.py community (archive-listed) ran · violated contract fingerprinted MIT (permissive) · d9e1fb4c37c2e728 · report
vtrace deepmind/rlax/rlax/_src/vtrace.py community (archive-listed) ran · fixture could not drive it Apache-2.0 (permissive) · e565e1e08272948c · report
AC villinvic/Georges/training/RL.py community (archive-listed) unverified MIT (permissive) · f34df61f30b311d5 · report
ActionStateProbs villinvic/Georges/training/RL.py community (archive-listed) unverified MIT (permissive) · 103308756a178abe · report
Default villinvic/Georges/training/RL.py community (archive-listed) unverified MIT (permissive) · ceddd134b3dd01f7 · report
Impala Sheepsody/Batched-Impala-PyTorch/src/IMPALA.py community (archive-listed) unverified no licence file found · pointer only · cd20ae279ac1aa9f · report
ImpalaLearner seolhokim/DistributedRL-Pytorch-Ray/agents/runners/learners/impala_learner.py community (archive-listed) unverified MIT (permissive) · b3a1158468bd53aa · report
PlayerState villinvic/Georges/training/RL.py community (archive-listed) unverified MIT (permissive) · cbb6758024239ec3 · report
action_log_probs urw7rs/spiralpp/torchbeast/core/vtrace.py community (archive-listed) unverified Apache-2.0 (permissive) · bc2ac55256ed974b · report
calc_loss_and_backprop haje01/impala/learner.py community (archive-listed) unverified MIT (permissive) · cb89e31851cc2931 · report
corr_matrix villinvic/Georges/training/RL.py community (archive-listed) unverified MIT (permissive) · 9f5db323eec0eeba · report
from_importance_weights google-research/valan/framework/vtrace.py community (archive-listed) unverified Apache-2.0 (permissive) · 86f7ee994e64dc88 · report
from_importance_weights google-deepmind/scalable_agent/vtrace.py community (archive-listed) unverified Apache-2.0 (permissive) · e11ee068514828e6 · report
from_logits google-research/valan/framework/vtrace.py community (archive-listed) unverified Apache-2.0 (permissive) · c0ca8087e51d7e1d · report
from_logits urw7rs/spiralpp/torchbeast/core/vtrace.py community (archive-listed) unverified Apache-2.0 (permissive) · e26d17c678348c08 · report
from_logits google-deepmind/scalable_agent/vtrace.py community (archive-listed) unverified Apache-2.0 (permissive) · 2b5d90526b4ad312 · report
get_vtrace_and_advantages seolhokim/SimpleDistributedRL/distributed_reinforcement_learning/algorithms/impala.py community (archive-listed) unverified MIT (permissive) · b1527fc2ce13e346 · report
layer_crossover villinvic/Georges/training/RL.py community (archive-listed) unverified MIT (permissive) · a22618d583e622fe · report
nn_crossover villinvic/Georges/training/RL.py community (archive-listed) unverified MIT (permissive) · e1569fbaca09c124 · report
train seolhokim/SimpleDistributedRL/distributed_reinforcement_learning/algorithms/impala.py community (archive-listed) unverified MIT (permissive) · 01b62761de35ed90 · report

Tasks

Atari GamesReinforcement LearningReinforcement Learning (RL)reinforcement-learning

Results from the paper archive 2025-07-28

TaskDatasetModelMetricValueRank at snapshotLeaderboardReport
Atari Games Atari 2600 Alien IMPALA (deep) Score 15962.10 #10 of 49 Archive leaderboard report
Atari Games Atari 2600 Amidar IMPALA (deep) Score 1554.79 #17 of 48 Archive leaderboard report
Atari Games Atari 2600 Assault IMPALA (deep) Score 19148.47 #11 of 45 Archive leaderboard report
Atari Games Atari 2600 Asterix IMPALA (deep) Score 300732.00 #16 of 49 Archive leaderboard report
Atari Games Atari 2600 Asteroids IMPALA (deep) Score 108590.05 #9 of 43 Archive leaderboard report
Atari Games Atari 2600 Atlantis IMPALA (deep) Score 849967.50 #21 of 42 Archive leaderboard report
Atari Games Atari 2600 Bank Heist IMPALA (deep) Score 1223.15 #16 of 45 Archive leaderboard report
Atari Games Atari 2600 Battle Zone IMPALA (deep) Score 20885.00 #36 of 47 Archive leaderboard report
Atari Games Atari 2600 Beam Rider IMPALA (deep) Score 32463.47 #12 of 49 Archive leaderboard report
Atari Games Atari 2600 Berzerk IMPALA (deep) Score 1852.70 #18 of 39 Archive leaderboard report
Atari Games Atari 2600 Bowling IMPALA (deep) Score 59.92 #25 of 44 Archive leaderboard report
Atari Games Atari 2600 Boxing IMPALA (deep) Score 99.96 #10 of 45 Archive leaderboard report
Atari Games Atari 2600 Breakout IMPALA (deep) Score 787.34 #10 of 58 Archive leaderboard report
Atari Games Atari 2600 Centipede IMPALA (deep) Score 11049.75 #18 of 45 Archive leaderboard report
Atari Games Atari 2600 Chopper Command IMPALA (deep) Score 28255.00 #12 of 45 Archive leaderboard report
Atari Games Atari 2600 Crazy Climber IMPALA (deep) Score 136950.00 #22 of 49 Archive leaderboard report
Atari Games Atari 2600 Defender IMPALA (deep) Score 185203.00 #11 of 21 Archive leaderboard report
Atari Games Atari 2600 Demon Attack IMPALA (deep) Score 132826.98 #10 of 46 Archive leaderboard report
Atari Games Atari 2600 Double Dunk IMPALA (deep) Score -0.33 #38 of 43 Archive leaderboard report
Atari Games Atari 2600 Enduro IMPALA (deep) Score 0.00 #45 of 48 Archive leaderboard report
Atari Games Atari 2600 Fishing Derby IMPALA (deep) Score 44.85 #15 of 44 Archive leaderboard report
Atari Games Atari 2600 Freeway IMPALA (deep) Score 0.00 #59 of 59 Archive leaderboard report
Atari Games Atari 2600 Frostbite IMPALA (deep) Score 317.75 #44 of 53 Archive leaderboard report
Atari Games Atari 2600 Gopher IMPALA (deep) Score 66782.30 #15 of 43 Archive leaderboard report
Atari Games Atari 2600 Gravitar IMPALA (deep) Score 359.50 #40 of 53 Archive leaderboard report
Atari Games Atari 2600 HERO IMPALA (deep) Score 33730.55 #9 of 44 Archive leaderboard report
Atari Games Atari 2600 Ice Hockey IMPALA (deep) Score 3.48 #14 of 43 Archive leaderboard report
Atari Games Atari 2600 James Bond IMPALA (deep) Score 601.50 #31 of 45 Archive leaderboard report
Atari Games Atari 2600 Kangaroo IMPALA (deep) Score 1632.00 #35 of 47 Archive leaderboard report
Atari Games Atari 2600 Krull IMPALA (deep) Score 8147.40 #28 of 45 Archive leaderboard report
Atari Games Atari 2600 Kung-Fu Master IMPALA (deep) Score 43375.50 #19 of 43 Archive leaderboard report
Atari Games Atari 2600 Montezuma's Revenge IMPALA (deep) Score 0.00 #44 of 50 Archive leaderboard report
Atari Games Atari 2600 Ms. Pacman IMPALA (deep) Score 7342.32 #12 of 47 Archive leaderboard report
Atari Games Atari 2600 Name This Game IMPALA (deep) Score 21537.20 #11 of 43 Archive leaderboard report
Atari Games Atari 2600 Phoenix IMPALA (deep) Score 210996.45 #10 of 21 Archive leaderboard report
Atari Games Atari 2600 Pitfall! IMPALA (deep) Score -1.66 #22 of 23 Archive leaderboard report
Atari Games Atari 2600 Pong IMPALA (deep) Score 20.98 #15 of 52 Archive leaderboard report
Atari Games Atari 2600 Private Eye IMPALA (deep) Score 98.50 #48 of 52 Archive leaderboard report
Atari Games Atari 2600 Q*Bert IMPALA (deep) Score 351200.12 #4 of 57 Archive leaderboard report
Atari Games Atari 2600 River Raid IMPALA (deep) Score 29608.05 #6 of 41 Archive leaderboard report
Atari Games Atari 2600 Road Runner IMPALA (deep) Score 57121.00 #19 of 44 Archive leaderboard report
Atari Games Atari 2600 Robotank IMPALA (deep) Score 12.96 #36 of 42 Archive leaderboard report
Atari Games Atari 2600 Seaquest IMPALA (deep) Score 1753.20 #41 of 57 Archive leaderboard report
Atari Games Atari 2600 Skiing IMPALA (deep) Score -10180.38 #6 of 23 Archive leaderboard report
Atari Games Atari 2600 Solaris IMPALA (deep) Score 2365.00 #19 of 23 Archive leaderboard report
Atari Games Atari 2600 Space Invaders IMPALA (deep) Score 43595.78 #9 of 55 Archive leaderboard report
Atari Games Atari 2600 Star Gunner IMPALA (deep) Score 200625.00 #8 of 43 Archive leaderboard report
Atari Games Atari 2600 Surround IMPALA (deep) Score 7.56 #8 of 15 Archive leaderboard report
Atari Games Atari 2600 Tennis IMPALA (deep) Score 0.55 #19 of 43 Archive leaderboard report
Atari Games Atari 2600 Time Pilot IMPALA (deep) Score 48481.50 #10 of 44 Archive leaderboard report
Atari Games Atari 2600 Tutankham IMPALA (deep) Score 292.11 #11 of 44 Archive leaderboard report
Atari Games Atari 2600 Up and Down IMPALA (deep) Score 332546.75 #11 of 44 Archive leaderboard report
Atari Games Atari 2600 Venture IMPALA (deep) Score 0.00 #52 of 55 Archive leaderboard report
Atari Games Atari 2600 Video Pinball IMPALA (deep) Score 572898.27 #13 of 42 Archive leaderboard report
Atari Games Atari 2600 Wizard of Wor IMPALA (deep) Score 9157.50 #22 of 41 Archive leaderboard report
Atari Games Atari 2600 Yars Revenge IMPALA (deep) Score 84231.14 #11 of 17 Archive leaderboard report
Atari Games Atari 2600 Zaxxon IMPALA (deep) Score 32935.50 #9 of 41 Archive leaderboard report
Atari Games Atari games IMPALA, deep Mean Human Normalized Score 957.34% #9 of 12 Archive leaderboard report
Atari Games Atari-57 IMPALA, deep Human World Record Breakthrough 3 #8 of 11 Archive leaderboard report
Atari Games Atari-57 IMPALA, deep Mean Human Normalized Score 957.34% #8 of 11 Archive leaderboard report

Ranks are positions in the archive's leaderboards as they stood at the 2025-07-28 snapshot. Results published since then are not among these rows, so a rank here is not a current standing.

Methods

Introduced by this paper: IMPALA, V-trace

ConvolutionEntropy RegularizationExperience ReplayGradient ClippingIMPALALSTMMax PoolingRMSPropReLUResidual ConnectionSigmoid ActivationTanh ActivationV-trace

Report a problem or propose a change · a person checks every report against the paper or source before anything changes; decisions are listed on /corrections