Federated distillation, deltas only.
Orchestrates distillation rounds where peers exchange LoRA-style weight deltas and signed receipts. Raw data never crosses; in the default tier, neither do logits.
Research. The rounds are defined and exercised in-process; the package deliberately does not define a transport; pairing the rounds with a live mesh link is the work in front of it. And a caveat the package doc makes itself: deltas are not leak-proof; update inversion remains a risk of any delta plane.
What it does- Delta-only rounds — composes a generalized knowledge-distillation loss with DiLoCo-style outer aggregation from mlx-go-ccl; only rank-matched LoRA deltas and receipts cross between peers.
- Signed receipts — every contribution carries a self-receipt bound to the sender key, run ID, and round number; verification is part of the round, not an afterthought.
- Robust aggregation — coordinate median, trimmed mean, and entropy-aware aggregators screen peer contributions before they touch the consensus.
- Gated logit tier — a separate, admission-gated path implements FedHPL-style heterogeneous distillation over a public proxy set, for cohorts that explicitly permit logit exchange.
- Leakage mitigations — a differential-privacy driver and inversion canaries probe what the deltas give away, because "reduced" is not "zero".
mlx-go-fedistill is the round layer of the family's federated-training research: it defines what crosses between peers and what never does, then verifies what arrives. It composes the training pieces of the stack (the distillation losses, the outer-loop aggregation in mlx-go-ccl) and leaves transport to the mesh substrate published as mlx-go-iroh. The lowest-bandwidth tier of the same idea, hard-label voting, lives in mlx-go-tallytrain.
source private repo, available for review on request — travis@tmc.dev
docs in progress
contact travis@tmc.dev