SYNTOLOGY HomeExplorerAtlasCodeMethodologyAboutDevelopersFeedPricing
Paper · 2405.17897 · NeurIPS · 2024

C 2 M 3 : Cycle-Consistent Multi-Model Merging

Florian Bernard, Marco Fumero, Emanuele Rodolà, Donato Crisostomi, Daniele Baieri

arXiv · PDF · Open in the Atlas

Code that ran

We lifted 9 functions out of this paper's own repositories and ran 9 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
crisostomi/cycle-consistent-model-merging canonical 9 of 9
FunctionStatusWhere it lives
apply_modules Ran crisostomi/cycle-consistent-model-merging/src/ccmm/models/repaired_resnet.py
code served (permissive licence) · get_code("1a9a8cb111441455")
batchnorm_axes Ran crisostomi/cycle-consistent-model-merging/src/ccmm/matching/permutation_spec.py
code served (permissive licence) · get_code("48e8478672861417")
collect_perm_sizes Ran crisostomi/cycle-consistent-model-merging/src/ccmm/matching/frank_wolfe_matching.py
code served (permissive licence) · get_code("444e29861734c210")
compute_weights_similarity Ran crisostomi/cycle-consistent-model-merging/src/ccmm/matching/weight_matching.py
code served (permissive licence) · get_code("e048239d172ee3c2")
conv_axes Ran crisostomi/cycle-consistent-model-merging/src/ccmm/matching/permutation_spec.py
code served (permissive licence) · get_code("3384618c11cad8aa")
get_all_symbols_combinations Ran crisostomi/cycle-consistent-model-merging/src/ccmm/matching/utils.py
code served (permissive licence) · get_code("21908a79764be549")
get_inverse_permutations Ran crisostomi/cycle-consistent-model-merging/src/ccmm/matching/utils.py
code served (permissive licence) · get_code("480383462a550901")
layernorm_axes Ran crisostomi/cycle-consistent-model-merging/src/ccmm/matching/permutation_spec.py
code served (permissive licence) · get_code("b42df2aad0224c18")
perm_indices_to_perm_matrix Ran crisostomi/cycle-consistent-model-merging/src/ccmm/matching/utils.py
code served (permissive licence) · get_code("ca912d943e4bc32d")

Repositories linked to this paper

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

Abstract

In this paper, we present a novel data-free method for merging neural networks in weight space. Differently from most existing works, our method optimizes for the permutations of network neurons globally across all layers. This allows us to enforce cycle consistency of the permutations when merging n ≥ 3 models, allowing circular compositions of permutations to be computed without accumulating error along the path. We qualitatively and quantitatively motivate the need for such a constraint, showing its benefits when merging sets of models in scenarios spanning varying architectures and datasets. We finally show that, when coupled with activation renormalization, our approach yields the best results in the task.

For agents

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

get_harvested_code_for_paper("2405.17897")
get_code_for_paper("2405.17897")
have("2405.17897")

Connect an agent — have() is free.