Skip to content

discojs documentation update - #1228

Merged
leonard-amsler merged 3 commits into
mainfrom
dicojs-doc-clarification
Sep 29, 2026
Merged

leonard-amsler merged 3 commits into
mainfrom
dicojs-doc-clarification

Conversation

@leonard-amsler

Copy link
Copy Markdown
Collaborator

The documentation of discojs is no longer aligned with the codebase. Classes no longer exist (DistributedTrainer, LocalTrainer), methods are renamed (fit becomes train) and outdated aggregators. No code change in this PR.

Changes:

Trainer:

  • main method is train not fit, and it trains through model.train.
  • It is no longer abstract and does not contain onRoundBegin/onRoundEnd callbacks. It calls the client's onRoundBeginCommunication and onRoundEndCommunication for communication with the server/other clients.
  • As it is not abstract anymore, the DistributedTrainer and LocalTrainer no longer exist.
  • Documented stopTraining. It lets the current round finish and disable future ones.
  • Added a section about differential privacy applied before weights are shared with link to PRIVACY.md.

Client:

  • Three implementations instead of two: FederatedClient, DecentralizedClient and LocalClient.
  • Clarification that the client does not aggregate anything.

Aggregators:

  • Three strategies instead of two: MeanAggregator, SecureAggregator and ByzantineRobustAggregator (centered clipping with per-client momentum).
  • Stated which ones are available per protocol: all three for decentralized, MeanAggregator and ByzantineRobustAggregator for federated, matching TrainingInformation.networkToSchema.

Disco:

  • disco.fit(data) becomes disco.trainFully(data), and Trainer.fitModel() → Trainer.train() (also in the diagrams)
  • Disco also builds an Aggregator chosen from the task's strategy.

Memory:

  • Dropped the reference to DistributedTrainer.memory as it no longer exist.

@JulienVig JulienVig left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the updates! I left a few minor comments, feel free to merge when they're addressed

Comment thread docs/DISCOJS.md Outdated
Comment thread docs/DISCOJS.md Outdated
Comment thread docs/DISCOJS.md Outdated
@leonard-amsler
leonard-amsler force-pushed the dicojs-doc-clarification branch 2 times, most recently from c9d5da7 to d21bf21 Compare September 28, 2026 15:05
@leonard-amsler
leonard-amsler force-pushed the dicojs-doc-clarification branch from d21bf21 to 635943e Compare September 28, 2026 15:08
@leonard-amsler
leonard-amsler marked this pull request as ready for review September 28, 2026 15:11
@leonard-amsler
leonard-amsler merged commit 06e2e89 into main Sep 29, 2026
1 check passed
@leonard-amsler
leonard-amsler deleted the dicojs-doc-clarification branch September 29, 2026 16:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants