explaingit

benmagnifico/smartfed

27Audience · researcherComplexity · 5/5ActiveLicenseSetup · hard

TLDR

ICML 2026 spotlight code skeleton for federated LLM fine-tuning that reuses existing LoRA modules as a frozen expert pool and only trains a small router on each device.

Mindmap

mindmap
  root((SmartFed))
    Inputs
      Public LoRA modules
      Private device data
      Skill benchmark sets
    Outputs
      Trained routers
      Aggregated model
      Eval scores
    Use Cases
      Federated LoRA fine tuning
      LoRA expert routing
      Bandwidth limited training
      Multi skill adaptation
    Tech Stack
      Python
      PyTorch
      LoRA
      Federated Learning
      Shell

Things people build with this

USE CASE 1

Reproduce the SmartFed paper once weights and processed datasets ship

USE CASE 2

Study how Elastic Expert Quota Allocation reshuffles capacity across weight matrices

USE CASE 3

Benchmark router-only federated training against FedIT on math and code tasks

USE CASE 4

Adapt the LoRA expert pool loader to a custom LoRAHub-style source

Tech stack

PythonPyTorchLoRAFederatedLearningShell

Getting it running

Difficulty · hard Time to first run · 1day+

Code, processed datasets, and pre-trained LoRA modules are not yet released, so installation commands in the README are not actually runnable yet.

MIT license, so you can use, modify, and ship it commercially as long as you keep the copyright notice.

In plain English

SmartFed is the companion repository for a paper accepted as a spotlight at the ICML 2026 conference. The work is about adapting large language models to new tasks in a setting called federated fine-tuning, where many devices each hold their own private data and the model has to be improved without that data ever leaving the device. Normally each device would train its own small adapter, then send it to a central server to be averaged in. SmartFed is built on the observation that the open-source community has already published thousands of these small adapters, called LoRA modules, for many different tasks. The slogan in the README is do not reinvent the wheel, just realign the spokes you already have. The core idea has three parts. First, an existing LoRA module is broken apart along its rank into a pool of tiny experts. Second, each device trains only a lightweight router that decides which of these experts to mix together for a given input, while the experts themselves stay frozen on disk. Third, a method called Elastic Expert Quota Allocation reshuffles how many experts each weight matrix is allowed to use, based on which matrices are pulling more weight in the current task. Because only the router is trained and sent across the network, and routers are less than 0.1 percent of the size of the full model, the cost in computation, bandwidth, and energy drops sharply. The README reports up to 10.21 percentage points higher average accuracy than competing methods, convergence about 3.95 times faster, communication volume about 31 times smaller, and energy use about 3.6 times lower. The method is also more data efficient: with only 10 percent of the training data it already beats a baseline called FedIT trained on the full set. The repository layout includes folders for the federated training loop, the core algorithm components, a pool that loads reusable LoRA modules from LoRAHub-style sources, shell scripts for three skill combinations (Chinese plus math, Chinese plus code, math plus code), and evaluation suites for the MGSM, DoIT, and GSM-Hard benchmarks. The README notes that the code, processed datasets, and pre-trained LoRA modules are not yet released, only the paper and the repository skeleton. The provided installation and launch commands will become runnable when the team publishes the official release. The license is MIT.

Copy-paste prompts

Prompt 1
Walk me through the SmartFed training loop and where the router weights actually live across the device and the server
Prompt 2
Explain how a single LoRA module is split into a pool of tiny experts along its rank in SmartFed
Prompt 3
Write a stub implementation of Elastic Expert Quota Allocation following the SmartFed README description
Prompt 4
Compare the SmartFed shell scripts for Chinese plus math, Chinese plus code, and math plus code and summarize what differs
Prompt 5
Outline what is still missing in the SmartFed repo before the install and launch commands become runnable
Open on GitHub → Explain another repo

Generated 2026-05-22 · Model: sonnet-4-6 · Verify against the repo before relying on details.