A training data acquisition method, system and computer program product
By using data evaluation models to screen large model training data in distributed systems, the problem of high and low screening cost due to the huge amount of large model training data is solved, and efficient data screening and training data acquisition is achieved.
Patent Information
- Application Number
- CN202410652108.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-05-23
- Publication Date
- 2024-12-27
- Estimated Expiration
- 2044-05-23
AI Technical Summary
The huge amount of data required for large model training leads to high cost and low efficiency in data screening, and it is difficult for the existing technology to effectively improve data screening efficiency.
By obtaining the data evaluation model, training and distributing it to the computing nodes of the distributed system based on the first data set, using these nodes to obtain the second data set of different samples, using the data evaluation model for evaluation, combining the sampling algorithm to predict the final evaluation results, and filtering The target sample is used as training data.
It reduces the cost of data screening, improves the efficiency of data screening, reduces communication between computing nodes, and improves the efficiency of training data acquisition.
Smart Images

Figure CN118395189B_ABST
Abstract
Description
Technical Field
[0001] This specification relates to the field of model training, and in particular to a training data acquisition method, system and computer program product. Background Art
[0002] The amount of data required for large model training is very large. Before model training, the computing resources used to train a large model at one time are limited. It is usually necessary to screen the original data and select representative, high-quality, well-balanced, and diverse data sets as the data sets for model training. However, since the amount of data for model training is generally very large, the cost of data screening is high and the efficiency is low.
[0003] Therefore, the present invention proposes a training data acquisition method, which can improve data screening efficiency and reduce data screening costs. Summary of the invention
[0004] One or more embodiments of the present specification provide a method for acquiring training data. The method for acquiring training data includes acquiring a data evaluation model, which is determined by training a first machine learning model based on a first data set; sending the data evaluation model to each computing node of the distributed system; using each computing node to acquire a second data set, and the samples in the second data set acquired by each computing node are different; using the data evaluation model to evaluate each sample in the second data set to determine an initial evaluation result; processing the initial evaluation result to predict the final evaluation result of each sample; and determining a target sample in the second data set according to the final evaluation result, and the target sample constitutes the training data of the second machine learning model.
[0005] In some embodiments, the first data set includes positive samples and negative samples, and the quality of the positive samples is higher than the quality of the negative samples.
[0006] In some embodiments, the data evaluation model comprises a linear classifier.
[0007] In some embodiments, processing the initial evaluation result to predict the final evaluation result of each sample includes processing the initial evaluation result using a sampling algorithm to predict the final evaluation result.
[0008] In some embodiments, the sampling algorithm comprises a Gumbel sampling algorithm.
[0009] In some embodiments, processing the initial evaluation result to predict the final evaluation result of each sample includes: using a trained third machine learning model to process the initial evaluation result to predict the final evaluation result.
[0010] In some embodiments, determining the target sample in the second data set according to the final evaluation result includes: sorting the final evaluation result to determine samples that meet a condition; and designating the samples that meet the condition as the target sample.
[0011] One or more embodiments of the present specification provide a training data acquisition system, including multiple computing nodes, and the multiple computing nodes include computing devices and a manager. The manager is configured to obtain a data evaluation model, which is obtained by training a first machine learning model with a first data set; and send the data evaluation model to each computing node of the multiple computing nodes. Each computing node in the multiple computing nodes is configured to obtain a second data set, and the samples in the second data set obtained by each computing node are different; each sample in the second data set is evaluated using the data evaluation model to determine an initial evaluation result; the initial evaluation result is processed to predict the final evaluation result of each sample; and a target sample in the second data set is determined according to the final evaluation result, and the target sample constitutes the training data of the second machine learning model.
[0012] One or more embodiments of the present specification provide a training data acquisition system, including an acquisition module, a sending module and an evaluation module; the acquisition module is used to acquire a data evaluation model, and the data evaluation model is obtained by training a first machine learning model with a first data set; the sending module is used to send the data evaluation model to each of a plurality of computing nodes in a distributed system; the evaluation module is used to enable each of the plurality of computing nodes to: acquire a second data set, and samples in the second data set acquired by each computing node are different; use the data evaluation model to evaluate each sample in the second data set to determine an initial evaluation result; process the initial evaluation result to predict a final evaluation result of each sample; and determine a target sample in the second data set according to the final evaluation result, and the target sample constitutes training data for a second machine learning model.
[0013] One or more embodiments of the present specification provide a training data acquisition device, including a processor, wherein the processor is configured to execute a training data acquisition method.
[0014] One or more embodiments of the present specification provide a computer-readable storage medium, wherein the storage medium stores computer instructions. When a computer reads the computer instructions in the storage medium, the computer executes a training data acquisition method.
[0015] One or more embodiments of the present specification provide a computer program product, including a computer program or a computer executable instruction, wherein when the computer program or the computer executable instruction is executed by a processor, a training data acquisition method is implemented. BRIEF DESCRIPTION OF THE DRAWINGS
[0016] This specification will be further described in the form of exemplary embodiments, which will be described in detail by way of the accompanying drawings. These embodiments are not restrictive, and in these embodiments, the same number represents the same structure.
[0017] Figure 1 It is a schematic diagram of an application scenario of a training data set acquisition system according to some embodiments of this specification.
[0018] Figure 2 This is an exemplary flowchart of obtaining a training data set according to some embodiments of this specification.
[0019] Figure 3 It is an exemplary module diagram of a training data acquisition system according to some embodiments of this specification.
[0020] Figure 4 This is an exemplary structural diagram of a distributed system for acquiring training data sets according to some embodiments of this specification. DETAILED DESCRIPTION
[0021] In order to more clearly illustrate the technical solutions of the embodiments of this specification, the following is a brief introduction to the drawings required for the description of the embodiments. Obviously, the drawings described below are only some examples or embodiments of this specification. For ordinary technicians in this field, this specification can also be applied to other similar scenarios based on these drawings without creative work. Unless it is obvious from the language environment or otherwise explained, the same reference numerals in the figures represent the same structure or operation.
[0022] It should be understood that the "system", "device", "unit" and / or "module" used herein are a method for distinguishing different components, elements, parts, portions or assemblies at different levels. However, if other words can achieve the same purpose, the words can be replaced by other expressions.
[0023] As shown in this specification and claims, unless the context clearly indicates an exception, the words "a", "an", "an" and / or "the" do not refer to the singular and may also include the plural. Generally speaking, the terms "comprise" and "include" only indicate that the steps and elements that have been clearly identified are included, and these steps and elements do not constitute an exclusive list. The method or device may also include other steps or elements.
[0024] Flowcharts are used in this specification to illustrate the operations performed by the system according to the embodiments of this specification. It should be understood that the preceding or following operations are not necessarily performed precisely in order. Instead, the steps may be processed in reverse order or simultaneously. At the same time, other operations may also be added to these processes, or one or more operations may be removed from these processes.
[0025] Figure 1 is an exemplary flow chart of a method for obtaining training data according to some embodiments of this specification. Figure 1 As shown, the process 100 includes the following steps. In some embodiments, the process 100 may be Figure 3 The training data acquisition system shown performs or Figure 4 Distributed system execution in .
[0026] In step 110, a data evaluation model is obtained.
[0027] The data evaluation model can evaluate the quality of the data. For example, a sample can be input into the data evaluation model, and the data evaluation model can output an evaluation score for the input sample.
[0028] The data evaluation model is obtained by training a first machine learning model with a first data set, wherein the first data set is composed of positive samples and negative samples. The quality of positive samples is higher than that of negative samples. As described herein, sample quality can be measured by indicators such as the credibility, accuracy, completeness, consistency, and representativeness of sample data. The higher the credibility, accuracy, completeness, consistency, and representativeness of the sample data, the higher the quality of the sample data.
[0029] Positive samples include high-quality data. For example, positive samples may include data with high credibility and / or high accuracy. For example, positive samples may come from books, Wikipedia, literature databases, etc.
[0030] Negative samples include low-quality data. For example, negative samples may include data with low credibility and / or low accuracy. For another example, negative samples may include random data. Characteristics of random data include random data sources, incomplete data content, non-uniform data formats, and weak data representativeness. For example, negative samples may include randomly sampled web page data.
[0031] In some embodiments, the samples in the first data set may each include a label. The label of the sample may be used to indicate the quality of the sample. For example, the label of the sample may be a numerical value between 0 and 1, and a higher numerical value indicates a higher quality of the sample. In some embodiments, the user may label the samples in the first data set to obtain the label. In some embodiments, in the acquisition of the first data set, the system may label the samples in the first data set according to a preset rule to obtain the label.
[0032] In some embodiments, the ratio of positive samples to negative samples in the first data set meets certain criteria. For example, the ratio of positive samples to negative samples can be in the range of 50%-60%. For example, 60%. For further example, 50% of the data comes from books, 20% from Wikipedia, another 20% from papers, and 10% from randomly sampled web pages.
[0033] In some embodiments, the first data set may be data from application fields such as medical diagnosis, financial fraud detection, text classification, image recognition, and recommendation systems.
[0034] In some embodiments, the first machine learning model may include a classifier, for example, a linear classifier, a nonlinear classifier. Typical linear classifiers may include a support vector machine (SVM) model, a Bayesian classifier, a perceptron, a logistic regression, etc. Typical nonlinear classifiers may include a naive Bayesian classifier, a decision tree, a neural network, a kernel ridge regression, a Gaussian process classifier, a K-nearest neighbor (KNN), etc.
[0035] In some embodiments, the sample type in the first data set may be the same as the type of training data ultimately obtained for training the second machine learning model. For example, if the training data for training the second machine learning model comes from Wikipedia, then the sample type in the first data set may come from Wikipedia.
[0036] In some embodiments, if the training data used to train the second machine learning model includes multiple types of training data, different types of first data sets can be used to train the same machine learning model (e.g., classifier) or to train multiple classifiers to obtain multiple trained first machine learning models. The multiple trained first machine learning models can correspond one-to-one to the types of training data used to train the second machine learning model, and can be used to screen different types of training data for the second machine learning model.
[0037] In some embodiments, the data evaluation model may be pre-trained and stored in a storage device, and directly obtained from the storage device by a server, such as a master node or manager of a distributed system.
[0038] In step 120 , the data evaluation model is distributed to each computing node of the distributed system.
[0039] In some embodiments, a manager (or a main computing node or a master node) in a distributed system may initiate a distribution request to each computing node (e.g., a working computing node or a working node) to establish communication with the computing node, and then distribute the data evaluation model to each computing node. In some embodiments, the communication method may be a local wired network to improve the stability of communication and ensure that the manager and each computing node can communicate with each other. After completing the distribution of the data evaluation model, the manager may initiate a verification request to ensure the correctness, consistency, and validity of the data evaluation model obtained by all computing nodes. In addition, the computational requirements of the data evaluation model are within the computing capacity of the computing nodes of the distributed system.
[0040] In some embodiments, the master node refers to a node that is responsible for coordinating the tasks of each computing node and monitoring the load and health of each computing node in a distributed system.
[0041] In some embodiments, the data evaluation model may be sent to each computing node by a server independent of the distributed system.
[0042] In some embodiments, the data evaluation model may be obtained directly from the storage device by each computing node.
[0043] In some embodiments, a manager in the distributed system or a server independent of the distributed system transmits the acquired data evaluation model to each computing node in response to receiving a training data acquisition request from a user terminal.
[0044] In step 130, each computing node uses the data evaluation model to evaluate each sample in the second data set obtained by each computing node to determine an initial evaluation result. The samples in the second data set obtained by each computing node are different. The sample sizes in the second data set obtained by each computing node can be the same or different.
[0045] The second data set includes raw data for training the second machine learning model. The second data set acquired by each computing node constitutes the raw data set for training the second machine learning model. In some embodiments, the size of the second machine learning model is different from the first machine learning model. For example, the size of the second machine learning model is larger than the size of the first machine learning model. The size of the machine learning model can be measured by the number of parameters of the machine learning model. The larger the number of parameters of the machine learning model, the larger the size of the machine learning model. For a further example, the number of parameters of the second machine learning model is larger than the first machine learning model. The amount of data in the raw data set of the second machine learning model is larger than the amount of data in the first data set of the first machine learning model.
[0046] In some embodiments, the samples in the second data set are different from the samples in the first data set.
[0047] The samples in the second data set may come from databases, web pages, books, etc.
[0048] In some embodiments, the manager of the distributed system can obtain the original data set and distribute the original data set to each computing node. For example, the manager can distribute the second data set according to the load of each computing node. For example, the current load capacity or the current remaining computing resources of each computing node can be obtained through the resource manager, and the second data set of the corresponding data volume can be distributed according to the current load capacity or the current remaining computing resources. For another example, the second data set can be evenly divided into multiple subsets by the manager (for example, the master node), and the multiple subsets are respectively transmitted to multiple computing nodes. In some embodiments, the load capacity of each computing node of the distributed system is different. By distributing data based on the current load capacity or the current remaining computing resources of the computing node by the resource manager, the computing capacity of each computing node can be effectively utilized to improve data processing efficiency.
[0049] In some embodiments, each computing node may obtain the second data set from a storage device or from a database, a web page, or the like.
[0050] The initial evaluation result of each sample in the second data set may also be referred to as a quality evaluation result. In some embodiments, the initial evaluation result may be a numerical value, for example, a numerical value in the interval [0-1], or a numerical value in the interval [0-100]. The numerical value may reflect the confidence, probability value, or importance score of each sample.
[0051] Since the computing nodes do not communicate with each other, each computing node processes the samples in the second data set obtained by each computing node to obtain the initial evaluation results. The comparison between the initial evaluation results of the samples in the second data set obtained by each computing node only indicates the importance of the samples in the second data set to the training of the second machine learning model within the sample range of the second data set, and cannot measure the importance of the samples in the second data set to the training of the second machine learning model within the original data set range of the second machine learning model. The initial evaluation result can also be called a local evaluation result.
[0052] In some embodiments, each sample in the second data set may be input into a data evaluation model and the evaluation result may be recorded, which is the initial evaluation result.
[0053] In some embodiments, data preprocessing can be performed on each sample in the second data set, and the processed samples can be input into the data evaluation model for processing to obtain an initial evaluation result. Data preprocessing can include data cleaning, data splicing, data conversion, data labeling, etc.
[0054] In step 140 , each computing node processes the initial evaluation result to predict a final evaluation result of each sample in the second data set.
[0055] The final evaluation result of each sample can measure the importance of each sample in the second data set to the training of the second machine learning model within the original data set of the second machine learning model. The final evaluation result can also be called a global evaluation result.
[0056] In some embodiments, the final evaluation result may be a numerical value, for example, a numerical value in the interval [0-1] or a numerical value in the interval [0-100]. The numerical value may reflect the confidence, probability value, or importance score of each sample.
[0057] In some embodiments, processing the initial evaluation result to predict the final evaluation result of each sample in the second data set may include processing the initial evaluation result using a sampling algorithm.
[0058] The sampling algorithm selects samples based on the data quality evaluation value of the data samples, handles unbalanced data sets, or emphasizes the importance of certain samples in order to more effectively select the data set required by the model.
[0059] Sampling algorithms can include random sampling, oversampling, basic sampling method, rejection sampling, importance sampling, metropolis sampling, slice sampling, etc.
[0060] For example, the Gumbel sampling algorithm can be used to process the initial evaluation results. The Gumbel sampling algorithm performs sampling based on the Gumbel distribution, which is a form of importance sampling. The algorithm is very critical and efficient when generating samples for discrete probability distribution. The processing of the initial evaluation results using the Gumbel sampling algorithm specifically includes the following steps.
[0061] 1. First, perform importance transformation on the initial evaluation result a. The transformed value b = (1 - a) / a.
[0062] 2. Take the logarithm of the value b and add Gumbel noise to ensure the randomness of the sampling; for example, the data b is processed by the following formula to obtain the final evaluation result:
[0063] .
[0064] Specifically ) is generated by generating random numbers from a uniform distribution and then applying the inverse transform to generate Gumbel noise. The process of generating Gumbel noise is as follows.
[0065] a. Generate a random number from a uniform distribution between 0 and 1. These random numbers are used to generate a Gumbel distribution in the inverse transform method.
[0066] b. The inverse transformation of the Gumbel distribution is achieved by applying the inverse function of the distribution function. For the Gumbel distribution, its cumulative distribution function (CDF) is:
[0067] .
[0068] in, is a positional parameter, is the scale parameter, . is a uniformly distributed random number between 0 and 1.
[0069] c. Convert the uniformly distributed random numbers between 0 and 1 into Gumbel distributed random numbers by using the inverse transformation formula obtained in step 2.
[0070] d. By repeating steps a, b, and c, a Gumbel noise sequence of the desired length and distribution parameters can be generated.
[0071] In some embodiments, the initial evaluation result can be processed using a trained machine learning model to obtain a final evaluation result. The trained machine learning model is obtained by training a third machine learning model using a third data set. The third data set includes multiple training samples, and each training sample includes an initial evaluation result of the sample and a final evaluation result of the sample. The acquisition of the initial evaluation result of the sample and the final evaluation result of the sample can refer to the acquisition method of the initial evaluation result and the final evaluation result. The initial evaluation result is the input of the training of the third machine learning model, and the final evaluation result is the expected output (i.e., label) of the training of the third machine learning model. In some embodiments, the third machine learning model may include a neural network model, such as a deep neural network (DNN), a convolutional neural network (CNN), a recurrent neural network (RNN), etc.
[0072] In step 150, each computing node determines a target sample in the second data set based on the final evaluation result, and the target sample constitutes training data for training the second machine learning model.
[0073] The second machine learning model may include a neural network model, such as a deep neural network (DNN), a convolutional neural network (CNN), a recurrent neural network (RNN), etc.
[0074] In some embodiments, the final evaluation result can be used as a ranking basis to select the final target samples according to the amount of training data required for training the second machine learning model. For example, the top 20%, 10%, 5%, or 1% of the samples in the second data set can be determined as target samples.
[0075] For example, it is necessary to select 1T tokens of data from the original data set of 100T tokens, that is, select 1% of the data to form the final training data set, and evenly distribute all 100T data to the computing nodes of 10,000 distributed systems. The allocated data for each node is 10G data. Use the data quality assessment model to evaluate each data sample to obtain the corresponding value and record it. Use the Gumbel sampling algorithm to sample each data evaluation value to generate a global evaluation value for each sample. Finally, sort the evaluation values of each computing node, and select the top 1% of the target samples as the final training data set.
[0076] In some embodiments, a specific evaluation value threshold t is set, and samples with a final evaluation result greater than t in the second data set are selected as target samples to form the final training data set of the second machine learning model. For example, samples with data evaluation values greater than t are selected from the 100Ttokens original data to form the final training data set, all 100T data are distributed to the computing nodes of the distributed system according to load balancing, and each data sample is evaluated using a data quality evaluation model to obtain a corresponding value and record it, and each data evaluation value is sampled using a Gumbel sampling algorithm to generate a global evaluation value for each sample, and finally the evaluation value of each computing node is compared with the threshold, and the data samples greater than t form the final data training set.
[0077] According to an embodiment of the present invention, when using a distributed system to obtain training data, each computing node processes the samples in the second data set obtained by each computing node to obtain an initial evaluation result. The comparison between the initial evaluation results of the samples in the second data set obtained by each computing node only indicates the importance of the samples in the second data set to the training of the second machine learning model within the sample range of the second data set, and cannot measure the importance of the samples in the second data set to the training of the second machine learning model within the original data set of the second machine learning model. In order to obtain the final training data while reducing the communication between the various computing nodes to summarize the preliminary evaluation results, the present invention transforms the initial evaluation results to generate a global evaluation result. The global evaluation result measures the importance of the samples in the second data set to the training of the second machine learning model within the original data set of the second machine learning model. In this way, the target samples can be screened out by comparing (for example, sorting) the global evaluation results without summarizing the data evaluation results obtained by each computing node, thereby avoiding communication between computing nodes, reducing communication costs and improving the efficiency of training data acquisition.
[0078] Figure 2 FIG. 1 is a schematic diagram of obtaining training data according to some embodiments of this specification. Figure 2 As shown, the manager can divide the original data set into multiple second data sets S1, S2, S3, ... Sn and distribute them to multiple computing nodes N1, computing node N2, computing node N3, ... computing node Nn respectively. Each computing node can obtain a second data set. Each computing node in computing node N1, computing node N2, computing node N3, ... computing node Nn uses the acquired data evaluation model to evaluate each sample in the respectively acquired second data set to determine an initial evaluation result; processes the initial evaluation result to predict the final evaluation result of each sample; and determines the target sample in the second data set according to the final evaluation result, and the target sample constitutes the training data of the second machine learning model.
[0079] Figure 3 is a schematic diagram of a training data acquisition system according to some embodiments of this specification. Figure 3 As described above, the training data acquisition system 300 may include an acquisition module 310, a sending module 320 and an evaluation module 330. Each module in the training data acquisition system 300, for example, the acquisition module, the processing module, the training module and the evaluation module may be executed by a computing device or a processing device.
[0080] The acquisition module 310 is configured to acquire a data evaluation model, where the data evaluation model is obtained by training a first machine learning model with a first data set. For more information about acquiring a data evaluation model, see Figure 1 Step 110 in .
[0081] The sending module 320 is configured to send the data evaluation model to each computing node of the plurality of computing nodes in the distributed system. For more description of the distribution of the data evaluation model, see Figure 1 Step 120 in .
[0082] The evaluation module 330 is configured to enable each computing node in the plurality of computing nodes to obtain a second data set, wherein the samples in the second data set obtained by each computing node are different; use the data evaluation model to evaluate each sample in the second data set to determine an initial evaluation result; process the initial evaluation result to predict a final evaluation result of each sample; and determine a target sample in the second data set according to the final evaluation result, wherein the target sample constitutes training data for the second machine learning model. For more description on the acquisition of the target sample in the second data set, see Figure 1 Steps 130-150 in .
[0083] In some embodiments, the training data acquisition system may further include a training module for training a machine learning model, for example, a data evaluation model and a trained third machine learning model. In some implementations, the training module may be used to train a second machine learning model.
[0084] One or more embodiments of the present specification provide a training data acquisition device, including a processor, wherein the processor is configured to execute a training data acquisition method.
[0085] One or more embodiments of the present specification provide a computer-readable storage medium, wherein the storage medium stores computer instructions. When a computer reads the computer instructions in the storage medium, the computer executes a training data acquisition method.
[0086] One or more embodiments of the present specification provide a computer program product, including a computer program or a computer executable instruction. When the computer program or the computer executable instruction is executed by a processor, a training data acquisition method is implemented.
[0087] Figure 4 4 is a schematic diagram of a distributed processing system according to some embodiments of the present specification. As shown, distributed processing system 400 may include computing cluster 410, network 420, storage device 430, load balancing 450, and manager 440. The components in distributed processing system 400 may be connected in one or more different ways. As an example only, one or more computing devices in computing cluster 410 may be connected to manager 440 and / or storage device 430 via network 420. As another example, one or more computing devices in computing cluster 410 may be directly connected to storage device 430, such as Figure 4 Storage device 430 may also be connected to manager 440 via network 420. Network 420 may include any suitable network (e.g., a wide area network (WAN), a local area network (LAN), wired and / or wireless network access points, etc.) that may facilitate information and / or data exchange for distributed processing system 400. In some embodiments, network 420 may be the Internet, an intranet, or a combination thereof.
[0088] The computing cluster 410 may include at least two computing devices, such as computing device 410-1, computing device 410-2, ..., computing device 410-N, etc. In some embodiments, the at least two computing devices may be connected and / or communicate with each other via a wireless connection (e.g., network 420), a wired connection, or a combination thereof. For example, computing device 410-1 may receive data processed by computing device 410-2 via network 420. As another example, one of the at least two computing devices (e.g., computing device 410-1) may be directly connected to and / or communicate with the other computing device (e.g., computing device 410-2).
[0089] As used herein, a computing device may also be referred to as a computing node. Each of the at least two computing devices may include at least one processor and at least one storage device. In some embodiments, the computing device (e.g., computing device 410-1) may be any suitable computer, such as a laptop computer, a tablet computer, a desktop computer, etc. At least one processor may include a microcontroller, a microprocessor, a reduced instruction set computer (RISC), an application-specific integrated circuit (ASIC), an application-specific instruction set processor (ASIP), a central processing unit (CPU), a graphics processing unit (GPU), a physical processing unit (PPU), a microcontroller unit, a digital signal processor (DSP), a field programmable gate array (FPGA), an advanced RISC machine (ARM), a programmable logic device (PLD), etc. Any circuit or processor capable of executing one or more functional circuits or processors or any combination thereof. At least one storage device may store data, instructions, and / or any other information. In some embodiments, at least one storage device of the computing device may store data obtained from the load balancer 450 and / or the manager 440. In some embodiments, the storage device may store algorithms and / or instructions, and the at least one processor may execute or use the algorithms and / or instructions to execute the training data acquisition method described in the present application. For example, the processor may execute the method for obtaining training data described in processes 100 and 200. For further example, the processor may obtain the second data set and the data evaluation model from the load balancer 450, process each sample in the second data set using the data evaluation model to obtain an initial evaluation result, process the initial evaluation result to predict the final evaluation result, and determine the target sample from the second data set according to the final evaluation result.
[0090] In some embodiments, the processor may also train a second machine learning model based on the determined target sample.
[0091] Manager 440 may obtain the original data set and / or the data evaluation model. Manager 440 may distribute the original data set to computing devices in computing cluster 410 through load balancer 450. The computing device may determine the target sample based on the received data evaluation model and the second data set for training the large model. For more information about obtaining training data, see Figure 1 Detailed description.
[0092] The load balancer 450 allocates at least two computing devices according to a load balancing algorithm or strategy to achieve acquisition of training data. Exemplary load balancing algorithms may include a round-robin algorithm, a weighted round-robin algorithm, an automatic backup algorithm, a minimum number of connections algorithm, a random algorithm, a weighted random algorithm, etc. In some embodiments, the load balancer 450 may allocate computing devices based on the resources of the computing devices and the amount of data in the original data set to achieve acquisition of model training data.
[0093] Storage device 430 may store data, instructions, and / or any other information. In some embodiments, storage device 430 may store data obtained from load balancer 450 and / or manager 440. For example, storage device 430 may store configuration information for each of at least two computing devices. In some embodiments, storage device 430 may store data and / or instructions that manager 440 may execute or use to perform the exemplary methods / systems described herein.
[0094] The basic concepts have been described above. Obviously, for those skilled in the art, the above detailed disclosure is only for example and does not constitute a limitation of this specification. Although not explicitly stated here, those skilled in the art may make various modifications, improvements and corrections to this specification. Such modifications, improvements and corrections are suggested in this specification, so such modifications, improvements and corrections still belong to the spirit and scope of the exemplary embodiments of this specification.
[0095] In some embodiments, numbers describing the number of components and attributes are used. It should be understood that such numbers used in the description of the embodiments are modified by the modifiers "about", "approximately" or "substantially" in some examples. Unless otherwise specified, "about", "approximately" or "substantially" indicate that the numbers are allowed to vary by ±20%. Accordingly, in some embodiments, the numerical parameters used in the specification and claims are approximate values, which may change according to the required features of individual embodiments. In some embodiments, the numerical parameters should take into account the specified significant digits and adopt the general method of retaining the digits. Although the numerical domains and parameters used to confirm the breadth of the range in some embodiments of this specification are approximate values, in specific embodiments, the setting of such numerical values is as accurate as possible within the feasible range.
[0096] Finally, it should be understood that the embodiments described in this specification are only used to illustrate the principles of the embodiments of this specification. Other variations may also fall within the scope of this specification. Therefore, as an example and not a limitation, alternative configurations of the embodiments of this specification may be considered consistent with the teachings of this specification. Accordingly, the embodiments of this specification are not limited to the embodiments explicitly introduced and described in this specification.
Claims
1. A training data acquisition method based on a distributed system, comprising: Obtaining a data evaluation model, wherein the data evaluation model is determined based on training a first machine learning model based on a first data set; Sending the data evaluation model to each computing node of the distributed system; Splitting an original data set used to train a second machine learning model into a plurality of second data sets; Distributing the plurality of second data sets to the respective computing nodes; as well as Any of the computing nodes performs the following operations, including: receiving a second data set among the plurality of second data sets, wherein samples in the second data set acquired by each computing node are different; Use the data evaluation model to evaluate each sample in the second data set to determine an initial evaluation result, wherein the data evaluation model is used to evaluate the quality of the data, and each computing node does not communicate with each other, and each computing node processes a sample in the second data set obtained by each computing node to obtain the initial evaluation result, and the initial evaluation result is a local evaluation result. The local evaluation result of each sample in the second data set is used to measure the importance of each sample to the training of the second machine learning model within the scope of the second data set; Sampling the data evaluation values in the initial evaluation results by a sampling algorithm to generate a final evaluation result of each sample, wherein the final evaluation result is a global evaluation result, and the global evaluation result includes a global evaluation value; and The global evaluation results of the samples in the second data set obtained by each computing node are not summarized. The target samples are screened out from the second data set by comparing the global evaluation results of the samples in the second data set. The global evaluation result of each sample in the second data set is generated by transforming the initial evaluation result, and is used to measure the importance of each sample to the training of the second machine learning model within the original data set of the second machine learning model. The target samples constitute the final training data of the second machine learning model.
2. The training data acquisition method according to claim 1, wherein: The first data set includes positive samples and negative samples, and the quality of the positive samples is higher than the quality of the negative samples.
3. The training data acquisition method according to claim 1, wherein: The data evaluation model includes a linear classifier.
4. The training data acquisition method according to claim 1, wherein: The sampling algorithm includes a Gumbel sampling algorithm.
5. The training data acquisition method according to claim 1, wherein: Screening out target samples from the second data set according to the final evaluation result includes: sorting the final evaluation results to determine samples in the second data set that meet the conditions; and The samples in the second data set that meet the conditions are designated as the target samples.
6. A distributed system for acquiring training data, comprising: a plurality of computing nodes, the plurality of computing nodes comprising computing devices; Manager, configured to: Acquire a data evaluation model, where the data evaluation model is obtained by training a first machine learning model with a first data set; sending the data evaluation model to each computing node of the plurality of computing nodes; Splitting an original data set used to train a second machine learning model into a plurality of second data sets; distributing the plurality of second data sets to the plurality of computing nodes; as well as Wherein, each computing node in the plurality of computing nodes is configured as: receiving a second data set among the plurality of second data sets, wherein samples in the second data set acquired by each computing node are different; Use the data evaluation model to evaluate each sample in the second data set to determine an initial evaluation result, wherein the data evaluation model is used to evaluate the quality of the data, and each computing node does not communicate with each other, and each computing node processes a sample in the second data set obtained by each computing node to obtain the initial evaluation result, and the initial evaluation result is a local evaluation result. The local evaluation result of each sample in the second data set is used to measure the importance of each sample to the training of the second machine learning model within the scope of the second data set; Using a sampling algorithm to sample the data evaluation values in the initial evaluation result to generate a final evaluation result for each sample, wherein the final evaluation result is a global evaluation result, the global evaluation result includes a global evaluation value, and the global evaluation result is generated by transforming the initial evaluation result, and the global evaluation result of each sample in the second data set is used to measure the importance of each sample to the training of the second machine learning model within the original data set of the second machine learning model; and The global evaluation results of the samples in the second data set obtained by each computing node are not summarized. By comparing the global evaluation results of the samples in the second data set, target samples are screened out from the second data set, and the target samples constitute the final training data of the second machine learning model.
7. A training data acquisition system, comprising an acquisition module, a sending module and an evaluation module; The acquisition module is configured to acquire a data evaluation model, wherein the data evaluation model is obtained by training a first machine learning model with a first data set; The sending module is configured to send the data evaluation model to each computing node of a plurality of computing nodes in a distributed system; Splitting an original data set used to train a second machine learning model into a plurality of second data sets; and distributing the plurality of second data sets to the respective computing nodes; as well as The evaluation module is configured to cause each of the plurality of computing nodes to: receiving a second data set among the plurality of second data sets, wherein samples in the second data set acquired by each computing node are different; Use the data evaluation model to evaluate each sample in the second data set to determine an initial evaluation result, wherein the data evaluation model is used to evaluate the quality of the data, and each computing node does not communicate with each other, and each computing node processes a sample in the second data set obtained by each computing node to obtain the initial evaluation result, and the initial evaluation result is a local evaluation result. The local evaluation result of each sample in the second data set is used to measure the importance of each sample to the training of the second machine learning model within the scope of the second data set; Using a sampling algorithm to sample the data evaluation values in the initial evaluation result to generate a final evaluation result for each sample, wherein the final evaluation result is a global evaluation result, wherein the global evaluation result includes a global evaluation value, and the global evaluation result is generated by transforming the initial evaluation result, and the final evaluation result of each sample in the second data set is used to measure the importance of each sample to the training of the second machine learning model within the scope of the original data set of the second machine learning model; as well as The global evaluation results of the samples in the second data set obtained by each computing node are not summarized. By comparing the global evaluation results of the samples in the second data set, target samples are screened out from the second data set, and the target samples constitute the final training data of the second machine learning model.
8. A computer program product comprising a computer program or computer executable instructions, characterized in that: When the computer program or computer executable instruction is executed by a processor, the training data acquisition method according to any one of claims 1 to 5 is implemented.
