Cirrus: A Serverless Framework For End-to-end ML Workflows

1y ago
7 Views
1 Downloads
4.32 MB
12 Pages
Last View : 9d ago
Last Download : 3m ago
Upload by : Axel Lin
Transcription

Cirrus: a Serverless Framework for End-to-end ML WorkflowsJoao CarreiraPedro FonsecaAlexey TumanovUniversity of California, Berkeleyjoao@berkeley.eduPurdue Universitypfonseca@purdue.eduGeorgia Institute of Technologyatumanov@gatech.eduAndrew ZhangRandy KatzUniversity of California, Berkeleyandrewmzhang@berkeley.eduUniversity of California, Berkeleyrandykatz@berkeley.eduABSTRACT1Machine learning (ML) workflows are extremely complex. The typical workflow consists of distinct stages of user interaction, such aspreprocessing, training, and tuning, that are repeatedly executedby users but have heterogeneous computational requirements. Thiscomplexity makes it challenging for ML users to correctly provision and manage resources and, in practice, constitutes a significantburden that frequently causes over-provisioning and impairs userproductivity. Serverless computing is a compelling model to address the resource management problem, in general, but there arenumerous challenges to adopt it for existing ML frameworks dueto significant restrictions on local resources.This work proposes Cirrus—an ML framework that automatesthe end-to-end management of datacenter resources for ML workflows by efficiently taking advantage of serverless infrastructures.Cirrus combines the simplicity of the serverless interface and thescalability of the serverless infrastructure (AWS Lambdas and S3)to minimize user effort. We show a design specialized for bothserverless computation and iterative ML training is needed for robust and efficient ML training on serverless infrastructure. Ourevaluation shows that Cirrus outperforms frameworks specializedalong a single dimension: Cirrus is 100x faster than a general purpose serverless system [36] and 3.75x faster than specialized MLframeworks for traditional infrastructures [49].The widespread adoption of ML techniques in a wide-range of domains, such as image recognition, text, and speech processing, hasmade machine learning one of the leading revenue-generating datacenter workloads. Unfortunately, due to the growing scale of theseworkloads and the increasing complexity of ML workflows, developers are often left to manually configure numerous system-levelparameters (e.g., number of workers/parameter servers, memoryfootprint, amount of compute, physical topology), in addition to theML-specific parameters (learning rate, algorithms, neural networkstructure).Importantly, modern ML workflows are iterative and increasingly comprised of multiple heterogeneous stages, such as (a) preprocessing, (b) training, and (c) hyperparameter searching. As aresult, due to the iterative nature and diversity of stages, the endto-end ML workflow is highly complex for users and demanding interms of resource provisioning and management, detracting usersfrom focusing on ML specific tasks—the domain of their expertise.The complexity of ML workflows leads to two problems. First,when operating with coarse-grained VM-based clusters the provisioning complexity often leads to overprovisioning. AggregateCPU utilization levels as low as 20% are not uncommon [27, 45].Second, the management complexity is increasingly an obstacle forML users because it hinders the interactive and iterative use-cases,degrading user productivity and model effectiveness.This work proposes Cirrus, a distributed ML training frameworkthat addresses these challenges by leveraging serverless computing. Serverless computing relies on the cloud infrastructure, not theusers, to automatically address the challenges of resource provisioning and management. This approach relies on a more restricted unitof computation, the stateless lambda function, which is submittedby developers and scheduled to execute by the cloud infrastructure.Thus, obviating the need for users to manually configure, deploy,and manage long-term compute units (e.g., VMs). The advantagesof the serverless paradigm have promoted its fast adoption by datacenters and cloud providers [2, 5, 6, 9, 10, 15] and open sourceplatforms [8, 16, 18, 32].However, the benefits of serverless computing for ML hinge onthe ability to run ML algorithms efficiently. The main challenge inleveraging serverless computing is the significantly small local resource constraints (memory, cpu, storage, network) associated withlambda functions, which is fundamental to serverless computationbecause the fine-granularity of computation units enables scalability and flexibility. In contrast, existing ML systems commonly assume abundant resources, such as memory. For instance, Spark [51]and Bosen [49, 50] generally load all training data into memory.CCS CONCEPTS Computer systems organization Cloud computing; Computing methodologies Distributed programming languages.KEYWORDSServerless, Distributed Computing, Machine LearningACM Reference Format:Joao Carreira, Pedro Fonseca, Alexey Tumanov, Andrew Zhang, and RandyKatz. 2019. Cirrus: a Serverless Framework for End-to-end ML Workflows.In SoCC ’19: ACM Symposium of Cloud Computing conference, Nov 20–23,2019, Santa Cruz, CA. ACM, New York, NY, USA, 12 pages.Permission to make digital or hard copies of all or part of this work for personal orclassroom use is granted without fee provided that copies are not made or distributedfor profit or commercial advantage and that copies bear this notice and the full citationon the first page. Copyrights for components of this work owned by others than ACMmust be honored. Abstracting with credit is permitted. To copy otherwise, or republish,to post on servers or to redistribute to lists, requires prior specific permission and/or afee. Request permissions from permissions@acm.org.SoCC ’19, November 20-23, Santa Cruz, CA 2019 Association for Computing Machinery.ACM ISBN 978-1-4503-9999-9/18/06. . . 15.00DOI: 10.1145/3357223.336271113INTRODUCTION

SoCC ’19, November 20-23, Santa Cruz, CACarreira, et lDatasetPreprocessingModel odelmodel’ - ηmodelFigure 2: Distributed stochastic gradient descent training with paFigure 1:Typical end-to-end machine learning workflow.(1) dataset preprocessing typically involves an expensivemap/reduce operation on data. It is common to take multiplepasses over data, e.g., when normalization is required. (2) modeltraining (parameter server). Workers consume data shards,compute gradients, and synchronize with a parameter server.(3) hyperparameter optimization to tune model and trainingparameters involves running multiple training instances, eachconfigured with a different set of tuning parameters.rameter server. The parameter server iteratively computes a newmodel based on the model gradients it receives from workers. Workers then compute new model gradients from a subset of trainingdata (minibatch) and the model distributed by the parameter server.This iterative process continues until the model converges.through a combination of (a) streaming training minibatches fromremote storage and (b) redesigning the distributed training algorithms to work robustly in the serverless environment. Third, Cirrus adopts stateless worker architecture, which allows the systemto efficiently handle frequent worker departure and arrival as expected behavior rather than an exception. Cirrus provides thebest of both serverless-specialized and ML-specialized frameworksthrough the combined benefit of different contributions, e.g., a dataprefetching iterator (10x speedup). This yields a 3.75x improvementon time-to-accuracy compared to the best-performing configuration ML specialized frameworks [19, 49] (§6.2) and 100x comparedto the best-performing configuration of PyWren (§6.5).Similarly, some frameworks require data to be sharded or replicatedacross all workers, implicitly assuming resource longevity for theduration of long-running compute.Frameworks specifically designed to deal with the resource limitations of serverless infrastructures have been proposed. However,we find that they face fundamental challenges when used for MLtraining tasks out of the box; in addition to having no support forML workflows. As an example, PyWren [36] uses remote storagefor intermediate computation results, adding significant overheadsto fine-grain iterative compute tasks which are typical of ML workloads. Importantly, the reliance on external storage by such frameworks is fundamental to their design, enabling them to scale to largedata-intensive jobs (e.g., map-reduce computations). However, weobserve that ML workflow computations are heterogeneous and involve frequent fine-grained communication between computationalnodes which requires a novel design to ensure efficiency.Importantly, Cirrus is designed to efficiently support the entire ML workflow. In particular, Cirrus supports fine-grain, dataintensive serverless ML training and hyperparameter optimizationefficiently. Based on the parameter server model (see Figure 2),Cirrus provides an easy-to-use interface to perform scalable MLtraining leveraging the high scalability of serverless computationenvironments and cloud storage. Cirrus unifies the benefits ofspecialized serverless frameworks with the benefits of specializedML training frameworks and provides an easy-to-use interface (§4)that enables typical ML training workflows and supervised learningalgorithms (e.g., Logistic Regression, Collaborative Filtering) forend-to-end ML workflows on serverless infrastructure.Cirrus builds on three key design properties. First, Cirrus provides an ultra-lightweight ( 80MB vs 800MB for PyWren’s runtime)worker runtime that adapts to the full range of lambda granularity,providing mechanisms for ML developers to find the configurationthat best matches their time or cost budget. Second, Cirrus saveson the cost of provisioning large amounts of memory or storage—atypical requirement for ML training frameworks. This is achieved2 DEMOCRATIZING MACHINE LEARNING2.1 End-to-end ML Workflow ChallengesMachine learning researchers and developers execute a number ofdifferent tasks during the process of training models. For instance,a common workflow consists of dataset preprocessing, followed bymodel training and finally by hyperparameter tuning (Figure 1). Inthe dataset preprocessing phase, developers apply transformations(e.g., feature normalization or hashing) to datasets to improve theperformance of learning algorithms. Subsequently, in the modeltraining phase, developers coarsely fit a model to the dataset, withthe goal of finding a model that performs reasonably well and converges to an acceptable accuracy level. Finally, in the hyperparameter tuning phase, the model is trained multiple times with varyingML-parameters to find the parameters that yield best results.ML training tasks have been traditionally deployed using systemsdesigned for clusters of virtual execution environments (VMs) [19,20, 26, 49, 51]. However, such designs create two important challenges for users: (a) they can lead to over-provisioning (b) theyrequire explicit resource management by users.Over-provisioning. The heterogeneity of the different tasks in anML workflow leads to a significant resource imbalance during the execution of a training workflow. For instance, the coarse-granularityand rigidity of VM-based clusters as well as the design of the MLframeworks specialized for these environments causes developers14

Cirrus: a Serverless Framework for End-to-end ML WorkflowsUser responsibilityDescriptionSharding dataConfiguring storage systemsDistribute datasets across VMsSetup a storage system (e.g.,NFS)Choosing OS and driversInstall ML training frameworksMonitor VMs for errorsChoosing VM typesMake VMs inter-connectKeep libraries up-to-dateAdapt to workload changesConfiguring OS/driversDeploying frameworksMonitoringChoosing VM configurationSetup network connectionsUpgrading systemsScaling up and downSoCC ’19, November 20-23, Santa Cruz, CAconstraints in mind. For instance, we have not been able to runTensorflow [19] or Spark [51] on AWS lambdas or on VMs withsuch resource-constrained configurations.Low bandwidth and lack of P2P communication. Lambda functions have limited available bandwidth when compared with a regular VM. We find that the largest AWS Lambda can only sustain60MB/s of bandwidth, which is drastically lower than 1GB/s of bandwidth available even in medium-sized VMs. Further restrictionsare imposed on the communication topology. Serverless computeunits such as AWS Lambdas do not allow peer-to-peer communication. Thus, common communication strategies used for datacenterML, such as tree-structured or ring-structured AllReduce communication [43], become impossible to implement efficiently in suchenvironments.Table 1: Typical responsibilities ML users face when using acluster of VMs.Short-lived and unpredictable launch times. Lambda functionsare short-lived and their launch times are highly variable. For instance, AWS lambdas can take up to several minutes to start afterbeing launched. This means that during training, lambdas start atunpredictable times and can finish in the middle of training. Thisrequires ML runtimes for lambdas to tolerate the frequent departureand arrival of workers. Furthermore, it makes runtimes such as MPI(used, for instance, by Horovod [47] and Multiverso [7]) a bad fitfor this type of architecture.to frequently over-provision resources for peak consumption, whichleads to significant waste of datacenter resources [27, 45]. The overprovisioning problem is exacerbated by the fact that, in practice,developers repeatedly go back and forth between different stagesof the workflow to experiment with different ML parameters.Explicit resource management. The established approach of exposing low-level VM resources, such as storage and CPUs, puts asignificant burden on ML developers who are faced with the challenge of provisioning, configuring, and managing these resourcesfor each of their ML workloads. Thus, systems that leverage VMs formachine learning workloads generally require users to repeatedlyperform a series of onerous tasks we summarize in Table 1. In practice, over-provisioning and explicit resource management burdenare tightly coupled—ML users often resort to over-provisioning dueto the difficulty and human cost of accurately managing resourceallocation for the different stages of their training workflow.Lack of fast shared storage. Because lambda functions cannotconnect between themselves, shared storage needs to be used. Because ML algorithms have stringent performance requirements,this shared storage needs to be low-latency, high-throughput, andoptimized for the type of communications in ML workloads. However, as of today there is no fast serverless storage for the cloudthat provides all these properties.32.2CIRRUS DESIGNServerless ComputingCirrus is an end-to-end framework specialized for ML training inserverless cloud infrastructures (e.g., Amazon AWS Lambdas). Itprovides high-level primitives to support a range of tasks in MLworkflows: dataset preprocessing, training, and hyperparameteroptimization. This section describes its design and architecture.Serverless computing is a promising approach to address theseresource-provisioning challenges [31, 35]. It simultaneously simplifies deployment with its intuitive interface and provides mechanisms to avoid over-provisioning, with its fine-grain serverlessfunctions that can run with as few as 128MB of memory (spatialgranularity) and time out in a few minutes (temporal granularity).This ensures natural elasticity and agility of deployment. However,serverless design principles are at odds with a number of designprinciples of existing ML frameworks today. This presents a set ofchallenges in adopting serverless infrastructures for ML trainingworkflows. This section discusses the major limitations of existingserverless environments and the impact they have for machinelearning systems.3.1Design PrinciplesAdaptive, fine-grained resource allocation. To avoid resourcewaste that arises from over-provisioning, Cirrus should flexiblyadapt the amount of resources reserved for each workflow phasewith fine-granularity.Stateless server-side backend. To ensure robust and efficient management of serverless compute resources, Cirrus, by design, operates a stateless, server-side backend (Figure 3). The informationabout currently deployed functions and the mapping between MLworkflow tasks and compute units is managed by the client-sidebackend. Thus, even when all cloud-side resources become unavailable, the ML training workflow does not fail and may resume itsoperation when resources become available again.Small local memory and storage. Lambda functions, by design,have very limited memory and local storage. For instance, AWSlambdas can only access at most 3GB of local RAM and 512MB oflocal disk. It is common to operate with lambdas provisioned foras little as 128MB of RAM. This precludes the strategy often usedby many machine learning systems of replicating or sharding thetraining data across many workers or of loading all training datainto memory. These resource limitations prevent the use of anycomputation frameworks that are not designed with these resourceEnd-to-end serverless API. Model training is not the only important task an ML researcher has to perform. Dataset preprocessing,feature engineering, and parameter tuning are other examples of15

SoCC ’19, November 20-23, Santa Cruz, CADashboardPython APIClient FrontendPreproc. Training TuningCreate/Stop TaskClient BackendLambdaTaskManagerSchedulerCarreira, et al.Lambda WorkerData iterator APIMinibatch bufferSparse LR Mat. Fact. LDAData store client APIsystem-level resources. For instance, developers can run experiments with thousands of concurrent workers without having toprovision any of those resources. Last, the Cirrus Python packageprovides a user interface through which developers can visualizethe progress of their work.The Cirrus Python API is divided in three submodules. Eachsubmodule packages all the functions and classes related to eachone of the stages of the workflow.putget(gradient) (model)Data storePS APIKey-value APISGD Adagrad ModelsMomentum Key-valuesClient side(stateful)Preprocessing. The preprocessing submodule allows users to preprocess training datasets stored in S3. This submodule allows different types of dataset transformations: min-max scaling, standardization, and feature hashing.Server side(stateless)Training. Cirrus’s training submodule supports ML models thatcan be trained with stochastic gradient descent. Currently Cirrussupports Sparse Logistic Regression, Latent Dirichlet Allocation,Softmax and Collaborative Filtering.Figure 3: Cirrus system architecture. The system consistsof the (stateful) client-side (left) and the (stateless) serverside (right). The client-side contains a user-facing frontendAPI and supports preprocessing, training, and tuning. Theclient-side backend manages cloud functions and the allocation of tasks to functions. The server-side consists of theLambda Worker and the high-performance Data Store components. The lambda worker exports the data iterator APIto the client backend and contains efficient implementationfor a number of iterative training algorithms. The data storeis used for storing gradients, models, and intermediate preprocessing results.Hyperparameter optimization. The hyperparameter optimization submodule allows users to run a grid search over a given setof parameters. Cirrus allows users to vary both ML training parameters (e.g., learning rate, regularization rate, minibatch size) aswell as system parameters (e.g., lambda size, # concurrent workers,filtering of gradients). Cirrus can parallelize this task.3.2.2 Client-side backend. The Python frontend provides an interface to Cirrus’s client backend. This backend sits behind thefrontend and does a number of tasks: parse training data and loadit to S3, launch the Cirrus workers on lambdas, manage the distributed data store, keep track of the progress of computations andreturn results to the Python frontend once computations complete.There is a module in the backend for every stage of the workflow(preprocessing, training, and hyperparameter optimization). Thesemodules have logic specific to each stage of the workflow and knowwhich tasks to launch. They also delegate to the low-level schedulerthe responsibility to launch, kill and regenerate tasks. The low-levelscheduler keeps track of the state of all the tasks.tasks equally important for yielding good models. Cirrus shouldprovide a complete API that allows developers to run these tasks atscale with minimal efforts.High scalability. ML tasks are highly compute intensive, and thuscan take a long time to complete without efficient paralellization.Hence, Cirrus should be able to run thousands of concurrent workers and hundreds of concurrent experiments.3.23.2.3 Worker runtime. Cirrus provides a runtime that encapsulates all the functions that are shared between the different computations the system supports. This simplifies the development of newalgorithms. The system runtime meets two goals: 1) lightweight, torun within memory-constrained lambdas, and 2) high-performance,to mitigate communication and computation overheads exacerbatedby serverless infrastructures.The worker runtime provides two interfaces. First, it providesa smart iterator for training datasets stored in S3. This iteratorprefetches and buffers minibatches in the lambda’s local memoryin parallel with the worker’s computations to mitigate the highlatency ( 10ms) of accessing S3. Second, it provides an API forthe distributed data store. This API implements: data compression,sparse transfers of data, asynchronous communication and shardingacross multiple nodes.Cirrus Building BlocksCirrus makes use of three system building blocks to achieve theaforementioned principles. First, Cirrus provides a Python frontend for ML developers. This frontend has two functions: a) providea rich API for all stages of ML training, and b) execute and manage computations at scale in serverless infrastructure. Second, toovercome the lack of offerings for low-latency serverless storage,Cirrus provides a low-latency, distributed data store for all intermediate data shared by the workers. Third, Cirrus providesa worker runtime that runs on serverless lambdas. This runtimeprovides efficient interfaces to access training datasets in S3 andintermediate data in the distributed data store.3.2.1 Python frontend. Cirrus provides an API for all stages ofthe ML workflow that is practical and easy to use by the broaderML community for three reasons. First, the API is totally containedwithin a Python package. Because many existing frameworks aredeveloped in Python or have Python interfaces (e.g., Tensorflow,scikit-learn), developers can transition easily. Second, the CirrusAPI provides a high-level interface that abstracts the underlying3.2.4 Distributed data store. Cirrus’s data store serves the purpose of storing intermediate data to be shared by all workers. Because inter-communication between lambdas is not allowed inexisting offerings, lambdas require a shared storage. A storage forserverless lambdas needs to meet three goals. First, it needs to be16

Cirrus: a Serverless Framework for End-to-end ML WorkflowsAPIint send gradient X(ModelGradient* g)SparseModel get sparse model X(const std::vector int & indices)Model get full model X()set value(string key, char* data, intsize)std::string get value(string key)SoCC ’19, November 20-23, Santa Cruz, CADescriptionAWS Lambda ChallengesSends model gradientLimited lifetime (e.g., 15 min)Cirrus System DesignStateless workers coordinatethrough data storeMemory-constrainedRuntime prefetches minibatches(e.g., 128MB)from remote storeHigh-variance start timeRuntime tolerates late workersStateful frontend coordinates workNo P2P connectionsers through data storeLack of low-latency serverless stor- Data store with parameter-serverage with rich API for MLand key-value APIGet subset of modelGet all model weightsSet intermediate stateGet intermediate stateTable 2: Cirrus’s data store provides a parameter-serverstyle interface optimized for communication of models andgradients. Cirrus’s interfaces to send gradients and getmodel weights are specialized to each model to achieve thehighest performance. The data store also provides a generalkey-value interface for other intermediate state.Table 3: Technical challenges of using lambda functions inAmazon AWS and Cirrus’s design choices that address themFor these transformations, Cirrus launches a large map-reducejob – one worker per input partition. In the map phase, each workercomputes statistics for its partition (e.g., mean and standard deviation). In the reduce phase, these local statistics are aggregatedto compute global statistics. In the final map-phase, the workerstransform each partition sample given the final per-column statistics. For large datasets, the map and reduce phase aggregatesper-column statistics across a large number of workers and columns.This generates a large number of new writes and reads per second,beyond the transactions throughput supported by S3. For this reason, we use Cirrus’s low-latency distributed data store to store theintermediate results of the maps and reduces.low-latency (we achieve as low as 300µs) to be able to accommodatelatency-sensitive workloads such as those used for ML training(e.g., iterative SGD). Second, it needs to scale to hundreds of workers to take advantage of the almost linear scalability of serverlessinfrastructures. Third, it needs to have a rich interface (Table 2) tosupport different ML use cases. For instance, it’s important thatthe data store supports multiget (§6.5), general key/value put/getoperations, and a parameter-server interface.To achieve low-latency, we deploy our data store in cloud VMs. Itachieves latencies as low as 300µs versus 10ms for AWS S3. Thislatency is critical to maximize system updates/sec for model updatesduring training.We use sparse representations for gradients andmodels, to achieve up to 100x compression ratio for data exchangewith the store, and batch requests.To achieve high scalability Cirrus includes the following mechanisms: (1) sharded store, (2) highly multithreaded, (3) data compression, (4) gradient filters, and (5) asynchronous communication.3.33.3.2 Model training. For model training Cirrus uses a distributed SGD algorithm. During training workers run on lambdafunctions and are responsible for iteratively computing gradientsteps. Every gradient computation requires two inputs: a minibatchand the most up-to-date model. The minibatches are fetched fromS3 through the Cirrus’s runtime iterators. Because the iteratorbuffers minibatches within the worker’s memory, the latency toretrieve a minibatch is very low. The most up-to-date model isretrieved synchronously from the data store using the data storeAPI (get sparse model X ).For every iteration each worker computes a new gradient. Thisgradient is then sent asynchronously to the data store (send gradient X )to update the model.End-to-End ML Workflow StagesThis section describes in detail the computations Cirrus performs.We structure this according to the different stages of the workflow.3.3.1 Data Loading and Preprocessing. Cirrus assumes training data is stored in a global store such as S3. For that reason, thevery first step when using Cirrus is to upload the dataset to thecloud. The user passes the path of the dataset to the system whichthen takes care of parsing and uploading it. In this process, Cirrustransforms the dataset from its original format (e.g., csv) into abinary format. This compression eliminates the need for deserialization during the training and hyperparameter tuning phaseswhich helps reduce the compute load in the lambda workers. Second, Cirrus generates similarly-sized partitions of the dataset anduploads them to an S3 bucket.Cirrus can also apply transformations to improve the performance of models. For instance, for the asynchronous SGD optimization methods Cirrus implements, training is typically moreeffective after features in the dataset have been normalized. Becausenormalization is a recurrent data transformation for the trainingmodels Cirrus provides, the system allows users to do differenttypes of per-column normalization such as min-max scaling.3.3.3 Hyperparameter optimization. Hyperparameter optimization is a search for model parameters that yield the best accuracy. A typical practice is to perform a grid search over the multidimensional parameter space. The search may be brute-force oradaptive. It is common to let the grid search run to completion inits entirety and post-process the results to find the best configuration. This is a costly source of resource waste. Cirrus obviates thisover-provisioning over time by providing a hyperparameter searchdashboard. Cirrus hyperparameter dashboard provides a unified interface for monitoring a model’s loss convergence over time. It letsthe user select individual loss curves and terminate the corresponding training experiment. Note that this scopes the termination tothe appropriate set of serverless functions, and provides immediatecost savings. Thus, Cirrus offers (a) the API and execution backendfor launching a hyperparameter search, (b) the dashboard for monitoring model accuracy convergence, (c) the ability to terminateindividual tuning experiments and save on over-provisioning costs.17

SoCC ’19, November 20-23, Santa Cruz, CACarreira, et al.cirrus.load libsvm(local path, s3 input)params {'n workers': 5,'n ps': 1,'worker size': 1024,'dataset': s3 output,'epsilon': 0.0001,'timeout': 20 * 60,'model size': 2**19,}cirrus.normalize(s3 input, s3 output,MIN MAX SCALING)lr task cirrus.LogisticRegression(params)result lr task.run()import cirrusimport numpy as nplocal path "local criteo"s3 input "criteo dataset"s3 output "cri

Importantly, Cirrus is designed to efficiently support the en-tire ML workflow. In particular,Cirrus supports fine-grain, data-intensive serverless ML training and hyperparameter optimization efficiently. Based on the parameter server model (see Figure 2), Cirrus provides an easy-to-use interface to perform scalable ML

Related Documents:

AWS Serverless Application Model Developer Guide Benefits of using AWS SAM What is the AWS Serverless Application Model (AWS SAM)? The AWS Serverless Application Model (AWS SAM) is an open-source framework that you can use to build serverless applications on AWS.

Hacking Serverless Runtimes Serverless technology is getting increasingly ubiquitous in the enterprise and startup communities. As micro-services multiply and single purpose services grow, how do you audit and defend serverless runtimes? The advantages of serverless runtimes are clear: increased

3011 Cirrus Tile Sq LayIn DS_109:85_86 Cirrus Square LayIn 12/17/08 12:45 PM Page 85. Physical Data . CIRRUS Beveled Tegular with SUPRAFINE 9/16″ Exposed Tee grid; SOUNDSOAK . the closed-loop Armstrong Ceiling Recycling Program.

Cirrus Design, Duluth, MN 55811 1.5 Transition Training Kits To ensure successful transition of pilots into the Cirrus aircraft, each pilot will need a Cirrus aircraft transition training kit prior to the start of the transition course. This kit includes the following: 1. Training Guide (this binder) 2. Cirrus Aircraft Training Software (CATS) 3.

STEP 3: Connecting with Lorex Cirrus Connect to your system using the free Lorex Cirrus app for smartphones and tablets (iOS and Android). To Connect with Lorex Cirrus 1. Download and install the free Lorex Cirrus app from the App Store or Google Play Store (Or scan QR code on the front page). 2. Tap the Lorex Cirrus icon to launch the app. 3.

tropopause cirrus. This threshold produces cirrus distributions which compare favorably with the near-tropopause tropical cirrus distributions in the Wang et al. (1996) cirrus climatology compiled from five years worth of SAGE II data. At higher levels in the tropics above about 14.5 kan the vast majority of SAGE II observations involve .

Bruksanvisning för bilstereo . Bruksanvisning for bilstereo . Instrukcja obsługi samochodowego odtwarzacza stereo . Operating Instructions for Car Stereo . 610-104 . SV . Bruksanvisning i original

Agile software development refers to a group of software development methodologies based on iterative development, where requirements and solutions evolve through collaboration between self-organizing cross-functional teams. The term was coined in 2001 when the Agile Manifesto was formulated. Different types of agile management methodologies can be employed such as Extreme Programming, Feature .