ADAPTIVE FEDERATED OPTIMIZATION

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.

1. INTRODUCTION

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 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 ∈ R d , we let √ a, a 2 and a/b denote the element-wise square root, square, and division of the vectors. For θ i ∈ R d , we use both θ i,j and [θ i ] j to denote its j th coordinate.

2. FEDERATED LEARNING AND FEDAVG

In federated learning, we solve an optimization problem of the form: min x∈R d f (x) = 1 m m i=1 F i (x), where F i (x) = E z∼Di [f i (x, z)], is the loss function of the i th client, z ∈ Z, and D i is the data distribution for the i th client. For i = j, D i and D j may be very different. The functions F i (and therefore f ) may be nonconvex. For each i and x, we assume access to an unbiased stochastic gradient g i (x) of the client's true gradient ∇F i (x). In addition, we make the following assumptions. Assumption 1 (Lipschitz Gradient). The function F i is L-smooth for all i ∈ [m] i.e., ∇F i (x) -∇F i (y) ≤ L x -y , for all x, y ∈ R d . Assumption 2 (Bounded Variance). The function F i have σ l -bounded (local) variance i.e., E[ ∇[f i (x, z)] j -[∇F i (x)] j 2 ] = σ 2 l,j for all x ∈ R d , j ∈ [d] and i ∈ [m] . Furthermore, we assume the (global) variance is bounded, ( 1 /m) m i=1 ∇[F i (x)] j -[∇f (x)] j 2 ≤ σ 2 g,j for all x ∈ R d and j ∈ [d] . Assumption 3 (Bounded Gradients). The function f i (x, z) have G-bounded gradients i.e., for any i ∈ [m], x ∈ R d and z ∈ Z we have |[∇f i (x, z)] j | ≤ G for all j ∈ [d]. With a slight abuse of notation, we use σ 2 l 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 x t and samples a set S of clients. Let x t i denote the model of each client i ∈ S after local training. We rewrite FEDAVG's update as x t+1 = 1 |S| i∈S x t i = x t - 1 |S| i∈S x t -x t i . Let ∆ t i := x t i -x t 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 FEDOPT FEDOPT 1: Input: x 0 , CLIENTOPT, SERVEROPT 2: for t = 0, • • • , T -1 do 3: Sample a subset S of clients 4: x t i,0 = x t 5: for each client i ∈ S in parallel do 6: for k = 0, • • • , K -1 do 7: Compute an unbiased estimate g t i,k of ∇F i (x t i,k ) 8: x t i,k+1 = CLIENTOPT(x t i,k , g t i,k , η l , t) 9: ∆ t i = x t i,K -x t 10: ∆ t = 1 |S| i∈S ∆ t i 11: x t+1 = SERVEROPT(x t , -∆ 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.

3. ADAPTIVE FEDERATED OPTIMIZATION

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 FEDADAGRAD FEDADAGRAD , FEDYOGI FEDYOGI FEDYOGI , and FEDADAM FEDADAM FEDADAM 1: Initialization: x 0 , v -1 ≥ τ 2 , decay parameters β 1 , β 2 ∈ [0, 1) 2: for t = 0, • • • , T -1 do 3: Sample subset S of clients 4: x t i,0 = x t

5:

for each client i ∈ S in parallel do 6: for k = 0, • • • , K -1 do 7: Compute an unbiased estimate g t i,k of ∇F i (x t i,k ) 8: x t i,k+1 = x t i,k -η l g t i,k 9: ∆ t i = x t i,K -x t 10: ∆ t = β 1 ∆ t-1 + (1 -β 1 ) 1 |S| i∈S ∆ t i 11: v t = v t-1 + ∆ 2 t (FEDADAGRAD) (FEDADAGRAD) (FEDADAGRAD) 12: v t = v t-1 -(1 -β 2 )∆ 2 t sign(v t-1 -∆ 2 t ) (FEDYOGI) (FEDYOGI) (FEDYOGI) 13: v t = β 2 v t-1 + (1 -β 2 )∆ 2 t (FEDADAM) (FEDADAM) (FEDADAM) 14: x t+1 = x t + η ∆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 = σ 2 l + 6Kσ 2 g . Consider the following conditions for η l : (Condition I) η l ≤ 1 K min 1 16L , 1 T 1/6 τ 120L 2 G 1/3 , (Condition II) η l ≤ 1 3K min 1 T 1/10 τ 3 L 2 G 3 1/5 , 1 T 1/8 τ 2 L 3 Gη 1/4 . Then the iterates of Algorithm 2 for FEDADAGRAD satisfy under Condition I only, min 0≤t≤T -1 E ∇f (x t ) 2 ≤ O G √ T + τ η l KT (Ψ + Ψ var ) , under both Condition I & II, min 0≤t≤T -1 E ∇f (x t ) 2 ≤ O G √ T + τ η l KT Ψ + Ψ var . Here, we define Ψ = f (x 0 ) -f (x * ) η + 5η 3 l K 2 L 2 T 2τ σ 2 , Ψ var = d(η l KG 2 + τ ηL) τ 1 + log τ 2 + η 2 l K 2 G 2 T τ 2 , Ψ var = 2η l KG 2 + τ ηL τ 2 2η 2 l KT m σ 2 l + 10η 4 l K 3 L 2 T σ 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 (x t ) 2 = O f (x 0 ) -f (x * ) √ mKT + 2σ 2 l L G 2 √ mKT + σ 2 GKT + σ 2 L √ m G 2 √ 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 = σ 2 l +6Kσ 2 g . Suppose the client learning rate satisfies η l ≤ 1 /16LK and η l ≤ 1 6K min τ GL 1/2 , τ 2 GL 3 η 1/4 , τ GL 2 1/3 . Then the iterates of Algorithm 2 for FEDADAM satisfy min 0≤t≤T -1 E ∇f (x t ) 2 = O √ β 2 η l KG + τ η l KT (Ψ + Ψ var ) , where Ψ = f (x 0 ) -f (x * ) η + 5η 3 l K 2 L 2 T 2τ σ 2 , Ψ var = G + ηL 2 4η 2 l KT mτ 2 σ 2 l + 20η 4 l K 3 L 2 T τ 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 (x t ) 2 = O f (x 0 ) -f (x * ) √ mKT + 2σ 2 l L G 2 √ mKT + σ 2 GKT + σ 2 L √ m G 2 √ 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 σ 2 l /σ 2 g ). Thus, the number of local iterations can be large when either the ratio σ 2 l /σ 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).

4. EXPERIMENTAL EVALUATION: DATASETS, TASKS, AND METHODS

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. 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.

5.1. COMPARISONS BETWEEN METHODS

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 convex) . In both tasks, words that do not appear in a client's dataset produce nearzero client updates. Thus, the accumulators v t,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. FEDADAGRAD throughout. As we discuss below, FEDADAM and FEDYOGI actually enable easier learning rate tuning than FEDAVGM in many tasks.

Dense

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. 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 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 τ ).

5.3. OTHER FINDINGS

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).

6. CONCLUSION

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.

A.1 MAIN CHALLENGES

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.

A.2 PROOF OF THEOREM 1

Proof of Theorem 1. Recall that the server update of FEDADAGRAD is the following x t+1,i = x t,i + η ∆ t,i √ v t,i + τ , for all i ∈ [d]. Since the function f is L-smooth, we have the following: f (x t+1 ) ≤ f (x t ) + ∇f (x t ), x t+1 -x t + L 2 x t+1 -x t 2 = f (x t ) + η ∇f (x t ), ∆ t √ v t + τ + η 2 L 2 d i=1 ∆ 2 t,i ( √ v t,i + τ ) 2 The second step follows simply from FEDADAGRAD's update. We take the expectation of f (x t+1 ) (over randomness at time step t) in the above inequality: E t [f (x t+1 )] ≤ f (x t ) + η ∇f (x t ), E t ∆ t √ v t + τ + η 2 L 2 d i=1 E t ∆ 2 t,i ( √ v t,i + τ ) 2 = f (x t ) + η ∇f (x t ), E t ∆ t √ v t + τ - ∆ t √ v t-1 + τ + ∆ t √ v t-1 + τ + η 2 L 2 d j=1 E t ∆ 2 t,j ( √ v t,j + τ ) 2 = f (x t ) + η ∇f (x t ), E t ∆ t √ v t-1 + τ T1 +η ∇f (x t ), E t ∆ t √ v t + τ - ∆ t √ v t-1 + τ T2 + η 2 L 2 d j=1 E t ∆ 2 t,j ( √ v t,j + τ ) 2 Published as a conference paper at ICLR 2021 We will first bound T 2 in the following manner: T 2 = ∇f (x t ), E t ∆ t √ v t + τ - ∆ t √ v t-1 + τ = E t d j=1 [∇f (x t )] j × ∆ t,j √ v t,j + τ - ∆ t,j √ v t-1,j + τ = E t d j=1 [∇f (x t )] j × ∆ t,j × √ v t-1,j - √ v t,j ( √ v t,j + τ )( √ v t-1,j + τ ) , and recalling v t = v t-1 + ∆ 2 t so -∆ 2 t,j = ( √ v t-1,j - √ v t,j )( √ v t-1,j + √ v t,j )) we have, = E t d j=1 [∇f (x t )] j × ∆ t,j × -∆ 2 t,j ( √ v t,j + τ )( √ v t-1,j + τ )( √ v t-1,j + √ v t,j ) ≤ E t d j=1 |∇f (x t )] j | × |∆ t,j | × ∆ 2 t,j ( √ v t,j + τ )( √ v t-1,j + τ )( √ v t-1,j + √ v t,j ) ≤ E t d j=1 |∇f (x t )] j | × |∆ t,j | × ∆ 2 t,j (v t,j + τ 2 )( √ v t-1,j + τ ) since v t-1,j ≥ τ 2 . Here v t-1,j ≥ τ since v -1 ≥ τ (see the initialization of Algorithm 2) and v t,j is increasing in t. The above bound can be further upper bounded in the following manner: T 2 ≤ E t d j=1 η l KG 2 ∆ 2 t,j (v t,j + τ 2 )( √ v t-1,j + τ ) since [∇f (x t )] i ≤ G and ∆ t,i ≤ η l KG ≤ E t d j=1 η l KG 2 τ ∆ 2 t,j t l=0 ∆ 2 l,j + τ 2 since √ v t-1,j ≥ 0. ( ) Bounding T 1 We now turn our attention to bounding the term T 1 , which we need to be sufficiently negative. We observe the following: T 1 = ∇f (x t ), E t ∆ t √ v t-1 + τ = ∇f (x t ) √ v t-1 + τ , E t [∆ t -η l K∇f (x t ) + η l K∇f (x t )] = -η l K d j=1 [∇f (x t )] 2 j √ v t-1,j + τ + ∇f (x t ) √ v t-1 + τ , E t [∆ t + η l K∇f (x t )] T3 . In order to bound T 1 , we use the following upper bound on T 3 (which captures the difference between the actual update ∆ t and an appropriate scaling of -∇f (x t )): T 3 = ∇f (x t ) √ v t-1 + τ , E t [∆ t + η l K∇f (x t )] = ∇f (x t ) √ v t-1 + τ , E t - 1 m m i=1 K-1 k=0 η l g t i,k + η l K∇f (x t ) = ∇f (x t ) √ v t-1 + τ , E t - 1 m m i=1 K-1 k=0 η l ∇F i (x t i,k ) + η l K∇f (x t ) . Here we used the fact that ∇f (x t ) = 1 m m i=1 ∇F i (x t ) and g t i,k is an unbiased estimator of the gradient at x t i,k , we further bound T 3 as follows using a simple application of the fact that ab ≤ (a 2 + b 2 )/2. : T 3 ≤ η l K 2 d j=1 [∇f (x t )] 2 j √ v t-1,j + τ + η l 2K E t   1 m m i=1 K-1 k=0 ∇F i (x t i,k ) √ v t-1 + τ - 1 m m i=1 K-1 k=0 ∇F i (x t ) √ v t-1 + τ 2   ≤ η l K 2 d j=1 [∇f (x t )] 2 j √ v t-1,j + τ + η l 2m E t   m i=1 K-1 k=0 ∇F i (x t i,k ) -∇F i (x t ) √ v t-1 + τ 2   ≤ η l K 2 d j=1 [∇f (x t )] 2 j √ v t-1,j + τ + η l L 2 2mτ E t m i=1 K-1 k=0 x t i,k -x t 2 using Assumption 1 and v t-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 x t i,k from x t : Lemma 3. For any step-size satisfying η l ≤ 1 8LK , we can bound the drift for any k ∈ {0, • • • , K -1} as 1 m m i=1 E x t i,k -x t 2 ≤ 5Kη 2 l E d j=1 (σ 2 l,j + 2Kσ 2 g,j ) + 30K 2 η 2 l E[ ∇f (x t ))) 2 . ( ) Proof. The result trivially holds for k = 1 since x t i,0 = x t 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 x t i,k -x t 2 = E x t i,k-1 -x t -η l g t i,k-1 2 ≤ E x t i,k-1 -x t -η l (g t i,k-1 -∇F i (x t i,k-1 ) + ∇F i (x t i,k-1 ) -∇F i (x t ) + ∇F i (x t ) -∇f (x t ) + ∇f (x t )) 2 ≤ 1 + 1 2K -1 E x t i,k-1 -x t 2 + E η l (g t i,k-1 -∇F i (x t i,k-1 )) 2 + 6KE[ η l (∇F i (x t i,k-1 ) -∇F i (x t )) 2 + 6KE[ η l (∇F i (x t ) -∇f (x t )) 2 + 6KE[ η l ∇f (x t ))) 2 The first inequality uses the fact that g t k-1,i is an unbiased estimator of ∇F i (x t i,k-1 ) and Lemma 7. The above quantity can be further bounded by the following: E x t i,k -x t 2 ≤ 1 + 1 2K -1 E x t i,k-1 -x t 2 + η 2 l E d j=1 σ 2 l,j + 6Kη 2 l E L(x t i,k-1 -x t ) 2 + 6KE[ η l (∇F i (x t ) -∇f (x t )) 2 + 6KE[ η l ∇f (x t ))) 2 = 1 + 1 2K -1 + 6Kη 2 l L 2 E (x t i,k-1 -x t ) 2 + η 2 l E d j=1 σ 2 l,j + 6KE[ η l (∇F i (x t ) -∇f (x t )) 2 + 6Kη 2 l E[ ∇f (x t ))) 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 x t i,k -x t 2 ≤ 1 + 1 2K -1 + 6Kη 2 l L 2 1 m m i=1 E x t i,k-1 -x t 2 + η 2 l E d j=1 σ 2 l,j + 6K m m i=1 E[ η l (∇F i (x t ) -∇f (x t )) 2 + 6Kη 2 l E[ ∇f (x t ))) 2 ≤ 1 + 1 2K -1 + 6Kη 2 l L 2 1 m m i=1 E x t i,k-1 -x t 2 + η 2 l E d j=1 (σ 2 l,j + 6Kσ 2 g,j ) + 6Kη 2 l E[ ∇f (x t ))) 2 From the above, we get the following inequality: 1 m m i=1 E x t i,k -x t 2 ≤ 1 + 1 K -1 1 m m i=1 E x t i,k-1 -x t 2 + η 2 l E d j=1 (σ 2 l,j + 6Kσ 2 g,j ) + 6Kη 2 l E[ ∇f (x t ))) 2 Unrolling the recursion, we obtain the following: 1 m m i=1 E x t i,k -x t 2 ≤ k-1 p=0 1 + 1 K -1 p   η 2 l E d j=1 (σ 2 l,j + 6Kσ 2 g,j ) + 6Kη 2 l E[ ∇f (x t ))) 2   ≤ (K -1) × 1 + 1 K -1 K -1 ×   η 2 l E d j=1 (σ 2 l,j + 6Kσ 2 g,j ) + 6Kη 2 l E[ ∇f (x t ))) 2   ≤   5Kη 2 l E d j=1 (σ 2 l,j + 6Kσ 2 g,j ) + 30K 2 η 2 l E[ ∇f (x t ))) 2   , concluding the proof of Lemma 3. The last inequality uses the fact that (1 + 1 K-1 ) K ≤ 5 for K > 1. Using the above lemma in Equation 6and Condition I, we can bound T 3 in the following manner: T 3 ≤ η l K 2 d j=1 [∇f (x t )] 2 j √ v t-1,j + τ + η l L 2 2mτ E t   m i=1 K-1 k=0 d j=1 ([x t i,k ] j -[x t ] j ) 2   ≤ η l K 2 d j=1 [∇f (x t )] 2 j √ v t-1,j + τ + η l KL 2 2τ   5Kη 2 l E d j=1 (σ 2 l,j + 6Kσ 2 g,j ) + 30K 2 η 2 l E[ ∇f (x t ))) 2   ≤ 3η l K 4 d j=1 [∇f (x t )] 2 j √ v t-1,j + τ + 5η 3 l K 2 L 2 2τ E d j=1 (σ 2 l,j + 6Kσ 2 g,j ) Here we used the fact that √ v t-1,j ≤ η l KG √ T and Condition I in Theorem 1. Using the above bound in Equation 5, we get T 1 ≤ - η l K 4 d j=1 [∇f (x t )] 2 j √ v t-1,j + τ + 5η 3 l K 2 L 2 2τ E d j=1 (σ 2 l,j + 6Kσ 2 g,j ) Putting the pieces together Substituting in Equation ( 3), bounds T 1 in Equation ( 8) and bound T 2 in Equation ( 4), we obtain E t [f (x t+1 )] ≤ f (x t ) + η ×   - η l K 4 d j=1 [∇f (x t )] 2 j √ v t-1,j + τ + 5η 3 l K 2 L 2 2τ E d j=1 (σ 2 l,j + 6Kσ 2 g,j )   + η × E d j=1 η l KG 2 τ ∆ 2 t,j t l=0 ∆ 2 l,j + τ 2 + η 2 2 d j=1 LE ∆ 2 t,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 η l K 4 d j=1 E [∇f (x t )] 2 j √ v t-1,j + τ ≤ f (x 0 ) -E[f (x T )] η + 5η 3 l K 2 L 2 T 2τ d j=1 (σ 2 l,j + 6Kσ 2 g,j ) + T -1 t=0 E d j=1 η l KG 2 τ + ηL 2 × ∆ 2 t,j t l=0 ∆ 2 l,j + τ 2 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 ∆ 2 t,j t l=0 ∆ 2 l,j + τ 2 ≤ min d + d j=1 log 1 + η 2 l K 2 G 2 T τ 2 + 4η 2 l KT mτ 2 d j=1 σ 2 l,j + 20η 4 l K 3 L 2 T E d j=1 (σ 2 l,j + 6Kσ 2 g,j ) τ 2 + 40η 4 l K 2 L 2 τ 2 T -1 t=0 E ∇f (x t ) 2 Proof. We bound the desired quantity in the following manner: E T -1 t=0 d j=1 ∆ 2 t,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 + η 2 l K 2 G 2 T τ 2 . An alternate way of the bounding this quantity is as follows: E T -1 t=0 d j=1 ∆ 2 t,j t l=0 ∆ 2 t,j + τ 2 ≤ E T -1 t=0 d j=1 ∆ 2 t,j τ 2 ≤ E T -1 t=0 ∆ t + η l K∇f (x t ) -η l K∇f (x t ) τ 2 ≤ 2E T -1 t=0 ∆ t + η l K∇f (x t ) τ 2 + η 2 l K 2 ∇f (x t ) τ 2 . ( ) 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 η l g t i,k + η l K∇f (x t ) 2 = 2E T -1 t=0   1 τ • 1 m m i=1 K-1 k=0 η l g t i,k -η l ∇F i (x t i,k ) + η l ∇F i (x t i,k ) -η l ∇F i (x t ) + η l ∇F i (x t ) -η l K∇f (x t ) 2   = 2η 2 l m 2 T -1 t=0 E   m i=1 K-1 k=0 1 τ • g t i,k -∇F i (x t i,k ) + ∇F i (x t i,k ) -∇F i (x t ) 2   ≤ 4η 2 l m 2 T -1 t=0 E   m i=1 K-1 k=0 1 τ • g t i,k -∇F i (x t i,k ) 2 + m i=1 K-1 k=0 1 τ • ∇F i (x t i,k ) -∇F i (x t ) 2   ≤ 4η 2 l KT m d j=1 σ 2 l,j τ 2 + 4η 2 l K m E m i=1 K-1 k=0 T -1 t=0 1 τ • ∇F i (x t i,k ) -∇F i (x t ) 2 ≤ 4η 2 l KT m d j=1 σ 2 l,j τ 2 + 4η 2 l K m E m i=1 K-1 k=0 T -1 t=0 L τ • x t i,k -x t 2 (by Assumptions 1 and 2) ≤ 4η 2 l KT mτ 2 d j=1 σ 2 l,j + 20η 4 l K 3 L 2 T d j=1 (σ 2 l,j + 6Kσ 2 g,j ) τ 2 + 40η 4 l K 4 L 2 τ 2 T -1 t=0 E ∇f (x t ) 2 (by Lemma 3). Here, the first inequality follows from simple application of the fact that ab ≤ (a 2 + b 2 )/2. The result follows. Substituting the above bound in Equation ( 10), we obtain: η l K 4 T -1 t=0 d j=1 E [∇f (x t )] 2 j √ v t-1,j + τ ≤ f (x 0 ) -E[f (x T )] η + 5η 3 l K 2 L 2 2τ E T -1 t=0 d j=1 (σ 2 l,j + 6Kσ 2 g,j ) + d j=1 η l KG 2 τ + ηL 2 × min d + d log 1 + η 2 l K 2 G 2 T τ 2 + 4η 2 l KT mτ 2 d j=1 σ 2 l,j + 20η 4 l K 3 L 2 T d j=1 (σ 2 l,j + 6Kσ 2 g,j ) τ 2 + 40η 4 l K 4 L 2 τ 2 T -1 t=0 E ∇f (x t ) 2 (12) We observe the following: T -1 t=0 d j=1 [∇Ef (x t )] 2 j √ v t-1,j + τ ≥ T -1 t=0 d j=1 E [∇f (x t )] 2 j η l KG √ T + τ ≥ T η l KG √ T + τ min 0≤t≤T E ∇f (x t ) 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.

A.2.1 LIMITED PARTICIPATION

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 t th 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 η l g t i,k + η l K∇f (x t ) 2 = 2E T -1 t=0   1 τ • 1 s i∈S K-1 k=0 η l g t i,k -η l ∇F i (x t i,k ) + η l ∇F i (x t i,k ) -η l ∇F i (x t ) + η l ∇F i (x t ) -η l K∇f (x t ) 2   ≤ 6η 2 l s 2 T -1 t=0 E i∈S K-1 k=0 1 τ • g t i,k -∇F i (x t i,k ) 2 + i∈S K-1 k=0 1 τ • ∇F i (x t i,k ) -∇F i (x t ) 2 + K 2 1 τ • i∈S F i (x t ) -s∇f (x t ) 2 ≤ 6η 2 l KT s d j=1 σ 2 l,j τ 2 + 6η 2 l K s E i∈S K-1 k=0 T -1 t=0 1 τ • ∇F i (x t i,k ) -∇F i (x t ) 2 + 6η 2 l K 2 T σ 2 g τ 2 1 - s m ≤ 6η 2 l KT s d j=1 σ 2 l,j τ 2 + 6η 2 l K s E i∈S K-1 k=0 T -1 t=0 L τ • x t i,k -x t 2 + 6η 2 l K 2 T σ 2 g τ 2 1 - s m ≤ 6η 2 l KT τ 2 s d j=1 σ 2 l,j + 30η 4 l K 3 L 2 T E d j=1 (σ 2 l,j + 6Kσ 2 g,j ) τ 2 + 60η 4 l K 4 L 2 τ 2 T -1 t=0 E ∇f (x t ) 2 + 6η 2 l K 2 T σ 2 g τ 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(a 2 + b 2 + c 2 ). 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.

A.3 PROOF OF THEOREM 2

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 x t+1 = x t + η ∆ t √ v t + τ , for all i ∈ [d]. Using the L-smooth nature of function f and the above update rule, we have the following: f (x t+1 ) ≤ f (x t ) + η ∇f (x t ), ∆ t √ v t + τ + η 2 L 2 d i=1 ∆ 2 t,i ( √ v t,i + τ ) 2 The second step follows simply from FEDADAM's update. We take the expectation of f (x t+1 ) (over randomness at time step t) and rewrite the above inequality as: E t [f (x t+1 )] ≤ f (x t ) + η ∇f (x t ), E t ∆ t √ v t + τ - ∆ t β 2 v t-1 + τ + ∆ t β 2 v t-1 + τ + η 2 L 2 d j=1 E t ∆ 2 t,j ( √ v t,j + τ ) 2 = f (x t ) + η ∇f (x t ), E t ∆ t β 2 v t-1 + τ R1 +η ∇f (x t ), E t ∆ t √ v t + τ - ∆ t β 2 v t-1 + τ R2 + η 2 L 2 d j=1 E t ∆ 2 t,j ( √ v t,j + τ ) 2 Bounding R 2 . We observe the following about R 2 : R 2 = E t d j=1 [∇f (x t )] j × ∆ t,j √ v t,j + τ - ∆ t,j β 2 v t-1,j + τ = E t d j=1 [∇f (x t )] j × ∆ t,j × β 2 v t-1,j - √ v t,j ( √ v t,j + τ )( β 2 v t-1,j + τ ) = E t d j=1 [∇f (x t )] j × ∆ t,j × -(1 -β 2 )∆ 2 t,j ( √ v t,j + τ )( β 2 v t-1,j + τ )( β 2 v t-1,j + √ v t,j ) ≤ (1 -β 2 )E t d j=1 |∇f (x t )] j | × |∆ t,j | × ∆ 2 t,j ( √ v t,j + τ )( β 2 v t-1,j + τ )( β 2 v t-1,j + √ v t,j ) ≤ 1 -β 2 E t d j=1 |∇f (x t )] j | × ∆ 2 t,j √ v t,j + τ )( β 2 v t-1,j + τ ) ≤ 1 -β 2 E t d j=1 G τ × ∆ 2 t,j √ v t,j + τ . Bounding R 1 . The term R 1 can be bounded as follows: R 1 = ∇f (x t ), E t ∆ t β 2 v t-1 + τ = ∇f (x t ) β 2 v t-1 + τ , E t [∆ t -η l K∇f (x t ) + η l K∇f (x t )] = -η l K d j=1 [∇f (x t )] 2 j β 2 v t-1,j + τ + ∇f (x t ) β 2 v t-1 + τ , E t [∆ t + η l K∇f (x t )] R3 . ( ) Bounding R 3 . The term R 3 can be bounded in exactly the same way as term T 3 in proof of Theorem 1: R 3 ≤ η l K 2 d j=1 [∇f (x t )] 2 j β 2 v t-1,j + τ + η l L 2 2mτ E t m i=1 K-1 k=0 x t i,k -x t 2 Substituting the above inequality in Equation ( 15), we get R 1 ≤ - η l K 2 d j=1 [∇f (x t )] 2 j β 2 v t-1,j + τ + η l L 2 2mτ E t m i=1 K-1 k=0 x t i,k -x t 2 Here we used the fact that √ v t-1,j ≤ η l KG and conditions in Theorem 2. Using Lemma 3, we obtain the following bound on R 1 : R 1 ≤ - η l K 4 d j=1 [∇f (x t )] 2 j β 2 v t-1,j + τ + 5η 3 l K 2 L 2 2τ E t d j=1 (σ 2 l,j + 6Kσ 2 g,j ) Putting pieces together. Substituting bounds R 1 and R 2 in Equation ( 14), we have E t [f (x t+1 )] ≤ f (x t ) - ηη l K 4 d j=1 [∇f (x t )] 2 j β 2 v t-1,j + τ + 5ηη 3 l K 2 L 2 2τ E d j=1 (σ 2 l,j + 6Kσ 2 g,j ) + η √ 1 -β 2 G τ d j=1 E t ∆ 2 t,j √ v t,j + τ ) + η 2 L 2 d j=1 E t ∆ 2 t,j v t,j + τ 2 ) Summing over t = 0 to T -1 and using telescoping sum, we have E[f (x T )] ≤ f (x 0 ) - ηη l K 4 T -1 t=0 d j=1 E [∇f (x t )] 2 j β 2 v t-1,j + τ + 5ηη 3 l K 2 L 2 T 2τ E d j=1 (σ 2 l,j + 6Kσ 2 g,j ) η √ 1 -β 2 G τ T -1 t=0 d j=1 E ∆ 2 t,j √ v t,j + τ ) + η 2 L 2 T -1 t=0 d j=1 E ∆ 2 t,j v t,j + τ 2 ) 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 ∆ 2 t,j (v t,j + τ 2 ) ≤ 4η 2 l KT mτ 2 d j=1 σ 2 l,j + 20η 4 l K 3 L 2 T τ 2 E d j=1 (σ 2 l,j + 6Kσ 2 g,j ) + 40η 4 l K 4 L 2 τ 2 T -1 t=0 E ∇f (x t ) 2 Proof. E T -1 t=0 d j=1 ∆ 2 t,j (1 -β 2 ) t l=0 β t-l 2 ∆ 2 t,j + τ 2 ≤ E T -1 t=0 d j=1 ∆ 2 t,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 ∆ 2 t,j (v t,j + τ 2 ) ≤ 4η 2 l KT mτ 2 d j=1 σ 2 l,j + 20η 4 l K 3 L 2 T τ 2 E d j=1 (σ 2 l,j + 6Kσ 2 g,j ) + 40η 4 l K 4 L 2 τ 2 T -1 t=0 E ∇f (x t ) 2 , which is the desired result. Substituting the bound obtained from above lemma in Equation ( 17) and using a similar argument for bounding η √ 1 -β 2 G τ T -1 t=0 d j=1 E ∆ 2 t,j √ v t,j + τ ) , we obtain E t [f (x T )] ≤ f (x 0 ) - ηη l K 8 T -1 t=0 d j=1 [∇f (x t )] 2 j β 2 v t-1,j + τ + 5ηη 3 l K 2 L 2 T 2τ E d j=1 (σ 2 l,j + 6Kσ 2 g,j ) + η 1 -β 2 G + η 2 L 2 ×   4η 2 l KT mτ 2 d j=1 σ 2 l,j + 20η 4 l K 4 L 2 T τ 2 E d j=1 (σ 2 l,j + 6Kσ 2 g,j )   The above inequality is obtained due to the fact that: 1 -β 2 G + ηL 2 40η 4 l K 4 L 2 τ 2 ≤ η l K 16 1 √ β 2 η l KG + 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 (x t )] 2 j β 2 v t-1,j + τ ≥ T -1 t=0 d j=1 [∇f (x t )] 2 j √ β 2 η l KG + τ ≥ T √ β 2 η l KG + τ min 0≤t≤T ∇f (x t ) 2 . Substituting this bound in the above equation yields the desired result. A.4 AUXILIARY LEMMATTA Lemma 6. For random variables z 1 , . . . , z r , we have E z 1 + ... + z r 2 ≤ rE z 1 2 + ... + z r 2 . Lemma 7. For independent, mean 0 random variables z 1 , . . . , z r , we have E z 1 + ... + z r 2 = E z 1 2 + ... + z r 2 .

B FEDERATED ALGORITHMS: IMPLEMENTATIONS AND PRACTICAL CONSIDERATIONS B.1 FEDAVG AND FEDOPT

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 SGD K (x t , η l , f i ) to denote K steps of SGD using gradients ∇f i (x, z) for z ∼ D i with (local) learning rate η l , starting from x t . 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 Simplified FEDAVG Simplified FEDAVG Input: x 0 for t = 0, • • • , T -1 do Sample a subset S of clients x t i = x t for each client i ∈ S in parallel do x t i = SGD K (x t , η l , f i ) for i ∈ S (in parallel) x t+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 D i is the uniform distribution over some finite set D i of size n i . The n i may vary significantly between clients, requiring extra care when implementing federated optimization methods. We assume the set D i is partitioned into a collection of batches B i , each of size B. For b ∈ B i , we let f i (x; b) denote the average loss on this batch at x with corresponding gradient ∇f i (x; b). Thus, if b is sampled uniformly at random from B i , ∇f i (x; b) is an unbiased estimate of ∇F i (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 n i 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 FEDOPT FEDOPT -Batched data

Input: x 0 , CLIENTOPT, SERVEROPT for t = 0, • • • , T -1 do Sample a subset S of clients x t i = x t for each client i ∈ S in parallel do for e = 1, . . . , E do for b ∈ B i do g t i = ∇f i (x t i ; b) x t i = CLIENTOPT(x t i , g t i , η l , t) ∆ t i = x t i -x t n = i∈S n i , ∆ t = i∈S ni n ∆ t i x t+1 = SERVEROPT(x t , -∆ 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.

B.2 SCAFFOLD

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 FEDADAGRAD FEDADAGRAD , FEDYOGI FEDYOGI FEDYOGI , and FEDADAM FEDADAM FEDADAM -Batched data Input: x 0 , v -1 ≥ τ 2 , optional β 1 , β 2 ∈ [0, 1) for FEDYOGI and FEDADAM for t = 0, • • • , T -1 do Sample a subset S of clients x t i = x t for each client i ∈ S in parallel do for e = 1, . . . , E do for b ∈ B i do x t i = x t i -η l ∇f i (x t i ; b) ∆ t i = x t i -x t n = i∈S n i , ∆ t = i∈S ni n ∆ t i ∆ t = β 1 ∆ t-1 + (1 -β 1 )∆ t v t = v t-1 + ∆ 2 t (FEDADAGRAD) (FEDADAGRAD) (FEDADAGRAD) v t = v t-1 -(1 -β 2 )∆ 2 t sign(v t-1 -∆ 2 t ) (FEDYOGI) (FEDYOGI) (FEDYOGI) v t = β 2 v t-1 + (1 -β 2 )∆ 2 t (FEDADAM) (FEDADAM) (FEDADAM) x t+1 = x t + η ∆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 n i denote the number of examples in client i's local dataset. Algorithm 6 SCAFFOLD SCAFFOLD SCAFFOLD, Option II -Batched data Input: x 0 , c, η l , η for t = 0, • • • , T -1 do Sample a subset S of clients x t i = x t for each client i ∈ S in parallel do for e = 1, . . . , E do for b ∈ B i do g t i = ∇f i (x t i ; b) x t i = x t i -η l (g t i -c i + c) c + i = c i -c + (E|B i |η l ) -1 (x t i -x i ) ∆x i = x t i -x t , ∆c i = c + i -c i c i = c + i n = i∈S n i , ∆x = i∈S ni n ∆x i , ∆c = i∈S ni n ∆c i x t+1 = x t + η∆x, c = c + |S| N ∆c In this algorithm, c i 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 c i in some way when sampling a client i for the first time. In our implementation, we set c i = c the first time we sample a client i. This has the advantage of exactly 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.

B.3 LOOKAHEAD, ADAALTER, AND CLIENT ADAPTIVITY

The LOOKAHEAD optimizer (Zhang et al., 2019b) is primarily designed for non-FL settings. LOOKA-HEAD 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) 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 v t 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) .

C DATASET & MODELS

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) 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.

C.2 EMNIST

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 . 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 . 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 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 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.

D.2 HYPERPARAMETER GRIDS

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 , . . . , 10 0.5 } η ∈ {10 -3 , 10 -2.5 , 10 -2 , . . . , 10 1 } 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 , . . . , 10 0.5 } η ∈ {10 -3 , 10 -2.5 , . . . , 10 1 } CIFAR-100: η l ∈ {10 -3 , 10 -2.5 , . . . , 10 0.5 } η ∈ {10 -3 , 10 -2.5 , . . . , 10 1 } EMNIST AE: η ∈ {10 -1.5 , 10 -1 , . . . , 10 2 } η ∈ {10 -2 , 10 -1.5 , . . . , 10 1 } EMNIST CR: η l ∈ {10 -3 , 10 -2.5 , . . . , 10 0.5 } η ∈ {10 -3 , 10 -2.5 , . . . , 10 1 } Shakespeare: η l ∈ {10 -3 , 10 -2.5 , . . . , 10 0.5 } η ∈ {10 -3 , 10 -2.5 , . . . , 10 1 } StackOverflow LR: η l ∈ {10 -1 , 10 -0.5 , . . . , 10 3 } η ∈ {10 -2 , 10 -1.5 , . . . , 10 1.5 } StackOverflow NWP: η l ∈ {10 -3 , 10 -2.5 , . . . , 10 0.5 } η ∈ {10 -3 , 10 -2.5 , . . . , 10 1 } For all tasks, we tune τ over the grid: τ ∈ {10 -5 , . . . , 10 -1 }.

D.3 PER-TASK BATCH SIZES

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 . 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. Table 8 : The base-10 logarithm of the client (η l ) and server (η) learning rate combinations that achieve the accuracies from Table 1 . See Appendix D.2 for a full description of the grids. FEDADAGRAD FEDADAM FEDYOGI FEDAVGM FEDAVG η l η η l η η l η η l η η l η CIFAR-10 -3 ⁄2 -1 -3 ⁄2 -2 -3 ⁄2 -2 -3 ⁄2 -1 ⁄2 -1 ⁄2 0 CIFAR-100 -1 -1 -3 ⁄2 0 -3 ⁄2 0 -3 ⁄2 0 -1 1 ⁄2 EMNIST AE 3 ⁄2 -3 ⁄2 1 -3 ⁄2 1 -3 ⁄2 1 ⁄2 0 1 0 EMNIST CR -3 ⁄2 -1 -3 ⁄2 -5 ⁄2 -3 ⁄2 -5 ⁄2 -3 ⁄2 -1 ⁄2 -1 0 SHAKESPEARE 0 -1 ⁄2 0 -2 0 -2 0 -1 ⁄2 0 0 STACKOVERFLOW LR 2 1 2 -1 ⁄2 2 -1 ⁄2 2 0 2 0 STACKOVERFLOW NWP -1 ⁄2 -3 ⁄2 -1 ⁄2 -2 -1 ⁄2 -2 -1 ⁄2 0 -1 ⁄2 0 Table 9 : The base-10 logarithm of the parameter τ (as defined in Algorithm 2) that achieve the validation metrics in Table 1 . 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 . FEDADAGRAD FEDADAM FEDYOGI CIFAR-10 -2 -3 -3 CIFAR-100 -2 -1 -1 EMNIST AE -3 -3 -3 EMNIST CR -2 -4 -4 SHAKESPEARE -1 -3 -3 STACKOVERFLOW LR -2 -5 -5 STACKOVERFLOW NWP -4 -5 -5 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.

E.2 STACK OVERFLOW TEST SET PERFORMANCE

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 .

E.3 LEARNING RATE ROBUSTNESS

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. -3.0-2.5-2.0-1.5-1.0-0.5 0.0 0.5 Client Learning Rate (log10) 1.0 0.5 0.0 -0.5 -1.0 -1.5 -2.0 -2.5 -3.0 Server Learning Rate (log10) 3.8 4.4 6.6 13.6 15.2 12.3 12.2 1.0 1.1 2.8 2.9 7.1 9.6 5.8 4.9 1.4 0.9 1.5 1.8 3.4 5.4 2.9 2.2 1.3 1.1 1.0 1.1 2.3 3.5 2.9 1.2 1.0 0.9 1.0 0.9 1. -1.5-1.0-0.5 0.0 0.5 1.0 1.5 2.0 Client Learning Rate (log10) 1.0 0.5 0.0 -0.5 -1.0 -1.5 -2.0 Server Learning Rate (log10) 2.9 3.1 2.9 2.9 2.8 2.7 2.8 2.8 2.9 2.8 2.9 2.8 2.8 2.7 2.7 2.9 2.8 2.9 3.0 2.9 2.9 2.7 2.8 2.9 3.0 3.0 2.9 2.8 2.7 2.8 2.8 2.8 2.9 2.9 2.9 3.0 2.9 2.7 2.8 2.9 1.7 1.7 2.7 1.7 0.7 0.5 0.4 1.2 1.7 1.7 1.7 1.3 0.9 0.7 0. 1.0 0.5 0.0 -0.5 -1.0 -1.5 -2.0 Server Learning Rate (log10) 3.0 2.9 3.0 2.9 2.8 2.7 2.8 2.8 2.8 2.9 3.0 2.9 2.8 2.7 2.8 2.9 2.8 3.0 2.9 3.0 2.8 2.7 2.8 2.9 1.5 2.9 3.0 3.0 3.2 2.7 2.8 2.8 1.7 1.6 1.7 1.7 1.7 2.7 2.8 2.7 1.7 1.5 1.2 0.3 0.1 0.1 2.7 2.7 1.0 0.5 0.0 -0.5 -1.0 -1.5 -2.0 Server Learning Rate (log10) 3.0 2.9 2.9 2.9 2.8 2.7 2.9 2.8 2.9 2.9 3.0 2.9 2.8 2.7 2.8 2.8 2.9 2.8 2.9 2.9 2.9 2.7 2.7 3.0 1.7 2.9 3.0 3.0 3.4 2.7 2.8 3.0 1.6 1.7 1.7 1.7 1.7 2.7 2.8 2.8 1.7 1.5 1.4 0.3 0.1 0.1 2.7 2.8 1.0 0.5 0.0 -0.5 -1.0 -1.5 -2.0 Server Learning Rate (log10) 1.7 3.0 3.1 3.2 3.6 2.7 2.8 2.8 1.7 1.7 2.9 3.1 1.8 2.8 2.7 2.8 1.7 1.8 1.7 1.2 0.2 1.8 2.8 2.9 1.7 1.7 1.7 1.3 0.5 0.2 2.7 2.8 1.7 1.7 1.7 1.7 1.3 0.7 0.6 2.8 1.7 1.7 1.7 1.7 1.7 1.4 1.1 1.7 1.7 1.7 1.7 1.7 1.7 1.7 1. 1.0 0.5 0.0 -0.5 -1.0 -1.5 -2.0 Server Learning Rate (log10) 1.7 1.7 3.1 3.5 3.0 2.7 2.8 3.0 1.7 1.7 1.7 1.5 1.2 1.4 2.8 2.9 1.7 1.7 1.7 1.7 1.3 0.6 2.7 2.9 1.7 1.7 1.7 1.7 1.7 1.5 1.1 2.7 1.7 1.7 1.7 1.7 1.7 1.7 1.7 1.7 1.7 1.7 1.7 1.7 1.7 1.7 1.7 1.7 1.9 1.7 1.7 1.7 1.7 1.7 1. -3.0-2.5-2.0-1.5-1.0-0.5 0.0 0.5 Client Learning Rate (log10) 1.0 0.5 0.0 -0.5 -1.0 -1.5 -2.0 -2.5 -3.0 Server Learning Rate (log10) 5.0 5.0 5.0 5.1 0.8 0.9 4.9 2.6 4.9 4.9 3.1 4.9 5.1 5.1 5.5 5.4 5. 3 5.3 5.3 5.3 5.3 5.3 5.1 5.6 66.9 5.6 5.6 5.6 5.6 5.6 4.9 5.1 84.5 84.3 84.9 83.8 5.6 5.6 5.6 5.6 83.1 83.9 84.6 85.1 85.1 78.9 5.6 5.2 77.9 81.2 82.7 83.8 83.8 52.0 5.6 5.2 65.8 74.9 78.8 79.9 80.5 30. -3.0-2.5-2.0-1.5-1.0-0.5 0.0 0.5 Client Learning Rate (log10) 1.0 0.5 0.0 -0.5 -1.0 -1.5 -2.0 -2.5 -3.0 Server Learning Rate (log10) 8.4 10.2 8.9 3.8 3.2 11.0 9.3 10.0 5.5 7.3 11.7 4.9 7.2 9.3 9.9 11.6 20.6 9.7 6.1 17.5 4.7 18.7 14.5 7.9 17.9 21.6 15.3 4.9 41.9 6.0 29.8 3.3 

E.4 ON THE RELATION BETWEEN CLIENT AND SERVER LEARNING RATES

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 . Figure 12 : The best server learning rate in our hyperparameter tuning grids for each client learning rate, optimizers, and task. We select the server learning rates based on the average validation performance over the last 100 communication rounds. For FEDADAGRAD, FEDADAM, and FEDYOGI, we fix τ = 10 -3 . We omit all client learning rates for which all server learning rates did not change the initial validation loss by more than 10%. 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).

E.5 ROBUSTNESS OF THE ADAPTIVITY PARAMETER

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. (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. 



Figure 1: Validation accuracy of adaptive and non-adaptive methods, as well as SCAFFOLD, using constant learning rates η and η l tuned to achieve the best training performance over the last 100 communication rounds; see Appendix D.2 for grids.

Figure 2: Validation accuracy (averaged over the last 100 rounds) of FEDADAM, FEDYOGI, and FEDAVGM for various client/server learning rates combination on the SO NWP task. For FEDADAM and FEDYOGI, we set τ = 10 -3 .

Figure 3: Validation performance of FEDADAGRAD, FEDADAM, and FEDYOGI for varying τ on various tasks. The learning rates η and η l are tuned for each τ to achieve the best training performance on the last 100 communication rounds.

).

Figure 4: Validation accuracy on EMNIST CR using constant learning rates η, η l , and τ tuned to achieve the best training performance on the last 100 communication rounds; see Appendix D for hyperparameter grids.

Figure 5: Validation accuracy (averaged over the last 100 rounds) of FEDADAGRAD, FEDADAM, FEDYOGI, FEDAVGM, and FEDAVG for various client/server learning rates combination on the CIFAR-10 task. For FEDADAGRAD, FEDADAM, and FEDYOGI, we set τ = 10 -3 .

Figure 6: Validation accuracy (averaged over the last 100 rounds) of FEDADAGRAD, FEDADAM, FEDYOGI, FEDAVGM, and FEDAVG for various client/server learning rates combination on the CIFAR-100 task. For FEDADAGRAD, FEDADAM, and FEDYOGI, we set τ = 10 -3 .

Figure 7: Validation MSE (averaged over the last 100 rounds) of FEDADAGRAD, FEDADAM, FEDYOGI, FEDAVGM, and FEDAVG for various client/server learning rates combination on the EMNIST AE task. For FEDADAGRAD, FEDADAM, and FEDYOGI, we set τ = 10 -3 .

Figure 8: Validation accuracy (averaged over the last 100 rounds) of FEDADAGRAD, FEDADAM, FEDYOGI, FEDAVGM, and FEDAVG for various client/server learning rates combination on the EMNIST CR task. For FEDADAGRAD, FEDADAM, and FEDYOGI, we set τ = 10 -3 .

Figure 9: Validation accuracy (averaged over the last 100 rounds) of FEDADAGRAD, FEDADAM, FEDYOGI, FEDAVGM, and FEDAVG for various client/server learning rates combination on the Shakespeare task. For FEDADAGRAD, FEDADAM, and FEDYOGI, we set τ = 10 -3 .

Figure 13: Validation performance of FEDADAGRAD, FEDADAM, and FEDYOGI for varying τ on various tasks. The learning rates η and η l are tuned for each τ to achieve the best training performance on the last 100 communication rounds.

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 S c and S y 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.

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 ∆ t i by each client's number of training samples. This follows the approach of (McMahan



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.

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 Table2.

Dataset statistics. 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. (

EMNIST autoencoder model architecture. We use a sigmoid activation at all dense layers.

EMNIST character model architecture.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.

Shakespeare model architecture.

Stack Overflow next word prediction model architecture.

Client batch sizes used for each task.

Test set performance for Stack Overflow tasks after training: Accuracy for NWP and Recall@5 (×100) for LR. Performance within within 0.5% of the best result are shown in bold.

(Top)  Test accuracy (%) of a model trained centrally with various optimizers. (Bottom) Average test accuracy (%) over the last 100 rounds of various federated optimizers on the EMNIST CR task, using constant learning rates or the EXPDECAY schedule for η l . Accuracies (for the federated tasks) within 0.5% of the best result are shown in bold.

annex

Algorithm 7 Creating a federated CIFAR-100 Input:Let M denote the number of clients, N the number of examples per client, and D m 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. 

