Joint mixture model

By training and optimizing machine learning models locally on edge devices and using a global model coordinator for parameter updates, the inconsistency problem of the IID hypothesis in joint learning is solved, improving the learning performance and computing resource utilization of edge devices, and reducing data transmission costs and privacy risks.

CN114787824BActive Publication Date: 2026-04-17QUALCOMM TECHNOLOGIES INC
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
QUALCOMM TECHNOLOGIES INC
Filing Date
2020-12-14
Publication Date
2026-04-17

AI Technical Summary

Technical Problem

Existing machine learning techniques violate the independent and identical distribution (IID) assumption when performing joint learning on distributed devices, leading to performance degradation and failure to effectively utilize the computing resources of edge devices.

Method used

By employing a joint hybrid model approach, a global model is formed by training and optimizing machine learning models locally on edge devices and using a global model coordinator for parameter updates and optimization, thus solving the inconsistency problem of IID assumptions.

Benefits of technology

This approach improves the joint learning performance of edge devices, reduces data transmission costs, maintains data privacy and security, and increases the utilization of computing resources without compromising the effectiveness of machine learning.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114787824B_ABST
    Figure CN114787824B_ABST
Patent Text Reader

Abstract

The aspects described herein provide a method for processing data, including: receiving a global set of parameters for multiple machine learning models; processing data locally stored on a processing device using the multiple machine learning models based on the global set of parameters to generate machine learning model outputs; receiving user feedback at the processing device regarding the machine learning model outputs for the multiple machine learning models; performing optimization on the multiple machine learning models based on the machine learning outputs and user feedback to generate locally updated machine learning model parameters; sending the locally updated machine learning model parameters to a remote processing device; and receiving a globally updated set of machine learning model parameters for the multiple machine learning models.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Cross-reference to related applications

[0002] This application claims the benefit and priority of Greek provisional patent application No. 20190100556, filed on December 13, 2019, the entire contents of which are incorporated herein by reference.

[0003] introduction

[0004] This disclosure relates to various aspects of machine learning models, and more specifically to joint hybrid models.

[0005] Machine learning can produce trained models (e.g., artificial neural networks, trees, or other structures) that represent a generalized fit to a previously known set of training data. Applying a trained model to new data produces inferences, which can be used to gain insights about the new data. In some contexts, applying a model to new data is described as “running inference” on the new data.

[0006] Machine learning models are increasingly being used across a variety of fields, including for classification, detection, and recognition tasks. For example, machine learning models are being used to perform complex tasks on electronic devices based on sensor data provided by one or more onboard sensors, such as automatically detecting features (e.g., faces) in images.

[0007] Conventional machine learning is often performed in a centralized manner, such as collecting training data into a centralized repository and processing it collectively to train machine learning models. This simplifies certain aspects of machine learning. For example, having a uniform training dataset allows data to be processed based on the assumption of independent and identical distributions (IID) for the variables in that training dataset. This means that all training data instances (e.g., observations) derived from the training dataset originate from the same generation process and have no memory of previously generated samples. This assumption thus allows training data to be more easily split into training and validation subsets, as these subsets are assumed to have the same distribution. Furthermore, this assumption forms the basis of the standard maximum likelihood optimization objective.

[0008] Modern electronic devices, particularly distributed portable electronic devices, Internet of Things (IoT) devices, always-on (AON) devices, and other “edge” devices, are increasingly capable of performing machine learning tasks. Therefore, utilizing these devices as machine learning computing resources is attractive. However, in many contexts, using distributed processing to generate globally applicable machine learning models may be impossible or impractical. For example, physical limitations (such as processing speed, network speed, and battery life) and policy constraints (such as privacy laws and security requirements) may limit the ability to decentralize the training of machine learning models using a wider range of computing resources.

[0009] Federation learning, which distributes machine learning-related processing to various devices at the "edge" (such as the aforementioned portable electronic devices), attempts to overcome some of the distributed processing problems mentioned above. Unfortunately, the decentralization of data processing explicitly breaks the standard IID assumption, which is the basis for the standard maximum likelihood optimization objective of various machine learning techniques. Therefore, federated learning may lead to a performance degradation of current machine learning techniques.

[0010] Therefore, there is a need for improved methods to perform joint learning without compromising the effectiveness of existing machine learning techniques.

[0011] Brief Overview

[0012] In a first aspect, a method for processing data includes: receiving, at a processing device s, a global set of parameters for each of a plurality of machine learning models K. For each corresponding machine learning model k among the plurality of machine learning models K: at the processing device, based on the global parameter set The corresponding machine learning model k is used to process the data stored locally on the processing device to generate the machine learning model output y. s,k ; Receive information about the machine learning model output y at the processing device. s,k User feedback; outputting y based on a machine learning model at the processing device. s,k and the output y of the machine learning model s,k Related user feedback is used to perform optimization of the corresponding machine learning model k to generate locally updated machine learning model parameters. and the machine learning model parameters that will be updated locally Send to a remote processing device; and receive from the remote processing device a globally updated set of machine learning model parameters for each of the plurality of machine learning models K. Wherein are the globally updated machine learning model parameters for each corresponding machine learning model k. Based at least in part on machine learning model parameters that are updated locally.

[0013] In a second aspect, a method for processing data includes: for each corresponding model k in a plurality of models K; for each corresponding remote processing device s in a plurality of remote processing devices S; sending an initial global set of model parameters for the corresponding machine learning model k from a server to the corresponding remote processing device s. and receiving, at the server, the updated set of model parameters for the corresponding machine learning model k from the corresponding remote processing device s. and the updated set of model parameters received at the server from each of the plurality of remote processing devices S. To perform optimization on the corresponding machine learning model k to generate an updated global set of model parameters. And sending from the server to each of the plurality of remote processing devices S an updated set of global model parameters for each of the plurality of models K machine learning models k.

[0014] Other aspects relate to: an apparatus configured to perform the methods described herein; and a non-transient computer-readable medium comprising computer-executable instructions that, when executed by a processor of the apparatus, cause the apparatus to perform the methods described herein.

[0015] The following description and related figures illustrate certain illustrative features of one or more embodiments in detail. Brief description of the attached diagram

[0017] The accompanying drawings illustrate certain aspects of one or more embodiments and are therefore not intended to limit the scope of this disclosure.

[0018] Figure 1 An example machine learning model architecture is described.

[0019] Figure 2 An example of a joint mixing algorithm based on the equations derived above is described.

[0020] Figure 3 An example method for processing joint hybrid model data on a device is described.

[0021] Figure 4 An example method for processing federated hybrid model data on a centralized device, such as a server device, is described.

[0022] Figure 5 An example electronic device that can be configured to perform the methods described herein is explained.

[0023] Figure 6 An example multiprocessor system that can be configured to perform the methods described herein is depicted.

[0024] To facilitate understanding, the same reference numerals are used where possible to designate common elements in the various figures. Elements and features contemplated in one embodiment may be beneficially incorporated into other embodiments without further elaboration.

[0025] Detailed description

[0026] This disclosure provides various apparatuses, methods, processing systems, and computer-readable media for improving the performance of joint machine learning by mitigating the impact of training data that does not conform to the independent and identically distributed (IID) assumptions through maximum likelihood optimization using multiple model instances (or "experts"). Advantageously, the joint hybrid model methods described herein can be executed synchronously or asynchronously across joint devices. Therefore, these joint hybrid model methods are particularly suitable for leveraging low-power processing systems such as mobile devices, IoT devices, edge devices, and other processing devices with limitations in processing, power, data connectivity, and / or memory size for joint learning.

[0027] A brief background on neural networks, deep neural networks, and deep learning.

[0028] Neural networks are organized into layers of interconnected nodes. Generally, a node (or neuron) is where computation occurs. For example, a node might combine input data with a set of weights (or coefficients) that amplify or attenuate that input data. The amplification or attenuation of the input signal can thus be considered an assignment of the relative importance of each input to the task the network is attempting to learn. Typically, the input weight products are summed (or accumulated), and the resulting sum is then passed through the node's activation function to determine whether and to what extent the signal should proceed further through the network.

[0029] In its most basic implementation, a neural network can have an input layer, hidden layers, and an output layer. "Deep" neural networks typically have more than one hidden layer.

[0030] Deep learning is a method for training deep neural networks. In general, deep learning maps inputs to a network to outputs from that network, and is therefore sometimes called a "universal approximator" because it can learn to approximate an unknown function f(x) = y between any input x and any output y. In other words, deep learning finds the correct f that transforms x into y.

[0031] More specifically, deep learning trains each node layer based on a distinct set of features (which are the outputs of the previous layer). Thus, through each successive layer of a deep neural network, the features can become increasingly complex. Deep learning is powerful because it can progressively extract higher-level features from input data and perform complex tasks, such as object recognition, by constructing useful feature representations of the input data through multiple levels and layers of abstraction.

[0032] For example, if visual data is presented to the first layer of a deep neural network, the first layer can learn to recognize relatively simple features (such as edges) in the input data. In another example, if audio data is presented to the first layer of a deep neural network, the first layer can learn to recognize spectral power at specific frequencies in the input data. The second layer of the deep neural network can then learn to recognize combinations of features, such as simple shapes in the visual data or sound combinations in the audio data, based on the output of the first layer. Higher layers can then learn to recognize complex shapes in the visual data or words in the audio data. Even higher layers can learn to recognize common visual objects or spoken phrases. Thus, deep learning architectures can perform particularly well when applied to problems with a naturally hierarchical structure.

[0033] Maximum likelihood optimization of machine learning models

[0034] Machine learning models take many forms, such as neural networks (e.g., deep neural networks and convolutional neural networks), regression (e.g., logistic or linear), decision trees (including random tree forests), support vector machines, cascaded classifiers, and others. While neural networks are discussed throughout as an example application of the methods described in this paper, the same methods can be applied to other types of machine learning models.

[0035] In machine learning, model training can be viewed as an optimization process that maximizes the target probability by taking a set of observations and performing maximum likelihood estimation. In statistics, maximum likelihood estimation is a method of estimating the parameters of a probability distribution by maximizing the likelihood function, such that the observed data are most probable under the assumed statistical model. Therefore, in the context of machine learning models, the following expression can be derived:

[0036]

[0037] In the preceding expression, It is the maximum likelihood estimator, x 1 ,…,x M There are M observations, g is a function that acquires the observations, and p model It is a probability distribution indexed by θ in the same space, while yes The expected value of the empirical distribution.

[0038] Hybrid Model

[0039] A mixture model is a probabilistic model used to represent the existence of subgroups within a larger population of data, without requiring the observed dataset to identify the subgroup to which individual observations belong. Therefore, a mixture model corresponds to a mixture distribution, which represents the probability distribution of observations within the larger population of observations. Mixture models can be used to make statistical inferences about subgroup attributes when only the observations of the pooled population are given, without information about subgroup identities.

[0040] Some ways of implementing mixture models involve steps that attribute assumed subgroup identities to individual observations (or weights on such subgroups), in which cases these can be considered types of unsupervised learning or clustering procedures. For example, a Gaussian mixture is a function comprising several Gaussian functions, each identified by k∈{1,…,K}, where K is the number of clusters in the dataset that share some common characteristics (such as statistical distribution, centering of data points, etc.). Each volume Gaussian function k in the mixture may include the following parameters: the mean μ defining its center; the covariance Σ defining its width (equivalent to the size of an ellipsoid in a multivariable scenario); and the mixture probability π defining the size of the Gaussian function.

[0041] The parameter set for each Gaussian function can be defined as θ = {π, μ, Σ}. Maximization algorithms, such as the Expectation-Maximization (EM) algorithm, can then be applied to determine the optimal value of θ. For example, the optimal value can be calculated using the following formula:

[0042]

[0043]

[0044]

[0045] It is worth noting that this is an example formula, and other example formulas are also possible.

[0046] Joint Machine Learning

[0047] Conventional machine learning utilizes a centralized data collection and processing architecture. In contrast, federated machine learning distributes the machine learning process across multiple devices, each with its own joint dataset that may not be shared with a centralized dataset. Thus, federated machine learning enables various “edge” processing devices (such as smartphones) to collaboratively learn a shared machine learning model using training data from individual edge devices, but without sharing the data from that individual device. Instead, edge devices only share model parameters, such as weights and biases, derived from their own local model optimization procedures. Consequently, data does not need to be transmitted over a network to a centralized repository, reducing data transfer costs while also improving data security and confidentiality.

[0048] It is worth noting that federated machine learning is becoming increasingly attractive due to the rapid increase in the number of edge processing devices with available computing resources and the growing processing power of such devices. While edge processing devices may not be as powerful on a per-unit basis as dedicated machine learning processing systems (e.g., mainframes, servers, supercomputers, etc.), their sheer number can compensate for their relatively lower processing power. Furthermore, edge devices (such as smartphones) are increasingly incorporating dedicated processing chips, such as neural processors, specifically built to perform machine learning processing. Thus, in some instances, edge devices can possess more capabilities than standard computing devices due to their dedicated machine learning hardware.

[0049] As described in this article, model fusion can be used to combine multiple models (or sub-models or experts) to generate a final model.

[0050] Examples of federated learning architectures

[0051] Figure 1 An example joint learning architecture 100 is described.

[0052] In this example, mobile devices 102A-C (which are examples of edge processing devices) each have local data storage 104A-C and local machine learning model instances 106A-C. For example, mobile device 102A includes an initial machine learning model instance 106A, which can be received from, for example, a global machine learning coordinator 108 (which in some examples may be a software provider). Each of the mobile devices 102A-C can use its respective machine learning model instance (106A-C) to perform a useful task, such as processing the local data 104A-C, and further perform local training and optimization of its respective machine learning model instance (106A-C).

[0053] For example, mobile device 102A can use its machine learning model 106A to perform facial recognition on images stored on mobile device 102A as data 104A. Because these photos can be considered private, mobile device 102A may not want to, or may be prevented from, sharing its photo data with global model coordinator 108. However, mobile device 102A may be willing or permitted to share its local model updates with global model coordinator 108, such as updates to model parameters (e.g., weights and biases). Similarly, mobile devices 102B and 102C can use their local machine learning model instances 106B and 106C respectively in the same manner, and also share their local model updates with global model coordinator 108 but not the underlying data (104B and 104C) used to generate the local model updates.

[0054] The global model coordinator 108 can use all local model updates to determine the global (or consensus) model update, which can then be distributed to the mobile devices 102A-C. In this way, joint machine learning can be performed using the mobile devices 102A-C without centralizing training data and processing.

[0055] Therefore, the Federation Learning Architecture 100 allows for the distributed deployment and training of machine learning models, which can beneficially reduce latency, network usage, and power consumption, while maintaining data privacy and security and improving the utilization of previously idle computing resources. Furthermore, the Federation Learning Architecture 100 advantageously allows local models (e.g., 106A-C) to evolve differently on different devices while simultaneously training a global model based on these local model evolutions.

[0056] It is worth noting that the local data stored separately on mobile devices 102A-C and used by machine learning models 106A-C can be referred to as individual data fragments (e.g., data 104A-C) and / or joint data. Because these data fragments are generated by different users on different devices and are never combined, they cannot be assumed to be independent and identically distributed (IID) relative to each other. This conclusion holds more generally for any kind of data that varies from device to device and is not combined for training machine learning models. Only by combining the individual datasets 104A-C from mobile devices 102A-C can a global dataset in which the IID assumption holds be generated.

[0057] Machine learning with joint hybrid models

[0058] To overcome the challenges of joint data (such as reference data) used in joint machine learning Figure 1For the non-IID characteristics of the data (104A-C) under discussion, the maximum likelihood optimization method can be extended to a mixture of K different prediction models or "experts". Each expert is expected to model a region in the connected data space (e.g., a data space that combines all the joint data spaces). To do this, the following assumptions can be made: the observed data (e.g., from...) Figure 1 The data generated by mobile devices 102A-C is created from a mixture of K individual prediction models. Therefore, for example, model 106C on mobile device 102A can be considered, in the context of joint mixture model learning, as a single model comprising multiple (K) mixture model components (e.g., experts). Advantageously, the joint mixture model serves as a single model for providing input to and receiving output from applications using that model.

[0059] In one example, K experts can refer to K different neural network models. In some cases, these neural networks may have the same architecture, while in others they may be different. Let Z be the sum of all z... s,i The set, where for each data point (y s,i ,x s,i There exists a z. Then z s,i Indicates which of the K experts (e.g., the neural network in this example) is chosen to evaluate a specific data point (y). s,i ,x s,i Modeling.

[0060] Different questions can be asked about the model, such as: given K neural networks, which individual neural network k is "optimal" for describing the data points, or how well each individual neural network k models a given data point (e.g., how well z can be computed). s,i (The posterior value on the dataset). In the method described in this paper, determining which expert (e.g., a neural network) k is "optimal" among the K expert sets is not necessarily the goal. Instead, the goal is to train the K experts (e.g., neural networks) such that each expert specializes in a different part of the global dataset.

[0061] In the context of joint training, the data D = {(x1,y1,…,(x...}} N ,y N A fragment can be split across S distinct fragments (or sets) such that each fragment s has N. s There are 10 data points. We can further assume that the data spans all S fragments (e.g., D = D1 ∪ ... ∪ D). S It is drawn from K clusters, and its parameter w is shared across all fragments in each individual cluster.

[0062] The total probability of this model is:

[0063]

[0064] We can assume that the data to be aggregated is in a location to compute the correct gradient of the model. Therefore, the log-likelihood of the data is maximized by computing the gradient with respect to w according to the following formula:

[0065]

[0066] In a joint learning scenario, a global server (e.g., Figure 1 The global model coordinator 108 in the middle) sends to each local job (e.g., Figure 1 The mobile device 102A-C sends a copy of the current parameter w. The task of each job s is to compute the N values ​​corresponding to its position in the total gradient. s The portion of the data points (within the square brackets of equation (5)). Instead of performing only one gradient update per local job, local jobs perform several gradient updates on their local copies of parameters, which allows for local progress without relying on frequent, slow, and potentially costly data communication.

[0067] In some cases, averaging updates from each local job based on repeated determination of gradients according to equation (5) for each local job is not optimal. This is because it is beneficial to use an adaptive learning rate optimization algorithm (such as Adam, which is designed for training deep neural networks) to accelerate the learning progress on each local fragment. Since each local job maintains an individual Adam momentum, simply averaging the resulting updates does not properly take into account the impact of each fragment on the specific expert k (in the set K) compared to other fragments.

[0068] One technical solution to this technical model optimization problem is to further develop equation (5). For ease of notation, the emphasis can be on only one mixing component w. k The gradient, and the "soft" count N sk It can be defined according to the following formula:

[0069]

[0070] Equation (6) thus allows equation (5) to be extended as follows:

[0071]

[0072] In equation (11), the local jober calculates and applies the gradient within the brackets for τ steps. In the... After τ local updates (get Each local job sends an updated set of parameters to the global server. The global server then interprets these updated parameters as changes to the current global server parameters by calculating the "effective gradient." For example:

[0073]

[0074] Figure 2 An example of a joint mixing algorithm based on the equations derived above is described.

[0075] Notice, Figure 2 The algorithm described is an example of a distributed synchronous training algorithm, and variations of this algorithm may exist. For example, the algorithm can be modified for asynchronous training contexts.

[0076] Generate more expressive prior values

[0077] Equation (1) can be further extended to allow for more expressive prior values ​​p(z). s,i This value is used to represent the data point (y). s,i ,x s,i Select expert k. Here, the subscripts s and i enumerate fragments and data points within a fragment, respectively, as described in reference equation (1). Intuitively, the expert k best suited to perform the classification (or regression) task for a specific machine learning model should be selected from all K experts. In one embodiment, the decision about how much weight should be assigned to the predictions of expert k can be made by looking at the input x. s,i Instead of assigning equal probabilities to each expert k in the set K, we make the decision.

[0078] To determine p(z = j|x) based on data point x, the mapping needs to be parameterized and learned. In one embodiment, this can be achieved, for example, by interpreting p(z = k|x) as a (unsupervised) clustering problem according to the following equation:

[0079]

[0080] Therefore, each cluster is composed of φ k Parameterization is used where there is a one-to-one correspondence between cluster k and expert k, where k′ represents the index of the sum. As part of the same algorithmic formula, the parameter φ... k Optimization is performed in conjunction with wk. Following the same approach described for wk in Algorithm 1, the parameter φ... k Training is performed using local data for local updates and is periodically sent to (e.g., synchronized with) a global server (e.g., ...). Figure 1 Global model coordinator 108 in the middle.

[0081] Example methods for processing joint hybrid model data on edge devices

[0082] Figure 3 Describes edge devices (such as, for example) Figure 1 Example method 300 for processing joint hybrid model data on mobile devices (102A-C).

[0083] Method 300 begins at step 302, whereby the edge processing device s receives a global set of parameters for each of the multiple machine learning models K.

[0084] Method 300 continues to step 304, for each corresponding machine learning model k in the plurality of machine learning models K: at the edge processing device, based on the global parameter set The corresponding machine learning model k is used to process the data stored locally on the edge processing device to generate the machine learning model output y. s,k ...

[0085] Method 300 continues to step 306, for each corresponding machine learning model k in the plurality of machine learning models K: receiving information about the machine learning model output y at the edge processing device. s,k User feedback.

[0086] Method 300 then proceeds to step 308, for each corresponding machine learning model k in the plurality of machine learning models K: at the edge processing device based on the machine learning output y s,k and the output y of the machine learning model s,k Related user feedback is used to optimize the corresponding machine learning model k to generate locally updated machine learning model parameters. Note that in some embodiments, besides model k, y s,k Optimization also depends on all other models k * All other model outputs

[0087] Method 300 continues to step 310, for each corresponding machine learning model k among the multiple machine learning models K: the locally updated machine learning model parameters Send to a remote processing device.

[0088] Method 300 continues to step 312, receiving from the remote processing device a globally updated set of machine learning model parameters for each of the multiple machine learning models K.

[0089] In some embodiments of method 300, the globally updated machine learning model parameters for each corresponding machine learning model k Based at least in part on machine learning model parameters that are updated locally.

[0090] Some embodiments of method 300 further include: updating machine learning model parameters locally. Before being sent to the remote processing device, several optimization steps (τ) are performed at the edge processing device.

[0091] In some embodiments of method 300, the globally updated set of machine learning model parameters is used for each corresponding machine learning model k among a plurality of machine learning models K. It is based, at least in part, on machine learning model parameters that are locally updated by the second edge processing device.

[0092] In some embodiments of method 300, user feedback includes indications of the correctness of the machine learning model's output.

[0093] In some embodiments of method 300, the data locally stored on the edge processing device is one of the following: image data, audio data, or video data.

[0094] In some embodiments of method 300, the edge processing device is either a smartphone or an Internet of Things (IoT) device.

[0095] Example methods for processing joint hybrid model data on server devices

[0096] Figure 4 Describes a method for use in centralized devices (such as server devices, e.g.) Figure 1 Example method 400 for processing joint hybrid model data on the global model coordinator 108).

[0097] Method 400 begins at step 402, where the server sends the initial set of model parameters for the corresponding machine learning model k to the corresponding remote processing device s.

[0098] Method 400 then proceeds to step 404, whereby the server receives the updated set of model parameters for the corresponding machine learning model k from the corresponding remote processing device s.

[0099] Method 400 then proceeds to step 406, whereby the server uses the updated set of model parameters received from each of the plurality of remote processing devices S. To perform optimization on the corresponding machine learning model k to generate an updated global set of model parameters.

[0100] Note that in some embodiments, steps 402-406 may be performed iteratively for each corresponding model k in a plurality of models K and for each corresponding remote processing device s in a plurality of remote processing devices S.

[0101] Method 400 may then proceed to step 408, whereby the server sends an updated global set of model parameters for each machine learning model k among the plurality of models K to each of the plurality of remote processing devices S.

[0102] In some embodiments of method 400, performing optimization of the corresponding machine learning model k at the server includes calculating the effective gradient according to the following formula:

[0103] Some embodiments of method 400 further include: for each corresponding model k in a plurality of models K: determining by weighting parameters φ for the corresponding model k. k The parameterized corresponding density estimator p(x|φ) k Weighting parameter φ k It can be used to combine k models (or sub-models) into a single model output based on model input. In this way, multiple models (e.g., K models) can be combined via weighted parameters φ. k Trained and "mixed".

[0104] Some embodiments of method 400 further include: determining the prior mixture weights of the corresponding model k according to the following formula:

[0105] In some embodiments of method 400, the remote processing device is a smartphone.

[0106] In some embodiments of method 400, the remote processing device is an Internet of Things (IoT) device.

[0107] In some embodiments of method 400, each corresponding model k among the plurality of models K is a neural network model. In some embodiments of method 400, each corresponding model k among the plurality of models K includes the same network structure. In some embodiments of method 400, one or more of the plurality of models K includes a network structure different from the other models among the plurality of models K.

[0108] Example processing system

[0109] Figure 5 Example electronic device 500 has been explained. Electronic device 500 can be configured to perform the methods described herein, including references Figure 3 and 4 The method described.

[0110] Electronic device 500 includes a central processing unit (CPU) 502, which in some embodiments may be a multi-core CPU. Instructions executed at CPU 502 may be loaded, for example, from program memory associated with CPU 502 or from memory block 524.

[0111] Electronic device 500 also includes additional processing blocks customized for specific functions, such as graphics processing unit (GPU) 504, digital signal processor (DSP) 506, neural processing unit (NPU) 508, multimedia processing block 510, multimedia processing unit 510, and wireless connectivity block 512.

[0112] NPUs (such as the 508) are generally dedicated circuits configured to implement all the necessary control and arithmetic logic for executing machine learning algorithms, such as those for processing artificial neural networks (ANNs), deep neural networks (DNNs), random forests (RFs), etc. NPUs are sometimes alternatively referred to as tensor processing units (TPUs), neural network processors (NNPs), intelligent processing units (IPUs), vision processing units (VPUs), or graphics processing units.

[0113] NPUs (such as the 508) can be configured to accelerate the execution of common machine learning tasks such as image classification, machine translation, object detection, and various other predictive models. In some embodiments, multiple NPUs may be instantiated on a single chip (such as a system-on-a-chip (SoC)), while in other embodiments, multiple NPUs may be part of a dedicated neural network accelerator.

[0114] An NPU can be optimized for either training or inference, or in some cases, configured to balance performance between training and inference. For an NPU capable of performing both training and inference, these two tasks may typically still be performed independently.

[0115] NPUs designed to accelerate training are typically configured to speed up the optimization of new models. This involves a highly computationally intensive process: taking an existing dataset (often labeled or sublabeled), iterating over the dataset, and then tuning model parameters (such as weights and biases) to improve model performance. Generally, optimization based on incorrect predictions involves backtracking through the layers of the model and determining gradients to reduce prediction errors.

[0116] NPUs designed to accelerate inference are typically configured to operate on the full model. Such NPUs can thus be configured to take new data segments as input and process those segments quickly using an already trained model to generate model outputs (e.g., inference).

[0117] In one implementation, the NPU 508 is part of one or more of the CPU 502, GPU 504, and / or DSP 506.

[0118] In some embodiments, the wireless connectivity block 512 may include components for, for example, third-generation (3G) connectivity, fourth-generation (4G) connectivity (e.g., 4G LTE), fifth-generation connectivity (e.g., 5G or NR), Wi-Fi connectivity, Bluetooth connectivity, and wireless data transmission standards. The wireless connectivity processing block 512 is further connected to one or more antennas 514.

[0119] Electronic device 500 may also include one or more sensor processors 516 associated with any type of sensor, one or more image signal processors (ISP) 518 associated with any type of image sensor, and / or may include a navigation processor 520 that may include a satellite-based positioning system component (e.g., GPS or GLONASS) and an inertial positioning system component.

[0120] Electronic device 500 may also include one or more input and / or output devices 522, such as screens, touch-sensitive surfaces (including touch-sensitive displays), physical buttons, speakers, microphones, etc.

[0121] In some embodiments, one or more processors of the electronic device 500 may be based on the ARM or RISC-V instruction set.

[0122] Electronic device 500 also includes memory 524, which represents one or more static and / or dynamic memories, such as dynamic random access memory, flash-based static memory, etc. In this example, memory 524 includes computer-executable components that can be executed by one or more of the aforementioned processors of electronic device 500. Specifically, in this embodiment, memory 524 includes a transmitting component 524A, a receiving component 524B, a processing component 524C, a determining component 524D, an output component 524E, a training component 524F, an inference component 524G, and an optimization component 524H. The depicted components, as well as other components not depicted, can be configured to perform aspects of the methods described herein.

[0123] Generally, electronic device 500 and / or its components may be configured to perform the methods described herein.

[0124] It is worth noting that in other embodiments, aspects of the electronic device 500 may be omitted, such as when the electronic device 500 is a server computer or the like. For example, in other embodiments, multimedia component 510, wireless connectivity 512, sensor 516, ISP 518, and / or navigation component 520 may be omitted. Furthermore, aspects of the electronic device 500 may be distributed, such as in a cloud-based processing environment.

[0125] Figure 6 An example multiprocessor processing system 600, which can be implemented using the embodiments described herein, is depicted. For example, the multiprocessor system 600 may represent... Figure 5 The various processors of the 500 electronic devices.

[0126] In this example, system 600 includes processors 601, 603, and 605, but in other examples, any number of individual processors may be used. Furthermore, although depicted similarly, processors 601, 603, and 605 may represent various different types of processors in electronic devices, such as CPUs, GPUs, DSPs, NPUs, etc., as described herein.

[0127] Each of processors 601, 603, and 605 includes an instruction scheduler, various hardware sub-components (e.g., hardware X, hardware Y, and hardware Z), and local memory. In some embodiments, the local memory may be tightly coupled memory (TCM). Note that although the components of each of processors 601, 603, and 605 are shown as identical in this example, in other examples, some or each of processors 601, 603, and 605 may have different hardware configurations, different hardware elements, etc.

[0128] Each of processors 601, 603, and 605 also communicates with global memory (such as DDR memory, or other types of volatile working memory). For example, global memory 607 can represent... Figure 5 The memory is 524.

[0129] In some implementations, in a multiprocessor processing system (such as 600), one of the processors can act as the master processor. For example, in this example, processor 601 can be the master processor. The master processor may include a compiler that, when executed, can determine how a model (such as a neural network) will be processed by the various components of processing system 600. For example, hardware parallelism can be achieved by mapping the processing portions of the model to various hardware components (e.g., hardware X, hardware Y, and hardware Z) within a given processor (e.g., processor 601), and mapping the processing portions of the model to other processors (e.g., processors 603 and 605) and their associated hardware. For example, the parallel boxes in the parallel box processing architecture described herein can be mapped to different portions of the hardware in processors 601, 603, and 605.

[0130] Example Terms

[0131] Clause 1: A method of processing data, comprising: receiving at a processing device a global set of parameters for each of a plurality of machine learning models; for each corresponding machine learning model of the plurality of machine learning models: processing data locally stored on the processing device according to the global set of parameters using the corresponding machine learning model at the processing device to generate a machine learning model output; receiving user feedback at the processing device regarding the machine learning model output; performing optimization on the corresponding machine learning model at the processing device based on the machine learning model output and the user feedback associated with the machine learning model output to generate locally updated machine learning model parameters; and transmitting the locally updated machine learning model parameters to a remote processing device; and receiving from the remote processing device a globally updated set of machine learning model parameters for each of the plurality of machine learning models, wherein the globally updated set of machine learning model parameters for each corresponding machine learning model is at least partially based on the locally updated machine learning model parameters.

[0132] Clause 2: The method as described in Clause 1 further includes performing several optimizations at the processing device before sending the locally updated machine learning model parameters to the remote processing device.

[0133] Clause 3: The method as described in any one of Clauses 1-2, wherein the globally updated set of machine learning model parameters for each of the plurality of machine learning models is at least partially based on the locally updated machine learning model parameters of the second processing device.

[0134] Clause 4: The method as described in any one of Clauses 1-3, wherein the user feedback includes an indication of the correctness of the output of the machine learning model.

[0135] Clause 5: The method of any one of Clauses 1-4, wherein the data locally stored on the processing device is one of the following: image data, audio data, or video data.

[0136] Clause 6: The method of any one of Clauses 1-5, wherein the processing device is a smartphone or an Internet of Things device.

[0137] Clause 7: The method of any one of Clauses 1-6, wherein the processing of data locally stored on the processing device using the machine learning model is performed at least in part by one or more neural processing units.

[0138] Clause 8: The method of any one of Clauses 1-7, wherein the optimization of the machine learning model performed at the processing device is performed at least in part by one or more neural processing units.

[0139] Clause 9: A method of processing data, comprising: for each of a plurality of machine learning models; for each of a plurality of remote processing devices; sending an initial global set of model parameters for the corresponding machine learning model from a server to the corresponding remote processing device; and receiving, at the server, an updated set of model parameters for the corresponding machine learning model from the corresponding remote processing device; and performing optimization on the corresponding machine learning model at the server based on the updated set of model parameters received from each of the plurality of remote processing devices to generate an updated global set of model parameters; and sending, from the server, the updated global set of model parameters for each of the plurality of machine learning models to each of the plurality of remote processing devices.

[0140] Clause 10: The method as described in Clause 9, wherein performing optimization of the corresponding machine learning model at the server includes computing the effective gradient of each model parameter in the initial global set of model parameters of the corresponding machine learning model.

[0141] Clause 11: The method of any one of Clauses 9-10 further comprises: for each of the plurality of machine learning models, determining a corresponding density estimator parameterized by the weighted parameters of the corresponding machine learning model.

[0142] Clause 12: The method as described in Clause 11 further includes: determining the prior mixture weights of the corresponding machine learning model.

[0143] Clause 13: The method as described in any one of Clauses 9-12, wherein the plurality of remote processing devices includes a smartphone.

[0144] Clause 14: The method as described in any one of Clauses 9-13, wherein the plurality of remote processing devices includes Internet of Things (IoT) devices.

[0145] Clause 15: The method as described in any one of Clauses 9-14, wherein each of the plurality of machine learning models is a neural network model.

[0146] Clause 16: The method as described in Clause 15, wherein each of the plurality of machine learning models comprises the same network structure.

[0147] Clause 17: A processing system comprising: a memory including computer-executable instructions; and one or more processors configured to execute the computer-executable instructions and cause the processing system to perform a method according to any one of Clauses 1-16.

[0148] Clause 18: A processing system comprising means for performing the method according to any one of Clauses 1-16.

[0149] Clause 19: A non-transient computer-readable medium comprising computer-executable instructions that, when executed by one or more processors of a processing system, cause the processing system to perform the method according to any one of Clauses 1-16.

[0150] Clause 20: A computer program product implemented on a computer-readable storage medium, the computer-readable storage medium including code for performing the method according to any one of Clauses 1-16.

[0151] Additional considerations

[0152] The foregoing description is provided to enable any person skilled in the art to practice the various embodiments described herein. The examples discussed herein are not intended to limit the scope, applicability, or embodiments set forth in the claims. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be applied to other embodiments. For example, changes may be made to the function and arrangement of the elements discussed without departing from the scope of this disclosure. Various procedures or components may be appropriately omitted, substituted, or added to various examples. For example, the described methods may be performed in a different order than described, and various steps may be added, omitted, or combined. Moreover, features described with reference to some examples may be combined in others. For example, any number of aspects set forth herein may be used to implement an apparatus or practice a method. Furthermore, the scope of this disclosure is intended to cover such apparatuses or methods practiced using other structures, functionalities, or structures and functionalities that supplement or differ from the aspects of this disclosure set forth herein. It should be understood that any aspect of this disclosure disclosed herein may be implemented by one or more elements of the claims.

[0153] As used herein, the term “exemplary” means “serving as an example, instance, or illustration.” Any aspect described herein as “exemplary” should not be construed as superior to or better than the others.

[0154] As used herein, the phrase “at least one of” a list of items refers to any combination of those items, including a single member. As an example, “at least one of a, b, or c” is intended to cover: a, b, c, ab, ac, bc, and abc, as well as any combination with multiple identical elements (e.g., aa, aaa, aab, aac, abb, acc, bb, bbb, bbb, bbc, cc, and ccc, or any other ordering of a, b, and c).

[0155] As used herein, the term "determine" encompasses a wide variety of actions. For example, "determine" can include calculation, computation, processing, derivation, research, searching (e.g., looking in a table, database, or other data structure), ascertaining, and the like. Furthermore, "determine" can include receiving (e.g., receiving information), accessing (e.g., accessing data in memory), and the like. Moreover, "determine" can include parsing, selecting, choosing, building, and the like.

[0156] The methods disclosed herein include one or more steps or actions for implementing the method. These method steps and / or actions may be interchanged without departing from the scope of the claims. In other words, unless a specific order of steps or actions is specified, the order and / or use of specific steps and / or actions may be modified without departing from the scope of the claims. Furthermore, the various operations of the above methods can be performed by any suitable means capable of performing the corresponding functions. These means may include various hardware and / or software components and / or modules, including but not limited to circuits, application-specific integrated circuits (ASICs), or processors. Generally, where operations illustrated in the drawings are present, these operations may have corresponding paired means with similar numbers plus functional components.

[0157] The following claims are not intended to be limited to the embodiments shown herein, but should be granted the full scope consistent with the language of the claims. Within the claims, references to singular elements are not intended to mean “one and only one” (unless specifically stated so), but rather “one or more.” Unless specifically stated otherwise, the term “some / a” refers to one or more. No element of the claims should be interpreted in accordance with the provisions of 35 USC §112(f) unless the element is expressly stated using the phrase “means for…” or, in the case of a method claim, the element is stated using the phrase “steps for…”. Elements of all aspects described throughout this disclosure that are now or hereafter known to a person skilled in the art are expressly incorporated herein by reference and are intended to be covered by the claims. Furthermore, nothing disclosed herein is intended to be donated to the public, whether or not such disclosure is expressly stated in the claims.

Claims

1. A method for processing joint mixed model data, comprising: The processing device receives a global set of parameters for each of the multiple machine learning models. For each of the plurality of machine learning models: At the processing device, data stored locally on the processing device is processed using a corresponding machine learning model based on the global parameter set to generate machine learning model output; The processing device receives user feedback regarding the output of the machine learning model. At the processing device and before sending the locally updated machine learning model parameters to the remote processing device, the corresponding machine learning model is optimized several times based on the machine learning model output and the user feedback associated with the machine learning model output to generate locally updated machine learning model parameters. as well as Sending the locally updated machine learning model parameters to the remote processing device; and receiving from the remote processing device a globally updated set of machine learning model parameters for each of the plurality of machine learning models. The globally updated set of machine learning model parameters for each corresponding machine learning model is at least partially based on the locally updated set of machine learning model parameters, and Each of the plurality of machine learning models is a sub-model of the global mixture model, wherein the prior mixture weights for the corresponding machine learning model are interpreted as the responsibility of the clustering problem and each cluster is parameterized and has a one-to-one correspondence with the corresponding machine learning model.

2. The method of claim 1, wherein the globally updated set of machine learning model parameters for each of the plurality of machine learning models is at least partially based on locally updated machine learning model parameters of the second processing device.

3. The method of claim 1, wherein the user feedback includes an indication of the correctness of the output of the machine learning model.

4. The method of claim 1, wherein the data locally stored on the processing device is one of the following: image data, audio data, or video data.

5. The method of claim 1, wherein the processing device is a smartphone or an Internet of Things (IoT) device.

6. The method of claim 1, wherein processing the data locally stored on the processing device using the machine learning model is performed at least in part by one or more neural processing units.

7. The method of claim 1, wherein the optimization of the machine learning model at the processing device is performed at least in part by one or more neural processing units.

8. A processing apparatus for processing joint hybrid model data, the processing apparatus comprising: Memory including computer-executable instructions; One or more processors, the one or more processors being configured to execute the computer-executable instructions and cause the processing device to perform the following operations: Receives a global set of parameters for each of the multiple machine learning models; For each of the plurality of machine learning models: The data stored locally on the processing device is processed using a corresponding machine learning model based on the global parameter set to generate machine learning model output; Receive user feedback regarding the output of the machine learning model; Before sending the locally updated machine learning model parameters to a remote processing device, the corresponding machine learning model is optimized several times based on the machine learning model output and the user feedback associated with the machine learning model output to generate locally updated machine learning model parameters. as well as The locally updated machine learning model parameters are sent to the remote processing device; as well as Receive from the remote processing device a globally updated set of machine learning model parameters for each of the plurality of machine learning models. The globally updated set of machine learning model parameters for each corresponding machine learning model is at least partially based on the locally updated set of machine learning model parameters, and Each of the multiple machine learning models mentioned above is a sub-model of the global hybrid model. The prior mixture weights for the corresponding machine learning model are interpreted as the responsibility of the clustering problem, and each cluster is parameterized and has a one-to-one correspondence with the corresponding machine learning model.

9. The processing apparatus of claim 8, wherein the globally updated set of machine learning model parameters for each of the plurality of machine learning models is at least partially based on locally updated machine learning model parameters of the second processing apparatus.

10. The processing apparatus of claim 8, wherein the user feedback includes an indication of the correctness of the output of the machine learning model.

11. The processing apparatus of claim 8, wherein the data locally stored on the processing apparatus is one of the following: image data, audio data, or video data.

12. The processing device of claim 8, wherein the processing device is a smartphone or an Internet of Things device.

13. The processing apparatus of claim 8, wherein one of the one or more processors is a neural processing unit configured to process the data locally stored on the processing apparatus using the machine learning model.

14. The processing apparatus of claim 8, wherein one of the one or more processors is a neural processing unit configured to perform optimization of the machine learning model.

15. A method for processing joint mixed model data, comprising: For each corresponding machine learning model among multiple machine learning models: For each corresponding remote processing device among multiple remote processing devices: The server sends an initial global set of model parameters for the corresponding machine learning model to the corresponding remote processing device. as well as The server receives an updated set of model parameters for the corresponding machine learning model from the corresponding remote processing device. For each of the plurality of machine learning models, determine a corresponding density estimator parameterized by the weighted parameters of the corresponding machine learning model. The weighting parameters are determined based on the inputs that have already been used to update the parameter set of the machine learning model; as well as At the server, optimization of the corresponding machine learning model is performed based on the updated set of model parameters received from each of the plurality of remote processing devices and further based on the density estimator to generate an updated global set of model parameters. as well as The server sends the updated global model parameter set for each of the plurality of machine learning models to each of the plurality of remote processing devices, wherein each of the plurality of machine learning models is a sub-model of the global mixture model, wherein the prior mixture weights for the corresponding machine learning model are interpreted as the responsibility of the clustering problem and each cluster is parameterized and has a one-to-one correspondence with the corresponding machine learning model.

16. The method of claim 15, wherein performing optimization of the corresponding machine learning model at the server includes computing the effective gradient of each model parameter in the initial global set of model parameters of the corresponding machine learning model.

17. The method of claim 15, further comprising: Determine the prior mixture weights of the corresponding machine learning model.

18. The method of claim 15, wherein the plurality of remote processing devices includes a smartphone.

19. The method of claim 15, wherein the plurality of remote processing devices includes Internet of Things (IoT) devices.

20. The method of claim 15, wherein each of the plurality of machine learning models is a neural network model.

21. The method of claim 20, wherein each of the plurality of machine learning models comprises the same network structure.

22. A processing apparatus for processing joint hybrid model data, the processing apparatus comprising: Memory including computer-executable instructions; One or more processors, the one or more processors being configured to execute the computer-executable instructions and cause the processing device to perform the following operations: For each corresponding machine learning model among multiple machine learning models: For each corresponding remote processing device among multiple remote processing devices: Send the initial global model parameter set for the corresponding machine learning model to the corresponding remote processing device; and Receive an updated set of model parameters for the corresponding machine learning model from the corresponding remote processing device; For each of the plurality of machine learning models, determine a corresponding density estimator parameterized by the weighted parameters of the corresponding machine learning model. The weighting parameters are determined based on inputs that have already been used to update the parameter set of the machine learning model; and Based on the updated set of model parameters received from each of the plurality of remote processing devices and further based on the density estimator, optimization of the corresponding machine learning model is performed to generate an updated global set of model parameters. as well as The updated global model parameter set for each of the plurality of remote processing devices is sent to each of the plurality of remote processing devices. Each of the multiple machine learning models mentioned above is a sub-model of the global hybrid model. The prior mixture weights for the corresponding machine learning model are interpreted as the responsibility of the clustering problem, and each cluster is parameterized and has a one-to-one correspondence with the corresponding machine learning model.

23. The processing apparatus of claim 22, wherein, in order to perform optimization of the corresponding machine learning model, the one or more processors are further configured to cause the processing apparatus to compute an effective gradient for each model parameter in the initial global set of model parameters of the corresponding machine learning model.

24. The processing apparatus of claim 22, wherein the one or more processors are further configured to cause the processing apparatus to: determine prior mixing weights for each of the plurality of machine learning models.

25. The processing apparatus of claim 22, wherein the plurality of remote processing devices includes a smartphone.

26. The processing apparatus of claim 22, wherein the plurality of remote processing devices includes Internet of Things (IoT) devices.

27. The processing apparatus of claim 22, wherein each of the plurality of machine learning models is a neural network model.

28. The processing apparatus of claim 27, wherein each of the plurality of machine learning models comprises the same network structure.

Citation Information

Patent Citations

  • Systems and methods for distributed training of deep learning models

    CN110268423A