SYNTOLOGY HomeExplorerAtlasCodeMethodologyAboutDevelopersFeedPricing
Paper · 2405.14791 · ICML · 2024

Recurrent Early Exits for Federated Learning with Heterogeneous Clients

Timothy Hospedales, Shell Hu, Łukasz Dudziak, Royson Lee, Nicholas Lane, Javier Fernandez-Marques, Stefanos Laskaridis, Ferenc Huszár, Da Li

arXiv · PDF · Open in the Atlas

Code that ran

We lifted 20 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
royson/reefl canonical 9 of 20
FunctionStatusWhere it lives
Adapter_Layer Ran royson/reefl/src/models/reefl_vit.py
code served (permissive licence) · get_code("25b4f80e64754f5f")
Linear Ran royson/reefl/src/models/reefl_vit.py
code served (permissive licence) · get_code("00410aa030868e82")
LoRALinear Ran royson/reefl/src/models/reefl_vit.py
code served (permissive licence) · get_code("14af14fc44efac97")
NormAndLinear Ran royson/reefl/src/models/reefl_vit.py
code served (permissive licence) · get_code("c6f8f65aec8f0cda")
PatchEmbed Ran royson/reefl/src/models/reefl_vit.py
code served (permissive licence) · get_code("50c83684a8d032d4")
get_func_from_config Ran royson/reefl/src/models/reefl_vit.py
code served (permissive licence) · get_code("a0433a63b0aa9b64")
init_ssf_scale_shift Ran royson/reefl/src/models/reefl_vit.py
code served (permissive licence) · get_code("9873773b10315cc0")
prune Ran royson/reefl/src/models/reefl_vit.py
code served (permissive licence) · get_code("9b6ef57a04624e80")
trunc_normal_ Ran royson/reefl/src/models/reefl_vit.py
code served (permissive licence) · get_code("af8aefa30bd76920")
Attention Not yet run royson/reefl/src/models/reefl_vit.py
code served (permissive licence) · get_code("dfbc1c3d50b97f50")
Block Not yet run royson/reefl/src/models/reefl_vit.py
code served (permissive licence) · get_code("b106d531af0900bc")
Mlp Not yet run royson/reefl/src/models/reefl_vit.py
code served (permissive licence) · get_code("335a33f331dc2ff7")
Ree Not yet run royson/reefl/src/models/reefl_vit.py
code served (permissive licence) · get_code("47dcd63472af63f4")
Transformer Not yet run royson/reefl/src/models/reefl_vit.py
code served (permissive licence) · get_code("e16ec4a665b3d4df")
VisionTransformer Not yet run royson/reefl/src/models/reefl_vit.py
code served (permissive licence) · get_code("dbbfaa54d7e3f160")
init_bert_weights Not yet run royson/reefl/src/models/reefl_vit.py
code served (permissive licence) · get_code("0a5a8b2a981b7267")
reefl_vit_template Not yet run royson/reefl/src/models/reefl_vit.py
code served (permissive licence) · get_code("3abf98fe951b6095")
vit_base Not yet run royson/reefl/src/models/reefl_vit.py
code served (permissive licence) · get_code("b50fb2ac893c8ce1")
vit_small Not yet run royson/reefl/src/models/reefl_vit.py
code served (permissive licence) · get_code("1befb46451d50591")
vit_tiny Not yet run royson/reefl/src/models/reefl_vit.py
code served (permissive licence) · get_code("c856301a391d8154")

Repositories linked to this paper

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

Abstract

Federated learning (FL) has enabled distributed learning of a model across multiple clients in a privacy-preserving manner. One of the main challenges of FL is to accommodate clients with varying hardware capacities; clients have differing compute and memory requirements. To tackle this challenge, recent state-of-the-art approaches leverage the use of early exits. Nonetheless, these approaches fall short of mitigating the challenges of joint learning multiple exit classifiers, often relying on hand-picked heuristic solutions for knowledge distillation among classifiers and/or utilizing additional layers for weaker classifiers. In this work, instead of utilizing multiple classifiers, we propose a recurrent early exit approach named ReeFL that fuses features from different sub-models into a single shared classifier. Specifically, we use a transformer-based earlyexit module shared among sub-models to i) better exploit multi-layer feature representations for task-specific prediction and ii) modulate the feature representation of the backbone model for subsequent predictions. We additionally present a per-client self-distillation approach where the best sub-model is automatically selected as the teacher of the other sub-models at each client. Our experiments on standard image and speech classification benchmarks across various emerging federated fine-tuning baselines demonstrate ReeFL's effectiveness over previous works.

For agents

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

get_harvested_code_for_paper("2405.14791")
get_code_for_paper("2405.14791")
have("2405.14791")

Connect an agent — have() is free.