A data processing method and apparatus

By converting raw data into vector data on the client side and using differential privacy and encryption methods, the privacy leakage problem during data upload is solved, enabling efficient and secure data processing and model training in a distributed system.

CN122333508APending Publication Date: 2026-07-03HUAWEI TECH CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
HUAWEI TECH CO LTD
Filing Date
2025-01-03
Publication Date
2026-07-03

AI Technical Summary

Technical Problem

In the process of training large-scale artificial intelligence models, how can we make full use of data for computation and model training while improving data privacy and security, and avoid privacy leaks during data upload?

Method used

By converting raw data into vector data on the client side and encrypting the data using methods such as differential privacy and homomorphic encryption, the need to directly upload raw data is reduced, and the powerful computing capabilities of the distributed system are utilized for model training and inference.

Benefits of technology

It significantly reduces the risk of data privacy breaches, improves the security and efficiency of data processing, and ensures the privacy and integrity of user data during transmission.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122333508A_ABST
    Figure CN122333508A_ABST
Patent Text Reader

Abstract

This application provides a data processing method that is applied to data processing using AI models. By downloading the encoding module of the AI ​​model to the local client, only encrypted vector data flows between the client and the distributed system, which improves the privacy and security of data during data processing. Furthermore, it allows the powerful computing resources of the distributed system to be used for model use and training, thereby improving the computational efficiency of data processing.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of data security, specifically to a data processing method and corresponding apparatus. Background Technology

[0002] With the rapid development of computer technology, training and using large-scale artificial intelligence (AI) models requires collecting and uploading vast amounts of user data to servers for processing. Privacy breaches may occur during this data upload process. Therefore, how to fully utilize data for large-scale computation and model training while improving data privacy and security has become a critical issue that urgently needs to be addressed. Summary of the Invention

[0003] This application provides a data processing method that, when processing raw data using an AI model, avoids directly uploading the raw data to the server where the AI ​​model resides, thereby reducing the risk of data leakage that may occur when the raw data is uploaded to the server and improving the security and reliability of data processing.

[0004] The first aspect of this application provides a data processing method applied to a client that communicates with a distributed system via a network. An AI model is deployed on the distributed system. The method includes: the client receiving a first request from the distributed system; wherein the first request is used to request the client to provide data for processing; the client obtaining raw data and converting the raw data into vector data using an encoding module in the client; and the client sending the vector data to a processing module in the AI ​​model, whereby the processing module processes the vector data.

[0005] In this application, the distributed system can be a cloud platform that provides cloud computing services. The cloud platform has powerful computing capabilities and provides efficient services for AI models to process data.

[0006] In this application, the AI ​​model is a machine learning model with large-scale parameters and computational power. The AI ​​model can be a large language model (LLM), which can understand and generate natural and fluent human language by training on massive amounts of text data. It can also be a deep neural network, which extracts and fuses features from input data through multiple layers of neural networks to achieve complex tasks.

[0007] In this application, the client is the data owner, possessing a large amount of raw data or data that has undergone preliminary processing. The distributed system is the model provider, capable of training and providing AI models to the data owner based on the data provided by the data provider. These AI models can help the data owner perform various tasks such as prediction, classification, and recommendation.

[0008] In this application, the raw data can be various types of data, such as unprocessed or partially processed text, images, audio, and video. The raw data can be obtained through user input or import, or extracted from a database. For example, the raw data can be pre-stored in a database, which the client can access by calling the database. Alternatively, the raw data can be imported by the user, who can collect the raw data beforehand and then import it into the client. Therefore, there are many ways to obtain raw data, and no specific limitations are made here.

[0009] In this application, the encoding module in the client can be sent to the client by the distributed system after the client initiates a second request to the distributed system to separate the AI ​​model, or it can be downloaded by the client itself from the server that stores the encoding module in the AI ​​model.

[0010] In this application, the encoding module is used to perform vectorization operations on the input text or other forms of data, that is, to convert the input data into numerical vectors for representation. These vector representations may contain information such as the syntax, semantics, and context of the data.

[0011] In this application, the processing module is used to perform subsequent complex tasks such as deep inference, model parameter tuning, and generating new targets using the encoded numerical vectors. The processing module may include the core neural network layer of a large language model, such as multiple stacked Transformer layers, feedforward neural networks, etc.

[0012] In the first aspect mentioned above, the client encodes the raw data into data vectors through the encoding module in the AI ​​model and sends the data vectors to the processing module of the AI ​​model in the distributed system. This eliminates the need to directly upload the collected raw user data to the distributed system, improving the privacy of user data and significantly reducing the risk of privacy leakage. Furthermore, the processing module runs on the distributed system and can provide efficient model training, fine-tuning, and inference services through the powerful computing capabilities of the cloud. This improves both data security and privacy while also increasing the efficiency of data processing.

[0013] In one possible implementation, after the original data is converted into vector data using the encoding module in the client, the method includes: the client generating random noise; and adding noise to the vector data using the random noise.

[0014] In this application, the client can encrypt vector data using differential privacy. Differential privacy introduces randomness into the dataset, randomly adding variables to distort the data and protect user privacy while ensuring the accuracy of statistical results. Differential privacy distorts the data by adding a certain amount of random noise. The magnitude of this noise can be adjusted according to needs to balance privacy protection and data usability. Differential privacy also sets a privacy budget (usually denoted by ε) to limit the risk of privacy leakage during data analysis. The smaller the privacy budget, the higher the level of privacy protection.

[0015] In this application, before generating random noise, the client can set a privacy budget value based on the privacy protection strength of this data processing and calculate a query sensitivity based on the characteristics of the function in the encoding module. The client then generates random noise using an appropriate noise mechanism based on the privacy budget value and the query sensitivity.

[0016] In this application, the noise mechanism can be Laplace noise, which is generated based on the Laplace distribution. The magnitude of the noise is related to the sensitivity of the dataset and the required privacy budget. Alternatively, it can be Gaussian noise, which is generated based on the Gaussian distribution (normal distribution), possessing symmetry and bell-shaped properties, and can be used to protect non-numerical information in the dataset. In certain situations, the client can also combine Gaussian noise with Laplace noise to enhance the privacy protection of vector data.

[0017] In this application, the client can add generated random noise to the vector data, thereby protecting the vector data that needs to be sent to the processing module.

[0018] Optionally, client-side protection methods for vector data may also include homomorphic encryption (HE) or secure multi-party computation, etc., without limitation. Homomorphic encryption is an encryption method that allows computation on encrypted data, and the decrypted result is correct and consistent with the result of performing the same computation on the plaintext data. Multi-party computation is a computational model that allows multiple parties to process data simultaneously without transmitting the data completely to other parties.

[0019] In this possible implementation, the client protects the vector data by adding encryption methods such as random noise, making the vector data irreversible. Thus, the vector data cannot be restored to its original form during the process of uploading it to the processing module of the distributed system. Even if the vector data is attacked or leaked during data transmission, the original data cannot be recovered, thereby improving the security of the original data.

[0020] One possible implementation includes, after the client sends vector data to the processing module in the AI ​​model, the following:

[0021] The client receives a second model from the distributed system. The second model is obtained by encrypting the first model with random noise using the processing module in the AI ​​model. The first model is an AI model obtained after training with vector data.

[0022] In this application, the second model can be encrypted using random noise by a distributed system and sent to the client. The second model is a model with fine-tuned parameters trained using the vector data sent by the client. The client can use the second model for subsequent inference or classification tasks.

[0023] In this possible implementation, the distributed system fine-tunes the parameters of the AI ​​model using raw data provided by the client, and then sends the encrypted AI model back to the client for user use. Because the client-provided vector data is used to fine-tune the AI ​​model's parameters, the basic model parameters of the original model in the distributed system are not leaked, thus protecting the original model assets within the distributed system.

[0024] One possible implementation involves converting the original data into vector data, which includes mapping the original data to a vector space based on the data type of the original data to obtain vector data.

[0025] In this application, the data type of the original data can include text, images, audio, video, etc. When the original data is text, the client can map each word in the text data to a high-order real number vector through word embedding or other methods, and each vector is semantically related to the others, thus reflecting the semantic relationship between words; or the client can use a multi-head attention mechanism to initially encode the context of the text, thereby converting the word-level embeddings into numerical vectors containing contextual information. When the original data is image data, the client can extract discriminative feature points from the image data through methods such as representing vectors from the image's pixel values ​​or performing feature extraction on the image, and convert these feature points into vector representations.

[0026] In this application, when the original data is audio data, the client can convert the audio signal from the time domain to the frequency domain using methods such as Fourier transform, thereby extracting the spectral features of the audio to generate an audio vector. When the original data is video data, the client can convert the original data into vector data by extracting representative keyframes from the video and converting these keyframes into image vectors, or by extracting motion features from the video and converting the motion features into vector data.

[0027] In this possible implementation, the client converts the raw data into vector data by using the encoding module of the AI ​​model, which reduces the need for the client to upload the raw data to the distributed system. This protects the user's raw data from being leaked or intercepted during transmission and improves the security of data processing.

[0028] In one possible implementation, before the client receives the first request from the distributed system, the process further includes: the client initiating a second request to the distributed system, the second request being used by the client to obtain the encoding module of the AI ​​model from the distributed system as the encoding module in the client.

[0029] In this application, the pre-encoding part and the subsequent processing module of the AI ​​model can be separated because the encoding module is responsible for converting the raw data into a numerical representation that the model can process, while the processing module is responsible for performing higher-level reasoning based on these representations. Therefore, these two modules can be transmitted and processed as independent modules, and the data exchange between them is in the form of numerical vectors.

[0030] In this application, the client can obtain the encoding module in the AI ​​model by downloading it, thereby enabling the data encoding process to run locally on the client.

[0031] In this possible implementation, when data requires further processing and transmission, the original data first enters the client's encoding module. The encoding module performs a series of complex and ordered transformations on the input raw data, ultimately converting it into encoded vector data. This way, during data transmission, the user only needs to upload the encoded vector data, thus avoiding the uploading of the original data from the client to the cloud. Even if the transmission is accidentally intercepted, it is very difficult for external attackers to reverse engineer the original data using the encoded vector data. This effectively prevents the upload of the original data from the client to the cloud—a crucial step that could pose privacy risks—significantly and effectively reducing the risk of privacy leaks and providing strong protection for user data security.

[0032] A second aspect of this application provides a data processing method applied to a distributed system. The distributed system communicates with a client via a network. An AI model is deployed on the distributed system, and the AI ​​model includes a processing module. The method includes: the distributed system sending a first request to the client; wherein the first request is used to request the client to provide processing data; the distributed system receiving vector data from the client, the vector data being obtained by converting original data through an encoding module in the client; and the distributed system using the processing module to process the vector data.

[0033] In this application, the distributed system can simultaneously receive vector data sent by multiple clients, aggregate the vector data sent by multiple clients, and then process it.

[0034] One possible implementation involves processing the vector data, including: the processing module adjusting and training the parameters of the AI ​​model based on the vector data.

[0035] In one possible implementation, the vector data is processed by: the processing module obtaining matching vectors from a preset vector database whose similarity to the vector data is within a preset range; and obtaining matching results based on the matching vectors.

[0036] In the second aspect mentioned above, the distributed system improves the computational efficiency of data processing by receiving vector data from clients and utilizing powerful computing resources for efficient model training and inference.

[0037] A third aspect of this application provides a data processing apparatus, comprising:

[0038] The transceiver unit is used to receive a first request from the distributed system; wherein the first request is used to request the client to provide data for processing.

[0039] The transceiver unit is also used to acquire raw data;

[0040] The processing unit is used to convert raw data into vector data using the encoding module in the client.

[0041] The transceiver unit is also used to send vector data to the processing module in the AI ​​model, which then processes the vector data.

[0042] In one possible implementation, the processing unit is further configured to generate random noise; the processing unit is further configured to add noise to the vector data using the random noise.

[0043] In one possible implementation, the transceiver unit is also used to receive a second model from the distributed system. The second model is obtained by encrypting the first model with random noise using the processing module in the AI ​​model. The first model is an AI model obtained after training with vector data.

[0044] In one possible implementation, the processing unit is further configured to map the original data to a vector space based on the data type of the original data, thereby obtaining vector data.

[0045] In one possible implementation, the transceiver unit is also used to initiate a second request to the distributed system. The second request is used by the client to obtain the encoding module of the AI ​​model from the distributed system as the encoding module in the client.

[0046] A fourth aspect of this application provides a data processing apparatus, comprising:

[0047] The transceiver unit is used to send a first request to the client; wherein the first request is used to request the client to provide processing data;

[0048] The transceiver unit is also used to receive vector data from the client, which is obtained by converting the original data through the encoding module in the client.

[0049] The processing unit is used to process vector data using the processing module.

[0050] In one possible implementation, the processing unit is also used to adjust and train the parameters of the AI ​​model based on vector data.

[0051] In one possible implementation, the processing unit is further configured to obtain matching vectors from a preset vector database that have a similarity to the vector data within a preset range; and to obtain matching results based on the matching vectors.

[0052] A fifth aspect of this application provides a data processing apparatus. The apparatus may include at least one processor, a memory, and a communication interface. The processor is coupled to the memory and the communication interface. The memory is used to store instructions, the processor is used to execute the instructions, and the communication interface is used to communicate with other devices under the control of the processor. When executed by the processor, the instructions cause the processor to perform the method of the first aspect or any possible implementation thereof.

[0053] A sixth aspect of this application provides a data processing apparatus. The apparatus may include at least one processor, a memory, and a communication interface. The processor is coupled to the memory and the communication interface. The memory is used to store instructions, the processor is used to execute the instructions, and the communication interface is used to communicate with other devices under the control of the processor. When executed by the processor, the instructions cause the processor to perform the methods of the second aspect or any possible implementation thereof.

[0054] In a seventh aspect, this application provides a computing device including a memory and a processor, the memory storing program instructions, and the processor executing the program instructions to perform the methods provided in the first aspect of this application and any possible implementation thereof.

[0055] Eighthly, this application provides a computing device including a memory and a processor, the memory storing program instructions, and the processor executing the program instructions to perform the methods provided in the second aspect of this application and any possible implementation thereof.

[0056] Ninthly, this application provides a computing device cluster including multiple computing devices, each computing device including multiple processors and multiple memories, the multiple memories storing program instructions, and the multiple processors executing the program instructions, causing the computing device cluster to perform the methods provided in the first aspect of this application and any possible implementation thereof.

[0057] In a tenth aspect, this application provides a computing device cluster including multiple computing devices, each computing device including multiple processors and multiple memories, the multiple memories storing program instructions, and the multiple processors executing the program instructions, causing the computing device cluster to perform the methods provided in the second aspect of this application and any possible implementation thereof.

[0058] Eleventhly, this application provides a computer-readable storage medium, which is a non-volatile computer-readable storage medium, including program instructions that, when executed on a computing device, cause the computing device to perform the methods provided in the first aspect of this application and any possible implementation thereof.

[0059] In a twelfth aspect, this application provides a computer-readable storage medium that is a non-volatile computer-readable storage medium, the computer-readable storage medium including program instructions that, when executed on a computing device, cause the computing device to perform the methods provided in the second aspect of this application and any possible implementation thereof.

[0060] In a thirteenth aspect, this application provides a computer program product containing instructions that, when run on a computer, cause the computer to perform the methods provided in the first aspect of this application and any possible implementation thereof.

[0061] In a fourteenth aspect, this application provides a computer program product containing instructions that, when run on a computer, cause the computer to perform the methods provided in the second aspect of this application and any of its possible implementations.

[0062] Based on the implementation methods provided in the above aspects, this application can be further combined to provide more implementation methods. Attached Figure Description

[0063] Figures 1A to 1B This is a schematic diagram of the AI ​​processing involved in this application;

[0064] Figure 2 This is a schematic diagram of an example of a distributed system provided in an embodiment of this application;

[0065] Figure 3 This is a schematic diagram of an embodiment of the data processing method provided in this application;

[0066] Figure 4 This is a schematic diagram of another embodiment of the data processing method provided in this application;

[0067] Figure 5 This is a schematic diagram of another embodiment of the data processing method provided in this application;

[0068] Figure 6 This is a schematic diagram of another embodiment of the data processing method provided in this application;

[0069] Figure 7 This is a schematic diagram of another embodiment of the data processing method provided in this application;

[0070] Figure 8 This is another structural schematic diagram of the data processing apparatus provided in the embodiments of this application;

[0071] Figure 9 This is another structural schematic diagram of the data processing apparatus provided in the embodiments of this application;

[0072] Figure 10 This is another structural schematic diagram of the data processing apparatus provided in the embodiments of this application;

[0073] Figure 11 This is another structural schematic diagram of the data processing device provided in the embodiments of this application. Detailed Implementation

[0074] The embodiments of this application are described below with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of this application, and not all of them. As those skilled in the art will understand, with the development of technology and the emergence of new scenarios, the technical solutions provided by the embodiments of this application are also applicable to similar technical problems.

[0075] The terms "first," "second," etc., used in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments described herein can be implemented in a sequence other than that illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover a non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.

[0076] In the embodiments of this application, the terms "exemplary" or "for example" are used to indicate that something is an example, illustration, or description. Any embodiment or design that is described as "exemplary" or "for example" in the embodiments of this application should not be construed as being more preferred or advantageous than other embodiments or design. Specifically, the use of the terms "exemplary" or "for example" is intended to present the relevant concepts in a specific manner.

[0077] For ease of understanding, some technical terms involved in the embodiments of this application will be introduced below.

[0078] (1) Artificial Intelligence (AI):

[0079] AI can endow machines with human-like intelligence, for example, allowing them to use computer hardware and software to simulate certain intelligent human behaviors. To achieve artificial intelligence, machine learning methods can be employed. In machine learning, machines learn (or train) neural network models using training data. This neural network model can also be called an AI model, a large AI model, a large language model (LLMs), or simply a model. This model represents the mapping from input to output. The learned model can be used for reasoning (or prediction), that is, it can be used to predict the output corresponding to a given input. This output can also be called the reasoning result (or prediction result).

[0080] Machine learning can include supervised learning, unsupervised learning, and reinforcement learning. Unsupervised learning can also be called learning without supervision.

[0081] Supervised learning, based on collected sample values ​​and labels, uses machine learning algorithms to learn the mapping relationship between sample values ​​and labels, and then expresses this learned mapping relationship using an AI model. The process of training the machine learning model is the process of learning this mapping relationship. During training, sample values ​​are input into the model to obtain the model's predicted values, and the model parameters are optimized by calculating the error between the model's predicted values ​​and the sample labels (ideal values). After the mapping relationship is learned, it can be used to predict new sample labels. The mapping relationship learned in supervised learning can include linear or non-linear mappings. Based on the type of label, the learning task can be divided into classification tasks and regression tasks.

[0082] Unsupervised learning relies on collected sample values ​​to discover inherent patterns within the samples themselves. One type of unsupervised learning algorithm uses the samples themselves as supervisory signals, meaning the model learns the mapping relationship from sample to sample; this is called self-supervised learning. During training, model parameters are optimized by calculating the error between the model's predictions and the samples themselves. Self-supervised learning can be used for signal compression and decompression recovery applications; common algorithms include autoencoders and generative adversarial networks.

[0083] Reinforcement learning, unlike supervised learning, is a type of algorithm that learns problem-solving strategies through interaction with its environment. Unlike supervised and unsupervised learning, reinforcement learning problems do not have explicit "correct" action labels. The algorithm needs to interact with the environment, obtain reward signals from the environment, and then adjust its decision actions to obtain a larger reward signal value. For example, in downlink power control, the reinforcement learning model adjusts the downlink transmission power of each user based on the total system throughput feedback from the wireless network, aiming to achieve a higher system throughput. The goal of reinforcement learning is to find the decision action that maximizes the cumulative reward over a relatively long period. Training in reinforcement learning is achieved through iterative interaction with the environment.

[0084] Neural networks (NNs) are a specific model in machine learning techniques. According to the general approximation theorem, neural networks can theoretically approximate any continuous function, thus enabling them to learn arbitrary mappings. Traditional communication systems rely on extensive expert knowledge to design communication modules, while deep learning communication systems based on neural networks can automatically discover hidden pattern structures from large datasets, establish mapping relationships between data, and achieve performance superior to traditional modeling methods.

[0085] The idea behind neural networks comes from the neuronal structure of the brain. For example, each neuron performs a weighted summation of its input values ​​and outputs the result through an activation function.

[0086] like Figure 1AThe diagram shown is a schematic representation of a neuron structure. Assume the neuron's input is x = [x0, x1, ..., x...]. n The weights corresponding to each input are w = [w, w1, ..., w2]. n ], where n is a positive integer, w i and x i It can be any possible type, such as a decimal, an integer (e.g., 0, a positive integer, or a negative integer), or a complex number. i As x i The weights are used to assign weights to x. i Weighting is applied. The bias for the weighted summation of the input values ​​is, for example, b. Activation functions can take many forms. Assuming a neuron's activation function is y = f(z) = max(0, z), then the neuron's output is: For example, if the activation function of a neuron is y = f(z) = z, then the output of that neuron is: Here, b can be any possible type, such as a decimal, an integer (e.g., 0, a positive integer, or a negative integer), or a complex number. The activation functions of different neurons in a neural network can be the same or different.

[0087] Furthermore, neural networks generally consist of multiple layers, each of which may include one or more neurons. Increasing the depth and / or width of a neural network can improve its expressive power, providing more powerful information extraction and abstract modeling capabilities for complex systems. The depth of a neural network can refer to the number of layers it includes, and the number of neurons in each layer can be called the width of that layer. In one implementation, a neural network includes an input layer and an output layer. The input layer processes the received input information through neurons and passes the processing result to the output layer, which then obtains the output of the neural network. In another implementation, a neural network includes an input layer, hidden layers, and an output layer. The input layer processes the received input information through neurons and passes the processing result to the hidden layer. The hidden layer calculates the received processing result and passes the calculation result to the output layer or the next adjacent hidden layer, ultimately obtaining the output of the neural network. A neural network may include one hidden layer or multiple sequentially connected hidden layers, without limitation.

[0088] Neural networks, for example, are deep neural networks (DNNs). Depending on how the network is constructed, DNNs can include feedforward neural networks (FNNs), convolutional neural networks (CNNs), and recurrent neural networks (RNNs).

[0089] Figure 1B This is a schematic diagram of a Free-Nearest Neural Network (FNN). A key characteristic of FNNs is that neurons in adjacent layers are completely connected pairwise. This characteristic makes FNNs typically require a large amount of storage space, leading to high computational complexity.

[0090] CNNs are neural networks specifically designed to process data with a grid-like structure. For example, time-series data (e.g., discrete sampling along a time axis) and image data (e.g., two-dimensional discrete sampling) can both be considered grid-like data. CNNs do not use all the input information at once for computation; instead, they use a fixed-size window to extract a portion of the information for convolution operations, which significantly reduces the computational cost of model parameters. Furthermore, depending on the type of information extracted by the window (e.g., people and objects in an image represent different types of information), each window can use different convolution kernels, allowing CNNs to better extract features from the input data.

[0091] Recurrent Neural Networks (RNNs) are a type of distributed neural network (DNN) that utilizes feedback time-series information. The input to an RNN includes the current input value and its own output value from the previous time step. RNNs are well-suited for acquiring temporally correlated sequence features, and are particularly applicable to applications such as speech recognition and channel coding / decoding.

[0092] In the model training process described above for machine learning, a loss function can be defined. The loss function describes the difference or discrepancy between the model's output value and the ideal target value. The loss function can be expressed in various forms, and there are no restrictions on its specific form. The model training process can be viewed as follows: by adjusting some or all of the model's parameters, the value of the loss function is made to be less than a threshold value or to meet the target requirement.

[0093] A model can also be called an AI model, a rule, or other names. An AI model can be considered a specific method for implementing AI functions. An AI model represents the mapping relationship or function between the model's input and output. AI functions can include one or more of the following: data collection, model training (or model learning), model information dissemination, model inference (or model reasoning, inference, or prediction, etc.), model monitoring or model validation, or inference result publication, etc. AI functions can also be called AI (related) operations or AI-related functions.

[0094] (2) Large language model (LLM): It is a neural network model trained on massive text data. Through training on massive text data, it learns the grammar, semantics and logical relationships of the language. It uses the self-attention mechanism in the Transformer architecture to capture long-distance dependencies in the text and focus on the task-related parts of the input sequence, thereby better understanding and generating text.

[0095] (3) Trusted Execution Environment (TEE): A TEE is a computing environment composed of hardware and software. TEE uses hardware to isolate sensitive data and code from the operating system and other applications to prevent unauthorized access and tampering. Thus, even if the operating system or other applications are compromised, the data and code stored in the TEE remain secure. The main functions of a TEE include protecting sensitive data, verifying the origin and integrity of applications, and providing a trusted execution environment. However, encrypted computations in a TEE significantly increase computation time, especially in deep learning model training that requires a large number of matrix operations, where performance is drastically reduced, affecting training efficiency. Furthermore, TEE technology requires specific hardware support, but this hardware is not widely available, limiting its application in large-scale training tasks.

[0096] (4) Homomorphic Encryption (HE): Homomorphic encryption is an encryption algorithm that satisfies the homomorphic operation property of ciphertext. This means that performing a specific computational operation on the encrypted data will yield the same encrypted result as performing the same operation on the original plaintext data and then encrypting it. However, homomorphic encryption has high computational complexity, especially in deep learning model training, which requires a large number of addition and multiplication operations. This leads to a significant increase in training time, and the volume of homomorphically encrypted data usually expands several times or even tens of times, increasing the storage and transmission costs of the data.

[0097] (5) Differential privacy: By adding interfering data (i.e., noise) to the original query results (numerical or discrete numerical values), it ensures that adding or removing a record in the dataset does not significantly affect the data analysis results. This makes it difficult for external attackers to deduce specific individual data information from the analysis results, thereby protecting the privacy of the data subject. Its core lies in adding an appropriate amount of "noise" to the data to interfere with the statistical analysis process.

[0098] (6) Model Provider (MP): This refers to the entity that develops and provides various models to the public. These are usually research institutions, R&D teams in technology companies, etc. They use professional algorithms, programming knowledge, etc., to build models based on specific architectures and technologies, aiming to solve various problems in different fields.

[0099] (7) Data owner (DO): refers to the entity that legally owns specific data resources. Its core responsibility is to properly manage and maintain the security, integrity and accuracy of data, formulate data management system, and take corresponding technical measures (such as encrypted storage, access control, etc.) to prevent data from being illegally accessed, tampered with or leaked, and to ensure the quality and reliability of data assets.

[0100] (8) In the embodiments of this application, "send" and "receive" indicate the direction of signal transmission. For example, "send information to XX" can be understood as the destination of the information being XX, which may include sending directly through the air interface or sending indirectly through the air interface by other units or modules. "Receive information from YY" can be understood as the source of the information being YY, which may include receiving directly from YY through the air interface or receiving indirectly from YY through the air interface by other units or modules. "Send" can also be understood as the "output" of the chip interface, and "receive" can also be understood as the "input" of the chip interface.

[0101] (9) The terms "system" and "network" in the embodiments of this application can be used interchangeably. "Multiple" refers to two or more. "And / or" describes the relationship between related objects, indicating that there can be three relationships. For example, A and / or B can mean: A exists alone, A and B exist simultaneously, or B exists alone, where A and B can be singular or plural. The character " / " generally indicates that the related objects before and after are in an "or" relationship. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items. For example, "at least one of A, B and C" includes A, B, C, AB, AC, BC or ABC. And, unless otherwise specified, the ordinal numbers such as "first" and "second" mentioned in the embodiments of this application are used to distinguish multiple objects and are not used to limit the order, sequence, priority or importance of multiple objects.

[0102] (10) In the embodiments of this application, "instruction" may include direct instruction and indirect instruction, as well as explicit instruction and implicit instruction. The information indicated by a certain piece of information (as described below, the instruction information) is called the information to be instructed. In the specific implementation process, there are many ways to indicate the information to be instructed, such as, but not limited to, directly indicating the information to be instructed, such as the information to be instructed itself or its index. It can also indirectly indicate the information to be instructed by indicating other information, where there is an association between the other information and the information to be instructed; or it can only indicate a part of the information to be instructed, while the other parts of the information to be instructed are known or pre-agreed upon. For example, the instruction of specific information can be achieved by using a pre-agreed (e.g., protocol pre-defined or pre-configured) arrangement order of various information, thereby reducing the instruction overhead to a certain extent. This application does not limit the specific method of instruction. It is understood that for the sender of the instruction information, the instruction information can be used to indicate the information to be instructed; for the receiver of the instruction information, the instruction information can be used to determine the information to be instructed.

[0103] In this application, unless otherwise specified, the same or similar parts between the various embodiments can be referred to each other. In the various embodiments of this application, and the various methods / designs / implementations within each embodiment, unless otherwise specified or logically conflicting, the terminology and / or descriptions between different embodiments and between the various methods / designs / implementations within each embodiment are consistent and can be mutually referenced. The technical features in different embodiments and the various methods / designs / implementations within each embodiment can be combined to form new embodiments, methods, or implementations based on their inherent logical relationships. The following descriptions of the embodiments of this application do not constitute a limitation on the scope of protection of this application.

[0104] The data processing method provided in this application can be applied to distributed systems. Figure 2 This illustrates a typical logical architecture of a distributed system, based on Figure 2 The distributed system 100 contains an AI model 110, which includes an encoding module 111 and a processing module 112. The client 200 also includes the encoding module 111 from the AI ​​model 110.

[0105] AI model 110 is deployed in distributed system 100. AI model 110 can be an LLM (Limited Linear Model) and can be applied to various scenarios such as language reasoning, data analysis, and personalized recommendation. The pre-encoding part 111 and the subsequent processing module 112 of AI model 110 can be separated because the encoding module 111 is responsible for converting the raw data into numerical representations that the model can process, while the processing module 112 is responsible for performing higher-level reasoning based on these representations. Therefore, these two modules can be transmitted and processed as independent modules, and the data flow between them is in the form of numerical vectors.

[0106] The encoding module 111, which runs locally in client 200, is downloaded by client 200 from distributed system 100. Encoding module 111 is used to convert input data into numerical vectors.

[0107] The processing module 112 in the AI ​​model 110 runs in the distributed system 100. It can perform efficient deep reasoning and generation tasks based on the vectors input by the encoding module 111, and utilizes the powerful computing capabilities of the distributed system 100 to process the data.

[0108] Those skilled in the art can understand that a distributed system may include more than Figure 2 The components shown are fewer or more components, or include those with Figure 2 The components shown are different components. Figure 2 Only components more relevant to the implementation disclosed in the embodiments of the present invention are shown.

[0109] Based on the aforementioned distributed system and client, the data processing method provided in this application can be found in [reference needed]. Figure 3 ,like Figure 3 As shown, the method includes:

[0110] Step 301. The distributed system sends a first request to the client, and correspondingly, the client receives the first request from the distributed system.

[0111] In this application, the client can communicate with a distributed system via a network. An AI model is deployed on the distributed system.

[0112] In this application, the first request is used to request the client to provide data for processing. The first request may include information such as the type and quantity of data.

[0113] In this application, the distributed system can be a cloud platform that provides cloud computing services. The cloud platform has powerful computing capabilities and provides efficient services for AI models to process data.

[0114] In this application, the number of clients can be one or more. When there are multiple clients, the distributed system sends a first request to each client to request the corresponding data.

[0115] In this application, the AI ​​model is a machine learning model with large-scale parameters and computational power. The AI ​​model can be a large language model (LLM), which can understand and generate natural and fluent human language by training on massive amounts of text data. It can also be a deep neural network, which extracts and fuses features from input data through multiple layers of neural networks to achieve complex tasks.

[0116] Step 302. The client obtains the raw data and uses the encoding module in the client to convert the raw data into vector data.

[0117] In this application, the client is the data owner, possessing a large amount of raw data or data that has undergone preliminary processing. The distributed system is the model provider, capable of training and providing AI models to the data owner based on the data provided by the data provider. These AI models can help the data owner perform various tasks such as prediction, classification, and recommendation.

[0118] In this application, the raw data can be various types of data, such as unprocessed or partially processed text, images, audio, and video. The raw data can be obtained through user input or import, or extracted from a database. For example, the raw data can be pre-stored in a database, which the client can access by calling the database. Alternatively, the raw data can be imported by the user, who can collect the raw data beforehand and then import it into the client. Therefore, there are many ways to obtain raw data, and no specific limitations are made here.

[0119] In this application, the encoding module in the client can be sent to the client by the distributed system after the client initiates a second request to the distributed system to separate the AI ​​model, or it can be downloaded by the client itself from the server that stores the encoding module in the AI ​​model.

[0120] In this application, the data type of the original data can include text, images, audio, video, etc. When the original data is text, the client can map each word in the text data to a high-order real number vector through word embedding or other methods, and each vector is semantically related to the others, thus reflecting the semantic relationship between words; or the client can use a multi-head attention mechanism to initially encode the context of the text, thereby converting the word-level embeddings into numerical vectors containing contextual information. When the original data is image data, the client can extract discriminative feature points from the image data through methods such as representing vectors from the image's pixel values ​​or performing feature extraction on the image, and convert these feature points into vector representations.

[0121] In this application, when the original data is audio data, the client can convert the audio signal from the time domain to the frequency domain using methods such as Fourier transform, thereby extracting the spectral features of the audio to generate audio vectors. When the original data is video data, the client can convert the original data into vector data by extracting representative keyframes from the video and converting these keyframes into image vectors, or by extracting motion features from the video and converting the motion features into vector data. This application does not limit the method for converting original data into vector data in its embodiments.

[0122] In this application, the client converts the original data into vector data locally, thus eliminating the need for the client to upload the original data to the distributed system for subsequent calculations. This effectively protects user privacy and reduces the risk of leakage of original user data during data transmission.

[0123] Step 303. The client sends vector data to the processing module in the AI ​​model.

[0124] In this application, the processing module is used to process vector data. The processing module can leverage the powerful computing capabilities of a distributed system to process the vector data. The processing module can perform higher-level operations such as deep inference, generation tasks, and model training based on the encoded numerical vectors. Specifically, the processing module may include the core neural network layers of a large language model, such as multiple stacked Transformer layers, feedforward neural networks, etc.

[0125] In this application, the processing module can receive vector data provided by multiple clients, aggregate the vector data, merge the aggregated dataset into an existing model, and update the AI ​​model through incremental learning.

[0126] In this application, the processing module and the encoding module are decoupled and deployed in different systems, allowing each module in the AI ​​model to operate independently. This simplifies the development efficiency of each module, as well as the efficiency of maintenance and optimization, enhancing the reliability and security of the data processing system. Furthermore, when user requirements change, modules can be quickly adjusted or replaced, thereby improving the flexibility and scalability of the data processing system.

[0127] In this way, the client encodes the raw data into data vectors through the encoding module in the AI ​​model, and sends the data vectors to the processing module of the AI ​​model in the distributed system. This eliminates the need to directly upload the collected raw user data to the distributed system, improving the privacy of user data and significantly reducing the risk of privacy leakage. Furthermore, the processing module runs on the distributed system, which can provide efficient model training, fine-tuning, and inference services through the powerful computing capabilities of the cloud. This improves both data security and privacy while also increasing the efficiency of data processing.

[0128] In one possible embodiment, the client can also encrypt the vector data before sending it to the processing module, thereby further improving the security of user data.

[0129] In this application, the client can encrypt vector data using differential privacy. Differential privacy introduces randomness into the dataset, randomly adding variables to distort the data and protect user privacy while ensuring the accuracy of statistical results. Differential privacy distorts the data by adding a certain amount of random noise. The magnitude of this noise can be adjusted according to needs to balance privacy protection and data usability. Differential privacy also sets a privacy budget (usually denoted by ε) to limit the risk of privacy leakage during data analysis. The smaller the privacy budget, the higher the level of privacy protection.

[0130] In this application, before generating random noise, the client can set a privacy budget value based on the privacy protection strength of this data processing and calculate a query sensitivity based on the characteristics of the function in the encoding module. The client then generates random noise using an appropriate noise mechanism based on the privacy budget value and the query sensitivity.

[0131] In this application, the noise mechanism can be Laplace noise, which is generated based on the Laplace distribution. The magnitude of the noise is related to the sensitivity of the dataset and the required privacy budget. Alternatively, it can be Gaussian noise, which is generated based on the Gaussian distribution (normal distribution), possessing symmetry and bell-shaped properties, and can be used to protect non-numerical information in the dataset. In certain situations, the client can also combine Gaussian noise with Laplace noise to enhance the privacy protection of vector data.

[0132] In this application, the client can add generated random noise to the vector data, thereby protecting the vector data that needs to be sent to the processing module.

[0133] Optionally, client-side protection methods for vector data may also include homomorphic encryption (HE) or secure multi-party computation, etc., without limitation. Homomorphic encryption is an encryption method that allows computation on encrypted data, and the decrypted result is correct and consistent with the result of performing the same computation on the plaintext data. Multi-party computation is a computational model that allows multiple parties to process data simultaneously without transmitting the data completely to other parties.

[0134] In one possible embodiment, the client protects the vector data by adding encryption methods such as random noise, making the vector data irreversible. Thus, the vector data cannot be recovered to its original form during the process of being uploaded to the processing module of the distributed system. Even if the vector data is attacked or leaked during data transmission, the original data cannot be restored, and the distributed system cannot recover the original user data from the vector data. This improves the security of user data and protects user privacy.

[0135] In one possible implementation, taking the AI ​​model as an example, combined with... Figure 4 This paper introduces the data processing method provided in this application based on the entire data processing system. For example... Figure 4 As shown, it includes the following steps:

[0136] Step 401. The client downloads the LLM encoding module.

[0137] In this application, the encoding module and processing module of the LLM are decoupled, and the LLM sends the encoding module to client 1, client 2 and client 3 respectively.

[0138] Step 402. The client uploads vector data.

[0139] In this application, after client 1, client 2 and client 3 input their own raw data into the encoding module, they obtain the vector data corresponding to their respective raw data, and then upload the vector data to the LLM processing module in the distributed system.

[0140] Step 403. The distributed system uses the vector data processing module to train the model.

[0141] In this application, the AI ​​model's processing module resides on a cloud platform, which improves data processing efficiency by utilizing the abundant computing resources provided by the distributed system. Furthermore, the privacy of the original data is protected when using vector data to train the model or when using the model for other tasks.

[0142] In one possible embodiment, after the client sends vector data to the processing module in the AI ​​model, it may further include, for example, Figure 5 The process is shown below.

[0143] In this application, multiple clients send encoded vector data to the processing module of the AI ​​model in the distributed system. The processing module can use the vector data from multiple clients to fine-tune the parameters of the AI ​​model, and send the fine-tuned vertical domain model, i.e., the second model, back to the client after encrypting it with random noise for the client to use.

[0144] In this application, the client receives a second model from a distributed system. The second model is obtained by encrypting the first model with random noise using the processing module in the AI ​​model. The first model is an AI model obtained after training with vector data.

[0145] In this application, the second model can be encrypted using random noise by a distributed system and sent to the client. The second model is a model with fine-tuned parameters trained using the vector data sent by the client. The client can use the second model for subsequent inference or classification tasks.

[0146] In one possible implementation, the distributed system fine-tunes the parameters of the AI ​​model using raw data provided by the client, and then sends the encrypted AI model back to the client for user use. Because the client-provided vector data is used to fine-tune the AI ​​model parameters, the basic model parameters of the original model in the distributed system are not leaked, thus protecting the original model assets in the distributed system. Furthermore, the AI ​​model sent to each client is a domain-specific model fine-tuned based on the client-provided vector data, allowing for a better understanding and processing of knowledge within the client's application domain.

[0147] In one possible embodiment, the data processing method provided in this application can be applied to the joint training of distributed systems. For example... Figure 6 As shown.

[0148] In this application, the model provider, i.e., the distributed system, decomposes the large language model into a front-end encoding module and a back-end processing module, and sends the encoding module to the data owner, i.e., the client.

[0149] In this application, the client runs an encoding module locally, inputting the original user data to obtain vectorized data. The client then encrypts the vectorized data using encryption methods such as differential privacy, thereby improving the privacy of the user data. The client sends the vector data to a distributed system as cloud-side data for subsequent model training.

[0150] Based on this cloud-side data, the distributed system uses the processing module to perform incremental training and sends the fine-tuned model to the client.

[0151] In one possible embodiment, the data processing method provided in this application can also be applied to scenarios such as similar image retrieval, text retrieval, or music retrieval. For details, please refer to [link / reference]. Figure 7 ,like Figure 7 As shown.

[0152] In this application, the client can convert the data to be retrieved into a vector representation, such as text, images, or audio. This process can generate numerical vectors suitable for model processing by methods such as text embedding of text data or feature extraction of image data.

[0153] In this application, the distributed system performs vectorization processing on all data in the existing database, encoding each data point into a corresponding numerical vector, and can improve the data search speed by building an index.

[0154] In this application, the distributed system uses an AI model for vector similarity comparison to compare vector data from the client with vector data in the database, thereby obtaining N results with high similarity from the comparison results as retrieval results, which are then sent to the client.

[0155] In this possible embodiment, the client reduces the need to upload raw data to the distributed system by using the encoding module of the AI ​​model to convert the raw data into vector data, thereby protecting the user's raw data from being leaked or intercepted during transmission and improving the security of data processing.

[0156] The above embodiments describe the data processing method provided by this application. The data processing apparatus provided by the embodiments of this application is described below with reference to the accompanying drawings. Examples of the basic hardware structures involved in the embodiments of this application are given below.

[0157] This application also provides a computing device 900. For example... Figure 8As shown, the computing device 900 includes a memory 901, a bus 902, a processor 903, and a communication interface 904. The processor 903, memory 901, and communication interface 904 communicate with each other via the bus 902. The computing device 900 can be a server or a terminal device. It should be understood that this application does not limit the number of processors and memories in the computing device 900.

[0158] The 902 bus can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. Buses can be categorized as address buses, data buses, control buses, etc. For ease of representation, Figure 8 The bus 902 may be represented by a single line, but this does not mean that there is only one bus or one type of bus. The bus 902 may include a path for transmitting information between various components of the computing device 900 (e.g., memory 901, processor 903, communication interface 904).

[0159] The processor 903 may include any one or more processors such as a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor (MP), or a digital signal processor (DSP).

[0160] The memory 901 may include volatile memory, such as random access memory (RAM). The processor 903 may also include non-volatile memory, such as read-only memory (ROM), flash memory, hard disk drive (HDD), or solid state drive (SSD).

[0161] The memory 901 stores executable program code, which the processor 903 executes to implement the functions of the client 801, thereby realizing the data processing method. In other words, the memory 901 stores instructions for executing the data processing method.

[0162] The communication interface 904 uses transceiver modules such as, but not limited to, network interface cards and transceivers to enable communication between the computing device 900 and other devices or communication networks.

[0163] This application also provides a computing device 900. For example... Figure 9 As shown, the computing device 900 includes a memory 901, a bus 902, a processor 903, and a communication interface 904. The processor 903, memory 901, and communication interface 904 communicate with each other via the bus 902. The computing device 900 can be a server or a terminal device. It should be understood that this application does not limit the number of processors and memories in the computing device 900.

[0164] The 902 bus can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. Buses can be categorized as address buses, data buses, control buses, etc. For ease of representation, Figure 9 The bus 902 may be represented by a single line, but this does not mean that there is only one bus or one type of bus. The bus 902 may include a path for transmitting information between various components of the computing device 900 (e.g., memory 901, processor 903, communication interface 904).

[0165] The processor 903 may include any one or more processors such as a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor (MP), or a digital signal processor (DSP).

[0166] The memory 901 may include volatile memory, such as random access memory (RAM). The processor 903 may also include non-volatile memory, such as read-only memory (ROM), flash memory, hard disk drive (HDD), or solid state drive (SSD).

[0167] The memory 901 stores executable program code, which the processor 903 executes to implement the functions of the processing module 802, thereby realizing the data processing method. In other words, the memory 901 stores instructions for executing the data processing method.

[0168] The communication interface 904 uses transceiver modules such as, but not limited to, network interface cards and transceivers to enable communication between the computing device 900 and other devices or communication networks.

[0169] This application also provides a computing device 900. For example... Figure 10 As shown, the computing device 900 includes a memory 901, a bus 902, a processor 903, and a communication interface 904. The processor 903, memory 901, and communication interface 904 communicate with each other via the bus 902. The computing device 900 can be a server or a terminal device. It should be understood that this application does not limit the number of processors and memories in the computing device 900.

[0170] The 902 bus can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. Buses can be categorized as address buses, data buses, control buses, etc. For ease of representation, Figure 10 The bus 902 may be represented by a single line, but this does not mean that there is only one bus or one type of bus. The bus 902 may include a path for transmitting information between various components of the computing device 900 (e.g., memory 901, processor 903, communication interface 904).

[0171] The processor 903 may include any one or more processors such as a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor (MP), or a digital signal processor (DSP).

[0172] The memory 901 may include volatile memory, such as random access memory (RAM). The processor 903 may also include non-volatile memory, such as read-only memory (ROM), flash memory, hard disk drive (HDD), or solid state drive (SSD).

[0173] The memory 901 stores executable program code, which the processor 903 executes to implement the functions of the client 801 or the processing module 802, thereby realizing the data processing method. In other words, the memory 901 stores instructions for executing the data processing method.

[0174] The communication interface 904 uses transceiver modules such as, but not limited to, network interface cards and transceivers to enable communication between the computing device 900 and other devices or communication networks.

[0175] This application also provides a computing device cluster. The computing device cluster includes at least one computing device. The computing device can be a server, such as a central server, an edge server, or a local server in a local data center. In some embodiments, the computing device can also be a terminal device such as a desktop computer, a laptop computer, or a smartphone.

[0176] like Figure 11 As shown, the computing device cluster includes at least one computing device 900. The memory 901 of one or more computing devices 900 in the computing device cluster may store the same instructions for executing data processing methods.

[0177] In some possible implementations, the memory 901 of one or more computing devices 900 in the computing device cluster may also store partial instructions for executing data processing methods. In other words, a combination of one or more computing devices 900 can jointly execute instructions for executing data processing methods.

[0178] It should be noted that the memories 901 in different computing devices 900 within the computing device cluster can store different instructions, each used to execute a portion of the functions of the data processing device. That is, the instructions stored in the memories 901 of different computing devices 900 can implement the functions of one or more modules in the client 801 and the processing module 802.

[0179] In some possible implementations, one or more computing devices in a computing device cluster can be connected via a network. This network can be a wide area network (WAN) or a local area network (LAN), etc. Figure 11 One possible implementation is shown. For example... Figure 11 As shown, two computing devices 900A and 900B are connected via a network. Specifically, they are connected to the network through communication interfaces in each computing device. In this possible implementation, the memory 901 in computing device 900A stores instructions for executing the functions of client 801. Meanwhile, the memory 901 in computing device 900B stores instructions for executing processing module 802.

[0180] It should be understood that Figure 11 The functions of the computing device 900A shown can also be performed by multiple computing devices 900. Similarly, the functions of the computing device 900B can also be performed by multiple computing devices 900.

[0181] This application also provides another computing device cluster. The connection relationships between the computing devices in this computing device cluster can be similarly referred to... Figure 10 and Figure 11 The connection method of the computing device cluster. The difference is that the memory 901 of one or more computing devices 900 in the computing device cluster can store the same instructions for executing data processing methods.

[0182] In some possible implementations, the memory 901 of one or more computing devices 900 in the computing device cluster may also store partial instructions for executing data processing methods. In other words, a combination of one or more computing devices 900 can jointly execute instructions for executing data processing methods.

[0183] It should be noted that the memory 901 in different computing devices 900 within the computing device cluster can store different instructions for executing some functions of the data processing system. That is, the instructions stored in the memory 901 of different computing devices 900 can implement the functions of one or more devices in the client or processing module.

[0184] In another embodiment of this application, a computer-readable storage medium is also provided, which stores computer-executable instructions. When at least one processor of the device executes the computer-executable instructions, the device performs the aforementioned... Figures 3 to 7 The data processing method described in some embodiments.

[0185] In another embodiment of this application, a computer program product is also provided, comprising computer-executable instructions stored in a computer-readable storage medium; at least one processor of the device can read the computer-executable instructions from the computer-readable storage medium, and the at least one processor executes the computer-executable instructions to cause the device to perform the above-described actions. Figures 3 to 7 The data processing method described in some embodiments.

[0186] In another embodiment of this application, a chip system is also provided, the chip system including a processor for supporting a data processing device to implement the above-described... Figures 2 to 7 The data processing method described in some embodiments. In one possible design, the chip system may further include a memory for storing program instructions and data necessary for the data processing device. The chip system may be composed of chips or may include chips and other discrete devices.

[0187] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of the embodiments of this application.

[0188] Those skilled in the art will understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.

[0189] In the embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the displayed or discussed mutual couplings, direct couplings, or communication connections may be through some interfaces; indirect couplings or communication connections between devices or units may be electrical, mechanical, or other forms.

[0190] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0191] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. If the function is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium.

[0192] Based on this understanding, the technical solutions of the embodiments of this application, or the parts that contribute to the prior art, or parts of the technical solutions, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

Claims

1. A data processing method, characterized by, The method is applied to a client that communicates with a distributed system via a network, on which an AI model is deployed. The method includes: The client receives a first request from the distributed system; wherein the first request is used to request the client to provide data for processing; The client obtains the raw data and uses the encoding module in the client to convert the raw data into vector data. The client sends the vector data to the processing module in the AI ​​model, and the processing module processes the vector data.

2. The method according to claim 1, characterized in that, After the raw data is converted into vector data using the encoding module in the client, the method includes: The client generates random noise; The vector data is noise-added using the random noise.

3. The method according to claim 2, characterized in that, After the client sends the vector data to the processing module in the AI ​​model, the process further includes: The client receives a second model from the distributed system. The second model is obtained by encrypting the first model with random noise using the processing module in the AI ​​model. The first model is an AI model obtained by training with the vector data.

4. The method according to any one of claims 1-3, characterized in that, The process of converting the original data into vector data includes: The original data is mapped to a vector space according to the data type of the original data to obtain the vector data.

5. The method according to any one of claims 1-4, characterized in that, Before the client receives the first request from the distributed system, the following is also included: The client initiates a second request to the distributed system, the second request being used by the client to obtain the encoding module of the AI ​​model from the distributed system as the encoding module in the client.

6. A data processing method, characterized in that, The method is applied to a distributed system that communicates with clients via a network. An AI model is deployed on the distributed system, and the AI ​​model includes a processing module. The method includes: The distributed system sends a first request to the client; wherein the first request is used to request the client to provide processing data; The distributed system receives vector data from the client, which is obtained by converting the original data through an encoding module in the client. The distributed system uses the processing module to process the vector data.

7. The method according to claim 6, characterized in that, The processing of the vector data includes: The processing module adjusts and trains the parameters of the AI ​​model based on the vector data.

8. The method according to claim 6, characterized in that, The processing of the vector data includes: The processing module obtains matching vectors from a preset vector database whose similarity to the vector data is within a preset range; The matching result is obtained based on the matching vector.

9. The method according to any one of claims 6-8, characterized in that, Before the distributed system sends the first request to the client, it also includes: A second request is received from the client, the second request being used by the client to obtain the encoding module of the AI ​​model from the distributed system as the encoding module in the client.

10. A data processing apparatus, the data processing apparatus comprising a processor and a computer-readable storage medium storing a computer program; The processor is coupled to the computer-readable storage medium, and the computer program, when executed by the processor, implements the method as described in any one of claims 1 to 9.

11. A computing device cluster, characterized in that, The system includes multiple computing devices, each comprising multiple processors and multiple memories, the multiple memories storing program instructions, and the multiple processors executing the program instructions to cause the cluster of computing devices to perform the method as described in any one of claims 1 to 9.

12. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores program instructions that, when executed, cause the method as described in any one of claims 1 to 9 to be performed.

13. A computer program product containing program instructions, characterized in that, When the program instructions are run on a computer, the computer causes the computer to perform the method as described in any one of claims 1 to 9.