SYSTEMS AND METHODS FOR REDUCING CARBON EMISSIONS FROM MACHINE LEARNING COMPUTATIONAL TASKS

A computer system is provided. The computer system includes a scheduling computing device configured to receive computational task data defining a computational task to be performed, retrieve site data corresponding to each of a plurality of data processing computing devices, select, based on the computational task data and the site data, i) a first computational algorithm for executing the computational task, ii) a first data processing computing device of the plurality of data processing computing devices, and iii) at least one time period for executing the first computational algorithm by the first data processing computing device, wherein the first computational algorithm, the first data processing computing device, and the at least one time period are selected to facilitate reducing carbon dioxide emissions associated with executing the computational algorithm, and instruct the first data processing computing device to execute the first computational algorithm during the at least one time period.

BACKGROUND

The field of the invention relates generally to computer systems that perform computational learning tasks, such as machine learning (ML), artificial intelligence (AI), computational fluid dynamics simulations, and other computation and learning tasks, and more particularly, to systems and methods for reducing carbon dioxide emissions resulting from execution of computational learning tasks.

Computational learning tasks such as ML and AI are ubiquitous in many applications. However, increases in, for example training data size and model size have required increases in computational resources required to train a ML model. ML is an energy intensive computational task, and because computing resources are often powered by carbon dioxide-emitting sources, executing an ML tasks may result in large amounts (e.g., over 500 metric tons) of carbon dioxide emissions and/or other undesirable emissions. Accordingly, a system capable of reducing carbon dioxide emissions associated with performing ML tasks while maintaining desired performance characteristics (e.g., accuracy) of the ML model is desirable.

BRIEF DESCRIPTION

In one aspect, a computer system is provided. The computer system includes a plurality of data processing computing devices. Each of the plurality of data processing computing devices is configured to execute one or more computational algorithms. The computer system further includes a scheduling computing device including a memory and a processor in communication with the memory and the plurality of data processing computing devices. The processor is configured to receive computational task data defining a computational task to be performed. The processor is further configured to retrieve site data corresponding to each of the plurality of data processing computing devices. The site data specifies an expected carbon dioxide emission associated with use of each of the plurality of data processing computing devices. The processor is further configured to select, based on the computational task data and the site data, i) a first computational algorithm for executing the computational task, ii) a first data processing computing device of the plurality of data processing computing devices, and iii) at least one time period for executing the first computational algorithm by the first data processing computing device, wherein the first computational algorithm, the first data processing computing device, and the at least one time period are selected to facilitate reducing carbon dioxide emissions associated with executing the computational algorithm. The processor is further configured to instruct the first data processing computing device to execute the first computational algorithm during the at least one time period.

In another aspect, a method is provided. The method is performed by a scheduling computing device including a memory and a processor in communication with the memory and with a plurality of data processing computing devices. Each of the data processing computing devices is configured to execute one or more computational algorithms. The method includes receiving, by the scheduling computing device, computational task data defining a computational task to be performed. The method further includes retrieving, by the scheduling computing device, site data corresponding to each of the plurality of data processing computing devices. The site data specifies an expected carbon dioxide emission associated with use of each of the plurality of data processing computing devices. The method further includes selecting, by the scheduling computing device, based on the computational task data and the site data, i) a first computational algorithm for executing the computational task, ii) a first data processing computing device of the plurality of data processing computing devices, and iii) at least one time period for executing the first computational algorithm by the first data processing computing device, wherein the first computational algorithm, the first data processing computing device, and the at least one time period are selected to facilitate reducing carbon dioxide emissions associated with executing the computational algorithm. The method further includes instructing, by the scheduling computing device, the first data processing computing device to execute the first computational algorithm during the at least one time period.

In another aspect, a scheduling computing device is provided. The scheduling computing device includes a memory and a processor in communication with the memory and a plurality of data processing computing devices. Each of the plurality of data processing computing devices is configured to execute one or more computational algorithms. The processor is configured to receive computational task data defining a computational task to be performed. The processor is further configured to retrieve site data corresponding to each of the plurality of data processing computing devices. The site data specifies an expected carbon dioxide emission associated with use of each of the plurality of data processing computing devices. The processor is further configured to select, based on the computational task data and the site data, i) a first computational algorithm for executing the computational task, ii) a first data processing computing device of the plurality of data processing computing devices, and iii) at least one time period for executing the first computational algorithm by the first data processing computing device, wherein the first computational algorithm, the first data processing computing device, and the at least one time period are selected to facilitate reducing carbon dioxide emissions associated with executing the computational algorithm. The processor is further configured to instruct the first data processing computing device to execute the first computational algorithm during the at least one time period.

DETAILED DESCRIPTION

In example embodiments, a computer system for scheduling and executing ML tasks includes a plurality of data processing computing devices, each of which are configured to execute one or more machine learning (ML) algorithms. The data processing computing devices may be located at a plurality of different sites, with each of the sites receiving power from some combination of renewable and non-renewable (e.g., carbon-emitting) power sources. The percentage of power received from renewable or non-carbon-emitting sources may fluctuate or vary over time.

The computer system further includes a scheduling computing device including a memory and a processor that is in communication with the memory and with the plurality of data processing computing devices. The processor is configured to receive ML task data defining an ML task to be performed, and to retrieve site data corresponding to each of the plurality of data processing computing devices. The task data may include training data used to train a ML model, the specific task (regression, classification, clustering) to be executed, and/or a list of required ML model specifications. The site data specifies an expected carbon dioxide emission associated with use of each of the plurality of data processing computing devices at given times.

The scheduling computing device is further configured to select, based on the ML task data and the site data, i) a ML algorithm for executing the ML task, ii) a data processing computing device or location for performing the ML task, and iii) at least one time period for executing the first ML algorithm by the selected data processing computing device. The ML algorithm, data processing computing device, and time period are selected to reduce carbon dioxide emissions associated with executing the ML algorithm. For example, the ML algorithm, and a number of iterations for performing the ML algorithm, may be selected to maximize an accuracy of the ML model being generated per unit energy used or carbon dioxide emissions produced. The location and time period for executing the ML algorithm may be selected to maximize a percentage of power that is renewably sourced during execution of the ML algorithm, thereby reducing the resulting carbon dioxide emissions.

FIG.1is a block diagram illustrating an example computer system100. Computer system100includes a plurality of data processing computing devices102, each of which may be configured to execute one or more ML algorithms. Computer system further includes a scheduling computing device104, which includes a memory106, a processor108, and an input/output (I/O) interface110. I/O interface110is configured to enable scheduling computing device104to communicate with data processing computing devices via, for example, a local and/or cloud computing network. In some embodiments, I/O interface110further enables data to be input and/or output to scheduling computing device through, for example, a local user interface and/or via another computing device in communication with scheduling computing device104.

Data processing computing devices102are disposed at a plurality of different locations or sites. In some embodiments, data processing computing devices may be associated with or form part of data centers or other similar systems. Each location or site may receive power from some combination of renewable or non-renewable sources. The combination for each site may fluctuate over time. For example, the amount of renewable or non-renewable power available at a particular site may depend on a time of day, weather (e.g., for solar and/or wind sources), and other factors that change over time.

Scheduling computing device104is configured to store data referred to herein as “site data,” descriptive of data processing computing devices102and their respective sites. The site data may include information regarding data processing computing devices102such as, for example, hardware processing and storage capabilities. The site data may further include information that enables scheduling computing device104to predict, for a given time period, which types of power sources (e.g., renewable or non-renewable) are available to provide power to data processing computing device102. Accordingly, as described in further detail below, scheduling computing device104can predict, for a given computing or ML task, an amount of energy a data processing computing device102needs to complete the ML task, and in cases where at least some of the energy is supplied by non-renewable sources, carbon dioxide emissions associated with completing the ML task. The site data may be updated (e.g., periodically or continuously) based on various input sources such as, for example, data processing computing devices102, other computing devices associated with computer system100, and/or external data sources such as the Internet.

Scheduling computing device104is configured to receive task data relating to or defining a ML task to be executed by computer system100. The task data may include, for example, input and output data types, input data sets, a desired or required accuracy for the ML model, deadlines for completing the ML task, and/or other parameters or requirements relating to the ML task. In some embodiments, the task data further includes quality specifications (e.g., expected accuracy), datasets (e.g., including size, preprocessing, and/or feature selection), expected energy requirement, and/or expected computational time. In some embodiments, the task data further defines a priority for the ML task (e.g., HIGH, MEDIUM, and/or LOW), based on which the ML task may be prioritized with respect to other ML tasks during scheduling.

Based on the task data, scheduling computing device104is configured to select a ML algorithm for performing the ML task. Some examples of ML algorithms that may be performed include Bidirectional Encoder Representation from Transformers (BERT), Generative Pre-trained Transformer 2 (GPT-2), Generative Pre-trained Transformer 3 (GPT-3), Elmo, Meena, transformers, and/or other models. In some embodiments, additional algorithm specifications and/or quantifying parameters, such as hyperparameters (e.g., learning rate) and/or structural parameters (e.g., number of hidden layers) are determined. In some embodiments, scheduling computing device104is further configured to determine a number of iterations of the selected ML algorithm that need to be run in order to achieve a desired accuracy or perform optimally. To select the ML algorithm, scheduling computing device104is configured to compute an estimated energy requirement for each of a group of candidate ML algorithms, taking into account the number of iterations each candidate ML algorithm needs to be run. Scheduling computing device104is configured to select a ML algorithm from among the candidate ML algorithms based on the estimated energy requirement. For example, scheduling computing device104may select an ML algorithm that requires the least energy, or that provides the most accuracy per unit energy and/or unit of carbon dioxide emissions. As described in further detail below, in some embodiments, the ML algorithm is selected in conjunction with the location and time at which the ML algorithm is to be executed to optimize, for example, energy use and/or carbon dioxide emissions.

Model accuracy can be measured through many means, including loss functions, such as mean squared error or mean absolute error, that are generalizable on validation data sets (not part of training), or classification error rates for classification problems. Accuracy of unsupervised learning problems such as clustering can be determined through metrics such as Jensen Shannan distance or other means of determining the repeatability of learned solutions on draws of data from the source distribution.

Scheduling computing device104is further configured to select a data processing computing device102for executing the ML task. The particular data processing computing device102may be selected based on one or more the ML task data, the selected ML algorithm, site data relating to the data processing computing device102, a predicted energy use associated with executing the selected ML algorithm on the data processing computing device102, and/or an expected carbon dioxide emission associated with executing the selected ML algorithm. For example, in some embodiments, scheduling computing device104computes an energy requirement and/or carbon dioxide emission for executing the ML algorithm at each of a group of candidate data processing computing devices102, and selects a data processing computing device102from among a group of candidate data processing computing devices102based on the predicted energy requirement and/or carbon dioxide emission for each candidate data processing computing device102. For example, scheduling computing device104may select an ML algorithm that requires the least energy and/or will produce the least carbon dioxide emissions. As described in further detail below, in some embodiments, the data processing computing device102used to execute the ML algorithm is selected in conjunction with the ML algorithm and time at which the ML algorithm is to be executed to optimize, for example, energy use and/or carbon dioxide emissions.

Scheduling computing device104is further configured to select at least one time period for executing the ML task. In some embodiments, the ML task may be executed by multiple data processing computing devices102in parallel or serially during consecutive or non-consecutive time periods. To determine when to execute the ML task, scheduling computing device104considers the availability of renewable power over time. For example, scheduling computing device104may select a time period when more renewable power is expected to be available (e.g., based on time of day, weather conditions, or other factors) in order to reduce the amount of non-renewable power used and carbon dioxide emissions produced. Scheduling computing device104further considers the availability of each data processing computing device102based on already-scheduled tasks, and may reschedule tasks in order to optimize for energy use and/or carbon dioxide emissions. As described in further detail below, in some embodiments, the time period for executing the ML algorithm is selected in conjunction with the ML algorithm and the data processing computing device102at which the ML algorithm is to be executed to optimize, for example, energy use and/or carbon dioxide emissions.

To select, for example, the ML algorithm, the number of iterations for performing the ML algorithm, the data processing computing device102for executing the ML algorithm, and/or the time period for executing the ML algorithm, scheduling computing device104is configured to execute a constrained optimization problem that, for example, maximizes an accuracy of the ML algorithm per unit energy expected to be used and/or unit of carbon dioxide emissions expected to be produced. Constraints for the optimization problem may include factors such as, for example, computing capabilities of data processing computing devices102, expected availability of renewable power, and/or a current utilization of data processing computing devices102(e.g., to perform other ML tasks). Further constraints may be applied for a given task such as, for example, a required accuracy for the ML model, a deadline for completing the ML task, the ML task needing to be performed by only one data processing computing device102and/or site or by one or more specifically designated data processing computing devices102and/or sites, the ML task needing to be performed during a preset time period and/or during a single contiguous time period, a maximum amount of energy or carbon dioxide emissions, whether or not the ML task may be executed in parallel by multiple data processing computing devices102, and/or other constraints.

Scheduling computing device104is further configured to generate a schedule associated with the ML task. The schedule includes the selected algorithm, the selected data processing computing device102, and the selected at least one time period for executing the ML algorithm. In some embodiments, the ML algorithm may be performed in parts at more than one site and/or during separate or non-consecutive time periods. Scheduling computing device104is configured to instruct the selected data processing computing device to execute the selected ML algorithm according to the schedule. In some embodiments, the scheduling computing device104may modify the schedule based on subsequent inputs of additional ML tasks, for example, in order to optimize each of the tasks for reducing energy use and/or carbon dioxide emissions. In some embodiments, the ML task may be further scheduled to reduce or minimize a starting delay for and/or based on an assigned priority (e.g., HIGH, MEDIUM, or LOW) associated with the ML task.

In some embodiments, scheduling computing device104may be configured to preprocess input data, or cause data processing computing devices102to preprocess input data, of the ML model to reduce the quantization bits of input data. By performing this preprocessing, the energy required for executing the ML algorithm to create the ML model may be reduced without significantly impacting the quality or accuracy of the ML model output. For example, in some implementations, input data can be preprocessed to lower quantization levels, discarding unnecessary and in some cases invalid claims of precision. Scaling and dimensionality reduction through methods such as principal component analysis (PCA) can be used to effectively preprocess the data to improve performance and reduce energy cost of learning.

In some embodiments, in certain sites (e.g., corresponding to certain data processing computing devices102), heat from data center cooling processes is used to provide power for the associated data processing computing devices102(e.g., by being fed into a combined cycle gas/steam power plant). In such embodiments, scheduling computing device104may factor in this capability when selecting a data processing computing device102for performing a ML task.

In some embodiments, scheduling computing device104is further configured to consider power grid stability when selecting data processing computing devices102for completing each ML task, in order to distribute the execution of the ML tasks throughout computer system100in a manner that promotes stability in the power grid. In such embodiments, scheduling computing device104may further receive and store information relating to the power grid for determining which data processing computing devices102to use for completing ML tasks while supporting grid stability.

FIGS.2A,2B, and2Cdepict a first graph200, a second graph202, and a third graph204, respectively. Graphs200,202, and204each represent an example “renewable mix” or percentage of available power that is renewably sourced, for a respective site. Graphs200,202, and204each include a horizontal axis206that represents four discrete time periods t1, t2, t3, and t4, which may correspond to, for example, portions of a day or other period. Graphs200,202, and204further include a vertical access corresponding to the renewable mix, or a dimensionless ratio of an amount of renewable power to a total amount of power to be used at a respective site (e.g., by a respective data processing computing device102). As shown in graphs200,202, and204, the renewable mix for a given site may vary over time. This may be due to factors such as an availability of renewable (e.g., solar and/or wind) power, other power demands on the system, and/or other such factors. As described above with respect toFIG.1, scheduling computing device104is configured to factor the expected renewable mix when selecting a site and time for executing an ML task.

FIG.3is a chart300illustrating an example schedule for an allocation of ML tasks among different data processing computing devices102over time that may be determined by scheduling computing device104. Chart300includes a vertical axis302representing three data processing computing devices102, including a first data processing computing device304, a second data processing computing device,306, and a third data processing computing device308. Chart300further includes a horizontal axis310representing24discrete time periods (e.g., hours of a day) during which portions of an ML task may be performed.

Consider an example scenario illustrated by Table 1, which includes certain task data associated with three ML tasks (ML task 0, ML task 1, and ML task 2).

For each ML task, an expected energy requirement indicates the expected energy needed to execute the ML task, an arrival time represents time period the ML task is received, the computation time represents an expected amount of time needed for completing computation of the ML task, and a start time margin represents an indicator for starting time priority (e.g., the ML task must be started within two, four, or six hours). Based on this task data, scheduling computing device may schedule ML task 0, ML task 1, and ML task 2 among first data processing computing device304, second data processing computing device,306, and third data processing computing device308as shown in chart300. As described above, scheduling computing device104is configured to schedule the ML tasks to increase or maximize a figure of merit (e.g., accuracy per unit energy and/or accuracy per unit carbon dioxide emission) that is attainable based on the constraints of the task data.

FIGS.4A,4B, and4Cdepict a first graph400, a second graph402, and a third graph404, respectively. First graph400represents energy availability and use over time for first data processing computing device304, second graph402represents energy availability and use over time for second data processing computing device306, and third graph404represents energy availability and use over time for third data processing computing device308. Each of first graph400, second graph402, and third graph404includes a vertical axis408representing power expressed in kilowatts (KW). Each of first graph400, second graph402, and third graph404further includes a horizontal axis410representing24discrete time periods corresponding to those represented by horizontal axis310of chart300shown inFIG.3.

Each of first graph400, second graph402, and third graph404further includes a total available power curve412, an available non-carbon dioxide emitting power curve414, and an available carbon-dioxide emitting power curve416. Total available power curve412represents the total available power for a given data processing computing device102for a period of time, available non-carbon dioxide emitting power curve414represents power available from non-carbon dioxide emitting resources for the period of time, and available carbon-dioxide emitting power curve416represents power available from carbon dioxide emitting resources for the period of time. Accordingly, the values represented by total available power curve412are a sum of those represented by available non-carbon dioxide emitting power curve414, and available carbon-dioxide emitting power curve416.

As shown in graphs400and402, when executed according to the schedule illustrated in chart300, a power consumed 418 during each time period for each data processing computing device102is less than the available carbon-dioxide emitting power represented by available carbon-dioxide emitting power curve416. Accordingly, in this scenario, it is possible to execute ML task 0, ML task 1, and ML task 2 without emitting carbon dioxide.

FIG.5is a flowchart illustrating an example method500for scheduling an executing a ML task using a computer system such as computer system100(shown inFIG.1). The computer system includes a plurality of data processing computing devices (such as data processing computing devices102), each configured to execute one or more computational algorithms (e.g., ML and/or AI algorithms). The computer system further includes a scheduling computing device (such as scheduling computing device104) including a memory (such as memory106) and a processor (such as processor108) in communication with the memory and the plurality of data processing computing devices.

Method500includes receiving502computational task data defining a computational task (e.g., a ML and/or AI task and/or a computationally expensive simulation) to be performed. Method500further includes retrieving 504 site data corresponding to each of the plurality of data processing computing devices, the site data specifying an expected carbon dioxide emission associated with use of each of the plurality of data processing computing devices.

Method500further includes selecting506, based on the computational task data and the site data, i) a first computational algorithm for executing the computational task, ii) a first data processing computing device of the plurality of data processing computing devices, and iii) at least one time period for executing the first computational algorithm by the first data processing computing device, wherein the first computational algorithm, the first data processing computing device, and the at least one time period are selected to reduce carbon dioxide emissions associated with executing the computational algorithm.

Method500further includes instructing508the first data processing computing device to execute the first ML algorithm during the at least one time period.

In some embodiments, the computational task is an ML task, and the first computational algorithm is an ML algorithm.

In some embodiments, method500further includes to select the first ML algorithm based on an accuracy to unit carbon dioxide emissions ratio.

In some embodiments, method500further includes determining a number of iterations for performing the first ML algorithm based on an accuracy to unit carbon dioxide emissions ratio.

In some embodiments, method500further includes determining, for each of the plurality of data processing computing devices for each of a plurality of time periods based on the site data, a percentage of power supplied by renewable sources, and selecting the first data processing computing device and the at least one time period based on the percentage determined for each of the plurality of data processing computing devices for each of the plurality of time periods.

In some embodiments, method500further includes receiving one or more user-defined constraints for selecting the first data processing computing device and the at least one time period, and selecting the first data processing computing device and the at least one time period further based on the one or more user-defined constraints. In some such embodiments, the one or more user-defined constraints specify that only one data processing computing device be used to execute the first ML algorithm. In some such embodiments, the one or more user-defined constraints specify that the first ML algorithm be executed during a single contiguous time period.

In some embodiments, method500further includes receiving second ML task data defining a second ML task to be performed, and generating the schedule further based on the second ML task data.

In some embodiments, method500further includes preprocessing input data for the first computational algorithm to reduce a number of quantization bits of the input data and/or a number of dimensions used to learn.

An example technical effect of the methods, systems, and apparatus described herein includes at least one of: (a) reducing carbon dioxide emissions associated with executing a ML task by selecting a ML algorithm, location for performing the ML task, and time period for the ML tack based on an expected contribution or renewable power sources for performing the ML task; and (b) reducing carbon dioxide emissions associated with executing an ML task by selecting an ML algorithm and number of iterations for performing the ML algorithm based on an accuracy of a resulting ML model per unit of expected carbon dioxide emissions associated with executing the ML algorithm.

Example embodiments of a computer system are provided herein. The systems and methods are not limited to the specific embodiments described herein, but rather, components of systems and/or steps of the methods may be utilized independently and separately from other components and/or steps described herein. For example, the methods may also be used in combination with other electronic systems, and are not limited to practice with only the electronic systems, and methods as described herein. Rather, the example embodiments can be implemented and utilized in connection with many other electronic systems.