ADAPTIVE FEDERATED OPTIMIZATION
Year: 2021

Abstract:
Federated learning is a distributed machine learning paradigm in which a large number of clients coordinate with a central server to learn a model without sharing their own training data. Standard federated optimization methods such as Federated Averaging (FEDAVG) are often difficult to tune and exhibit unfavorable convergence behavior. In non-federated settings, adaptive optimization methods have had notable success in combating such issues. In this work, we propose federated versions of adaptive optimizers, including ADAGRAD, ADAM, and YOGI, and analyze their convergence in the presence of heterogeneous data for general nonconvex settings. Our results highlight the interplay between client heterogeneity and communication efficiency. We also perform extensive experiments on these methods and show that the use of adaptive optimizers can significantly improve the performance of federated learning.

heading: 1 INTRODUCTION
text: Federated learning (FL) is a machine learning paradigm in which multiple clients cooperate to learn a model under the orchestration of a central server (McMahan et al., 2017). In FL, raw client data is never shared with the server or other clients. This distinguishes FL from traditional distributed optimization, and requires contending with heterogeneous data. FL has two primary settings, crosssilo (eg. FL between large institutions) and cross-device (eg. FL across edge devices) (Kairouz et al., 2019, Table 1). In cross-silo FL, most clients participate in every round and can maintain state between rounds. In the more challenging cross-device FL, our primary focus, only a small fraction of clients participate in each round, and clients cannot maintain state across rounds. For a more in-depth discussion of FL and the challenges involved, we defer to Kairouz et al. (2019) and Li et al. (2019a).
Standard optimization methods, such as distributed SGD, are often unsuitable in FL and can incur high communication costs. To remedy this, many federated optimization methods use local client updates, in which clients update their models multiple times before communicating with the server. This can greatly reduce the amount of communication required to train a model. One such method is FEDAVG (McMahan et al., 2017), in which clients perform multiple epochs of SGD on their local datasets. The clients communicate their models to the server, which averages them to form a new global model. While FEDAVG has seen great success, recent works have highlighted its convergence issues in some settings (Karimireddy et al., 2019; Hsu et al., 2019). This is due to a variety of factors including (1) client drift (Karimireddy et al., 2019), where local client models move away from globally optimal models, and (2) a lack of adaptivity. FEDAVG is similar in spirit to SGD, and may be unsuitable for settings with heavy-tail stochastic gradient noise distributions, which often arise when training language models (Zhang et al., 2019a). Such settings benefit from adaptive learning rates, which incorporate knowledge of past iterations to perform more informed optimization.
In this paper, we focus on the second issue and present a simple framework for incorporating adaptivity in FL. In particular, we propose a general optimization framework in which (1) clients perform multiple epochs of training using a client optimizer to minimize loss on their local data and (2) server updates its global model by applying a gradient-based server optimizer to the average of the clients’ model updates. We show that FEDAVG is the special case where SGD is used as both client and server optimizer and server learning rate is 1. This framework can also seamlessly incorporate
∗Authors contributed equally to this work
adaptivity by using adaptive optimizers as client or server optimizers. Building upon this, we develop novel adaptive optimization techniques for FL by using per-coordinate methods as server optimizers. By focusing on adaptive server optimization, we enable use of adaptive learning rates without increase in client storage or communication costs, and ensure compatibility with cross-device FL.
Main contributions In light of the above, we highlight the main contributions of the paper.
• We study a general framework for federated optimization using server and client optimizers. This framework generalizes many existing federated optimization methods, including FEDAVG.
• We use this framework to design novel, cross-device compatible, adaptive federated optimization methods, and provide convergence analysis in general nonconvex settings. To the best of our knowledge, these are the first methods for FL using adaptive server optimization. We show an important interplay between the number of local steps and the heterogeneity among clients.
• We introduce comprehensive and reproducible empirical benchmarks for comparing federated optimization methods. These benchmarks consist of seven diverse and representative FL tasks involving both image and text data, with varying amounts of heterogeneity and numbers of clients.
• We demonstrate strong empirical performance of our adaptive optimizers throughout, improving upon commonly used baselines. Our results show that our methods can be easier to tune, and highlight their utility in cross-device settings.
Related work FEDAVG was first introduced by McMahan et al. (2017), who showed it can dramatically reduce communication costs. Many variants have since been proposed to tackle issues such as convergence and client drift. Examples include adding a regularization term in the client objectives towards the broadcast model (Li et al., 2018), and server momentum (Hsu et al., 2019). When clients are homogeneous, FEDAVG reduces to local SGD (Zinkevich et al., 2010), which has been analyzed by many works (Stich, 2019; Yu et al., 2019; Wang & Joshi, 2018; Stich & Karimireddy, 2019; Basu et al., 2019). In order to analyze FEDAVG in heterogeneous settings, many works derive convergence rates depending on the amount of heterogeneity (Li et al., 2018; Wang et al., 2019; Khaled et al., 2019; Li et al., 2019b). Typically, the convergence rate of FEDAVG gets worse with client heterogeneity. By using control variates to reduce client drift, the SCAFFOLD method (Karimireddy et al., 2019) achieves convergence rates that are independent of the amount of heterogeneity. While effective in cross-silo FL, the method is incompatible with cross-device FL as it requires clients to maintain state across rounds. For more detailed comparisons, we defer to Kairouz et al. (2019).
Adaptive methods have been the subject of significant theoretical and empirical study, in both convex (McMahan & Streeter, 2010b; Duchi et al., 2011; Kingma & Ba, 2015) and non-convex settings (Li & Orabona, 2018; Ward et al., 2018; Wu et al., 2019). Reddi et al. (2019); Zaheer et al. (2018) study convergence failures of ADAM in certain non-convex settings, and develop an adaptive optimizer, YOGI, designed to improve convergence. While most work on adaptive methods focuses on non-FL settings, Xie et al. (2019) propose ADAALTER, a method for FL using adaptive client optimization. Conceptually, our approach is also related to the LOOKAHEAD optimizer (Zhang et al., 2019b), which was designed for non-FL settings. Similar to ADAALTER, an adaptive FL variant of LOOKAHEAD entails adaptive client optimization (see Appendix B.3 for more details). We note that both ADAALTER and LOOKAHEAD are, in fact, special cases of our framework (see Algorithm 1) and the primary novelty of our work comes in focusing on adaptive server optimization. This allows us to avoid aggregating optimizer states across clients, making our methods require at most half as much communication and client memory usage per round (see Appendix B.3 for details). Notation For a, b ∈ Rd, we let √ a, a2 and a/b denote the element-wise square root, square, and division of the vectors. For θi ∈ Rd, we use both θi,j and [θi]j to denote its jth coordinate.

heading: 2 FEDERATED LEARNING AND FEDAVG
text: In federated learning, we solve an optimization problem of the form:
min x∈Rd
f(x) = 1
m m∑ i=1 Fi(x), (1)
where Fi(x) = Ez∼Di [fi(x, z)], is the loss function of the ith client, z ∈ Z , and Di is the data distribution for the ith client. For i 6= j, Di and Dj may be very different. The functions Fi (and
therefore f ) may be nonconvex. For each i and x, we assume access to an unbiased stochastic gradient gi(x) of the client’s true gradient∇Fi(x). In addition, we make the following assumptions. Assumption 1 (Lipschitz Gradient). The function Fi is L-smooth for all i ∈ [m] i.e., ‖∇Fi(x) − ∇Fi(y)‖ ≤ L‖x− y‖, for all x, y ∈ Rd. Assumption 2 (Bounded Variance). The function Fi have σl-bounded (local) variance i.e., E[‖∇[fi(x, z)]j − [∇Fi(x)]j‖2] = σ2l,j for all x ∈ Rd, j ∈ [d] and i ∈ [m]. Furthermore, we assume the (global) variance is bounded, (1/m) ∑m i=1 ‖∇[Fi(x)]j − [∇f(x)]j‖2 ≤ σ2g,j for all x ∈ Rd and j ∈ [d]. Assumption 3 (Bounded Gradients). The function fi(x, z) have G-bounded gradients i.e., for any i ∈ [m], x ∈ Rd and z ∈ Z we have |[∇fi(x, z)]j | ≤ G for all j ∈ [d].
With a slight abuse of notation, we use σ2l and σ 2 g to denote ∑d j=1 σ 2 l,j and ∑d j=1 σ 2 g,j . Assumptions 1 and 3 are fairly standard in nonconvex optimization literature (Reddi et al., 2016; Ward et al., 2018; Zaheer et al., 2018). We make no further assumptions regarding the similarity of clients datasets. Assumption 2 is a form of bounded variance, but between the client objective functions and the overall objective function. This assumption has been used throughout various works on federated optimization (Li et al., 2018; Wang et al., 2019). Intuitively, the parameter σg quantifies similarity of client objective functions. Note σg = 0 corresponds to the i.i.d. setting.
A common approach to solving (1) in federated settings is FEDAVG (McMahan et al., 2017). At each round of FEDAVG, a subset of clients are selected (typically randomly) and the server broadcasts its global model to each client. In parallel, the clients run SGD on their own loss function, and send the resulting model to the server. The server then updates its global model as the average of these local models. See Algorithm 3 in the appendix for more details.
Suppose that at round t, the server has model xt and samples a set S of clients. Let xti denote the model of each client i ∈ S after local training. We rewrite FEDAVG’s update as
xt+1 = 1 |S| ∑ i∈S xti = xt − 1 |S| ∑ i∈S ( xt − xti ) .
Let ∆ti := x t i − xt and ∆t := (1/|S|) ∑ i∈S ∆ t i. Then the server update in FEDAVG is equivalent to applying SGD to the “pseudo-gradient” −∆t with learning rate η = 1. This formulation makes it clear that other choices of η are possible. One could also utilize optimizers other than SGD on the clients, or use an alternative update rule on the server. This family of algorithms, which we refer to collectively as FEDOPT, is formalized in Algorithm 1.
Algorithm 1 FEDOPT 1: Input: x0, CLIENTOPT, SERVEROPT 2: for t = 0, · · · , T − 1 do 3: Sample a subset S of clients 4: xti,0 = xt 5: for each client i ∈ S in parallel do 6: for k = 0, · · · ,K − 1 do 7: Compute an unbiased estimate gti,k of∇Fi(xti,k) 8: xti,k+1 = CLIENTOPT(x t i,k, g t i,k, ηl, t)
9: ∆ti = x t i,K − xt 10: ∆t = 1 |S| ∑ i∈S ∆ t i 11: xt+1 = SERVEROPT(xt,−∆t, η, t)
In Algorithm 1, CLIENTOPT and SERVEROPT are gradient-based optimizers with learning rates ηl and η respectively. Intuitively, CLIENTOPT aims to minimize (1) based on each client’s local data while SERVEROPT optimizes from a global perspective. FEDOPT naturally allows the use of adaptive optimizers (eg. ADAM, YOGI, etc.), as well as techniques such as server-side momentum (leading to FEDAVGM, proposed by Hsu et al. (2019)). In its most general form, FEDOPT uses a CLIENTOPT whose updates can depend on globally aggregated statistics (e.g. server updates in the
previous iterations). We also allow η and ηl to depend on the round t in order to encompass learning rate schedules. While we focus on specific adaptive optimizers in this work, we can in principle use any adaptive optimizer (e.g. AMSGRAD (Reddi et al., 2019), ADABOUND (Luo et al., 2019)).
While FEDOPT has intuitive benefits over FEDAVG, it also raises a fundamental question: Can the negative of the average model difference ∆t be used as a pseudo-gradient in general server optimizer updates? In this paper, we provide an affirmative answer to this question by establishing a theoretical basis for FEDOPT. We will show that the use of the term SERVEROPT is justified, as we can guarantee convergence across a wide variety of server optimizers, including ADAGRAD, ADAM, and YOGI, thus developing principled adaptive optimizers for FL based on our framework.

heading: 3 ADAPTIVE FEDERATED OPTIMIZATION
text: In this section, we specialize FEDOPT to settings where SERVEROPT is an adaptive optimization method (one of ADAGRAD, YOGI or ADAM) and CLIENTOPT is SGD. By using adaptive methods (which generally require maintaining state) on the server and SGD on the clients, we ensure our methods have the same communication cost as FEDAVG and work in cross-device settings.
Algorithm 2 provides pseudo-code for our methods. An alternate version using batched data and example-based weighting (as opposed to uniform weighting) of clients is given in Algorithm 5. The parameter τ controls the algorithms’ degree of adaptivity, with smaller values of τ representing higher degrees of adaptivity. Note that the server updates of our methods are invariant to fixed multiplicative changes to the client learning rate ηl for appropriately chosen τ , though as we shall see shortly, we will require ηl to be sufficiently small in our analysis.
Algorithm 2 FEDADAGRAD , FEDYOGI , and FEDADAM 1: Initialization: x0, v−1 ≥ τ2, decay parameters β1, β2 ∈ [0, 1) 2: for t = 0, · · · , T − 1 do 3: Sample subset S of clients 4: xti,0 = xt 5: for each client i ∈ S in parallel do 6: for k = 0, · · · ,K − 1 do 7: Compute an unbiased estimate gti,k of∇Fi(xti,k) 8: xti,k+1 = x t i,k − ηlgti,k
9: ∆ti = x t i,K − xt 10: ∆t = β1∆t−1 + (1− β1) ( 1 |S| ∑ i∈S ∆ t i ) 11: vt = vt−1 + ∆2t (FEDADAGRAD)
12: vt = vt−1 − (1− β2)∆2t sign(vt−1 −∆2t ) (FEDYOGI)
13: vt = β2vt−1 + (1− β2)∆2t (FEDADAM) 14: xt+1 = xt + η
∆t√ vt+τ
We provide convergence analyses of these methods in general nonconvex settings, assuming full participation, i.e. S = [m]. For expository purposes, we assume β1 = 0, though our analysis can be directly extended to β1 > 0. Our analysis can also be extended to partial participation (i.e. |S| < m, see Appendix A.2.1 for details). Furthermore, non-uniform weighted averaging typically used in FEDAVG (McMahan et al., 2017) can also be incorporated into our analysis fairly easily. Theorem 1. Let Assumptions 1 to 3 hold, and let L,G, σl, σg be as defined therein. Let σ2 = σ2l + 6Kσ 2 g . Consider the following conditions for ηl:
(Condition I) ηl ≤ 1
K min
{ 1
16L ,
1
T 1/6 [ τ 120L2G ]1/3} ,
(Condition II) ηl ≤ 1
3K min
{ 1
T 1/10
[ τ3
L2G3
]1/5 , 1
T 1/8
[ τ2
L3Gη
]1/4} .
Then the iterates of Algorithm 2 for FEDADAGRAD satisfy
under Condition I only, min 0≤t≤T−1
E‖∇f(xt)‖2 ≤ O ([
G√ T + τ ηlKT
] (Ψ + Ψvar) ) ,
under both Condition I & II, min 0≤t≤T−1
E‖∇f(xt)‖2 ≤ O ([
G√ T + τ ηlKT
]( Ψ + Ψ̃var )) .
Here, we define
Ψ = f(x0)− f(x∗)
η +
5η3lK 2L2T
2τ σ2,
Ψvar = d(ηlKG
2 + τηL)
τ
[ 1 + log τ2 + η2lK 2G2T
τ2
] ,
Ψ̃var = 2ηlKG
2 + τηL
τ2
[ 2η2lKT
m σ2l + 10η 4 lK
3L2Tσ2 ] .
All proofs are relegated to Appendix A due to space constraints. When ηl satisfies the condition in the second part the above result, we obtain a convergence rate depending on min{Ψvar, Ψ̃var}. To obtain an explicit dependence on T and K, we simplify the above result for a specific choice of η, ηl and τ . Corollary 1. Suppose ηl is such that the conditions in Theorem 1 are satisfied and ηl = Θ(1/(KL √ T).
Also suppose η = Θ( √ Km) and τ = G/L. Then, for sufficiently large T , the iterates of Algorithm 2 for FEDADAGRAD satisfy
min 0≤t≤T−1
E‖∇f(xt)‖2 = O ( f(x0)− f(x∗)√
mKT +
2σ2l L
G2 √ mKT
+ σ2
GKT +
σ2L √ m
G2 √ KT 3/2
) .
We defer a detailed discussion about our analysis and its implication to the end of the section.
Analysis of FEDADAM Next, we provide the convergence analysis of FEDADAM. The proof of FEDYOGI is very similar and hence, we omit the details of FEDYOGI’s analysis. Theorem 2. Let Assumptions 1 to 3 hold, and L,G, σl, σg be as defined therein. Let σ2 = σ2l +6Kσ2g . Suppose the client learning rate satisfies ηl ≤ 1/16LK and
ηl ≤ 1
6K min {[ τ GL ]1/2 , [ τ2 GL3η ]1/4 , [ τ GL2 ]1/3} .
Then the iterates of Algorithm 2 for FEDADAM satisfy
min 0≤t≤T−1
E‖∇f(xt)‖2 = O (√ β2ηlKG+ τ
ηlKT (Ψ + Ψvar)
) ,
where
Ψ = f(x0)− f(x∗)
η +
5η3lK 2L2T
2τ σ2,
Ψvar =
( G+ ηL
2
)[ 4η2lKT
mτ2 σ2l +
20η4lK 3L2T τ2 σ2 ] .
Similar to the FEDADAGRAD case, we restate the above result for a specific choice of ηl, η and τ in order to highlight the dependence of K and T . Corollary 2. Suppose ηl is chosen such that the conditions in Theorem 2 are satisfied and that ηl = Θ(1/(KL √ T )). Also, suppose η = Θ( √ Km) and τ = G/L. Then, for sufficiently large T , the iterates of Algorithm 2 for FEDADAM satisfy
min 0≤t≤T−1
E‖∇f(xt)‖2 = O ( f(x0)− f(x∗)√
mKT +
2σ2l L
G2 √ mKT
+ σ2
GKT +
σ2L √ m
G2 √ KT 3/2
) .
Remark 1. The server learning rate η = 1 typically used in FEDAVG does not necessarily minimize the upper bound in Theorems 1 & 2. The effect of σg , a measure of client heterogeneity, on convergence can be reduced by choosing sufficiently ηl and a reasonably large η (e.g. see Corollary 1). Thus, the effect of client heterogeneity can be reduced by carefully choosing client and server learning rates, but not removed entirely. Our empirical analysis (eg. Figure 1) supports this conclusion.
Discussion. We briefly discuss our theoretical analysis and its implications in the FL setting. The convergence rates for FEDADAGRAD and FEDADAM are similar, so our discussion applies to all the adaptive federated optimization algorithms (including FEDYOGI) proposed in the paper.
(i) Comparison of convergence rates. When T is sufficiently large compared to K, O(1/√mKT) is the dominant term in Corollary 1 & 2. Thus, we effectively obtain a convergence rate of O(1/ √ mKT), which matches the best known rate for the general non-convex setting of our interest
(e.g. see (Karimireddy et al., 2019)). We also note that in the i.i.d setting considered in (Wang & Joshi, 2018), which corresponds to σg = 0, we match their convergence rates. Similar to the centralized setting, it is possible to obtain convergence rates with better dependence on constants for federated adaptive methods, compared to FEDAVG, by incorporating non-uniform bounds on gradients across coordinates (Zaheer et al., 2018). (ii) Learning rates & their decay. The client learning rate of 1/√T in our analysis requires knowledge of the number of rounds T a priori; however, it is easy to generalize our analysis to the case where ηl is decayed at a rate of 1/ √ t. Observe that one must decay ηl, not the server learning
rate η, to obtain convergence. This is because the client drift introduced by the local updates does not vanish as T → ∞ when ηl is constant. As we show in Appendix E.6, learning rate decay can improve empirical performance. Also, note the inverse relationship between ηl and η in Corollary 1 & 2, which we observe in our empirical analysis (see Appendix E.4).
(iii) Communication efficiency & local steps. The total communication cost of the algorithms depends on the number of communication rounds T . From Corollary 1 & 2, it is clear that a larger K leads to fewer rounds of communication as long as K = O(Tσ2l /σ2g). Thus, the number of local iterations can be large when either the ratio σ2l /σ 2 g or T is large. In the i.i.d setting where
σg = 0, unsurprisingly, K can be very large. (iv) Client heterogeneity. While careful selection of client and server learning rates can reduce
the effect of client heterogeneity (see Remark 1), it does not completely remove it. In highly heterogeneous settings, it may be necessary to use mechanisms such as control variates (Karimireddy et al., 2019). However, our empirical analysis suggest that for moderate, naturally arising heterogeneity, adaptive optimizers are quite effective, especially in cross-device settings (see Figure 1). Furthermore, our algorithms can be directly combined with such mechanisms.
As mentioned earlier, for the sake of simplicity, our analysis assumes full-participation (S = [m]). Our analysis can be directly generalized to limited participation at the cost of an additional variance term in our rates that depends on |S|/m, the fraction of clients sampled (see Section A.2.1 for details).

heading: 4 EXPERIMENTAL EVALUATION: DATASETS, TASKS, AND METHODS
text: We evaluate our algorithms on what we believe is the most extensive and representative suite of federated datasets and modeling tasks to date. We wish to understand how server adaptivity can help improve convergence, especially in cross-device settings. To accomplish this, we conduct simulations on seven diverse and representative learning tasks across five datasets. Notably, three of the five have a naturally-arising client partitioning, highly representative of real-world FL problems.
Datasets, models, and tasks We use five datasets: CIFAR-10, CIFAR-100 (Krizhevsky & Hinton, 2009), EMNIST (Cohen et al., 2017), Shakespeare (McMahan et al., 2017), and Stack Overflow (Authors, 2019). The first three are image datasets, the last two are text datasets. For CIFAR-10 and CIFAR-100, we train ResNet-18 (replacing batch norm with group norm (Hsieh et al., 2019)). For EMNIST, we train a CNN for character recognition (EMNIST CR) and a bottleneck autoencoder (EMNIST AE). For Shakespeare, we train an RNN for next-character-prediction. For Stack Overflow, we perform tag prediction using logistic regression on bag-of-words vectors (SO LR) and train an RNN to do next-word-prediction (SO NWP). For full details of the datasets, see Appendix C.
Implementation We implement all algorithms in TensorFlow Federated (Ingerman & Ostrowski, 2019). Clients are sampled uniformly at random, without replacement in a given round, but with replacement across rounds. Our implementation has two important characteristics. First, instead of
doing K training steps per client, we do E epochs of training over each client’s dataset. Second, to account for varying numbers of gradient steps per client, we weight the average of the client outputs ∆ti by each client’s number of training samples. This follows the approach of (McMahan et al., 2017), and can often outperform uniform weighting (Zaheer et al., 2018). For full descriptions of the algorithms used, see Appendix B.
Optimizers and hyperparameters We compare FEDADAGRAD, FEDADAM, and FEDYOGI (with adaptivity τ ) to FEDOPT where CLIENTOPT and SERVEROPT are SGD with learning rates ηl and η. For the server, we use a momentum parameter of 0 (FEDAVG), and 0.9 (FEDAVGM). We fix the client batch size on a per-task level (see Appendix D.3). For FEDADAM and FEDYOGI, we fix a momentum parameter β1 = 0.9 and a second moment parameter β2 = 0.99. We also compare to SCAFFOLD (see Appendix B.2 for implementation details). For SO NWP, we sample 50 clients per round, while for all other tasks we sample 10. We use E = 1 local epochs throughout.
We select ηl, η, and τ by grid-search tuning. While this is often done using validation data in centralized settings, such data is often inaccessible in FL, especially cross-device FL. Therefore, we tune by selecting the parameters that minimize the average training loss over the last 100 rounds of training. We run 1500 rounds of training on the EMNIST CR, Shakespeare, and Stack Overflow tasks, 3000 rounds for EMNIST AE, and 4000 rounds for the CIFAR tasks. For more details and a record of the best hyperparameters, see Appendix D.
Validation metrics For all tasks, we measure the performance on a validation set throughout training. For Stack Overflow tasks, the validation set contains 10,000 randomly sampled test examples (due to the size of the test dataset, see Table 2). For all other tasks, we use the entire test set. Since all algorithms exchange equal-sized objects between server and clients, we use the number of communication rounds as a proxy for wall-clock training time.

heading: 5 EXPERIMENTAL EVALUATION: RESULTS

heading: 5.1 COMPARISONS BETWEEN METHODS
text: We compare the convergence of our adaptive methods to non-adaptive methods: FEDAVG, FEDAVGM and SCAFFOLD. Plots of validation performances for each task/optimizer are in Figure 1, and Table 1 summarizes the last-100-round validation performance. Due to space constraints, results for EMNIST CR are in Appendix E.1, and full test set results for Stack Overflow are in Appendix E.2.
Sparse-gradient tasks Text data often produces long-tailed feature distributions, leading to approximately-sparse gradients which adaptive optimizers can capitalize on (Zhang et al., 2019a). Both Stack Overflow tasks exhibit such behavior, though they are otherwise dramatically different— in feature representation (bag-of-words vs. variable-length token sequence), model architecture (GLM vs deep network), and optimization landscape (convex vs nonconvex). In both tasks, words that do not appear in a client’s dataset produce nearzero client updates. Thus, the accumulators vt,j in Algorithm 2 remain small for parameters tied to rare words, allowing large
updates to be made when they do occur. This intuition is born out in Figure 1, where adaptive optimizers dramatically outperform non-adaptive ones. For the non-convex NWP task, momentum is also critical, whereas it slightly hinders performance for the convex LR task.
Dense-gradient tasks CIFAR-10/100, EMNIST AE/CR, and Shakespeare lack a sparse-gradient structure. Shakespeare is relatively easy—most optimizers perform well after enough rounds once suitably tuned, though FEDADAGRAD converges faster. For CIFAR-10/100 and EMNIST AE, adaptivity and momentum offer substantial improvements over FEDAVG. Moreover, FEDYOGI and FEDADAM have faster initial convergence than FEDAVGM on these tasks. Notably, FEDADAM and FEDYOGI perform comparably to or better than non-adaptive optimizers throughout, and close to or better than
FEDADAGRAD throughout. As we discuss below, FEDADAM and FEDYOGI actually enable easier learning rate tuning than FEDAVGM in many tasks.
Comparison to SCAFFOLD On all tasks, SCAFFOLD performs comparably to or worse than FEDAVG and our adaptive methods. On Stack Overflow, SCAFFOLD and FEDAVG are nearly identical. This is because the number of clients (342,477) makes it unlikely we sample any client more than once. Intuitively, SCAFFOLD does not have a chance to use its client control variates. In other tasks, SCAFFOLD performs worse than other methods. We present two possible explanations: First, we only sample a small fraction of clients at each round, so most users are sampled infrequently. Intuitively, the client control variates can become stale, and may consequently degrade the performance. Second, SCAFFOLD is similar to variance reduction methods such as SVRG (Johnson & Zhang, 2013). While theoretically performant, such methods often perform worse than SGD in practice (Defazio & Bottou, 2018). As shown by Defazio et al. (2014), variance reduction often only accelerates convergence when close to a critical point. In cross-device settings (where the number of communication rounds are limited), SCAFFOLD may actually reduce empirical performance.

heading: 5.2 EASE OF TUNING
text: Obtaining optimal performance involves tuning ηl, η, and for the adaptive methods, τ . To quantify how easy it is to tune various methods, we plot their validation performance as a function of ηl and η. Figure 2 gives results for FEDADAM, FEDYOGI, and FEDAVGM on Stack Overflow NWP. Plots for all other optimizers and tasks are in Appendix E.3. For FEDAVGM, there are only a few good values of ηl for each η, while for FEDADAM and FEDYOGI, there are many good values of ηl for a range of
η. Thus, FEDADAM and FEDYOGI are arguably easier to tune in this setting. Similar results hold for other tasks and optimizers (Figures 5 to 11).
This leads to a natural question: Is the reduction in the need to tune ηl and η offset by the need to tune the adaptivity τ? In fact, while we tune τ in Figure 1, our results are relatively robust to τ . To demonstrate, we plot the best validation performance for various τ in Figure 3. For nearly all tasks and optimizers, τ = 10−3 works almost as well all other values. This aligns with work by Zaheer et al. (2018), who show that moderately large τ yield better performance for centralized adaptive optimizers. FEDADAM and FEDYOGI see only small differences in performance among τ on all tasks except Stack Overflow LR (for which FEDADAGRAD is the best optimizer, and is robust to τ ).

heading: 5.3 OTHER FINDINGS
text: We present additional empirical analyses in Appendix E. These include EMNIST CR results (Appendix E.1), Stack Overflow results on the full test dataset (Appendix E.2), client/server learning rate heat maps for all optimizers and tasks (Appendix E.3), an analysis of the relationship between η and ηl (Appendix E.4), and experiments with learning rate decay (Appendix E.6).

heading: 6 CONCLUSION
text: In this paper, we demonstrated that adaptive optimizers can be powerful tools in improving the convergence of FL. By using a simple client/server optimizer framework, we can incorporate adaptivity into FL in a principled, intuitive, and theoretically-justified manner. We also developed comprehensive benchmarks for comparing federated optimization algorithms. To encourage reproducibility and breadth of comparison, we have attempted to describe our experiments as rigorously as possible, and have created an open-source framework with all models, datasets, and code. We believe our work raises many important questions about how best to perform federated optimization. Example directions for future research include understanding how the use of adaptivity affects differential privacy and fairness.

heading: A PROOF OF RESULTS

heading: A.1 MAIN CHALLENGES
text: We first recap some of the central challenges to our analysis. Theoretical analyses of optimization methods for federated learning are much different than analyses for centralized settings. The key factors complicating the analysis are:
1. Clients performing multiple local updates.
2. Data heterogeneity.
3. Understanding the communication complexity.
As a result of (1), the updates from the clients to the server are not gradients, or even unbiased estimates of gradients, they are pseudo-gradients (see Section 2). These pseudo-gradients are challenging to analyze as they can have both high bias (their expectation is not the gradient of the empirical loss function) and high variance (due to compounding variance across client updates) and are therefore challenging to bound. This is exacerbated by (2), which we quantify by the parameter σg in Section 2. Things are further complicated by (3), as we must obtain a good trade-off between the number of client updates taken per round (K in Algorithms 1 and 2) and the number of communication rounds T . Such trade-offs do not exist in centralized optimization.

heading: A.2 PROOF OF THEOREM 1
text: Proof of Theorem 1. Recall that the server update of FEDADAGRAD is the following
xt+1,i = xt,i + η ∆t,i√ vt,i + τ ,
for all i ∈ [d]. Since the function f is L-smooth, we have the following:
f(xt+1) ≤ f(xt) + 〈∇f(xt), xt+1 − xt〉+ L
2 ‖xt+1 − xt‖2
= f(xt) + η 〈 ∇f(xt),
∆t√ vt + τ
〉 + η2L
2 d∑ i=1 ∆2t,i ( √ vt,i + τ)2
(2)
The second step follows simply from FEDADAGRAD’s update. We take the expectation of f(xt+1) (over randomness at time step t) in the above inequality: Et[f(xt+1)] ≤ f(xt) + η 〈 ∇f(xt),Et [ ∆t√ vt + τ ]〉 + η2L 2 d∑ i=1 Et [ ∆2t,i ( √ vt,i + τ)2 ]
= f(xt) + η 〈 ∇f(xt),Et [ ∆t√ vt + τ − ∆t√ vt−1 + τ + ∆t√ vt−1 + τ ]〉
+ η2L
2 d∑ j=1 Et
[ ∆2t,j
( √ vt,j + τ)2
]
= f(xt) + η 〈 ∇f(xt),Et [ ∆t√
vt−1 + τ ]〉 ︸ ︷︷ ︸
T1
+η 〈 ∇f(xt),Et [ ∆t√ vt + τ − ∆t√ vt−1 + τ ]〉 ︸ ︷︷ ︸
T2
+ η2L
2 d∑ j=1 Et
[ ∆2t,j
( √ vt,j + τ)2
] (3)
We will first bound T2 in the following manner:
T2 = 〈 ∇f(xt),Et [ ∆t√ vt + τ − ∆t√ vt−1 + τ ]〉
= Et d∑ j=1 [∇f(xt)]j × [ ∆t,j√ vt,j + τ − ∆t,j√ vt−1,j + τ ] = Et d∑ j=1 [∇f(xt)]j ×∆t,j × [ √ vt−1,j − √ vt,j ( √ vt,j + τ)( √ vt−1,j + τ) ,
] and recalling vt = vt−1 + ∆2t so −∆2t,j = ( √ vt−1,j − √ vt,j)( √ vt−1,j + √ vt,j)) we have,
= Et d∑ j=1 [∇f(xt)]j ×∆t,j ×
[ −∆2t,j
( √ vt,j + τ)( √ vt−1,j + τ)( √ vt−1,j + √ vt,j)
]
≤ Et d∑ j=1 |∇f(xt)]j | × |∆t,j | ×
[ ∆2t,j
( √ vt,j + τ)( √ vt−1,j + τ)( √ vt−1,j + √ vt,j)
]
≤ Et d∑ j=1 |∇f(xt)]j | × |∆t,j | ×
[ ∆2t,j
(vt,j + τ2)( √ vt−1,j + τ)
] since vt−1,j ≥ τ2.
Here vt−1,j ≥ τ since v−1 ≥ τ (see the initialization of Algorithm 2) and vt,j is increasing in t. The above bound can be further upper bounded in the following manner:
T2 ≤ Et d∑ j=1 ηlKG 2
[ ∆2t,j
(vt,j + τ2)( √ vt−1,j + τ)
] since [∇f(xt)]i ≤ G and ∆t,i ≤ ηlKG
≤ Et d∑ j=1 ηlKG 2 τ [ ∆2t,j∑t l=0 ∆ 2 l,j + τ 2 ] since √ vt−1,j ≥ 0. (4)
Bounding T1 We now turn our attention to bounding the term T1, which we need to be sufficiently negative. We observe the following:
T1 = 〈 ∇f(xt),Et [ ∆t√
vt−1 + τ ]〉 =
〈 ∇f(xt)√ vt−1 + τ ,Et [∆t − ηlK∇f(xt) + ηlK∇f(xt)] 〉
= −ηlK d∑ j=1 [∇f(xt)]2j√ vt−1,j + τ + 〈 ∇f(xt)√ vt−1 + τ ,Et [∆t + ηlK∇f(xt)] 〉
︸ ︷︷ ︸ T3
. (5)
In order to bound T1 , we use the following upper bound on T3 (which captures the difference between the actual update ∆t and an appropriate scaling of −∇f(xt)):
T3 = 〈 ∇f(xt)√ vt−1 + τ ,Et [∆t + ηlK∇f(xt)] 〉
= 〈 ∇f(xt)√ vt−1 + τ ,Et [ − 1 m m∑ i=1 K−1∑ k=0 ηlg t i,k + ηlK∇f(xt) ]〉
= 〈 ∇f(xt)√ vt−1 + τ ,Et [ − 1 m m∑ i=1 K−1∑ k=0 ηl∇Fi(xti,k) + ηlK∇f(xt) ]〉 .
Here we used the fact that ∇f(xt) = 1m ∑m i=1∇Fi(xt) and gti,k is an unbiased estimator of the gradient at xti,k, we further bound T3 as follows using a simple application of the fact that ab ≤ (a2 + b2)/2. :
T3 ≤ ηlK
2 d∑ j=1 [∇f(xt)]2j√ vt−1,j + τ + ηl 2K Et ∥∥∥∥∥ 1m m∑ i=1 K−1∑ k=0 ∇Fi(xti,k)√√ vt−1 + τ − 1 m m∑ i=1 K−1∑ k=0 ∇Fi(xt)√√ vt−1 + τ ∥∥∥∥∥ 2 
≤ ηlK 2 d∑ j=1 [∇f(xt)]2j√ vt−1,j + τ + ηl 2m Et  m∑ i=1 K−1∑ k=0 ∥∥∥∥∥∇Fi(xti,k)−∇Fi(xt)√√vt−1 + τ ∥∥∥∥∥ 2 
≤ ηlK 2 d∑ j=1 [∇f(xt)]2j√ vt−1,j + τ + ηlL 2 2mτ Et [ m∑ i=1 K−1∑ k=0 ‖xti,k − xt‖2 ]
using Assumption 1 and vt−1 ≥ 0.
(6) The second inequality follows from Lemma 6. The last inequality follows from L-Lipschitz nature of the gradient (Assumption 1). We now prove a lemma that bounds the “drift” of the xti,k from xt:
Lemma 3. For any step-size satisfying ηl ≤ 18LK , we can bound the drift for any k ∈ {0, · · · ,K−1} as
1
m m∑ i=1 E‖xti,k − xt‖2 ≤ 5Kη2l E d∑ j=1 (σ2l,j + 2Kσ 2 g,j) + 30K 2η2l E[‖∇f(xt)))‖2 ] . (7)
Proof. The result trivially holds for k = 1 since xti,0 = xt for all i ∈ [m]. We now turn our attention to the case where k ≥ 1. To prove the above result, we observe that for any client i ∈ [m] and k ∈ [K], E‖xti,k − xt‖2 = E
∥∥xti,k−1 − xt − ηlgti,k−1∥∥2 ≤ E
∥∥xti,k−1 − xt − ηl(gti,k−1 −∇Fi(xti,k−1) +∇Fi(xti,k−1)−∇Fi(xt) +∇Fi(xt)−∇f(xt) +∇f(xt))∥∥2 ≤ ( 1 + 1
2K − 1
) E ∥∥xti,k−1 − xt∥∥2 + E∥∥ηl(gti,k−1 −∇Fi(xti,k−1))∥∥2
+ 6KE[‖ηl(∇Fi(xti,k−1)−∇Fi(xt))‖2 ] + 6KE[‖ηl(∇Fi(xt)−∇f(xt))‖2 ] + 6KE[‖ηl∇f(xt)))‖2 ]
The first inequality uses the fact that gtk−1,i is an unbiased estimator of ∇Fi(xti,k−1) and Lemma 7. The above quantity can be further bounded by the following:
E‖xti,k − xt‖2 ≤ ( 1 + 1
2K − 1
) E‖xti,k−1 − xt‖2 + η2l E d∑ j=1 σ2l,j + 6Kη 2 l E‖L(xti,k−1 − xt)‖2
+ 6KE[‖ηl(∇Fi(xt)−∇f(xt))‖2 ] + 6KE[‖ηl∇f(xt)))‖2 ]
= ( 1 +
1
2K − 1 + 6Kη2l L 2
) E‖(xti,k−1 − xt)‖2 + η2l E d∑ j=1 σ2l,j
+ 6KE[‖ηl(∇Fi(xt)−∇f(xt))‖2 ] + 6Kη2l E[‖∇f(xt)))‖2 ]
Here, the first inequality follows from Assumption 1 and 2. Averaging over the clients i, we obtain the following:
1
m m∑ i=1 E‖xti,k − xt‖2 ≤ ( 1 + 1 2K − 1 + 6Kη2l L 2 ) 1 m m∑ i=1 E‖xti,k−1 − xt‖2 + η2l E d∑ j=1 σ2l,j
+ 6K
m m∑ i=1 E[‖ηl(∇Fi(xt)−∇f(xt))‖2 ] + 6Kη2l E[‖∇f(xt)))‖2 ]
≤ ( 1 + 1
2K − 1 + 6Kη2l L 2
) 1
m m∑ i=1 E‖xti,k−1 − xt‖2 + η2l E d∑ j=1 (σ2l,j + 6Kσ 2 g,j)
+ 6Kη2l E[‖∇f(xt)))‖2 ]
From the above, we get the following inequality:
1
m m∑ i=1 E‖xti,k − xt‖2 ≤ ( 1 + 1 K − 1 ) 1 m m∑ i=1 E‖xti,k−1 − xt‖2 + η2l E d∑ j=1 (σ2l,j + 6Kσ 2 g,j)
+ 6Kη2l E[‖∇f(xt)))‖2 ]
Unrolling the recursion, we obtain the following:
1
m m∑ i=1 E‖xti,k − xt‖2 ≤ k−1∑ p=0 ( 1 + 1 K − 1 )p η2l E d∑ j=1 (σ2l,j + 6Kσ 2 g,j) + 6Kη 2 l E[‖∇f(xt)))‖2 ] ≤ (K − 1)× [( 1 + 1
K − 1
)K − 1 ] × η2l E d∑ j=1 (σ2l,j + 6Kσ 2 g,j) + 6Kη 2 l E[‖∇f(xt)))‖2 ] ≤
5Kη2l E d∑ j=1 (σ2l,j + 6Kσ 2 g,j) + 30K 2η2l E[‖∇f(xt)))‖2 ] ,
concluding the proof of Lemma 3. The last inequality uses the fact that (1 + 1K−1 ) K ≤ 5 for K > 1.
Using the above lemma in Equation 6 and Condition I, we can bound T3 in the following manner:
T3 ≤ ηlK
2 d∑ j=1 [∇f(xt)]2j√ vt−1,j + τ + ηlL 2 2mτ Et  m∑ i=1 K−1∑ k=0 d∑ j=1 ([xti,k]j − [xt]j)2 
≤ ηlK 2 d∑ j=1 [∇f(xt)]2j√ vt−1,j + τ + ηlKL 2 2τ 5Kη2l E d∑ j=1 (σ2l,j + 6Kσ 2 g,j) + 30K 2η2l E[‖∇f(xt)))‖2 ]
≤ 3ηlK 4 d∑ j=1 [∇f(xt)]2j√ vt−1,j + τ + 5η3lK 2L2 2τ E d∑ j=1 (σ2l,j + 6Kσ 2 g,j)
Here we used the fact that √vt−1,j ≤ ηlKG √ T and Condition I in Theorem 1. Using the above bound in Equation 5, we get
T1 ≤ − ηlK
4 d∑ j=1 [∇f(xt)]2j√ vt−1,j + τ + 5η3lK 2L2 2τ E d∑ j=1 (σ2l,j + 6Kσ 2 g,j) (8)
Putting the pieces together Substituting in Equation (3), bounds T1 in Equation (8) and bound T2 in Equation (4), we obtain
Et[f(xt+1)] ≤ f(xt) + η × −ηlK 4 d∑ j=1 [∇f(xt)]2j√ vt−1,j + τ + 5η3lK 2L2 2τ E d∑ j=1 (σ2l,j + 6Kσ 2 g,j)  + η × E
d∑ j=1 ηlKG 2 τ [ ∆2t,j∑t l=0 ∆ 2 l,j + τ 2 ] + η2 2 d∑ j=1 LE [ ∆2t,j∑t l=0 ∆ 2 l,j + τ 2 ] . (9)
Rearranging the above inequality and summing it from t = 0 to T − 1, we get
T−1∑ t=0 ηlK 4 d∑ j=1 E [∇f(xt)]2j√ vt−1,j + τ ≤ f(x0)− E[f(xT )] η + 5η3lK 2L2T 2τ d∑ j=1 (σ2l,j + 6Kσ 2 g,j)
+ T−1∑ t=0 E d∑ j=1 ( ηlKG 2 τ + ηL 2 ) × [ ∆2t,j∑t l=0 ∆ 2 l,j + τ 2 ] (10)
The first inequality uses simple telescoping sum. For completing the proof, we need the following result.
Lemma 4. The following upper bound holds for Algorithm 2 (FEDADAGRAD): E T−1∑ t=0 d∑ j=1 ∆2t,j∑t l=0 ∆ 2 l,j + τ 2 ≤ [ min { d+ d∑ j=1 log ( 1 + η2lK 2G2T τ2 )
+ 4η2lKT
mτ2 d∑ j=1 σ2l,j + 20η 4 lK 3L2TE d∑ j=1 (σ2l,j + 6Kσ 2 g,j) τ2 + 40η4lK 2L2 τ2 T−1∑ t=0 E [ ‖∇f(xt)‖2
]}]
Proof. We bound the desired quantity in the following manner: E T−1∑ t=0 d∑ j=1 ∆2t,j∑t l=0 ∆ 2 l,j + τ 2 ≤ d+ E d∑ j=1 log ( 1 + ∑T−1 l=0 ∆ 2 l,j τ2 ) ≤ d+ d∑ j=1 log ( 1 + η2lK 2G2T τ2 ) .
An alternate way of the bounding this quantity is as follows:
E T−1∑ t=0 d∑ j=1 ∆2t,j∑t l=0 ∆ 2 t,j + τ 2 ≤ E T−1∑ t=0 d∑ j=1 ∆2t,j τ2
≤ E T−1∑ t=0 ∥∥∥∥∆t + ηlK∇f(xt)− ηlK∇f(xt)τ ∥∥∥∥2
≤ 2E T−1∑ t=0 [∥∥∥∥∆t + ηlK∇f(xt)τ ∥∥∥∥2 + η2lK2 ∥∥∥∥∇f(xt)τ ∥∥∥∥2 ] . (11)
The first quantity in the above bound can be further bounded as follows: 2E T−1∑ t=0 ∥∥∥∥∥1τ · ( − 1 m m∑ i=1 K−1∑ k=0 ηlg t i,k + ηlK∇f(xt) )∥∥∥∥∥ 2
= 2E T−1∑ t=0 ∥∥∥∥∥1τ · ( 1 m m∑ i=1 K−1∑ k=0 ( ηlg t i,k − ηl∇Fi(xti,k) + ηl∇Fi(xti,k)− ηl∇Fi(xt) + ηl∇Fi(xt) ) − ηlK∇f(xt) )∥∥∥∥∥ 2 
= 2η2l m2 T−1∑ t=0 E ∥∥∥∥∥ m∑ i=1 K−1∑ k=0 1 τ · ( gti,k −∇Fi(xti,k) +∇Fi(xti,k)−∇Fi(xt) )∥∥∥∥∥ 2 
≤ 4η 2 l
m2 T−1∑ t=0 E ∥∥∥∥∥ m∑ i=1 K−1∑ k=0 1 τ · ( gti,k −∇Fi(xti,k) )∥∥∥∥∥ 2 + ∥∥∥∥∥ m∑ i=1 K−1∑ k=0 1 τ · ( ∇Fi(xti,k)−∇Fi(xt) )∥∥∥∥∥ 2 
≤ 4η 2 lKT
m d∑ j=1 σ2l,j τ2 + 4η2lK m E m∑ i=1 K−1∑ k=0 T−1∑ t=0 ∥∥∥∥1τ · (∇Fi(xti,k)−∇Fi(xt)) ∥∥∥∥2
≤ 4η 2 lKT
m d∑ j=1 σ2l,j τ2 + 4η2lK m E m∑ i=1 K−1∑ k=0 T−1∑ t=0 ∥∥∥∥Lτ · (xti,k − xt) ∥∥∥∥2 (by Assumptions 1 and 2)
≤ 4η 2 lKT
mτ2 d∑ j=1 σ2l,j + 20η 4 lK 3L2T d∑ j=1 (σ2l,j + 6Kσ 2 g,j) τ2 + 40η4lK 4L2 τ2 T−1∑ t=0 E [ ‖∇f(xt)‖2 ] (by Lemma 3).
Here, the first inequality follows from simple application of the fact that ab ≤ (a2 + b2)/2. The result follows.
Substituting the above bound in Equation (10), we obtain:
ηlK
4 T−1∑ t=0 d∑ j=1 E [∇f(xt)]2j√ vt−1,j + τ
≤ f(x0)− E[f(xT )] η + 5η3lK 2L2 2τ E T−1∑ t=0 d∑ j=1 (σ2l,j + 6Kσ 2 g,j)
+ d∑ j=1 ( ηlKG 2 τ + ηL 2 ) × [ min { d+ d log ( 1 + η2lK 2G2T τ2 ) +
4η2lKT
mτ2 d∑ j=1 σ2l,j + 20η 4 lK 3L2T d∑ j=1 (σ2l,j + 6Kσ 2 g,j) τ2 + 40η4lK 4L2 τ2 T−1∑ t=0 E [ ‖∇f(xt)‖2 ]}] (12)
We observe the following: T−1∑ t=0 d∑ j=1 [∇Ef(xt)]2j√ vt−1,j + τ ≥ T−1∑ t=0 d∑ j=1 E [∇f(xt)]2j ηlKG √ T + τ ≥ T ηlKG √ T + τ min 0≤t≤T E‖∇f(xt)‖2.
The second part of Theorem 1 follows from using the above inequality in Equation (12). Note that the first part of Theorem 1 is obtain from the part of Lemma 4.

heading: A.2.1 LIMITED PARTICIPATION
text: For limited participation, the main changed in the proof is in Equation (11). The rest of the proof is similar so we mainly focus on Equation (11) here. Let S be the sampled set at the tth iteration such that |S| = s. In partial participation, we assume that the set S is sampled uniformly from all subsets of [m] with size s. In this case, for the first term in Equation (11), we have 2E T−1∑ t=0 ∥∥∥∥∥1τ · ( − 1 |S| ∑ i∈S K−1∑ k=0 ηlg t i,k + ηlK∇f(xt) )∥∥∥∥∥ 2
= 2E T−1∑ t=0 ∥∥∥∥∥1τ · ( 1 s ∑ i∈S K−1∑ k=0 ( ηlg t i,k − ηl∇Fi(xti,k) + ηl∇Fi(xti,k)− ηl∇Fi(xt) + ηl∇Fi(xt) ) − ηlK∇f(xt) )∥∥∥∥∥ 2 
≤ 6η 2 l
s2 T−1∑ t=0 E [∥∥∥∥∥∑ i∈S K−1∑ k=0 1 τ · ( gti,k −∇Fi(xti,k) )∥∥∥∥∥ 2 + ∥∥∥∥∥∑ i∈S K−1∑ k=0 1 τ · ( ∇Fi(xti,k)−∇Fi(xt) )∥∥∥∥∥ 2
+K2 ∥∥∥∥∥1τ · (∑ i∈S Fi(xt)− s∇f(xt) )∥∥∥∥∥ 2 ]
≤ 6η 2 lKT
s
d∑ j=1 σ2l,j τ2 + 6η2lK s E ∑ i∈S K−1∑ k=0 T−1∑ t=0 ∥∥∥∥1τ · (∇Fi(xti,k)−∇Fi(xt)) ∥∥∥∥2 + 6η2lK2Tσ2gτ2 (1− sm)
≤ 6η 2 lKT
s
d∑ j=1 σ2l,j τ2 + 6η2lK s E ∑ i∈S K−1∑ k=0 T−1∑ t=0 ∥∥∥∥Lτ · (xti,k − xt) ∥∥∥∥2 + 6η2lK2Tσ2gτ2 (1− sm)
≤ 6η 2 lKT
τ2s d∑ j=1 σ2l,j + 30η 4 lK 3L2TE d∑ j=1 (σ2l,j + 6Kσ 2 g,j) τ2 + 60η4lK 4L2 τ2 T−1∑ t=0 E [ ‖∇f(xt)‖2 ] +
6η2lK 2Tσ2g τ2
( 1− s
m
) .
Note that the expectation here also includes S. The first inequality is obtained from the fact that (a+ b+ c)2 ≤ 3(a2 + b2 + c2). The second inequality is obtained from the fact that set S is uniformly
sampled from all subsets of [m] with size s. The third and fourth inequalities are similar to the one used in proof of Theorem 1. Substituting the above bound in Equation (10) gives the desired convergence rate.

heading: A.3 PROOF OF THEOREM 2
text: Proof of Theorem 2. The proof strategy is similar to that of FEDADAGRAD except that we need to handle the exponential moving average in FEDADAM. We note that the update of FEDADAM is the following
xt+1 = xt + η ∆t√ vt + τ ,
for all i ∈ [d]. Using the L-smooth nature of function f and the above update rule, we have the following:
f(xt+1) ≤ f(xt) + η 〈 ∇f(xt),
∆t√ vt + τ
〉 + η2L
2 d∑ i=1 ∆2t,i ( √ vt,i + τ)2
(13)
The second step follows simply from FEDADAM’s update. We take the expectation of f(xt+1) (over randomness at time step t) and rewrite the above inequality as:
Et[f(xt+1)] ≤ f(xt) + η 〈 ∇f(xt),Et [ ∆t√ vt + τ − ∆t√ β2vt−1 + τ + ∆t√ β2vt−1 + τ ]〉 + η2L 2 d∑ j=1 Et [ ∆2t,j ( √ vt,j + τ)2 ]
= f(xt) + η 〈 ∇f(xt),Et [ ∆t√
β2vt−1 + τ ]〉 ︸ ︷︷ ︸
R1
+η 〈 ∇f(xt),Et [ ∆t√ vt + τ − ∆t√ β2vt−1 + τ ]〉 ︸ ︷︷ ︸
R2
+ η2L
2 d∑ j=1 Et
[ ∆2t,j
( √ vt,j + τ)2 ] (14)
Bounding R2. We observe the following about R2: R2 = Et d∑ j=1 [∇f(xt)]j × [ ∆t,j√ vt,j + τ − ∆t,j√ β2vt−1,j + τ ]
= Et d∑ j=1 [∇f(xt)]j ×∆t,j ×
[ √ β2vt−1,j − √ vt,j
( √ vt,j + τ)( √ β2vt−1,j + τ)
]
= Et d∑ j=1 [∇f(xt)]j ×∆t,j ×
[ −(1− β2)∆2t,j
( √ vt,j + τ)( √ β2vt−1,j + τ)( √ β2vt−1,j + √ vt,j)
]
≤ (1− β2)Et d∑ j=1 |∇f(xt)]j | × |∆t,j | ×
[ ∆2t,j
( √ vt,j + τ)( √ β2vt−1,j + τ)( √ β2vt−1,j + √ vt,j)
]
≤ √ 1− β2Et d∑ j=1 |∇f(xt)]j | ×
[ ∆2t,j
√ vt,j + τ)( √ β2vt−1,j + τ)
]
≤ √ 1− β2Et d∑ j=1 G τ × [ ∆2t,j√ vt,j + τ ] .
Bounding R1. The term R1 can be bounded as follows:
R1 = 〈 ∇f(xt),Et [ ∆t√
β2vt−1 + τ
]〉
= 〈 ∇f(xt)√ β2vt−1 + τ ,Et [∆t − ηlK∇f(xt) + ηlK∇f(xt)] 〉 = −ηlK d∑ j=1 [∇f(xt)]2j√ β2vt−1,j + τ + 〈 ∇f(xt)√ β2vt−1 + τ ,Et [∆t + ηlK∇f(xt)] 〉 ︸ ︷︷ ︸
R3
. (15)
Bounding R3. The term R3 can be bounded in exactly the same way as term T3 in proof of Theorem 1:
R3 ≤ ηlK
2 d∑ j=1 [∇f(xt)]2j√ β2vt−1,j + τ + ηlL 2 2mτ Et [ m∑ i=1 K−1∑ k=0 ‖xti,k − xt‖2 ]
Substituting the above inequality in Equation (15), we get
R1 ≤ − ηlK
2 d∑ j=1 [∇f(xt)]2j√ β2vt−1,j + τ + ηlL 2 2mτ Et [ m∑ i=1 K−1∑ k=0 ‖xti,k − xt‖2 ]
Here we used the fact that √vt−1,j ≤ ηlKG and conditions in Theorem 2. Using Lemma 3, we obtain the following bound on R1:
R1 ≤ − ηlK
4 d∑ j=1 [∇f(xt)]2j√ β2vt−1,j + τ + 5η3lK 2L2 2τ Et d∑ j=1 (σ2l,j + 6Kσ 2 g,j) (16)
Putting pieces together. Substituting bounds R1 and R2 in Equation (14), we have
Et[f(xt+1)] ≤ f(xt)− ηηlK
4 d∑ j=1 [∇f(xt)]2j√ β2vt−1,j + τ + 5ηη3lK 2L2 2τ E d∑ j=1 (σ2l,j + 6Kσ 2 g,j)
+
( η √
1− β2G τ ) d∑ j=1 Et [ ∆2t,j√ vt,j + τ) ] + ( η2L 2 ) d∑ j=1 Et [ ∆2t,j vt,j + τ2) ] Summing over t = 0 to T − 1 and using telescoping sum, we have
E[f(xT )] ≤ f(x0)− ηηlK
4 T−1∑ t=0 d∑ j=1 E [∇f(xt)]2j√ β2vt−1,j + τ + 5ηη3lK 2L2T 2τ E d∑ j=1 (σ2l,j + 6Kσ 2 g,j)
( η √
1− β2G τ ) T−1∑ t=0 d∑ j=1 E [ ∆2t,j√ vt,j + τ) ] + ( η2L 2 ) T−1∑ t=0 d∑ j=1 E [ ∆2t,j vt,j + τ2) ] (17)
To bound this term further, we need the following result.
Lemma 5. The following upper bound holds for Algorithm 2 (FEDADAM): T−1∑ t=0 d∑ j=1 E [ ∆2t,j (vt,j + τ2) ] ≤ 4η 2 lKT mτ2 d∑ j=1 σ2l,j + 20η4lK 3L2T τ2 E d∑ j=1 (σ2l,j + 6Kσ 2 g,j) + 40η4lK 4L2 τ2 T−1∑ t=0 E [ ‖∇f(xt)‖2 ] Proof.
E T−1∑ t=0 d∑ j=1
∆2t,j (1− β2) ∑t l=0 β t−l 2 ∆ 2 t,j + τ 2 ≤ E T−1∑ t=0 d∑ j=1 ∆2t,j τ2
The rest of the proof follows along the lines of proof of Lemma 4. Using the same argument, we get
d∑ j=1 E
[ ∆2t,j
(vt,j + τ2)
] ≤ 4η 2 lKT
mτ2 d∑ j=1 σ2l,j + 20η4lK 3L2T τ2 E d∑ j=1 (σ2l,j + 6Kσ 2 g,j)
+ 40η4lK 4L2
τ2
T−1∑ t=0 E [ ‖∇f(xt)‖2 ] ,
which is the desired result.
Substituting the bound obtained from above lemma in Equation (17) and using a similar argument for bounding (
η √
1− β2G τ ) T−1∑ t=0 d∑ j=1 E [ ∆2t,j√ vt,j + τ) ] ,
we obtain
Et[f(xT )] ≤ f(x0)− ηηlK
8 T−1∑ t=0 d∑ j=1 [∇f(xt)]2j√ β2vt−1,j + τ + 5ηη3lK 2L2T 2τ E d∑ j=1 (σ2l,j + 6Kσ 2 g,j)
+ ( η √ 1− β2G+ η2L
2
) × 4η2lKT mτ2 d∑ j=1 σ2l,j + 20η4lK 4L2T τ2 E d∑ j=1 (σ2l,j + 6Kσ 2 g,j)  The above inequality is obtained due to the fact that:(√
1− β2G+ ηL
2
) 40η4lK 4L2
τ2 ≤ ηlK 16
( 1√
β2ηlKG +
1
τ
) .
The above condition follows from the condition on ηl in Theorem 2. We also observe the following:
T−1∑ t=0 d∑ j=1 [∇f(xt)]2j√ β2vt−1,j + τ ≥ T−1∑ t=0 d∑ j=1 [∇f(xt)]2j√ β2ηlKG+ τ ≥ T√ β2ηlKG+ τ min 0≤t≤T ‖∇f(xt)‖2.
Substituting this bound in the above equation yields the desired result.

heading: A.4 AUXILIARY LEMMATTA
text: Lemma 6. For random variables z1, . . . , zr, we have E [ ‖z1 + ...+ zr‖2 ] ≤ rE [ ‖z1‖2 + ...+ ‖zr‖2 ] .
Lemma 7. For independent, mean 0 random variables z1, . . . , zr, we have E [ ‖z1 + ...+ zr‖2 ] = E [ ‖z1‖2 + ...+ ‖zr‖2 ] .

heading: B FEDERATED ALGORITHMS: IMPLEMENTATIONS AND PRACTICAL CONSIDERATIONS

heading: B.1 FEDAVG AND FEDOPT
text: In Algorithm 3, we give a simplified version of the FEDAVG algorithm by McMahan et al. (2017), that applies to the setup given in Section 2. We write SGDK(xt, ηl, fi) to denote K steps of SGD using gradients∇fi(x, z) for z ∼ Di with (local) learning rate ηl, starting from xt. As noted in Section 2, Algorithm 3 is the special case of Algorithm 1 where CLIENTOPT is SGD, and SERVEROPT is SGD with learning rate 1.
While Algorithms 1, 2, and 3 are useful for understanding relations between federated optimization methods, we are also interested in practical versions of these algorithms. In particular, Algorithms 1, 2, and 3 are stated in terms of a kind of ‘gradient oracle’, where we compute unbiased estimates
Algorithm 3 Simplified FEDAVG Input: x0 for t = 0, · · · , T − 1 do
Sample a subset S of clients xti = xt for each client i ∈ S in parallel do
xti = SGDK(xt, ηl, fi) for i ∈ S (in parallel) xt+1 = 1 |S| ∑ i∈S x t i
of the client’s gradient. In practical scenarios, we often only have access to finite data samples, the number of which may vary between clients.
Instead, we assume that in (1), each client distribution Di is the uniform distribution over some finite set Di of size ni. The ni may vary significantly between clients, requiring extra care when implementing federated optimization methods. We assume the set Di is partitioned into a collection of batches Bi, each of size B. For b ∈ Bi, we let fi(x; b) denote the average loss on this batch at x with corresponding gradient∇fi(x; b). Thus, if b is sampled uniformly at random from Bi,∇fi(x; b) is an unbiased estimate of∇Fi(x). When training, instead of uniformly using K gradient steps, as in Algorithm 1, we will instead perform E epochs of training over each client’s dataset. Additionally, we will take a weighted average of the client updates, where we weight according to the number of examples ni in each client’s dataset. This leads to a batched data version of FEDOPT in Algorithm 4, and a batched data version of FEDADAGRAD, FEDADAM, and FEDYOGI given in Algorithm 5.
Algorithm 4 FEDOPT - Batched data Input: x0, CLIENTOPT, SERVEROPT for t = 0, · · · , T − 1 do
Sample a subset S of clients xti = xt for each client i ∈ S in parallel do
for e = 1, . . . , E do for b ∈ Bi do
gti = ∇fi(xti; b) xti = CLIENTOPT(x t i, g t i , ηl, t)
∆ti = x t i − xt n = ∑ i∈S ni, ∆t = ∑ i∈S ni n ∆ t i xt+1 = SERVEROPT(xt,−∆t, η, t)
In Section 5, we use Algorithm 4 when implementing FEDAVG and FEDAVGM. In particular, FEDAVG and FEDAVGM correspond to Algorithm 4 where CLIENTOPT and SERVEROPT are SGD. FEDAVG uses vanilla SGD on the server, while FEDAVGM uses SGD with a momentum parameter of 0.9. In both methods, we tune both client learning rate ηl and server learning rate η. This means that the version of FEDAVG used in all experiments is strictly more general than that in (McMahan et al., 2017), which corresponds to FEDOPT where CLIENTOPT and SERVEROPT are SGD, and SERVEROPT has a learning rate of 1.
We use Algorithm 5 for all implementations FEDADAGRAD, FEDADAM, and FEDYOGI in Section 5. For FEDADAGRAD, we set β1 = β2 = 0 (as typical versions of ADAGRAD do not use momentum). For FEDADAM and FEDYOGI we set β1 = 0.9, β2 = 0.99. While these parameters are generally good choices (Zaheer et al., 2018), we emphasize that better results may be obtainable by tuning these parameters.

heading: B.2 SCAFFOLD
text: As discussed in Section 5, we compare all five optimizers above to SCAFFOLD (Karimireddy et al., 2019) on our various tasks. There are a few important notes about the validity of this comparison.
Algorithm 5 FEDADAGRAD , FEDYOGI , and FEDADAM - Batched data Input: x0, v−1 ≥ τ2, optional β1, β2 ∈ [0, 1) for FEDYOGI and FEDADAM for t = 0, · · · , T − 1 do
Sample a subset S of clients xti = xt for each client i ∈ S in parallel do
for e = 1, . . . , E do for b ∈ Bi do
xti = x t i − ηl∇fi(xti; b)
∆ti = x t i − xt n = ∑ i∈S ni, ∆t = ∑ i∈S ni n ∆ t i ∆t = β1∆t−1 + (1− β1)∆t vt = vt−1 + ∆ 2 t (FEDADAGRAD)
vt = vt−1 − (1− β2)∆2t sign(vt−1 −∆2t ) (FEDYOGI)
vt = β2vt−1 + (1− β2)∆2t (FEDADAM) xt+1 = xt + η
∆t√ vt+τ
1. In cross-device settings, this is not a fair comparison. In particular, SCAFFOLD does not work in settings where clients cannot maintain state across rounds, as may be the case for federated learning systems on edge devices, such as cell phones.
2. SCAFFOLD has two variants described by Karimireddy et al. (2019). In Option I, the control variate of a client is updated using a full gradient computation. This effectively requires performing an extra pass over each client’s dataset, as compared to Algorithm 1. In order to normalize the amount of client work, we instead use Option II, in which the clients’ control variates are updated using the difference between the server model and the client’s learned model. This requires the same amount of client work as FEDAVG and Algorithm 2.
For practical reasons, we implement a version of SCAFFOLD mirroring Algorithm 4, in which we perform E epochs over the client’s dataset, and perform weighted averaging of client models. For posterity, we give the full pseudo-code of the version of SCAFFOLD used in our experiments in Algorithm 6. This is a simple adaptiation of Option II of the SCAFFOLD algorithm in (Karimireddy et al., 2019) to the same setting as Algorithm 4. In particular, we let ni denote the number of examples in client i’s local dataset.
Algorithm 6 SCAFFOLD, Option II - Batched data Input: x0, c, ηl, η for t = 0, · · · , T − 1 do
Sample a subset S of clients xti = xt for each client i ∈ S in parallel do
for e = 1, . . . , E do for b ∈ Bi do
gti = ∇fi(xti; b) xti = x t i − ηl(gti − ci + c)
c+i = ci − c+ (E|Bi|ηl)−1(xti − xi) ∆xi = x t i − xt, ∆ci = c + i − ci ci = c + i
n = ∑ i∈S ni, ∆x = ∑ i∈S ni n ∆xi, ∆c = ∑ i∈S ni n ∆ci xt+1 = xt + η∆x, c = c+ |S| N ∆c
In this algorithm, ci is the control variate of client i, and c is the running average of these control variates. In practice, we must initialize the control variates ci in some way when sampling a client i for the first time. In our implementation, we set ci = c the first time we sample a client i. This has
the advantage of exactly recovering FEDAVG when each client is sampled at most once. To initialize c, we use the all zeros vector.
We compare this version of SCAFFOLD to FEDADAGRAD, FEDADAM, FEDYOGI, FEDAVGM, and FEDAVG on our tasks, tuning the learning rates in the same way (using the same grids as in Appendix D.2). In particular, ηl, η are tuned to obtain the best training performance over the last 100 communication rounds. We use the same federated hyperparameters for SCAFFOLD as discussed in Section 4. Namely, we set E = 1, and sample 10 clients per round for all tasks except Stack Overflow NWP, where we sample 50. The results are given in Figure 1 in Section 5.

heading: B.3 LOOKAHEAD, ADAALTER, AND CLIENT ADAPTIVITY
text: The LOOKAHEAD optimizer (Zhang et al., 2019b) is primarily designed for non-FL settings. LOOKAHEAD uses a generic optimizer in the inner loop and updates its parameters using a “outer” learning rate. Thus, unlike FEDOPT, LOOKAHEAD uses a single generic optimizer and is thus conceptually different. In fact, LOOKAHEAD can be seen as a special case of FEDOPT in non-FL settings which uses a generic optimizer CLIENTOPT as a client optimizer, and SGD as the server optimizer. While there are multiple ways LOOKAHEAD could be generalized to a federated setting, one straightforward version would simply use an adaptive method as the CLIENTOPT. On the other hand, ADAALTER (Xie et al., 2019) is designed specifically for distributed settings. In ADAALTER, clients use a local optimizer similar to ADAGRAD (McMahan & Streeter, 2010a; Duchi et al., 2011) to perform multiple epochs of training on their local datasets. Both LOOKAHEAD and ADAALTER use client adaptivity, which is fundamentally different from the adaptive server optimizers proposed in Algorithm 2.
To illustrate the differences, consider the client-to-server communication in ADAALTER. This requires communicating both the model weights and the client accumulators (used to perform the adaptive optimization, analogous to vt in Algorithm 2). In the case of ADAALTER, the client accumulator is the same size as the model’s trainable weights. Thus, the client-to-server communication doubles for this method, relative to FEDAVG. In ADAALTER, the server averages the client accumulators and broadcasts the average to the next set of clients, who use this to initialize their adaptive optimizers. This means that the server-to-client communication also doubles relative to FEDAVG. The same would occur for any adaptive client optimizer in the distributed version of LOOKAHEAD described above. For similar reasons, we see that client adaptive methods also increase the amount of memory needed on the client (as they must store the current accumulator). By contrast, our adaptive server methods (Algorithm 2) do not require extra communication or client memory relative to FEDAVG. Thus, we see that server-side adaptive optimization benefits from lower per-round communication and client memory requirements, which are of paramount importance for FL applications (Bonawitz et al., 2019).

heading: C DATASET & MODELS
text: Here we provide detailed description of the datasets and models used in the paper. We use federated versions of vision datasets EMNIST (Cohen et al., 2017), CIFAR-10 (Krizhevsky & Hinton, 2009), and CIFAR-100 (Krizhevsky & Hinton, 2009), and language modeling datasets Shakespeare (McMahan et al., 2017) and StackOverflow (Authors, 2019). Statistics for the training datasets can be found in Table 2. We give descriptions of the datasets, models, and tasks below. Statistics on the number of clients and examples in both the training and test splits of the datasets are given in Table 2.
C.1 CIFAR-10/CIFAR-100
We create a federated version of CIFAR-10 by randomly partitioning the training data among 500 clients, with each client receiving 100 examples. We use the same approach as Hsu et al. (2019), where we apply latent Dirichlet allocation (LDA) over the labels of CIFAR-10 to create a federated dataset. Each client has an associated multinomial distribution over labels from which its examples are drawn. The multinomial is drawn from a symmetric Dirichlet distribution with parameter 0.1.
For CIFAR-100, we perform a similar partitioning of 100 examples to 500 clients, but using a more sophisticated approach. We use a two step LDA process over the coarse and fine labels. We randomly partition the data to reflect the "coarse" and "fine" label structure of CIFAR-100 by using the Pachinko Allocation Method (PAM) (Li & McCallum, 2006). This creates more realistic client datasets, whose label distributions better resemble practical heterogeneous client datasets. We have made publicly available the specific federated version of CIFAR-100 we used for all experiments, though we avoid giving a link in this work in order to avoid de-anonymization. For complete details on how the dataset was created, see Appendix F.
We train a modified ResNet-18 on both datasets, where the batch normalization layers are replaced by group normalization layers (Wu & He, 2018). We use two groups in each group normalization layer. As shown by Hsieh et al. (2019), group normalization can lead to significant gains in accuracy over batch normalization in federated settings.
Preprocessing CIFAR-10 and CIFAR-100 consist of images with 3 channels of 32 × 32 pixels each. Each pixel is represented by an unsigned int8. As is standard with CIFAR datasets, we perform preprocessing on both training and test images. For training images, we perform a random crop to shape (24, 24, 3), followed by a random horizontal flip. For testing images, we centrally crop the image to (24, 24, 3). For both training and testing images, we then normalize the pixel values according to their mean and standard deviation. Namely, given an image x, we compute (x− µ)/σ where µ is the average of the pixel values in x, and σ is the standard deviation.

heading: C.2 EMNIST
text: EMNIST consists of images of digits and upper and lower case English characters, with 62 total classes. The federated version of EMNIST (Caldas et al., 2018) partitions the digits by their author. The dataset has natural heterogeneity stemming from the writing style of each person. We perform two distinct tasks on EMNIST, autoencoder training (EMNIST AE) and character recognition (EMNIST CR). For EMNIST AE, we train the “MNIST” autoencoder (Zaheer et al., 2018). This is a densely connected autoencoder with layers of size (28 × 28) − 1000 − 500 − 250 − 30 and a symmetric decoder. A full description of the model is in Table 3. For EMNIST CR, we use a convolutional network. The network has two convolutional layers (with 3× 3 kernels), max pooling, and dropout, followed by a 128 unit dense layer. A full description of the model is in Table 4.

heading: C.3 SHAKESPEARE
text: Shakespeare is a language modeling dataset built from the collective works of William Shakespeare. In this dataset, each client corresponds to a speaking role with at least two lines. The dataset consists of 715 clients. Each client’s lines are partitioned into training and test sets. Here, the task is to do next character prediction. We use an RNN that first takes a series of characters as input and embeds each of them into a learned 8-dimensional space. The embedded characters are then passed through 2 LSTM layers, each with 256 nodes, followed by a densely connected softmax output layer. We split the lines of each speaking role into into sequences of 80 characters, padding if necessary. We use a vocabulary size of 90; 86 for the characters contained in the Shakespeare dataset, and 4 extra characters for padding, out-of-vocabulary, beginning of line and end of line tokens. We train our model to take a sequence of 80 characters, and predict a sequence of 80 characters formed by shifting the input sequence by one (so that its last character is the new character we are actually trying to predict). Therefore, our output dimension is 80× 90. A full description of the model is in Table 5.

heading: C.4 STACK OVERFLOW
text: Stack Overflow is a language modeling dataset consisting of question and answers from the question and answer site, Stack Overflow. The questions and answers also have associated metadata, including tags. The dataset contains 342,477 unique users which we use as clients. We perform two tasks on this dataset: tag prediction via logistic regression (Stack Overflow LR, SO LR for short), and next-word prediction (Stack Overflow NWP, SO NWP for short). For both tasks, we restrict to the 10,000 most frequently used words. For Stack Overflow LR, we restrict to the 500 most frequent tags and adopt a one-versus-rest classification strategy, where each question/answer is represented as a bag-of-words vector (normalized to have sum 1).
For Stack Overflow NWP, we restrict each client to the first 1000 sentences in their dataset (if they contain this many, otherwise we use the full dataset). We also perform padding and truncation to ensure that sentences have 20 words. We then represent the sentence as a sequence of indices corresponding to the 10,000 frequently used words, as well as indices representing padding, out-ofvocabulary words, beginning of sentence, and end of sentence. We perform next-word-prediction on these sequences using an RNN that embeds each word in a sentence into a learned 96-dimensional space. It then feeds the embedded words into a single LSTM layer of hidden dimension 670, followed
by a densely connected softmax output layer. A full description of the model is in Table 6. The metric used in the main body is the top-1 accuracy over the proper 10,000-word vocabulary; it does not include padding, out-of-vocab, or beginning or end of sentence tokens when computing the accuracy.klkjlkj

heading: D EXPERIMENT HYPERPARAMETERS

heading: D.1 HYPERPARAMETER TUNING
text: Throughout our experiments, we compare the performance of different instantiations of Algorithm 1 that use different server optimizers. We use SGD, SGD with momentum (denoted SGDM), ADAGRAD, ADAM, and YOGI. For the client optimizer, we use mini-batch SGD throughout. For all tasks, we tune the client learning rate ηl and server learning rate η by using a large grid search. Full descriptions of the per-task server and client learning rate grids are given in Appendix D.2.
We use the version of FEDADAGRAD, FEDADAM, and FEDYOGI in Algorithm 5. We let β1 = 0 for FEDADAGRAD, and we let β1 = 0.9, β2 = 0.99 for FEDADAM, and FEDYOGI. For FEDAVG and FEDAVGM, we use Algorithm 4, where CLIENTOPT, SERVEROPT are SGD. For FEDAVGM, the server SGD optimizer uses a momentum parameter of 0.9. For FEDADAGRAD, FEDADAM, and FEDYOGI, we tune the parameter τ in Algorithm 5.
When tuning parameters, we select the best hyperparameters (ηl, η, τ) based on the average training loss over the last 100 communication rounds. Note that at each round, we only see a fraction of the total users (10 for each task except Stack Overflow NWP, which uses 50). Thus, the training loss at a given round is a noisy estimate of the population-level training loss, which is why we averave over a window of communication rounds.

heading: D.2 HYPERPARAMETER GRIDS
text: Below, we give the client learning rate (ηl in Algorithm 1) and server learning rate (η in Algorithm 1) grids used for each task. These grids were chosen based on an initial evaluation over the grids
ηl ∈ {10−3, 10−2.5, 10−2, . . . , 100.5}
η ∈ {10−3, 10−2.5, 10−2, . . . , 101} These grids were then refined for Stack Overflow LR and EMNIST AE in an attempt to ensure that the best client/server learning rate combinations for each optimizer was contained in the interior of the learning rate grids. We generally found that these two tasks required searching larger learning rates than the other two tasks. The final grids were as follows:
CIFAR-10: ηl ∈ {10−3, 10−2.5, . . . , 100.5}
η ∈ {10−3, 10−2.5, . . . , 101}
CIFAR-100: ηl ∈ {10−3, 10−2.5, . . . , 100.5}
η ∈ {10−3, 10−2.5, . . . , 101}
EMNIST AE: ηl ∈ {10−1.5, 10−1, . . . , 102} η ∈ {10−2, 10−1.5, . . . , 101}
EMNIST CR: ηl ∈ {10−3, 10−2.5, . . . , 100.5} η ∈ {10−3, 10−2.5, . . . , 101}
Shakespeare: ηl ∈ {10−3, 10−2.5, . . . , 100.5} η ∈ {10−3, 10−2.5, . . . , 101}
StackOverflow LR: ηl ∈ {10−1, 10−0.5, . . . , 103} η ∈ {10−2, 10−1.5, . . . , 101.5}
StackOverflow NWP: ηl ∈ {10−3, 10−2.5, . . . , 100.5} η ∈ {10−3, 10−2.5, . . . , 101}
For all tasks, we tune τ over the grid:
τ ∈ {10−5, . . . , 10−1}.

heading: D.3 PER-TASK BATCH SIZES
text: Given the large number of hyperparameters to tune, and to avoid conflating variables, we fix the batch size at a per-task level. When comparing centralized training to federated training in Section 5, we use the same batch size in both federated and centralized training. A full summary of the batch sizes is given in Table 7.

heading: TASK BATCH SIZE

heading: D.4 BEST PERFORMING HYPERPARAMETERS
text: In this section, we present, for each optimizer, the best client and server learning rates and values of τ found for the tasks discussed in Section 5. Specifically, these are the hyperparameters used in Figure Figure 1 and table Table 1. The validation metrics in Table 1 are obtained using the learning rates in Table 8 and the values of τ in Table 9. As discussed in Section 4, we choose η, ηl and τ to be the parameters that minimizer the average training loss over the last 100 communication rounds.

heading: FED... ADAGRAD ADAM YOGI AVGM AVG

heading: E ADDITIONAL EXPERIMENTAL RESULTS

heading: E.1 RESULTS ON EMNIST CR
text: We plot the validation accuracy of FEDADAGRAD, FEDADAM, FEDYOGI, FEDAVGM, FEDAVG, and SCAFFOLD on EMNIST CR. As in Figure 1, we tune the learning rates ηl, η and adaptivity τ by selecting the parameters obtaining the smallest training loss, averaged over the last 100 training rounds. The results are given in Figure 4.
We see that all methods are roughly comparably throughout the duration of training. This reflects the fact that the dataset is quite simple, and most clients have all classes in their local datasets, reducing any heterogeneity among classes. Note that SCAFFOLD performs slightly worse than FEDAVG and all other methods here. As discussed in Section 5, this may be due to the presence of stale client control variates, and the communication-limited regime of our experiments.

heading: E.2 STACK OVERFLOW TEST SET PERFORMANCE
text: As discussed in Section 5, in order to compute a measure of performance for the Stack Overflow tasks as training progresses, we use a subsampled version of the test dataset, due to its prohibitively large number of clients and examples. In particular, at each round of training, we sample 10,000 random test samples, and use this as a measure of performance over time. However, once training is completed, we also evaluate on the full test dataset. For the Stack Overflow experiments described in Section 5, the final test accuracy is given in Table 10.

heading: E.3 LEARNING RATE ROBUSTNESS
text: In this section, we showcase what combinations of client learning rate ηl and server learning rate η performed well for each optimizer and task. As in Figure 2, we plot, for each optimizer, task, and pair (ηl, η), the validation set performance (averaged over the last 100 rounds). As in Section 5, we fix τ = 10−3 throughout. The results, for the CIFAR-10, CIFAR-100, EMNIST AE, EMNIST CR,
Shakespeare, Stack Overflow LR, and Stack Overflow NWP tasks are given in Figures 5, 6, 7, 8, 9, 10, and 11, respectively.
While the general trends depend on the optimizer and task, we see that in many cases, the adaptive methods have rectangular regions that perform well. This implies a kind of robustness to fixing one of η, ηl, and varying the other. On the other hand, FEDAVGM and FEDAVG often have triangular regions that perform well, suggesting that η and ηl should be tuned simultaneously.

heading: E.4 ON THE RELATION BETWEEN CLIENT AND SERVER LEARNING RATES
text: In order to better understand the results in Appendix E.3, we plot the relation between optimal choices of client and server learning rates. For each optimizer, task, and client learning rate ηl, we find the best corresponding server learning rate η among the grids listed in Appendix D.2. Throughout, we fix τ = 10−3 for the adaptive methods. We omit any points for which the final validation loss is within 10% of the worst-recorded validation loss over all hyperparameters. Essentially, we omit client learning rates that did not lead to any training of the model. The results are given in Figure 12.
In virtually all tasks, we see a clear inverse relationship between client learning rate ηl and server learning rate η for FEDAVG and FEDAVGM. As discussed in Section 5, this supports the observation that for the non-adaptive methods, ηl and η must in some sense be tuned simultaneously. On the other hand, for adaptive optimizers on most tasks we see much more stability in the best server learning rate η as the client learning rate ηl varies. This supports our observation in Section 5 that for adaptive methods, tuning the client learning rate is more important.
Notably, we see a clear exception to this on the Stack Overflow LR task, where there is a definitive inverse relationship between learning rates among all optimizers. The EMNIST AE task also displays somewhat different behavior. While there are still noticeable inverse relationships between learning rates for FEDAVG and FEDAVGM, the range of good client learning rates is relatively small. We emphasize that this task is fundamentally different than the remaining tasks. As noted by Zaheer et al. (2018), the primary obstacle in training bottleneck autoencoders is escaping saddle points, not in converging to critical points. Thus, we expect there to be qualitative differences between EMNIST AE and other tasks, even EMNIST CR (which uses the same dataset).

heading: E.5 ROBUSTNESS OF THE ADAPTIVITY PARAMETER
text: As discussed in Section 5, we plot, for each adaptive optimizer and task, the validation accuracy as a function of the adaptivity parameter τ . In particular, for each value of τ (which we vary over {10−5, . . . , 10−1}, see Appendix D), we plot the best possible last-100-rounds validation set performance. Specifically, we plot the average validation performance over the last 100 rounds using the best a posteriori values of client and server learning rates. The results are given in Figure 13.
E.6 IMPROVING PERFORMANCE WITH LEARNING RATE DECAY
Despite the success of adaptive methods, it is natural to ask if there is still more to be gained. To test this, we trained the EMNIST CR model in a centralized fashion on a shuffled version of the dataset. We trained for 100 epochs and used tuned learning rates for each (centralized) optimizer, achieving an accuracy of 88% (see Table 11, CENTRALIZED row), significantly above the best EMNIST CR results from Table 1. The theoretical results in Section 3 point to a partial explanation, as they only hold when the client learning rate is small or is decayed over time.
To validate this, we ran the same hyperparameter grids on the federated EMNIST CR task, but using a client learning rate schedule. We use a “staircase” exponential decay schedule (EXPDECAY) where the client learning rate ηl is decreased by a factor of 0.1 every 500 rounds. This is analogous in some sense to standard staircase learning rate schedules in centralized optimization (Goyal et al., 2017). Table 11 gives the results. EXPDECAY improves the accuracy of all optimizers, and allows most to get close to the best centralized accuracy. While we do not close the gap with centralized optimization entirely, we suspect that further tuning of the amount and frequency of decay may lead to even better accuracies. However, this may also require performing significantly more communication rounds, as the theoretical results in Section 3 are primarily asymptotic. In communication-limited settings, the added benefit of learning rate decay seems to be modest.

heading: FED... ADAGRAD ADAM YOGI AVGM AVG

heading: F CREATING A FEDERATED CIFAR-100
text: Overview We use the Pachinko Allocation Method (PAM) (Li & McCallum, 2006) to create a federated CIFAR-100. PAM is a topic modeling method in which the correlations between individual words in a vocabulary are represented by a rooted directed acyclic graph (DAG) whose leaves are the vocabulary words. The interior nodes are topics with Dirichlet distributions over their child nodes. To generate a document, we sample multinomial distributions from each interior node’s Dirichlet distribution. To sample a word from the document, we begin at the root, and draw a child node its multinomial distribution, and continue doing this until we reach a leaf node.
To partition CIFAR-100 across clients, we use the label structure of CIFAR-100. Each image in the dataset has a fine label (often referred to as its label) which is a member of a coarse label. For example, the fine label “seal” is a member of the coarse label “aquatic mammals”. There are 20 coarse labels in CIFAR-100, each with 5 fine labels. We represent this structure as a DAG G, with a root whose children are the coarse labels. Each coarse label is an interior node whose child nodes are its fine labels. The root node has a symmetric Dirichlet distribution with parameter α over the coarse labels, and each coarse label has a symmetric Dirichlet distribution with parameter β.
We associate each client to a document. That is, we draw a multinomial distribution from the Dirichlet prior at the root (Dir(α)) and a multinomial distribution from the Dirichlet prior at each coarse label (Dir(β)). To create the client dataset, we draw leaf nodes from this DAG using Pachinko allocation, randomly sample an example with the given fine label, and assign it to the client’s dataset. We do this 100 times for each of 500 distinct training clients.
While more complex than LDA, this approach creates more realistic heterogeneity among client datasets by creating correlations between label frequencies for fine labels within the same coarse label set. Intuitively, if a client’s dataset has many images of dolphins, they are likely to also have pictures of whales. By using a small α at the root, client datasets become more likely to focus on a few coarse labels. By using a larger β for the coarse-to-fine label distributions, clients are more likely to have multiple fine labels from the same coarse label.
One important note: Once we sample a fine label, we randomly select an element with that label without replacement. This ensures no two clients have overlapping examples. In more detail, suppose we have sample a fine label y with coarse label c for client m, and there is only one remaining such example (x, c, y). We assign (x, c, y) to client m’s dataset, and remove the leaf node y from the DAG G. We also remove y from the multinomial distribution θc that client m has associated to coarse label c, which we refer to as renormalization with respect to y (Algorithm 8). If i has no remaining children after pruning node j, we also remove node i from G and re-normalize the root multinomial θr with respect to c. For all subsequent clients, we draw multinomials from this pruned G according to symmetric Dirichlet distributions with the same parameters as before, but with one fewer category.
Notation and method Let C denote the set of coarse labels and Y the set of fine labels, and let S denote the CIFAR-100 dataset. This consists of examples (x, c, y) where x is an image vector, c ∈ C is a coarse label set, and y ∈ Y is a fine label with y ∈ c. For c ∈ C, y ∈ Y , we let Sc and Sy denote the set of examples in S with coarse label c and fine label y. For v ∈ G we let |G[v]| denote the set of children of v in G. For γ ∈ R, let Dir(γ, k) denote the symmetric Dirichlet distribution with k categories.
Algorithm 7 Creating a federated CIFAR-100 Input: N,M ∈ Z>0, α, β ∈ R≥0 for m = 1, · · · ,M do
Sample θr ∼ Dir(α, |G[r]|) for c ∈ C ∩G[r] do
Sample θc ∼ Dir(β, |G[c]|) Dm = ∅ for n = 1, · · ·N do
Sample c ∼ Multinomial(θr) Sample y ∼ Multinomial(θc) Select (x, c, y) ∈ S uniformly at random Dm = Dm ∪ {(x, c, y)} S = S\{(x, c, y)} if Sy = ∅ then
G = G\{y} θc = RENORMALIZE(θc, y) if Sc = ∅ then
G = G\{c} θr = RENORMALIZE(θr, c)
Algorithm 8 RENORMALIZE Initialization: θ = (p1, . . . , pK), i ∈ [K] a = ∑ k 6=i pk
for k ∈ [K], k 6= i do p′k = pk/a Return θ′ = (p′1, · · · p′i−1, p′i+1, · · · , p′K)
Let M denote the number of clients, N the number of examples per client, and Dm the dataset for client m ∈ {1, · · · ,M}. A full description of our method is given in Algorithm 7. For our experiments, we use N = 100,M = 500, α = 0.1, β = 10. In Figure 14, we plot the distribution of unique labels among the 500 training clients. Each client has only a fraction of the overall labels in the distribution. Moreover, there is variance in the number of unique labels, with most clients having between 20 and 30, and some having over 40. Some client datasets have very few unique labels. While this is primarily an artifact of performing without replacement sampling, this helps increase the heterogeneity of the dataset in a way that can reflect practical concerns, as in many settings, clients may only have a few types of labels in their dataset.

Review summaries:
This paper studies the convergence of well-known adaptive methods, ADAM, ADAGRAD, and YOGI, for the federated learning problem. In particular, while the nodes (clients) still use SGD for their local computations (same as Fed-Avg), the server uses one of the three adaptive methods mentioned above to update the model. The authors have provided convergence rates (based on gradient norms) for all three methods for the nonconvex settings. Moreover, various experiments have been conducted to compare the strengths of these methods against classic FedAvg. Overall, this paper is well-written, and the problem statement and the goal of the paper are clear. Moreover, the authors have shown the success of using adaptive methods in numerical settings.

This paper presents an adaptive federated optimization framework that induces three different adaptive federated learning algorithms, which are proposed to address the issues of client drift due to data heterogeneity and lack of adaptivity. The authors presented thorough literature survey on the federated learning and formulated the meta-algorithm, FedOpt, introducing both server and client optimizers. Different from the popular FedAvg, the server optimizer in this work is an adaptive protocol which is originated from the client drift. The authors analyzed mathematically the convergence rates of the proposed framework and showed extensive experimental results on different benchmark datasets to validate the efficacy of the developed algorithms.

This paper extends the server model averaging step in FedAvg to a more general adaptive optimization step on the global model, specifically, by writing the model averaging as a gradient descent step using a pseudo gradient. Three variants of this scheme (FedOpt) are presented, based on three adaptive optimizers, including AdaGrad, ADAM, and YOGI. While there exist works applying the server-side momentum method, the paper argues that the proposed framework is more general since any adaptive optimizer can be applied to extend FedAvg. Under three assumptions (Lipschitz gradient, bounded gradients, bounded variances), the paper provides a local convergence analysis with nonconvex objectives. The achieved bounds match the best-known convergence rate for FL under reasonable conditions (i.e., T is sufficiently large compared to K). They also provide guidance for how to decay the local learning rate to avoid client drift, and show that increasing local steps can help to reduce the communication rounds (under certain conditions). They also reflect the dependency of these bounds on client heterogeneity measured by global variance and indicates how to mitigate the problem in FedOpt. Experimental comparison to FedAvg, FedAvgM, and SCAFFOLD on seven benchmark FL tasks show that the proposed three adaptive FL methods are better or comparable on early-stage convergence and final validation-set performance. A study about tuning the local and global learning rate is also presented.