SYNTOLOGY HomeExplorerAtlasCodeMethodologyAboutDevelopersFeedPricing
Paper · 2203.05482 · ICML · 2022

Model soups: averaging weights of multiple fine-tuned models improves accuracy without increasing inference time

Mitchell Wortsman, Ali Farhadi, Simon Kornblith, Ari Morcos, Yair Carmon, Gabriel Ilharco, Rebecca Roelofs, Ludwig Schmidt, Samir Gadre, Raphael Gontijo-Lopes, Hongseok Namkoong

arXiv · PDF · Open in the Atlas

Code that ran

We lifted 17 functions out of this paper's own repositories and ran 8 of them in a sandbox. "Ran" means the function executed on a synthesized input and returned a value. It is not a reproduction of the paper's results.

RepositoryRoleRan
Burf/ModelSoups reimplementation 4 of 4
shallowlearn/sportsreid pwc_unofficial 3 of 12
facebookresearch/ModelRatatouille extension 1 of 1
FunctionStatusWhere it lives
deit_b_16 Ran shallowlearn/sportsreid/torchreid/models/deit.py
code served (permissive licence) · get_code("579350baa15e6159")
deit_bd_16 Ran shallowlearn/sportsreid/torchreid/models/deit.py
code served (permissive licence) · get_code("21a17fccb849b495")
greedy_soup Ran Burf/ModelSoups/model_soup/tf.py
code served (permissive licence) · get_code("77f2a9201dc21413")
greedy_soup Ran Burf/ModelSoups/model_soup/torch.py
code served (permissive licence) · get_code("a91938d0faee2d10")
make_args_lp Ran facebookresearch/ModelRatatouille/domainbed/scripts/sweep.py
code served (permissive licence) · get_code("60c22e32adfbec53")
nasnetamobile Ran shallowlearn/sportsreid/torchreid/models/nasnet.py
code served (permissive licence) · get_code("9635afee4069aa90")
uniform_soup Ran Burf/ModelSoups/model_soup/tf.py
code served (permissive licence) · get_code("0dd770f57fbaf113")
uniform_soup Ran Burf/ModelSoups/model_soup/torch.py
code served (permissive licence) · get_code("abb74c81ad65b75e")
deit_bd_16_384 Not yet run shallowlearn/sportsreid/torchreid/models/deit.py
code served (permissive licence) · get_code("f6f2c3de62b310dc")
densenet121 Not yet run shallowlearn/sportsreid/torchreid/models/densenet.py
code served (permissive licence) · get_code("8e96abe9674da973")
densenet169 Not yet run shallowlearn/sportsreid/torchreid/models/densenet.py
code served (permissive licence) · get_code("54d10942ab6a6650")
densenet201 Not yet run shallowlearn/sportsreid/torchreid/models/densenet.py
code served (permissive licence) · get_code("372747120f68c12f")
inceptionresnetv2 Not yet run shallowlearn/sportsreid/torchreid/models/inceptionresnetv2.py
code served (permissive licence) · get_code("968ff7bf292adbec")
inceptionv4 Not yet run shallowlearn/sportsreid/torchreid/models/inceptionv4.py
code served (permissive licence) · get_code("2bcd3828691ac1d1")
mlfn Not yet run shallowlearn/sportsreid/torchreid/models/mlfn.py
code served (permissive licence) · get_code("b52023dd659c7a90")
mobilenetv2_x1_0 Not yet run shallowlearn/sportsreid/torchreid/models/mobilenetv2.py
code served (permissive licence) · get_code("85b4bac4b8d2c9e4")
mobilenetv2_x1_4 Not yet run shallowlearn/sportsreid/torchreid/models/mobilenetv2.py
code served (permissive licence) · get_code("92bf5ac4db6e8f28")

Repositories linked to this paper

Some links come from the archived Papers with Code dataset (CC BY-SA 4.0): attribution and licence.

Abstract

The conventional recipe for maximizing model accuracy is to (1) train multiple models with various hyperparameters and (2) pick the individual model which performs best on a held-out validation set, discarding the remainder. In this paper, we revisit the second step of this procedure in the context of fine-tuning large pre-trained models, where fine-tuned models often appear to lie in a single low error basin. We show that averaging the weights of multiple models finetuned with different hyperparameter configurations often improves accuracy and robustness. Unlike a conventional ensemble, we may average many models without incurring any additional inference or memory costs-we call the results "model soups." When fine-tuning large pre-trained models such as CLIP, ALIGN, and a ViT-G pretrained on JFT, our soup recipe provides significant improvements over the best model in a hyperparameter sweep on ImageNet. The resulting ViT-G model, which attains 90.94% top-1 accuracy on ImageNet, achieved a new state of the art. Furthermore, we show that the model soup approach extends to multiple image classification and natural language processing tasks, improves out-of-distribution performance, and improves zero-shot performance on new downstream tasks. Finally, we analytically relate the performance similarity of weight-averaging and logitensembling to flatness of the loss and confidence of the predictions, and validate this relation empirically. Code is available at https://github. com/mlfoundations/model-soups.

For agents

The same record, over MCP at https://syntology.ai/mcp:

get_harvested_code_for_paper("2203.05482")
get_code_for_paper("2203.05482")
have("2203.05482")

Connect an agent — have() is free.