Papers › Accurate, Large Minibatch SGD: Training ImageNet in 1 Hour

Accurate, Large Minibatch SGD: Training ImageNet in 1 Hour

8 Jun 2017arXiv:1706.02677archive 2025-07-28

Priya Goyal, Piotr Dollár, Ross Girshick, Pieter Noordhuis, Lukasz Wesolowski, Aapo Kyrola, Andrew Tulloch, Yangqing Jia, Kaiming He

Deep learning thrives with large neural networks and large datasets. However, larger networks and larger datasets result in longer training times that impede research and development progress. Distributed synchronous SGD offers a potential solution to this problem by dividing SGD minibatches over a pool of parallel workers. Yet to make this scheme efficient, the per-worker workload must be large, which implies nontrivial growth in the SGD minibatch size. In this paper, we empirically show that on the ImageNet dataset large minibatches cause optimization difficulties, but when these are addressed the trained networks exhibit good generalization. Specifically, we show no loss of accuracy when training with large minibatch sizes up to 8192 images. To achieve this result, we adopt a hyper-parameter-free linear scaling rule for adjusting learning rates as a function of minibatch size and develop a new warmup scheme that overcomes optimization challenges early in training. With these simple techniques, our Caffe2-based system trains ResNet-50 with a minibatch size of 8192 on 256 GPUs in one hour, while matching small minibatch accuracy. Using commodity hardware, our implementation achieves ~90% scaling efficiency when moving from 8 to 256 GPUs. Our findings enable training visual recognition models on internet-scale data with high efficiency.

PaperPDFCodeCode 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="1706.02677")

Code

Syntology Ran 3 of 7 code samples harvested from 1 repository linked to this paper; 4 have no recorded run. Of those that ran: 3 ran · fixture could not drive it.

By repository: community (archive-listed): 2 samples from 1 repository, 2 ran; 5 identical to code first harvested elsewhere. The run record, sample by sample. “Ran” means executed on a synthesized input, not that the code is correct or reproduces the paper.

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

1170500804/MoCo mentioned on GitHubpytorch report
BUPT-PRIV/MAE-priv mentioned on GitHubpytorch report
CoinCheung/denseCL mentioned on GitHubpytorch report
Deci-AI/super-gradients mentioned on GitHubpytorch report
Evgeneus/MoCo mentioned on GitHubpytorch report
HRNet/Lite-HRNet mentioned on GitHubpytorchApache-2.0 report
IVRL/FG-NIC mentioned on GitHubpytorch report
Jarr0d/ViTAA mentioned on GitHubpytorch report
JunnYu/paddle_convbert mentioned on GitHubpaddle report
KnightZhang625/DARTS_NAS_TextClassification mentioned on GitHubpytorchMIT report
MarcAntoineAlex/darts mentioned on GitHubpytorch report
NVIDIA/retinanet-examples mentioned on GitHubpytorch report
OceanSummerDay/HSTA_MER mentioned on GitHubpytorch report
SsnL/moco mentioned on GitHubpytorchNOASSERTION report
SsnL/moco_align_uniform mentioned on GitHubpytorchNOASSERTION report
YeLyuUT/VOSDetectron mentioned on GitHubpytorch report
abcp4/MyDarts mentioned on GitHubpytorchMIT report
adelnabli/acid mentioned on GitHubpytorchMIT report
alldbi/SuperMix mentioned on GitHubpytorch report
anonNo2/MulTeacher-KD mentioned on GitHubpytorch report
anonymous2020new/iffDetector mentioned on GitHubpytorch report
apoorvagnihotri/big-little-net mentioned on GitHubpytorch report
camma-public/hpe-adaptor mentioned on GitHubpytorch report
cool-xuan/x-hrnet mentioned on GitHubpytorch report
d-li14/PSConv mentioned on GitHubpytorch report
darkreapyre/HaaS mentioned on GitHubtf report
darkreapyre/HaaS-GitOps mentioned on GitHubtf report
darkreapyre/HaaS-KF mentioned on GitHubtf report
darkreapyre/HaaS-dev mentioned on GitHubtf report
diff7/DARTS-devices mentioned on GitHubpytorch report
enrongtsai/Horovod-practice mentioned on GitHubtf report
facebookresearch/cutler mentioned on GitHubpytorchNOASSERTION report
facebookresearch/moco-v3 mentioned on GitHubpytorchNOASSERTION report
fanq15/FSOD-code mentioned on GitHubpytorchMIT report
grtzsohalf/pt.darts mentioned on GitHubpytorchMIT report
guanxiongsun/stpn mentioned on GitHubpytorch report
hmgxr128/local-sgd mentioned on GitHubpytorchMIT report
hysts/pytorch_warmup-scheduler mentioned on GitHubpytorch report
hyz-xmaster/VarifocalNet mentioned on GitHubpytorchApache-2.0 report
jeff-zilence/transgeo2022 mentioned on GitHubpytorchMIT report
jiajunhua/facebookresearch-Detectron mentioned on GitHubcaffe2 report
k0pch4/big-little-net mentioned on GitHubpytorch report
kaizheng-academic/topola mentioned on GitHubpytorch report
kenziyuliu/ms-g3d mentioned on GitHubpytorch report
kikacaty/adv_guide mentioned on GitHubpytorch report
kkahatapitiya/X3D-Multigrid mentioned on GitHubpytorch report
ky941122/darts-experiment mentioned on GitHubpytorch report
lduml/blog mentioned on GitHubtf report
linwenye/light-moco mentioned on GitHubpytorch report
luminxu/ViPNAS mentioned on GitHubpytorchMIT report
minhoooo1/catmae mentioned on GitHubpytorch report
mustansarfiaz/ps-arm mentioned on GitHubpytorch report
nerminsamet/HPRNet mentioned on GitHubpytorch report
nikita270a/BayesianDARTS mentioned on GitHubpytorch report
openperceptionx/maskalign mentioned on GitHub report
ranchosky/oan mentioned on GitHubpytorch report
ronghanghu/seg_every_thing mentioned on GitHubcaffe2 report
separius/dilemma mentioned on GitHubpytorchNOASSERTION report
serend1p1ty/SeqNet mentioned on GitHubpytorch report
serre-lab/gala_tpu mentioned on GitHubtf report
sjiang95/semcl mentioned on GitHubpytorch report
vujadeyoon/TensorRT-Torch2TRT mentioned on GitHubpytorch report
vycezhong/byteps-compress mentioned on GitHubpytorch report
wolo-wolo/FSFM mentioned on GitHubpytorch report
yan-roo/SpineNet-Pytorch mentioned on GitHubpytorchApache-2.0 report
zf020114/dardet mentioned on GitHubpytorch report
ziyizhang27/dite-hrnet mentioned on GitHubpytorch report
zkxufo/TTM mentioned on GitHubpytorchMIT 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

7 samples harvested; 3 ran; 0 honoured the contract we drafted; 4 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.

3ran · fixture could not drive it
4unverified

Licence: 7 of the 7 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 CoinCheung/denseCL. Some samples are identical code Syntology first harvested from another repository; for those, this paper's copy is not located and its licence is not recorded. “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.

accuracy CoinCheung/denseCL/main_lincls.py community (archive-listed) ran · fixture could not drive it licence not identified · pointer only · c92240882d064bdd · report
validate CoinCheung/denseCL/main_lincls.py community (archive-listed) ran · fixture could not drive it licence not identified · pointer only · 3ff48a800c686284 · report
accuracy identical code first harvested elsewhere ran · fixture could not drive it licence of this copy not recorded · 06532ecb66c0bcf9 · report
accuracy identical code first harvested elsewhere unverified licence of this copy not recorded · 9b8289076669fe4f · report
construct_confusion_matrix_image identical code first harvested elsewhere unverified licence of this copy not recorded · c6c33546958d1759 · report
train identical code first harvested elsewhere unverified licence of this copy not recorded · efad379ea20fec59 · report
validate identical code first harvested elsewhere unverified licence of this copy not recorded · 3d39d5577a13c30e · report

Tasks

Stochastic Optimization

Results from the paper archive 2025-07-28

No leaderboard rows for this paper in the archive.

Methods

SGD

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