Scaling Up Quasi-Newton Algorithms: Communication Efficient Distributed SR1
Majid Jahani, Mohammadreza Nazari, Sergey Rusakov, Albert S. Berahas, and Martin Tak\'a\v{c}

TL;DR
This paper introduces DS-LSR1, a communication-efficient distributed quasi-Newton algorithm that significantly reduces communication overhead and scales effectively for large neural network training tasks.
Contribution
The paper proposes DS-LSR1, a novel distributed implementation of S-LSR1 that is communication-efficient, matrix-free, inverse-free, and scalable for high-dimensional problems.
Findings
Reduces communication rounds in distributed S-LSR1
Achieves better load balancing across nodes
Demonstrates effective scaling on neural network training
Abstract
In this paper, we present a scalable distributed implementation of the Sampled Limited-memory Symmetric Rank-1 (S-LSR1) algorithm. First, we show that a naive distributed implementation of S-LSR1 requires multiple rounds of expensive communications at every iteration and thus is inefficient. We then propose DS-LSR1, a communication-efficient variant that: (i) drastically reduces the amount of data communicated at every iteration, (ii) has favorable work-load balancing across nodes, and (iii) is matrix-free and inverse-free. The proposed method scales well in terms of both the dimension of the problem and the number of data points. Finally, we illustrate the empirical performance of DS-LSR1 on a standard neural network training task.
| Variable | Dimension |
| \hdashline | |
| \hdashline | |
| \hdashline | |
| \hdashline |
| Naive DS-LSR1 | DS-LSR1 | |
|---|---|---|
| Broadcast: | ||
| \hdashlineReduce: |
| Naive DS-LSR1 | DS-LSR1 | |
|---|---|---|
| Worker: | CG | |
| \hdashlineMaster: | , CG |
| Variable | Dimension |
|---|---|
| \hdashline | |
| \hdashline | |
| \hdashline | |
| \hdashline | |
| \hdashline | |
| \hdashline | |
| \hdashline | |
| \hdashline | |
| \hdashline | |
| \hdashline | |
| \hdashline |
| Network | # Hidden Layers | # Nodes/ Layer | |
|---|---|---|---|
| 1 | 1 | 1 | 805 |
| \hdashline2 | 1 | 10 | 7960 |
| \hdashline4 | 1 | 100 | 79510 |
| \hdashline3 | 1 | 1000 | 795010 |
| Network | # Hidden Layers | # Nodes/ Layer | |
|---|---|---|---|
| 1 | 7 | 2-2-2-2-2-2-2 | 817 |
| \hdashline2 | 7 | 10-10-10-10-10-10-10 | 8620 |
| \hdashline4 | 7 | 100-100-100-10-10-10-10 | 100150 |
| \hdashline3 | 7 | 1000-100-100-10-10-10-10 | 896650 |
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
11institutetext: Lehigh University, Bethlehem, PA, 18015, USA
Scaling Up Quasi-Newton Algorithms: Communication Efficient Distributed SR1
Majid Jahani
Mohammadreza Nazari
Sergey Rusakov
Albert S. Berahas
Martin Takáč
Abstract
In this paper, we present a scalable distributed implementation of the Sampled Limited-memory Symmetric Rank-1 (S-LSR1) algorithm. First, we show that a naive distributed implementation of S-LSR1 requires multiple rounds of expensive communications at every iteration and thus is inefficient. We then propose DS-LSR1, a communication-efficient variant that: drastically reduces the amount of data communicated at every iteration, has favorable work-load balancing across nodes, and is matrix-free and inverse-free. The proposed method scales well in terms of both the dimension of the problem and the number of data points. Finally, we illustrate the empirical performance of DS-LSR1 on a standard neural network training task.
Keywords:
SR1 Distributed Optimization Deep Learning.
1 Introduction
In the last decades, significant efforts have been devoted to the development of optimization algorithms for machine learning. Currently, due to its fast learning properties, low per-iteration cost, and ease of implementation, the stochastic gradient (SG) method [32, 8], and its adaptive [19, 25], variance-reduced [22, 35, 18] and distributed [31, 40, 45, 17] variants are the preferred optimization methods for large-scale machine learning applications. Nevertheless, these methods have several drawbacks; they are highly sensitive to the choice of hyper-parameters and are cumbersome to tune, and they suffer from ill-conditioning [2, 43, 9]. More importantly, these methods offer a limited amount of benefit in distributed computing environments since they are usually implemented with small mini-batches, and thus spend more time communicating instead of performing “actual” computations. This shortcoming can be remedied to some extent by increasing the batch sizes, however, there is a point after which the increase in computation is not offset by the faster convergence [39].
Recently, there has been an increased interest in (stochastic) second-order and quasi-Newton methods by the machine learning community; see e.g., [10, 29, 6, 34, 42, 36, 11, 16, 4, 5, 21, 23]. These methods judiciously incorporate curvature information, and thus mitigate some of the issues that plague first-order methods. Another benefit of these methods is that they are usually implemented with larger batches, and thus better balance the communication and computation costs. Of course, this does not come for free; (stochastic) second-order and quasi-Newton methods are more memory intensive and more expensive (per iteration) than first-order methods. This naturally calls for distributed implementations.
In this paper, we propose an efficient distributed variant of the Sampled Limited-memory Symmetric Rank-1 (S-LSR1) method [3]—DS-LSR1—that operates in the master-worker framework (Figure 1). Each worker node has a portion of the dataset, and performs local computations using solely that information and information received from the master node. The proposed method is matrix-free (Hessian approximation never explicitly constructed) and inverse-free (no matrix inversion). To this end, we leverage the compact form of the SR1 Hessian approximations [12], and utilize sketching techniques [41] to approximate several required quantities. We show that, contrary to a naive distributed implementation of S-LSR1, the method is communication-efficient and has favorable work-load balancing across nodes. Specifically, the naive implementation requires communication, whereas our approach only requires communication, where is the dimension of the problem, is the LSR1 memory and 111Note, these costs are on top of the communications that are common to both approaches.. Furthermore, in our approach the heavy computations are done by the worker nodes and the master node performs only simple aggregations, whereas in the naive approach the computationally intensive operations, e.g., Hessian-vector products, are computed locally by the master node. Finally, we show empirically that DS-LSR1 has good strong and weak scaling properties, and illustrate the performance of the method on a standard neural network training task.
Problem Formulation and Notation
We focus on machine learning empirical risk minimization problems that can be expressed as:
[TABLE]
where is the composition of a prediction function (parametrized by ) and a loss function, and denote the training examples (samples). Specifically, we focus on deep neural network training tasks where the function is nonconvex, and the dimension and number of samples are large.
The paper is organized as follows. We conclude this section with a discussion of related work. We describe the classical (L)SR1 and sampled LSR1 (S-LSR1) methods in Section 2. In Section 3, we present DS-LSR1, our proposed distributed variant of the sampled LSR1 method. We illustrate the scaling properties of DS-LSR1 and the empirical performance of the method on deep learning tasks in Section 4. Finally, in Section 5 we provide some final remarks.
Related Work
The Symmetric Rank-1 (SR1) method [15, 24] and its limited-memory variant (LSR1) [28] are quasi-Newton methods that have gained significant attention by the machine learning community in recent years [3, 20]. These methods incorporate curvature (second-order) information using only gradient (first-order) information. Contrary to arguably the most popular quasi-Newton method, (L)BFGS [30, 27], the (L)SR1 method does not enforce that the Hessian approximations are positive definite, and is usually implemented with a trust-region [30]. This has several benefits: the method is able to exploit negative curvature, and the method is able to efficiently escape saddle points.
There has been a significant volume of research on distributed algorithms for machine learning; specifically, distributed gradient methods [45, 7, 31, 40, 14], distributed Newton methods [37, 21, 44] and distributed quasi-Newton methods [13, 17, 1]. Possibly the closest work to ours is VF-BFGS [13], in which the authors propose a vector-free implementation of the classical LBFGS method. We leverage several of the techniques proposed in [13], however, what differentiates our work is that we focus on the S-LSR1 method. Developing an efficient distributed implementation of the S-LSR1 method is not as straight-forward as LBFGS for several reasons: the construction and acceptance of the curvature pairs, the trust-region subproblem, and the step acceptance procedure.
2 Sampled limited-memory SR1 (S-LSR1)
In this section, we review the sampled LSR1 (S-LSR1) method [3], and discuss the components that can be distributed. We begin by describing the classical (L)SR1 method as this will set the stage for the presentation of the S-LSR1 method. At the th iteration, the SR1 method computes a new iterate via
[TABLE]
where is the minimizer of the following subproblem
[TABLE]
is the trust region radius, is the SR1 Hessian approximation
[TABLE]
and are the curvature pairs. In the limited memory version, the matrix is defined as the result of applying SR1 updates to a multiple of the identity matrix using the set of most recent curvature pairs kept in storage.
The main idea of the S-LSR1 method is to use the SR1 updating formula, but to construct the Hessian approximations using sampled curvature pairs instead of pairs that are constructed as the optimization progresses. At every iteration, curvature pairs are constructed via random sampling around the current iterate; see Algorithm 2. The S-LSR1 method is outlined in Algorithm 1. The components of the algorithms that can be distributed are highlighted in magenta.
Several components of the above algorithms can be distributed. Before we present the distributed implementations of the S-LSR1 method, we discuss several key elements of the method: Hessian-vector products; curvature pair construction; curvature pair acceptance; search direction computation; step acceptance procedure; and initial Hessian approximations.
For the remainder of the paper, let and denote the curvature pairs constructed at the th iteration, and denote the curvature pairs constructed at the th iteration by the th node, and , , denote the initial Hessian approximation at the th iteration.
Hessian-vector products
Several components of the algorithms above require the calculation of Hessian vector products of the form . In the large-scale setting, it is not memory-efficient, or even possible for some applications, to explicitly compute and store the Hessian approximation matrix . Instead, one can exploit the compact representation of the SR1 matrices [12] and compute:
[TABLE]
Computing via (2.3) is both memory and computationally efficient; the complexity of computing is [12].
Curvature pair construction
For ease of exposition, we presented the curvature pair construction routine (Algorithm 2) as a sequential process. However, this need not be the case; all pairs can be constructed simultaneously. First, generate a random matrix , and then compute . We discuss a distributed implementation of this routine in the following sections.
Curvature pair acceptance
In order for the S-LSR1 Hessian update (2.2) to be well defined, and for numerical stability, we require certain conditions on the curvature pairs employed; see [30, Chapter 6]. Namely, for a given , we impose that the Hessian approximation is only updated using the curvature pairs that satisfy the following condition:
[TABLE]
for , where is the initial Hessian approximation and , for , is the Hessian approximation constructed using only curvature pairs , for , that satisfy (2.4). Note, . Thus, potentially, not all curvature pairs returned by Algorithm 2 are used to update the S-LSR1 Hessian approximation. Checking this condition is not trivial and requires Hessian vector products. In [3, Appendix B.5], the authors propose a recursive memory-efficient mechanism to check and retain only the pairs that satisfy (2.4).
Search direction computation
The search direction is computed by solving subproblem (2.1) using CG-Steihaug; see [30, Chapter 7]. This procedure requires the computation of Hessian vectors products of the form (2.3).
Step acceptance procedure
In order to determine if a step is successful (Line 6, Algorithm 1) one has to compute the function value at the trial iterate and the predicted model reduction. This entails a function evaluation and a Hessian vector product. The acceptance ratio determines if a step is successful, after which the trust region radius has to be adjusted accordingly. For brevity we omit the details from the paper and refer the interested reader to [3, Appendix B.3].
Initial Hessian approximations
In practice, it is not clear how to choose the initial Hessian approximation. We argue, that in the context of S-LSR1, a good choice is . In Figure 2 we show the eigenvalues of the true Hessian and the eigenvalues of the S-LSR1 matrices for different values of () for a toy problem. As is clear, the eigenvalues of the S-LSR1 matrices with better match the eigenvalues of the true Hessian. Moreover, by setting , the rank of the approximation is at most and thus the CG algorithm (used to compute the search direction) terminates in at most iterations, whereas the CG algorithm may require as many as iterations when . Finally, removes a hyper-parameter. Henceforth, we assume that , however, we note that our method can be extended to .
2.1 Naive Distributed Implementation of S-LSR1
In this section, we describe a naive distributed implementation of the S-LSR1 method, where the data is stored across machines. At each iteration , we broadcast the current iterate to every worker node. The worker nodes calculate the local gradient, and construct local curvature pairs and . The local information is then reduced to the master node to form , and . Next, the SR1 curvature pair condition (2.4) is recursively checked on the master node. Given a set of accepted curvature pairs, the master node computes the search direction . We should note that the last two steps could potentially be done in a distributed manner at the cost of extra expensive rounds of communication. Finally, given a search direction the trial iterate is broadcast to the worker nodes where the local objective function is computed and reduced to the master node, and a step is taken.
As is clear, in this distributed implementation of the S-LSR1 method, the amount of information communicated is large, and the amount of computation performed on the master node is significantly larger than that on the worker nodes. Note, all the Hessian vector products, as well as the computations of the are performed on the master node. The precise communication and computation details are summarized in Tables 2 and 3.
3 Efficient Distributed S-LSR1 (DS-LSR1)
The naive distributed implementation of S-LSR1 has several significant deficiencies. We propose a distributed variant of the S-LSR1 method that alleviates these issues, is communication-efficient, has favorable work-load balancing across nodes and is inverse-free and matrix-free. To do this, we leverage the form of the compact representation of the S-LSR1 updating formula ()
[TABLE]
and the form of the SR1 condition (2.4). We observe the following: one need not communicate the full and matrices, rather one can communicate , and . We now discuss the means by which we: reduce the amount of information communicated and balance the computation across nodes.
3.1 Reducing the Amount of Information Communicated
As mentioned above, communicating curvature pairs is not necessary; instead one can just communicate inner products of the pairs, reducing the amount of communication from to . In this section, we show how this can be achieved, and in fact show that this can be further reduced to .
Construction of and
Since the curvature pairs are scale invariant [3], can be any random matrix. Therefore, each worker node can construct this matrix by simply sharing random seeds. In fact, the matrix need not be communicated to the master node as the master node can construct and store this matrix. With regards to the , each worker node can construct local versions of the curvature pair, , and send to the master node for aggregation, i.e., . Thus, the amount of information communicated to the master node is .
Construction of
Constructing the matrix in distributed fashion, without communicating local matrices, is not that simple. In our communication-efficient method, we propose that the matrix is approximated via sketching [41], using quantities that are already computed, i.e., . In order for the sketch to be well defined, , thus satisfying the conditions of sketching matrices [41]. By using this technique, we construct an approximation to with no additional communication. Note, the sketch size in our setting is equal to the memory size . We should also note that this approximation is only used in checking the SR1 condition (2.4), which is not sensitive to approximation errors, and not in the Hessian vector products.
3.2 Balancing the Computation Across the Nodes
Balancing the computation across the nodes does not come for free. We propose the use of a few more rounds of communication. The key idea is to exploit the compact representation of the SR1 matrices and perform as much computation as possible on the worker nodes.
Computing Hessian vector products
The Hessian vector products (3.1), require products between the matrices , and a vector . Suppose that the we have on the master node, and that the master node broadcasts this information as well as the vector to the worker nodes. The worker nodes then locally compute , and send this information back to the master node. The master node then reduces this to form , and broadcasts this vector back to the worker nodes. This time the worker nodes compute locally, and then this quantity is reduced by the master node; the cost of this communication is . Namely, in order to compute Hessian vector products, the master node performs two aggregations, the bulk of the computation is done on the worker nodes and the communication cost is .
Checking the SR1 Condition 2.4
As proposed in [3], at every iteration condition (2.4) is checked recursively by the master node. For each pair in memory, checking this condition amounts to a Hessian vector product as well as the use of inner products of the curvature pairs. Moreover, it requires the computation of , for , where .
Inverse-Free Computation of
The matrix is non-singular [12], depends solely on inner products of the curvature pairs, and is used in the the computation of Hessian vector products (3.1). This matrix is constructed recursively (its dimension grows with the memory) by the master node as condition (2.4) is checked. We propose an inverse-free approach for constructing this matrix. Suppose we have the matrix , for some , and that the new curvature pair satisfies (2.4). One can show that
[TABLE]
where , and for , , and . We should note that the matrix is a singleton. Consequently, constructing in an inverse-free manner allows us to compute Hessian vector products and check condition (2.4) efficiently.
3.3 The Distributed S-LSR1 (DS-LSR1) Algorithm
Pseudo-code for our proposed distributed variant of the S-LSR1 method and the curvature pair sampling procedure are given in Algorithms 3 and 4, respectively. Right arrows denote broadcast steps and left arrows denote reduce steps. For brevity we omit the details of the distributed CG-Steihaug algorithm (Line 5, Algorithm 3), but note that it is a straightforward adaptation of [30, Algorithm 7.2] using quantities described above computed in distributed fashion.
3.4 Complexity Analysis - Comparison of Methods
We compare the complexity of a naive distributed implementation of S-LSR1 and DS-LSR1. Specifically, we discuss the amount of information communicated at every iteration and the amount of computation performed by the nodes. Tables 2 and 3 summarize the communication and computation costs, respectively, and Table 4 summarizes the details of the quantities presented in the tables.
As is clear from Tables 2 and 3 the amount of information communicated in the naive implementation () is significantly larger than that in the DS-LSR1 method (). Note, . This can also be seen in Figure 3 where we show for different dimension and memory the number of floats communicated at every iteration. To put this into perspective, consider a training problem where (e.g., VGG11 network [38]) and , DS-LSR1 and naive DS-LSR1 need to communicate and , respectively, per iteration. In terms of computation, it is clear that in the naive approach the amount of computation is not balanced between the master and worker nodes, whereas for DS-LSR1 the quantities are balanced.
4 Numerical Experiments
The goals of this section are threefold: To illustrate the scaling properties of the method and compare it to the naive implementation (Figures 4 & 5); To deconstruct the main computational elements of the method and show how they scale in terms of memory (Figure 6); and To illustrate the performance of DS-LSR1 on a neural network training task (Figure 7). We should note upfront that the goal of this section is not to achieve state-of-the-art performance and compare against algorithms that can achieve this, rather to show that the method is communication efficient and scalable.222All algorithms were implemented in Python (PyTorch library), using the MPI for Python distributed environment. The experiments were conducted on XSEDE clusters using GPU nodes. Each physical node includes 4 K80 GPUs, and each MPI process is assigned to a distinct GPU. Code available at: https://github.com/OptMLGroup/DSLSR1.
4.1 Scaling
Weak Scaling
We considered two different types of networks: Shallow (one hidden layer), and Deep (7 hidden layers), and for each varied the number of neurons in the layers (MNIST dataset [26], memory ). Figure 4 shows the time per iteration for DS-LSR1 for different number of variables and batch sizes.
Strong Scaling
We fix the problem size (LeNet, CIFAR10, [26]), vary the number of nodes and measure the speed-up achieved. Figure 5 illustrates the relative speedup (normalized speedup of each method with respect to the performance of that method on a single node) of the DS-LSR1 method and the naive variant for . The DS-LSR1 method achieves near linear speedup as the number of nodes increases, and the speedup is better than that of the naive approach. We should note that the times of our proposed method are lower than the respective times for the naive implementation. The reasons for this are: DS-LSR1 is inverse free, and the amount of information communicated is significantly smaller.
Scaling of Different Components of DS-LSR1
We deconstruct the main components of the DS-LSR1 method and illustrate the scaling (per iteration) with respect to memory size. Figure 6 shows the scaling for: reduce time; total time; CG time; time to sample , pairs. For all these plots, we ran iterations, averaged the time and also show the variability. As is clear, our proposed method has lower times for all components of the algorithm. We attribute this to the aforementioned reasons.
4.2 Performance of DS-LSR1
In this section, we show the performance of DS-LSR1 on a neural network training task; LeNet [26], CIFAR10, , , . Figure 7 illustrates the training accuracy in terms of wall clock time and amount of data (GB) communication (left and center plots), for different number of nodes. As expected, when using larger number of compute nodes training is faster. Similar results were obtained for testing accuracy. We also plot the performance of the naive implementation (dashed lines) in order to show that: the accuracy achieved is comparable, and one can train faster using our proposed method.
Finally, we show that the curvature pairs chosen by our approach are almost identical to those chosen by the naive approach even though we use an approximation (via sketching) when checking the SR1 condition. Figure 7 (right plot), shows the Jaccard similarity for the sets of curvature pairs selected by the methods; the pairs are almost identical, with differences on a few iterations.
5 Final Remarks
This paper describes a scalable distributed implementation of the sampled LSR1 method which is communication-efficient, has favorable work-load balancing across nodes and that is matrix-free and inverse-free. The method leverages the compact representation of SR1 matrices and uses sketching techniques to drastically reduce the amount of data communicated at every iteration as compared to a naive distributed implementation. The DS-LSR1 method scales well in terms of both the dimension of the problem and the number of data points.
Acknowledgements
This work was partially supported by the U.S. National Science Foundation, under award numbers NSF:CCF:1618717, NSF:CMMI:1663256 and NSF:CCF:1740796, and XSEDE Startup grant IRI180020.
Appendix 0.A Theoretical Results and Proofs
In this section, we prove a theoretical result about the matrix .
Lemma 1
The matrix , for , has the form:
[TABLE]
where and , and , and is nonsingular. Moreover, its inverse can be calculated as following:
[TABLE]
where .
Proof
It is trivial to show that shown in (0.A.1) is equivalent to the corresponding matrix in (2.3). Moreover, the second part of the lemma follows immediately from the fact that is itself non-singular and symmetric as shown in [12]. Lets consider the following matrix :
[TABLE]
We know that is invertible, and in the following by simple linear algebra, we calculate the inverse of :
[TABLE]
The last line is by putting .
Lemma 1 describes a recursive method for computing , for . Specifically, one can calculate using . We should note, that the first matrix is simply a number. Overall, this procedure allows us to compute without explicitly computing an inverse.
Appendix 0.B Additional Algorithm Details
In this section, we present additional details about the S-LSR1 and DS-LSR1 algorithms discussed in the Sections 2 and 3.
0.B.1 CG Steihaug Algorithm - Serial
In this section, we describe CG-Steihaug Algorithm [30] which is used for computing the search direction .
0.B.2 CG Steihaug Algorithm - Distributed
In this section, we describe a distributed variant of CG Steihaug algorithm that is used as a subroutine of the DS-LSR1 method. The manner in which Hessian vector products are computed was discussed in Section 3.
0.B.3 Trust-Region Management Subroutine
In this section, we present the Trust-Region management subroutine . See [30] for further details.
0.B.4 Load Balancing
In distributed algorithms, it is very important to have work-load balancing across nodes. In order for an algorithm to be scalable, every machine (worker) should have similar amount of assigned computation, and each machine should be equally busy. According to Amdahl’s law [33] if the parallel/distributed algorithm runs portion of time only on one of the machines (e.g., the master node), the theoretical speedup (SU) is limited to at most
[TABLE]
As is clear from Tables 2 and 3, the DS-LSR1 method makes each machine almost equally busy, and as a result DS-LSR1 has a near linear speedup. On the other hand, in the naive DS-LSR1 approach the master node is significantly busier than the remainder of the nodes, and thus by Adamhl’s law, the speedup will not be linear and is bounded above by (0.B.1).
0.B.5 Communication and Computation Details
In this section, we present details about the quantities that are communicated and computed at every iteration of the distributed S-LSR1 methods. All the quantities below are in Tables 2 and 3.
0.B.6 Floats Communicated per Iteration
In this section, we should the number of floats communicated per iteration for DS-LSR1 and naive DS-LSR1 for different memory size and dimension.
Appendix 0.C Additional Numerical Experiments and Experimental Details
In this section, we present additional experiments and experimental details.
0.C.1 Initial Hessian Approximation
In this section, we show additional results motivating the use of . Figure 9, is identical to Figure 2. Figure 10 shows similar results for a larger problem. See [3] for details about the problems.
0.C.2 Shallow and Deep Network Details
In this section, we describe the networks used in the weak scaling experiments. For the problems corresponding to the Tables 5 and 6 we used ReLU activation functions and soft-max cross-entropy loss.
0.C.3 Weak Scaling
In this section, we show the weak scaling properties of DS-LSR1 for two different networks, different batch sizes and different number of variables.
0.C.4 Strong Scaling
In this section, we show the strong scaling properties of DS-LSR1 and naive DS-LSR1 for different memory sizes. The problem details for these experiments were as follows: LeNet, CIFAR10, , [26].
0.C.5 Scaling of Different Components of DS-LSR1
In this section, we show the scaling properties of the different components of the DS-LSR1 method and compare with the naive distributed implementation. We deconstruct the main components of the DS-LSR1 method and illustrate the scaling with respect to memory. Specifically, we show the scaling for: reduce time/iteration; time/iteration; CG time/iteration; time to sample , pairs/iteration. For all these plots, we ran iterations and averaged the time, and also show the variability.
0.C.6 Performance of DS-LSR1
In this section, we show training and testing accuracy in terms of wall clock time and amount of data communicated (in GB).
The reference list from the paper itself. Each links out to its DOI / PubMed record.
- 1[1] Agarwal, A., Chapelle, O., Dudík, M., Langford, J.: A reliable effective terascale linear learning system. Journal of Machine Learning Research 15 , 1111–1133 (2014)
- 2[2] Berahas, A.S., Bollapragada, R., Nocedal, J.: An investigation of newton-sketch and subsampled newton methods. ar Xiv preprint ar Xiv:1705.06211 (2017)
- 3[3] Berahas, A.S., Jahani, M., Takác, M.: Quasi-newton methods for deep learning: Forget the past, just sample. ar Xiv preprint ar Xiv: 1901.09997 (2019)
- 4[4] Berahas, A.S., Nocedal, J., Takác, M.: A multi-batch l-bfgs method for machine learning. In: Neur IPS. pp. 1055–1063 (2016)
- 5[5] Berahas, A.S., Takáč, M.: A robust multi-batch l-bfgs method for machine learning. Optimization Methods and Software 35 (1), 191–219 (2020)
- 6[6] Bollapragada, R., Byrd, R.H., Nocedal, J.: Exact and inexact subsampled newton methods for optimization. IMA Journal of Numerical Analysis (2016)
- 7[7] Bottou, L.: Large-scale machine learning with stochastic gradient descent. In: Proceedings of COMPSTAT’2010, pp. 177–186. Springer (2010)
- 8[8] Bottou, L., Cun, Y.L.: Large scale online learning. In: Neur IPS. pp. 217–224 (2004)
