Skip to content

Commit 9976471

Browse files
nvkevluYuanTingHsiehchesterxgchen
authored
Cherry pick docs update to 2.3 branch (#1669)
* Add markdown link check workflow [skip ci] (#1660) * Add markdown link check workflow * Fix links * Fix links * Check modified files only * cherry pick docs update to 2.3 branch --------- Co-authored-by: Yuan-Ting Hsieh (謝沅廷) <[email protected]> Co-authored-by: Chester Chen <[email protected]>
1 parent d99c0d6 commit 9976471

File tree

7 files changed

+165
-64
lines changed

7 files changed

+165
-64
lines changed

docs/example_applications_algorithms.rst

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@ The following tutorials and quickstart guides walk you through some of these exa
3838
* `Intro to the FL Simulator <https://github.com/NVIDIA/NVFlare/blob/main/examples/tutorials/flare_simulator.ipynb>`_ - Shows how to use the :ref:`fl_simulator` to run a local simulation of an NVFLARE deployment to test and debug an application without provisioning a real FL project.
3939
* `Hello FLARE API <https://github.com/NVIDIA/NVFlare/blob/main/examples/tutorials/flare_api.ipynb>`_ - Goes through the different commands of the :ref:`flare_api` to show the syntax and usage of each.
4040
* `NVFLARE in POC Mode <https://github.com/NVIDIA/NVFlare/blob/main/examples/tutorials/setup_poc.ipynb>`_ - Shows how to use :ref:`POC mode <poc_command>` to test the features of a full FLARE deployment on a single machine.
41-
* `Provision and Start NVFLARE <https://github.com/NVIDIA/NVFlare/blob/main/examples/tutorials/provision.ipynb>`_ - Shows how to provision and start a secure FL system.
4241

4342
3. **FL algorithms**
4443

@@ -165,44 +164,44 @@ Federated Learning Algorithms
165164
=============================
166165

167166
Federated Averaging
168-
^^^^^^^^^^^^^^^^^^^
167+
-------------------
169168
In NVIDIA FLARE, FedAvg is implemented through the :ref:`scatter_and_gather_workflow`. In the federated averaging workflow,
170169
a set of initial weights is distributed to client workers who perform local training. After local training, clients
171170
return their local weights as a Shareables that are aggregated (averaged). This new set of global average weights is
172171
redistributed to clients and the process repeats for the specified number of rounds.
173172

174173
FedProx
175-
^^^^^^^
174+
-------
176175
`FedProx <https://arxiv.org/abs/1812.06127>`_ implements a :class:`Loss function <nvflare.app_common.pt.pt_fedproxloss.PTFedProxLoss>`
177176
to penalize a client's local weights based on deviation from the global model. An example configuration can be found in
178177
cifar10_fedprox of the `CIFAR-10 example <https://github.com/NVIDIA/NVFlare/tree/main/examples/cifar10>`_.
179178

180179
FedOpt
181-
^^^^^^
180+
------
182181
`FedOpt <https://arxiv.org/abs/2003.00295>`_ implements a :class:`ShareableGenerator <nvflare.app_common.pt.pt_fedopt.PTFedOptModelShareableGenerator>`
183182
that can use a specified Optimizer and Learning Rate Scheduler when updating the global model. An example configuration
184183
can be found in cifar10_fedopt of `CIFAR-10 example <https://github.com/NVIDIA/NVFlare/tree/main/examples/cifar10>`_.
185184

186185
SCAFFOLD
187-
^^^^^^^^
186+
--------
188187
`SCAFFOLD <https://arxiv.org/abs/1910.06378>`_ uses a slightly modified version of the CIFAR-10 Learner implementation,
189188
namely the `CIFAR10ScaffoldLearner`, which adds a correction term during local training following the `implementation <https://github.com/Xtra-Computing/NIID-Bench>`_
190189
as described in `Li et al. <https://arxiv.org/abs/2102.02079>`_
191190

192191
Ditto
193-
^^^^^
192+
-----
194193
`Ditto <https://arxiv.org/abs/2012.04221>`_ uses a slightly modified version of the prostate Learner implementation,
195194
namely the `ProstateDittoLearner`, which decouples local personalized model from global model via an additional model
196195
training and a controllable prox term. See the `prostate segmentation example <https://github.com/NVIDIA/NVFlare/tree/main/examples/prostate>`_
197196
for an example with ditto in addition to FedProx, FedAvg, and centralized training.
198197

199198
Federated XGBoost
200-
^^^^^^^^^^^^^^^^^
199+
-----------------
201200

202201
* `Federated XGBoost (GitHub) <https://github.com/NVIDIA/NVFlare/tree/main/examples/xgboost>`_ - Includes examples of histogram-based and tree-based algorithms. Tree-based algorithms also includes bagging and cyclic approaches
203202

204203
Federated Analytics
205-
^^^^^^^^^^^^^^^^^^^
204+
-------------------
206205

207206
* `Federated Statistics for medical imaging (Github) <https://github.com/NVIDIA/NVFlare/tree/main/examples/federated_statistics/image_stats/README.md>`_ - Example of gathering local image histogram to compute the global dataset histograms.
208207
* `Federated Statistics for tabular data with DataFrame (Github) <https://github.com/NVIDIA/NVFlare/tree/main/examples/federated_statistics/df_stats/README.md>`_ - Example of gathering local statistics summary from Pandas DataFrame to compute the global dataset statistics.

docs/examples/tutorial_notebooks.rst

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,3 @@ Tutorial Notebooks
77
FL Simulator Notebook (GitHub) <https://github.com/NVIDIA/NVFlare/blob/main/examples/tutorials/flare_simulator.ipynb>
88
Hello FLARE API Notbook (GitHub) <https://github.com/NVIDIA/NVFlare/blob/main/examples/tutorials/flare_api.ipynb>
99
NVFLARE in POC Mode (GitHub) <https://github.com/NVIDIA/NVFlare/blob/main/examples/tutorials/setup_poc.ipynb>
10-
Provision and Start NVFLARE (GitHub) <https://github.com/NVIDIA/NVFlare/blob/main/examples/tutorials/provision.ipynb>

docs/programming_guide/high_availability.rst

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,11 @@ If I'm currently hot, and the hot SP has changed to not me, then I transition to
138138
I will prepare to stop serving the client requests. If any requests are received during the Hot-to-Cold state, I will
139139
tell them I am not in service. This is a transition state to the cold state.
140140

141+
.. note::
142+
143+
While trying restart unfinished jobs, users should be aware that some jobs may be in a state that contains incomplete results, i.e. some client
144+
results may not have been received by the server during this transition. As such, users must handle such cases appropriately in the aggregation logic.
145+
141146
Admin Client
142147
------------
143148
Admin Client: No response from Overseer (connection error, etc.)

docs/whats_new.rst

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -245,6 +245,9 @@ an optional boolean to determine whether or not to allow empty global weights an
245245

246246
Some pipelines can have empty global weights at the first round, such that clients start training from scratch without any global info.
247247

248+
7. Updates to the Job Scheduler Configuration
249+
=============================================
250+
See :ref:`job_scheduler_configuration` for information on how the Job Scheduler can be configured with different arguments.
248251

249252
**************************
250253
Previous Releases of FLARE

0 commit comments

Comments
 (0)