Resource recommendation method, server and storage medium
By migrating the feature determination and preprocessing process in the resource recommendation method to the DPU, and combining the prediction capabilities of the GPU, the problem of excessive CPU computing load is solved, and the efficiency and accuracy of resource recommendation are improved.
Patent Information
- Application Number
- CN202411269746.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-10
- Publication Date
- 2024-12-13
AI Technical Summary
In the existing resource recommendation methods, since the feature acquisition and preprocessing process are mainly completed by the CPU, the CPU's calculation load is too heavy and the efficiency is low.
The feature determination process and preprocessing process are migrated to the DPU, and the identification information is sent to the DPU through the CPU. The DPU determines and preprocesses the feature information, and uses the GPU to predict the recommended parameters.
It reduces the computing load of the CPU, improves the efficiency of resource recommendation, and achieves more accurate resource recommendation.
Smart Images

Figure CN119127442A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of computer technology, and in particular to a resource recommendation method, a server, and a storage medium. Background Art
[0002] In the resource recommendation scenario, for a certain user account, in order to determine the recommended resources to the user account from the candidate resources, the server usually obtains the features that can describe the account and the features that can describe the candidate resources based on the account data and the resource data of the candidate resources, and then sorts and recommends the candidate resources based on the obtained multiple features. However, since the acquisition of the above features is usually implemented by the CPU in the server, and the scale of account data and resource data is usually large, the above method will cause a large computing load on the CPU, resulting in a relatively low efficiency of resource recommendation. Summary of the invention
[0003] The present disclosure provides a resource recommendation method, server and storage medium, which can migrate the feature determination process and preprocessing process from the CPU to the DPU, reducing the CPU computing load and improving the efficiency of resource recommendation. The technical solution of the present disclosure is as follows:
[0004] According to one aspect of an embodiment of the present disclosure, a resource recommendation method is provided, which is applied to a server, wherein the server includes a central processing unit (CPU) and a data processing unit (DPU), and the method includes:
[0005] In response to a resource recommendation request, determining, by the CPU, identification information based on object data carried in the resource recommendation request, the object data including account data and resource data of a plurality of candidate resources, the identification information including a data identifier of the account data and a data identifier of the resource data;
[0006] Sending the identification information to the DPU via the CPU;
[0007] Determining, by the DPU, first feature information based on the identification information, and preprocessing the first feature information, wherein the first feature information includes a feature associated with each data identifier in the identification information;
[0008] Based on the preprocessed first feature information, recommendation parameters of the multiple candidate resources are predicted, and the recommendation parameters are used to determine recommended resources from the multiple candidate resources.
[0009] According to another aspect of an embodiment of the present disclosure, a server is provided, the server comprising a central processing unit (CPU) and a data processor (DPU);
[0010] The CPU is used to respond to the resource recommendation request and determine identification information based on object data carried in the resource recommendation request, wherein the object data includes account data and resource data of multiple candidate resources, and the identification information includes a data identifier of the account data and a data identifier of the resource data; and send the identification information to the DPU through the CPU;
[0011] The DPU is used to determine first feature information based on the identification information and preprocess the first feature information, where the first feature information includes a feature associated with each data identifier in the identification information;
[0012] The server is used to predict recommendation parameters of the multiple candidate resources based on the preprocessed first feature information, and the recommendation parameters are used to determine recommended resources from the multiple candidate resources.
[0013] In some embodiments, the server is used to respond to a resource recommendation request and obtain the object data carried by the resource recommendation request; the CPU is used to perform hash processing on the account data in the object data to obtain a data identifier of the account data; perform hash processing on the resource data of the multiple candidate resources respectively to obtain the data identifiers of the multiple candidate resources; and construct the identification information based on the data identifier of the account data and the data identifiers of the multiple candidate resources.
[0014] In some embodiments, the resource recommendation request is a request sent by a recommendation server to the server, and the multiple candidate resources are determined by the recommendation server based on the account data; the server is also used to send recommendation parameters of the multiple candidate resources to the recommendation server, and the recommendation server is used to determine the recommended resource from the multiple candidate resources based on the recommendation parameters.
[0015] In some embodiments, the DPU is used to use the data identifier of the account data in the identification information as a key, determine from the feature library a value associated with the data identifier of the account data, and determine the value as a feature associated with the data identifier of the account data, and the feature library is used to store the association relationship between any data identifier and a feature in the form of a key-value pair; use the data identifier of any resource data in the identification information as a key, determine from the feature library a value associated with the data identifier of the resource data, and determine the value as a feature associated with the data identifier of the resource data; construct the first feature information based on the features associated with the data identifier of the account data and the features associated with the data identifiers of multiple resource data.
[0016] In some embodiments, the DPU is used to perform at least one of the following: decompressing multiple features in the first feature information; performing precision conversion on multiple features in the first feature information; and performing feature fusion on multiple features in the first feature information.
[0017] In some embodiments, the server also includes a graphics processor GPU; the DPU is used to send the preprocessed first feature information to the GPU using remote direct memory access technology; the GPU is used to predict recommended parameters of the multiple candidate resources based on the preprocessed first feature information.
[0018] In some embodiments, the GPU is used to input the preprocessed first feature information into a deep learning model deployed in the GPU; and through the deep learning model, predict the recommended parameters of the multiple candidate resources based on the preprocessed first feature information.
[0019] In some embodiments, the GPU is used to perform at least one of the following: predicting the click-through rate of each candidate resource based on the preprocessed first feature information through the deep learning model, and determining the recommendation parameter of each candidate resource based on the click-through rate of each candidate resource, and the recommendation parameter is positively correlated with the click-through rate; predicting the viewing time of each candidate resource based on the preprocessed first feature information through the deep learning model, and determining the recommendation parameter of each candidate resource based on the viewing time of each candidate resource, and the recommendation parameter is positively correlated with the viewing time.
[0020] In some embodiments, the server is used to determine second feature information based on the identification information through the CPU, where the second feature information includes a feature associated with at least one data identifier in the identification information and stored by the CPU; and predict recommended parameters of the multiple candidate resources based on the second feature information and the preprocessed first feature information.
[0021] In some embodiments, the server includes the CPU, a plurality of GPUs, and the DPU;
[0022] The CPU is connected to a bus, and the bus is connected to at least one GPU and the DPU; the DPU is used to send the preprocessed first feature information to any GPU connected to the bus; the GPU is used to predict the recommended parameters of the multiple candidate resources based on the preprocessed first feature information.
[0023] In some embodiments, the server includes the CPU, multiple GPUs, a primary DPU, and at least one secondary DPU;
[0024] The CPU is connected to a bus, and the bus is connected to at least one GPU and any one of the slave DPUs;
[0025] The secondary DPU connected to the bus is used to forward the identification information to the primary DPU;
[0026] The primary DPU is configured to determine the first feature information based on the identification information, and pre-process the first feature information; and send the pre-processed first feature information to the secondary DPU connected to the bus;
[0027] The secondary DPU connected to the bus is further used to send the pre-processed first feature information to any GPU connected to the bus;
[0028] The GPU is used to predict the recommended parameters of the multiple candidate resources based on the preprocessed first feature information.
[0029] According to another aspect of an embodiment of the present disclosure, a computer-readable storage medium is provided. When a program code in the computer-readable storage medium is executed by a processor of a server, the server is enabled to execute the resource recommendation method.
[0030] According to another aspect of an embodiment of the present disclosure, a computer program product is provided, including a computer program, and when the computer program is executed by a processor, the resource recommendation method is implemented.
[0031] The disclosed embodiment provides a resource recommendation method, which can determine the identification information of the object data through the CPU in the server in the resource recommendation scenario according to the object data such as the account data and the resource data of the candidate resources carried in the resource recommendation request. The identification information is then sent to the DPU in the server through the CPU, and the DPU determines the feature information based on the identification information and pre-processes the feature information. Then, the recommendation parameters of the candidate resources are predicted based on the pre-processed feature information, so that the recommended resources can be determined from the candidate resources more accurately based on the recommendation parameters. The above method is used to migrate the feature determination process and the pre-processing process from the CPU to the DPU, thereby reducing the computing load of the CPU and improving the efficiency of resource recommendation.
[0032] It is to be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present disclosure. BRIEF DESCRIPTION OF THE DRAWINGS
[0033] The drawings herein are incorporated into and constitute a part of the specification, illustrate embodiments consistent with the present disclosure, and together with the description are used to explain the principles of the present disclosure, and do not constitute improper limitations on the present disclosure.
[0034] Figure 1 The diagram is a schematic diagram of an implementation environment of a resource recommendation method according to an exemplary embodiment.
[0035] Figure 2 The diagram is a diagram showing an architecture of a server according to an exemplary embodiment.
[0036] Figure 3 The figure is a flowchart of a resource recommendation method according to an exemplary embodiment.
[0037] Figure 4 The figure is a flowchart of another resource recommendation method according to an exemplary embodiment.
[0038] Figure 5 The diagram is a schematic diagram showing a method of determining a recommended parameter according to an exemplary embodiment.
[0039] Figure 6 is an architecture diagram of another server according to an exemplary embodiment.
[0040] Figure 7 It is a block diagram of a server according to an exemplary embodiment. DETAILED DESCRIPTION
[0041] In order to enable ordinary persons in the art to better understand the technical solutions of the present disclosure, the technical solutions in the embodiments of the present disclosure will be clearly and completely described below in conjunction with the accompanying drawings.
[0042] It should be noted that the terms "first", "second", etc. in the specification and claims of the present disclosure and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged where appropriate, so that the embodiments of the present disclosure described herein can be implemented in an order other than those illustrated or described herein. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with the present disclosure. Instead, they are merely examples of devices and methods consistent with some aspects of the present disclosure as detailed in the appended claims.
[0043] It should be noted that the information (including but not limited to user device information, user personal information, etc.), data (including but not limited to data used for analysis, stored data, displayed data, etc.) and signals involved in this disclosure are all authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with relevant laws, regulations and standards of relevant countries and regions. For example, the account data and resource data involved in this disclosure are obtained with full authorization.
[0044] Figure 1FIG. 1 is a schematic diagram of an implementation environment of a resource recommendation method according to an exemplary embodiment. Figure 1 As shown, the implementation environment specifically includes: a terminal 101 and a resource recommendation system 102. The resource recommendation system 102 includes a recommendation server and a server. The terminal 101 is connected to the recommendation server via a wireless network or a wired network, and the recommendation server is connected to the server via a wireless network or a wired network. Among them, the recommendation server is used to manage multiple resources, so as to recommend resources to the terminal based on multiple resources, and the server can assist the recommendation server to determine the recommendation parameters of the candidate resources, so that the recommendation server can determine the recommended resources based on the recommendation parameters of the candidate resources. Therefore, the recommendation server and the server cooperate with each other to jointly recommend resources to the terminal 101.
[0045] In some embodiments, the terminal 101 can be at least one of a smart phone, a smart watch, a desktop computer, a laptop computer, an MP3 player (Moving Picture Experts Group Audio Layer III), an MP4 (Moving Picture Experts Group Audio Layer IV) player, and a laptop computer.
[0046] In some embodiments, the terminal 101 has a target application installed or running. The target application is any type of application with a video playback function, such as a video application, a social application, a shopping application, etc. The resource recommendation system 102 is used to provide resource recommendation services for the target application.
[0047] When the terminal 101 is running the target application, the terminal 101 can obtain resources to be played from the recommendation server, such as video works, graphic works, etc. Correspondingly, the recommendation server can determine multiple candidate resources based on the account data of the user account logged in on the terminal 101. Then, the recommendation server sends a resource recommendation request to the server based on the account data and the resource data of the multiple candidate resources, requesting the server to determine the recommendation parameters of the multiple candidate resources. In response to the resource recommendation request, the server determines the recommendation parameters of the multiple candidate resources based on the account data and the resource data of the multiple candidate resources, and sends the above multiple recommendation parameters to the recommendation server. Then, the recommendation server determines the recommended resource from the multiple candidate resources based on the recommendation parameters of the multiple candidate resources, and returns the recommended resource to the terminal 101, and the terminal plays the recommended resource on the playback interface of the target application.
[0048] The terminal 101 may generally refer to one of a plurality of terminals. This embodiment is described by taking the terminal 101 as an example. Those skilled in the art may know that the number of the above terminals may be more or less. For example, the above terminals may be several, or the above terminals may be dozens or hundreds, or a greater number. The embodiment of the present disclosure does not limit the number and device type of the terminals.
[0049] The recommendation server or servers in the resource recommendation system 102 can be at least one of a single server, multiple servers, a cloud computing platform, and a virtualization center. Optionally, the number of the above-mentioned recommendation servers (or servers) can be more or less, which is not limited in the embodiments of the present disclosure. Of course, the resource recommendation system 102 can also include other functional servers to provide more comprehensive and diversified services. In some embodiments, the resource recommendation system 102 undertakes the main computing work, and the terminal 101 undertakes the secondary computing work; or, the resource recommendation system 102 undertakes the secondary computing work, and the terminal 101 undertakes the main computing work; or, the resource recommendation system 102 and the terminal 101 use a distributed computing architecture for collaborative computing, which is not limited in the embodiments of the present disclosure.
[0050] In some embodiments, the resource recommendation method provided by the present disclosure may be implemented based on a server in a resource recommendation system. Figure 2 FIG. 1 is a diagram showing an architecture of a server according to an exemplary embodiment. Figure 2 As shown, the server includes a central processing unit 201 (CPU), a data processor 202 (DPU), a graphics processing unit 203 (GPU) and a bus 204. The central processing unit 201 is used to process the object data received by the server to obtain the data identification of the object data. The object data includes but is not limited to account data, resource data of candidate resources, etc. The data processor 202 is used to determine the characteristics of the object data according to the data identification of the object data, and pre-process the characteristics of the object data. The graphics processor 203 is used to predict the recommended parameters of the candidate resources according to the pre-processed characteristics. The bus is used to realize data communication between the central processing unit 201, the data processor 202 and the graphics processor 203.
[0051] The following takes any resource recommendation scenario as an example to illustrate the process of the server implementing the above resource recommendation. Figure 3 is a flow chart of a resource recommendation method according to an exemplary embodiment. Figure 3 As shown, the method is executed by the server, and the method includes the following steps:
[0052] In step 301, in response to a resource recommendation request, the server determines identification information based on object data carried in the resource recommendation request through a CPU.
[0053] In the disclosed embodiment, the resource recommendation request usually carries object data. The object data includes account data and resource data of multiple candidate resources. The account data is the account data of the user account logged in on any terminal. The account data includes, but is not limited to: gender, age, region, historical resources viewed, historical resources liked, etc. The candidate resources can be determined from the resource library by the recommendation server in the resource recommendation system based on the account data. The candidate resources are usually more in line with the personal preferences of the user object using the terminal. The resource data of the candidate resources includes, but is not limited to: topic tags, resource types, resource IDs, resource publisher IDs, etc.
[0054] Optionally, taking the resource recommendation scenario in a short video application as an example, in response to the operation of starting the short video application, the terminal sends a resource acquisition request to the recommendation server in the resource recommendation system to request the recommended resources. In response to the resource acquisition request, the recommendation server recalls multiple candidate resources from the resource library based on the account data carried in the resource acquisition request. Then, the recommendation server sends a resource acquisition request to the above server based on the account data and the resource data of the multiple candidate resources. In response to the resource acquisition request, the server determines the data identifier of each piece of data in the object data through the CPU to obtain identification information. Among them, the data identifier can be any type of identifier that can uniquely identify the data, such as the ID, number, hash value, etc. of the data, and the embodiment of the present disclosure does not limit this. Accordingly, the identification information includes the data identifier of the account data and the data identifier of the resource data of each candidate resource.
[0055] In step 302, the server sends identification information to the DPU via the CPU.
[0056] In the disclosed embodiment, the server sends the identification information to the DPU via the CPU. By sending the identification information to the DPU, the subsequent processing of the identification information can be implemented by the DPU without the need for the CPU, thereby reducing the computational load of the CPU and improving the efficiency of the CPU in determining the identification information, thereby improving the processing efficiency of the server as a whole.
[0057] Optionally, the server transmits the identification information from the CPU to the DPU via a bus connected between the CPU and the DPU. For example, the CPU and the DPU in the server may be connected to the same PCle (Peripheral Component Interconnect express, a high-speed serial bus extension standard) bus.
[0058] In step 303, the server determines the first feature information based on the identification information through the DPU, and pre-processes the first feature information.
[0059] In the embodiment of the present disclosure, the server determines the features associated with each data identifier in the identification information through the DPU, and obtains the first feature information. In other words, the first feature information includes the features associated with each data identifier in the identification information. The feature is a feature of any object data. For example, in the case where the data identifier is the ID of account data, the feature determined by the DPU based on the data identifier is the account feature. Alternatively, in the case where the data identifier is the ID of resource data, the feature determined by the DPU based on the data identifier is the resource feature of the resource data. Then, the server preprocesses the features in the first feature information through the DPU. The preprocessing is used to convert the features in the first feature information into a predefined standard format.
[0060] Optionally, the DPU determines a feature associated with the data identifier from a feature library according to the data identifier in the identification information, wherein the feature library stores a variety of account features and a variety of resource features.
[0061] In step 304, the server predicts recommendation parameters of a plurality of candidate resources based on the preprocessed first feature information, and the recommendation parameters are used to determine a recommended resource from the plurality of candidate resources.
[0062] In the disclosed embodiment, a deep learning model is deployed in the server. The server inputs the preprocessed first feature information into the deep learning model, and predicts the recommendation parameters of multiple candidate resources through the deep learning model. The recommendation parameter is used to indicate the possibility that the candidate resource is determined as a recommended resource. The higher the recommendation parameter of the candidate resource, the higher the possibility that the candidate resource is determined as a recommended resource.
[0063] Optionally, the server includes a GPU, and a deep learning model is deployed in the GPU. The server sends the first feature information to the GPU through the DPU. Then, the server processes the first feature information through the deep learning model deployed in the GPU to obtain recommended parameters of the predicted multiple candidate resources.
[0064] In some embodiments, after the server obtains the recommendation parameters of multiple candidate resources, the server returns the recommendation parameters of multiple candidate resources to the recommendation server in the resource recommendation system, and the recommendation server determines the recommended resource from the multiple candidate resources according to the recommendation parameters. Then, the recommendation server sends the recommended resource to the terminal so that the terminal plays the recommended resource in the playback interface of the short video application, thereby realizing the resource recommendation process for the user object.
[0065] The disclosed embodiment provides a resource recommendation method, which can determine the data identifier of each object data through the CPU in the server in a resource recommendation scenario, based on object data such as account data and resource data of candidate resources carried in a resource recommendation request, and obtain identification information. The identification information is then sent to the DPU in the server through the CPU, and the DPU determines the features associated with each data identifier, obtains feature information, and pre-processes the feature information. Then, the recommendation parameters of the candidate resources are predicted based on the pre-processed feature information, and the recommended resources can be determined from the candidate resources based on the recommendation parameters. The above method is used to migrate the feature determination process and the pre-processing process from the CPU to the DPU, thereby reducing the computing load of the CPU and improving the efficiency of resource recommendation.
[0066] In some embodiments, in response to a resource recommendation request, determining identification information based on object data carried in the resource recommendation request by a CPU includes:
[0067] In response to the resource recommendation request, obtaining object data carried in the resource recommendation request;
[0068] The CPU performs hash processing on the account data in the object data to obtain a data identifier of the account data;
[0069] By using the CPU, the resource data of the multiple candidate resources are hashed to obtain data identifiers of the multiple candidate resources;
[0070] Through the CPU, identification information is constructed based on the data identification of the account data and the data identifications of multiple candidate resources.
[0071] In the disclosed embodiment, by performing hash processing on account data and resource data, complex original data can be mapped into more concise hash values, thereby reducing data transmission costs and the time cost of data processing and improving data processing efficiency.
[0072] In some embodiments, the resource recommendation request is a request sent by the recommendation server to the server, and the plurality of candidate resources are determined by the recommendation server based on the account data; the method further comprises:
[0073] The recommendation parameters of the multiple candidate resources are sent to the recommendation server, and the recommendation server is used to determine the recommended resource from the multiple candidate resources based on the recommendation parameters.
[0074] In the disclosed embodiment, by returning recommendation parameters of multiple candidate resources to the recommendation server, the recommendation server can sort and recommend multiple candidate resources according to the recommendation parameters, thereby more accurately and quickly determining recommended resources from multiple candidate resources, thereby improving the efficiency of resource recommendation.
[0075] In some embodiments, determining, by the DPU, the first feature information based on the identification information includes:
[0076] Through the DPU, using the data identifier of the account data in the identification information as a key, a value associated with the data identifier of the account data is determined from the feature library, and the value is determined as a feature associated with the data identifier of the account data. The feature library is used to store the association relationship between any data identifier and a feature in the form of a key-value pair;
[0077] By using the DPU, using the data identifier of any resource data in the identification information as a key, determining a value associated with the data identifier of the resource data from the feature library, and determining the value as a feature associated with the data identifier of the resource data;
[0078] The first feature information is constructed through the DPU based on the features associated with the data identifiers of the account data and the features associated with the data identifiers of the plurality of resource data.
[0079] In the disclosed embodiment, by using the data identifier as an index to retrieve the corresponding key-value pair in the feature library, not only can the account features and resource features be retrieved in the feature library more accurately, but the retrieval time can also be reduced, thereby improving the retrieval accuracy and efficiency.
[0080] In some embodiments, preprocessing the first feature information includes at least one of the following:
[0081] Decompressing, by the DPU, multiple features in the first feature information;
[0082] Performing precision conversion on multiple features in the first feature information through the DPU;
[0083] Through the DPU, feature fusion is performed on multiple features in the first feature information.
[0084] In the embodiment of the present disclosure, by preprocessing multiple features in the first feature information, the features in the first feature information can be converted into a predefined standard format, so that data processing can be performed subsequently according to the features in the standard format, thereby improving the efficiency and accuracy of data processing.
[0085] In some embodiments, the server further includes a graphics processor (GPU); based on the preprocessed first feature information, predicting recommended parameters of multiple candidate resources includes:
[0086] The pre-processed first feature information is sent to the GPU through the DPU using remote direct memory access technology;
[0087] Through the GPU, based on the preprocessed first feature information, recommended parameters of multiple candidate resources are predicted.
[0088] In the disclosed embodiment, the pre-processed first feature information can be directly transmitted from the DPU to the GPU through remote direct memory access technology without the intervention of the server's CPU, thereby saving a large amount of CPU resources, reducing the bus transmission bandwidth on the CPU side, improving data transmission efficiency, and reducing communication delay. In addition, by transmitting the pre-processed first feature information to the GPU, the powerful parallel computing capability of the GPU can be used to more accurately and quickly predict the recommended parameters of multiple candidate resources, thereby improving data processing efficiency.
[0089] In some embodiments, predicting recommended parameters of multiple candidate resources based on the preprocessed first feature information by the GPU includes:
[0090] Inputting the preprocessed first feature information into a deep learning model deployed in the GPU through the GPU;
[0091] Through the deep learning model, the recommended parameters of multiple candidate resources are predicted based on the preprocessed first feature information.
[0092] In the embodiment of the present disclosure, since the preprocessed first feature information includes account features and resource features of multiple candidate resources, the deep learning model can more accurately predict the recommended parameters of each candidate resource with reference to the account features, thereby improving the accuracy of predicting the recommended parameters.
[0093] In some embodiments, the deep learning model is used to predict the recommended parameters of multiple candidate resources based on the preprocessed first feature information, including at least one of the following:
[0094] Through the deep learning model, based on the preprocessed first feature information, the click rate of each candidate resource is predicted, and based on the click rate of each candidate resource, the recommendation parameters of each candidate resource are determined, and the recommendation parameters are positively correlated with the click rate;
[0095] Through the deep learning model, based on the preprocessed first feature information, the viewing time of each candidate resource is predicted. Based on the viewing time of each candidate resource, the recommendation parameters of each candidate resource are determined, and the recommendation parameters are positively correlated with the viewing time.
[0096] In the disclosed embodiment, by predicting the click-through rate of candidate resources and determining the recommendation parameters that are positively correlated with the click-through rate, the candidate resources that the user object is more likely to click can be determined as candidate resources with a greater probability, thereby ensuring the user object's satisfaction with the candidate resources and improving the accuracy of determining the candidate resources. By predicting the viewing time of candidate resources and determining the recommendation parameters that are positively correlated with the viewing time, the candidate resources that the user object is interested in can be determined as candidate resources with a greater probability, thereby ensuring the user object's satisfaction with the candidate resources and improving the accuracy of determining the candidate resources.
[0097] In some embodiments, based on the preprocessed first feature information, predicting recommendation parameters of multiple candidate resources includes:
[0098] Determining, by the CPU, second feature information based on the identification information, the second feature information including a feature associated with at least one data identifier in the identification information and stored by the CPU;
[0099] Based on the second feature information and the preprocessed first feature information, recommendation parameters of the plurality of candidate resources are predicted.
[0100] In the disclosed embodiment, by predicting the recommended parameters of the candidate resources based on the preprocessed first feature information and the second feature information, more features can be referenced during the prediction process, further improving the accuracy of the predicted recommended parameters, thereby improving the accuracy of resource recommendations.
[0101] In some embodiments, the server includes a CPU, a plurality of GPUs, and a DPU;
[0102] The CPU is connected to a bus, and the bus is connected to at least one GPU and DPU;
[0103] Based on the preprocessed first feature information, predict the recommended parameters of multiple candidate resources, including:
[0104] Sending the preprocessed first feature information to any GPU connected to the bus through the DPU;
[0105] Through the GPU, based on the preprocessed first feature information, recommended parameters of multiple candidate resources are predicted.
[0106] In the embodiment of the present disclosure, multiple GPUs can be connected to the bus in the above manner, thereby achieving parallel prediction of recommended parameters of multiple candidate resources through the multiple GPUs connected to the bus, thereby improving the efficiency of predicting recommended parameters.
[0107] In some embodiments, the server includes a CPU, a plurality of GPUs, a primary DPU, and at least one secondary DPU;
[0108] The CPU is connected to a bus, and the bus is connected to at least one GPU and any slave DPU;
[0109] Sending identification information to the DPU through the CPU includes: sending identification information to a secondary DPU connected to the bus through the CPU;
[0110] Determining, by the DPU, first characteristic information based on the identification information, and preprocessing the first characteristic information, including: forwarding the identification information to the main DPU through the secondary DPU connected by the bus; determining, by the main DPU, the first characteristic information based on the identification information, and preprocessing the first characteristic information;
[0111] Based on the preprocessed first feature information, predict recommended parameters of multiple candidate resources, including: sending the preprocessed first feature information to the secondary DPU connected to the bus through the main DPU; sending the preprocessed first feature information to any GPU connected to the bus through the secondary DPU connected to the bus; predicting recommended parameters of multiple candidate resources based on the preprocessed first feature information through the GPU.
[0112] In the embodiment of the present disclosure, through the above method, when the CPU is not connected to the same bus as the main DPU, data communication between the CPU and the main DPU can be achieved through the data forwarding function of the secondary DPU. Compared with data communication between two CPUs, the above method can reduce the computing load of the CPU and the bandwidth usage of the CPU-side bus.
[0113] Above Figure 3 The figure shows a process of a resource recommendation method of the present disclosure. The resource recommendation scheme provided by the present disclosure is further described below. Figure 4 is a flowchart of another resource recommendation method according to an exemplary embodiment, the method is executed by a server, such as Figure 4 As shown, the method comprises the following steps:
[0114] In step 401, in response to a resource recommendation request, the server determines identification information based on object data carried in the resource recommendation request through a CPU.
[0115] In an embodiment of the present disclosure, in response to a resource recommendation request, the server obtains the object data carried in the resource recommendation request. The object data includes account data and resource data of multiple candidate resources. Then, the server determines the data identifier of the account data and the data identifier of each resource data through the CPU to obtain identification information. The data identifier is used to uniquely identify the data. For example, the data identifier can be the ID, number, hash value, etc. of the data, which is not limited in the embodiment of the present disclosure.
[0116] In some embodiments, the data identifier is a hash value. Accordingly, the server performs hash processing on the account data through the CPU to obtain the data identifier of the account data. Among them, hash processing refers to mapping input data of any length to a hash value of fixed length through a hash algorithm. The hash value can uniquely identify the input data. The server performs hash processing on the resource data of multiple candidate resources through the CPU respectively to obtain data identifiers of multiple candidate resources. The data identifier of the account data and the data identifier of the resource data are both hash values of fixed length. Then the server constructs identification information based on the data identifier of the account data and the data identifiers of multiple candidate resources through the CPU. The identification information includes multiple hash values. By performing hash processing on the account data and the resource data, complex original data can be mapped into a more streamlined hash value, thereby reducing the data transmission cost and the time cost of data processing, and improving data processing efficiency.
[0117] For example, when the account data includes "male", the server uses the CPU to map the account data "male" to a fixed-length hash value to obtain the data identifier of the account data. When the resource data is "funny video", the server uses the CPU to map the resource data "funny video" to a fixed-length hash value to obtain the data identifier of the resource data.
[0118] In some embodiments, the server can also use the CPU to search for the data identifier of the account data or resource data according to the mapping table. The mapping table is used to record the association between the data and the data identifier. By searching the mapping table to find the data identifier, the data identifier of the account data can be quickly and accurately determined, thereby improving the efficiency and accuracy of data processing. For example, the data identifier associated with the account data "male" is "1000", and the data identifier associated with the account data "female" is "1001". The data identifier associated with the account data "18 years old" is "2018", and the data identifier associated with the account data "45 years old" is "2045".
[0119] In step 402, the server sends identification information to the DPU via the CPU.
[0120] In the disclosed embodiment, the CPU and DPU in the server are connected via a bus. The bus is used to realize data communication between multiple modules in the server. Optionally, the bus can be a PCle bus. After the server obtains the identification information through the CPU, the server transmits the identification information from the CPU to the GPU via the PCle bus connected to the CPU, so that the subsequent processing of the identification information can be realized by the DPU, without the need to be realized by the CPU, thereby reducing the computational load of the CPU.
[0121] In step 403, the server determines first feature information based on the identification information through the DPU, where the first feature information includes features associated with each data identifier in the identification information.
[0122] In the embodiment of the present disclosure, when the DPU obtains the identification information, the server determines the features associated with each data identifier in the identification information through the DPU to obtain the first feature information. Among them, the features in the first feature information are account features or resource features. Account features can reflect gender features, age features, viewing preferences of resources, etc. Resource features can reflect the theme of resources, resource types, etc. The features in the first feature information can be in any form such as feature vectors, arrays, matrices, etc., and the embodiment of the present disclosure does not limit this.
[0123] In some embodiments, the server determines the features associated with the data identifier from the feature library through the DPU to obtain the first feature information. The feature library is used to store the association relationship between any data identifier and the feature in the form of a key-value pair. For any key-value pair in the feature library, the key (Key) in the key-value pair is the data identifier of the data, and the value (Value) in the key-value pair is the feature of the data. Therefore, the server determines the value associated with the data identifier from the feature library through the DPU, using the data identifier of the account data in the identification information as the key, and determines the value as the feature associated with the data identifier, that is, the account feature. The server determines the value associated with the data identifier from the feature library through the DPU, using the data identifier of any resource data in the identification information as the key, and determines the value as the feature associated with the data identifier, that is, the resource feature. Then, the server constructs the first feature information based on the account feature and multiple resource features through the DPU. By retrieving the corresponding key-value pair in the feature library with the data identifier as the index, not only can the account feature and resource feature be retrieved in the feature library more accurately, but also the retrieval time can be reduced, and the retrieval accuracy and efficiency can be improved.
[0124] Optionally, the feature library may be stored in the server, or in other servers of the resource recommendation system, or in any storage device of the resource recommendation system, which is not limited in this embodiment of the present disclosure.
[0125] In step 404, the server pre-processes the first feature information through the DPU.
[0126] In the disclosed embodiment, the DPU can also pre-process the acquired first feature information, wherein the pre-processing is used to convert the features in the first feature information into a predefined standard format.
[0127] In some embodiments, preprocessing of the first feature information includes at least one of the following.
[0128] The server decompresses the multiple features in the first feature information through the DPU. In order to reduce the data transmission cost, the features stored in the feature library are usually stored in a compressed format. Therefore, the server decompresses the multiple features in the first feature information through the DPU to obtain features in the original format, such as feature vectors, arrays, etc.
[0129] The server converts the precision of multiple features in the first feature information through the DPU. In order to reduce data storage costs and data transmission costs, the precision of the features stored in the feature library is usually half precision (float16). Therefore, the server converts the precision of multiple features in the first feature information to single precision (float32) through the DPU. By converting the features to higher precision, the accuracy and expressiveness of the features can be improved, the occurrence of errors and information loss caused by insufficient precision can be reduced, and the accuracy of data processing can be improved.
[0130] The server performs feature fusion on multiple features in the first feature information through the DPU. Optionally, the DPU can perform feature fusion on multiple features in the first feature information by means of feature splicing. Alternatively, the DPU can also first align dimensions of multiple features, and then perform feature fusion on multiple features by adding elements of the same dimension. The disclosed embodiment does not limit the method of feature fusion. By performing feature fusion on multiple features in the first feature information, not only can multiple scattered features be fused into a complete feature, but the fused features can also express both account features and resource features of multiple candidate resources, thereby streamlining the features and improving the expressiveness of the features.
[0131] In step 405, the server uses remote direct memory access technology through the DPU to send the pre-processed first feature information to the GPU.
[0132] In the disclosed embodiment, Remote Direct Memory Access (RDMA) technology is a high-performance communication technology that can achieve direct memory access between different nodes in a communication network. The pre-processed first feature information is transmitted from the DPU to the GPU in the server through the RDMA technology without the intervention of the server's CPU, thereby saving a lot of CPU resources, reducing the bus transmission bandwidth on the CPU side, improving data transmission efficiency, and reducing communication delays.
[0133] Optionally, the server can transmit the pre-processed first feature information from the DPU to the GPU through GDR (GPU Direct RDMA, an RDMA technology that can be applied to the GPU).
[0134] In step 406, the server predicts recommended parameters of multiple candidate resources based on the preprocessed first feature information through the GPU.
[0135] In the disclosed embodiment, when the GPU receives the preprocessed first feature information, the server processes the preprocessed first feature information through the GPU to obtain predicted recommendation parameters of multiple candidate resources. The recommendation parameter is used to indicate the possibility of a candidate resource being determined as a recommended resource. The higher the recommendation parameter of a candidate resource, the higher the possibility that the candidate resource is determined as a recommended resource. By predicting the recommendation parameters through the GPU, it is possible to make use of the powerful parallel computing capabilities of the GPU to more accurately and quickly predict the recommendation parameters of multiple candidate resources, thereby improving data processing efficiency.
[0136] In some embodiments, a deep learning model is deployed in the GPU. The deep learning model is used to predict the recommended parameters of the candidate resources based on the account features and the resource features of the candidate resources. The recommended parameters can reflect the preference of the user object corresponding to the account features for the candidate resources. Generally, the higher the recommended parameters of the candidate resources, the higher the preference of the user object for the candidate resources, that is, the higher the possibility that the user object likes to watch the candidate resources, and the higher the possibility that the candidate resources are determined as recommended resources. Therefore, the server inputs the preprocessed first feature information into the deep learning model deployed in the GPU through the GPU. Then, the server processes the preprocessed first feature information through the deep learning model to obtain the predicted recommended parameters of multiple candidate resources. Since the preprocessed first feature information includes the account features and the resource features of multiple candidate resources, the deep learning model can refer to the account features to more accurately predict the recommended parameters of each candidate resource, thereby improving the accuracy of predicting the recommended parameters.
[0137] In some embodiments, the server predicts the recommended parameters of the candidate resources by at least one of the following three methods.
[0138] Method 1: The server predicts the click-through rate of each candidate resource based on the preprocessed first feature information through a deep learning model. The click-through rate is used to indicate the probability that the user object clicks on the candidate resource. Then, the server determines the recommendation parameter for each candidate resource based on the click-through rate of each candidate resource. The recommendation parameter is positively correlated with the click-through rate. Optionally, the server can directly determine the click-through rate as the recommendation parameter for the candidate resource. Alternatively, the server can also quantify the click-through rate as the recommendation parameter for the candidate resource based on a predefined quantitative standard. By predicting the click-through rate of the candidate resources and determining the recommendation parameter that is positively correlated with the click-through rate, the candidate resources that the user object is more likely to click can be determined as candidate resources with a greater probability, thereby ensuring the user object's satisfaction with the candidate resources and improving the accuracy of determining the candidate resources.
[0139] For example, the recommended parameter value is 0-1. When the click rate is less than 50%, the recommended parameter is 0.3; when the click rate is not less than 50% and less than 70%, the recommended parameter is 0.6; when the click rate is not less than 70% and less than 80%, the recommended parameter is 0.7; when the click rate is greater than 80%, the recommended parameter is 0.9.
[0140] Method 2: The server predicts the viewing time of each candidate resource based on the preprocessed first feature information through a deep learning model. The viewing time is used to indicate the length of time the user object stays when viewing the candidate resource. Then, the server determines the recommendation parameters for each candidate resource based on the viewing time of each candidate resource. The recommendation parameters are positively correlated with the viewing time. Optionally, the server can also quantify the viewing time as a recommendation parameter for the candidate resource based on a predefined quantification standard. By predicting the viewing time of the candidate resources and determining the recommendation parameters that are positively correlated with the viewing time, the candidate resources that the user object is interested in can be determined as candidate resources with a greater probability, thereby ensuring the user object's satisfaction with the candidate resources and improving the accuracy of determining the candidate resources.
[0141] Method three: The server predicts the click-through rate and viewing time of each candidate resource based on the preprocessed first feature information through a deep learning model. Then, the server determines the recommendation parameters of each candidate resource based on the click-through rate and viewing time of each candidate resource. Optionally, for any candidate resource, the server determines the first recommendation parameter based on the click-through rate of the candidate resource, and determines the second recommendation parameter based on the viewing time of the candidate resource. Then, the server determines the weighted sum of the first recommendation parameter and the second recommendation parameter as the recommendation parameter of the candidate resource. Among them, the weight of the first recommendation score and the weight of the second recommendation score can be configured according to demand, and the embodiment of the present disclosure does not limit the numerical value of the weight.
[0142] It should be noted that the above step 406 mainly introduces that the GPU predicts the recommended parameters of the candidate resources based on the first feature information sent by the DPU. In some embodiments, the GPU can also predict the recommended parameters of the candidate resources in combination with the first feature information sent by the DPU and the second feature information sent by the CPU. Among them, the second feature information includes a feature associated with at least one data identifier in the identification information stored in the CPU. For example, the CPU can store some account features with a small amount of data locally. Correspondingly, after the server determines the identification information through the CPU, the server can also determine the feature associated with at least one data identifier in the identification information from multiple features stored by the CPU through the CPU according to the identification information, and construct the second feature information. Then, the server sends the second feature information to the GPU through the CPU, and predicts the recommended parameters of multiple candidate resources through the GPU according to the second feature information and the preprocessed first feature information. By predicting the recommended parameters of the candidate resources based on the preprocessed first feature information and the second feature information, more features can be referenced in the prediction process, further improving the accuracy of predicting the recommended parameters, thereby improving the accuracy of resource recommendation.
[0143] In order to more clearly illustrate the process of predicting the recommended parameters of multiple candidate resources introduced in the above steps 401-406, Figure 5 A schematic diagram of determining recommended parameters is shown to illustrate the above process. Figure 5 As shown, when the terminal of the user object initiates a resource acquisition request to the recommendation server, the recommendation server recalls multiple candidate resources and sends a resource recommendation request to the server to request to determine the recommendation parameters of the multiple candidate resources. Then, the server determines the identification information according to the object data carried in the resource recommendation request through the CPU (central processing unit), and sends the identification information to the DPU (data processing unit) through the CPU. The server determines the first feature information from the feature library according to the identification information through the DPU, and pre-processes the first feature information through the DPU. Then, the server sends the pre-processed first feature information to the GPU through the DPU. In addition, the server can also determine the second feature information from the CPU according to the identification information through the CPU, and send the second feature information to the GPU (graphics processing unit) through the CPU. Then, the server predicts the recommendation parameters of multiple candidate resources based on the pre-processed first feature information and the second feature information through the GPU.
[0144] In step 407, the server sends recommendation parameters of the multiple candidate resources to the recommendation server, and the recommendation server is used to determine the recommended resource from the multiple candidate resources based on the recommendation parameters.
[0145] In the disclosed embodiment, after the server obtains the recommendation parameters of multiple candidate resources, the server returns the recommendation parameters of the multiple candidate resources to the recommendation server in the resource recommendation system. By returning the recommendation parameters of multiple candidate resources to the recommendation server, it is convenient for the recommendation server to sort and recommend multiple candidate resources according to the recommendation parameters, thereby determining the recommended resources from multiple candidate resources more accurately and quickly, thereby improving the efficiency of resource recommendation. Furthermore, after the recommendation server determines at least one recommended resource, the recommendation server sends at least one recommended resource to the terminal, so that the terminal plays at least one recommended resource in the playback interface of the short video application, thereby realizing the resource recommendation process for the user object.
[0146] The above steps mainly take a server including 1 CPU, 1 DPU and 1 GPU as an example, and are a process of predicting the recommended parameters of candidate resources through the interaction between the CPU, DPU and GPU. In some embodiments, the server generally includes multiple CPUs and multiple GPUs. Figure 6 FIG. 1 is a diagram showing another server architecture according to an exemplary embodiment. Figure 6 As shown, the server includes 2 CPUs, 1 main DPU, 1 secondary DPU, 8 GPUs and two buses. Optionally, the storage unit connected to the CPU can be the memory of the CPU. Each CPU is connected to a bus. Each bus is connected to 4 GPUs. The main DPU is connected to one bus, and the secondary DPU is connected to another bus. The main DPU and the secondary DPU are connected via a dedicated bus. Among them, the main DPU is used to obtain feature information and pre-process the feature information. The secondary DPU is used to forward data.
[0147] In some embodiments, the CPU in steps 401-407 is Figure 6 In the case of a CPU numbered as "#0" in the example, the CPU is connected to the main DPU. Accordingly, the server can send identification information to the main DPU through the bus to which the CPU is connected. Then, the server determines the first feature information through the main DPU and pre-processes the first feature information. Then, the server sends the first feature information to the main DPU through the main DPU. Figure 6 Any GPU connected to the bus on the left side of the middle sends the preprocessed first feature information to predict the recommended parameters of multiple candidate resources through the GPU. In the above manner, multiple GPUs can be connected to the bus, thereby realizing the parallel prediction of the recommended parameters of multiple candidate resources through the multiple GPUs connected to the bus, thereby improving the efficiency of predicting the recommended parameters.
[0148] In some embodiments, the CPU in steps 401-407 is Figure 6In the case of the CPU numbered "#1" in the example, the CPU is connected to the secondary DPU. Accordingly, the server sends identification information to the secondary DPU through the bus connected to the CPU, and then forwards the identification information to the primary DPU through the secondary DPU. Then, the server determines the first feature information through the primary DPU and pre-processes the first feature information. Then, the server sends the pre-processed first feature information to the secondary DPU through the primary DPU; then, the server forwards the first feature information to the secondary DPU through the secondary DPU. Figure 6 Any GPU connected to the side bus on the middle right sends the preprocessed first feature information to predict the recommended parameters of multiple candidate resources through the GPU. Through the above method, when the CPU is not connected to the same bus as the main DPU, data communication between the CPU and the main DPU can be achieved through the data forwarding function of the secondary DPU. Compared with data communication between two CPUs, the above method can reduce the computing load of the CPU and the bandwidth utilization of the CPU side bus.
[0149] In some embodiments, the server can determine a target GPU from multiple GPUs based on the performance of the GPU, and send the preprocessed first feature information to the target GPU. For example, the server determines the resource occupancy rate of each GPU, and then the server sends the preprocessed first feature information to the GPU with the lowest resource occupancy rate through the DPU, so as to predict the recommended parameters of the candidate resources through the GPU with higher performance, thereby improving the efficiency of predicting the recommended parameters.
[0150] According to the above analysis, the resource recommendation method provided by the embodiment of the present disclosure can migrate the acquisition and preprocessing of features from the CPU to the DPU, reducing the computational load on the CPU, and thus enabling the CPU to have more computing power with more GPUs in a server composed of a CPU and a GPU, thereby improving the computing power density of a single server and reducing the cost of unit computing power. In addition, the embodiment of the present disclosure also supports direct communication between the DPU and the GPU through remote direct memory access technology, without the need for data transfer through the CPU, further reducing the bandwidth utilization of the CPU-side bus, so that the bandwidth utilization of the bus will not become a performance bottleneck for servers including multiple GPUs.
[0151] The disclosed embodiment provides a resource recommendation method, which can determine the data identifier of each object data through the CPU in the server in a resource recommendation scenario, based on object data such as account data and resource data of candidate resources carried in a resource recommendation request, and obtain identification information. The identification information is then sent to the DPU in the server through the CPU, and the DPU determines the features associated with each data identifier, obtains feature information, and pre-processes the feature information. Then, the recommendation parameters of the candidate resources are predicted based on the pre-processed feature information, and the recommended resources can be determined from the candidate resources based on the recommendation parameters. The above method is used to migrate the feature determination process and the pre-processing process from the CPU to the DPU, thereby reducing the computing load of the CPU and improving the efficiency of resource recommendation.
[0152] All the above optional technical solutions can be arbitrarily combined to form optional embodiments of the present disclosure, and will not be described in detail here.
[0153] Figure 7 7 is a block diagram of a server according to an exemplary embodiment. Generally, the server 700 includes: a processor 701 and a memory 702 .
[0154] The processor 701 may include one or more processing cores, such as a 4-core processor, an 8-core processor, etc. The processor 701 includes the CPU (Central Processing Unit) and the DPU (Data Process Unit) in the above embodiment. The CPU is used to process object data such as account data and resource data received by the server to obtain a data identifier of the object data. The DPU is used to determine the characteristics of the object data according to the data identifier of the object data, and pre-process the characteristics of the object data. Optionally, the processor 701 also includes the GPU (Graphics Processing Unit) in the above embodiment. The GPU is used to predict the recommended parameters of the candidate resources based on the pre-processed characteristics. The processor 701 can be implemented in at least one hardware form of DSP (Digital Signal Processing), FPGA (Field-Programmable Gate Array), and PLA (Programmable Logic Array). The processor 701 may also include a main processor and a coprocessor. The main processor is a processor for processing data in the awake state, also called a CPU; the coprocessor is a low-power processor for processing data in the standby state. In some embodiments, the processor 701 may also include an AI (Artificial Intelligence) processor, which is used to process computing operations related to machine learning.
[0155] The memory 702 may include one or more computer-readable storage media, which may be non-transitory. The memory 702 may also include a high-speed random access memory, and a non-volatile memory, such as one or more disk storage devices, flash memory storage devices. In some embodiments, the non-transitory computer-readable storage medium in the memory 702 is used to store at least one program code, which is used to be executed by the processor 701 to implement the resource recommendation method provided in the method embodiment of the present disclosure.
[0156] Optionally, the server 700 may also have components such as a wired or wireless network interface, a keyboard, and an input / output interface for input and output. The server 700 may also include other components for implementing device functions, which will not be described in detail here.
[0157] Those skilled in the art will understand that Figure 7The structure shown in the figure does not constitute a limitation on the server 700, and the server 700 may include more or less components than those shown in the figure, or combine some components, or adopt a different arrangement of components.
[0158] In an exemplary embodiment, a computer-readable storage medium including instructions is also provided, such as a memory 702 including instructions, and the instructions can be executed by a processor 701 of a server 700 to complete the resource recommendation method. Alternatively, the computer-readable storage medium can be a ROM, a random access memory (RAM), a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, etc.
[0159] A computer program product includes a computer program, and the computer program implements the resource recommendation method when executed by a processor.
[0160] Those skilled in the art will readily appreciate other embodiments of the present disclosure after considering the specification and practicing the invention disclosed herein. The present disclosure is intended to cover any variations, uses or adaptations of the present disclosure that follow the general principles of the present disclosure and include common knowledge or customary techniques in the art that are not disclosed in the present disclosure. The description and examples are to be considered exemplary only, and the true scope and spirit of the present disclosure are indicated by the following claims.
[0161] It should be understood that the present disclosure is not limited to the exact structures that have been described above and shown in the drawings, and that various modifications and changes may be made without departing from the scope thereof. The scope of the present disclosure is limited only by the appended claims.
Claims
1. A resource recommendation method, characterized in that: Applied to a server, the server includes a central processing unit (CPU) and a data processing unit (DPU), and the method includes: In response to a resource recommendation request, determining, by the CPU, identification information based on object data carried in the resource recommendation request, the object data including account data and resource data of a plurality of candidate resources, the identification information including a data identifier of the account data and a data identifier of the resource data; Sending the identification information to the DPU via the CPU; Determining, by the DPU, first feature information based on the identification information, and preprocessing the first feature information, wherein the first feature information includes a feature associated with each data identifier in the identification information; Based on the preprocessed first feature information, recommendation parameters of the multiple candidate resources are predicted, and the recommendation parameters are used to determine recommended resources from the multiple candidate resources.
2. The resource recommendation method according to claim 1, characterized in that: The step of responding to the resource recommendation request and determining, by the CPU, identification information based on object data carried in the resource recommendation request includes: In response to a resource recommendation request, obtaining object data carried in the resource recommendation request; By means of the CPU, the account data in the object data is hashed to obtain a data identifier of the account data; By means of the CPU, the resource data of the plurality of candidate resources are respectively hashed to obtain data identifiers of the plurality of candidate resources; The identification information is constructed by the CPU based on the data identification of the account data and the data identifications of the plurality of candidate resources.
3. The resource recommendation method according to claim 1, characterized in that: The resource recommendation request is a request sent by a recommendation server to the server, and the plurality of candidate resources are determined by the recommendation server based on the account data; the method further includes: The recommendation parameters of the multiple candidate resources are sent to the recommendation server, and the recommendation server is used to determine the recommended resource from the multiple candidate resources based on the recommendation parameters.
4. The resource recommendation method according to claim 1, characterized in that: The determining, by the DPU, the first feature information based on the identification information includes: By means of the DPU, using the data identifier of the account data in the identification information as a key, determining a value associated with the data identifier of the account data from a feature library, and determining the value as a feature associated with the data identifier of the account data, wherein the feature library is used to store an association relationship between any data identifier and a feature in the form of a key-value pair; By means of the DPU, using the data identifier of any resource data in the identification information as a key, determining from the feature library a value associated with the data identifier of the resource data, and determining the value as a feature associated with the data identifier of the resource data; The first feature information is constructed by the DPU based on features associated with the data identifiers of the account data and features associated with the data identifiers of a plurality of resource data.
5. The resource recommendation method according to claim 1, characterized in that: The preprocessing of the first feature information includes at least one of the following: Decompressing, by the DPU, a plurality of features in the first feature information; By means of the DPU, precision conversion is performed on a plurality of features in the first feature information; The DPU is used to perform feature fusion on multiple features in the first feature information.
6. The resource recommendation method according to claim 1, characterized in that: The server further includes a graphics processor (GPU); and predicting the recommended parameters of the plurality of candidate resources based on the preprocessed first feature information includes: By using the DPU, the preprocessed first feature information is sent to the GPU using remote direct memory access technology; The GPU predicts the recommended parameters of the plurality of candidate resources based on the preprocessed first feature information.
7. The resource recommendation method according to claim 6, characterized in that: The predicting, by the GPU, the recommended parameters of the plurality of candidate resources based on the preprocessed first feature information includes: Inputting the preprocessed first feature information into a deep learning model deployed in the GPU through the GPU; The deep learning model is used to predict the recommended parameters of the multiple candidate resources based on the preprocessed first feature information.
8. The resource recommendation method according to claim 7, characterized in that: The predicting, by the deep learning model, the recommended parameters of the plurality of candidate resources based on the preprocessed first feature information includes at least one of the following: Predicting the click rate of each candidate resource based on the preprocessed first feature information through the deep learning model, and determining a recommendation parameter of each candidate resource based on the click rate of each candidate resource, wherein the recommendation parameter is positively correlated with the click rate; Through the deep learning model, based on the preprocessed first feature information, the viewing time of each candidate resource is predicted, and based on the viewing time of each candidate resource, the recommendation parameter of each candidate resource is determined, and the recommendation parameter is positively correlated with the viewing time.
9. The resource recommendation method according to claim 1, characterized in that: The predicting, based on the preprocessed first feature information, the recommended parameters of the plurality of candidate resources includes: determining, by the CPU, second feature information based on the identification information, the second feature information comprising a feature associated with at least one data identifier in the identification information and stored by the CPU; Based on the second feature information and the preprocessed first feature information, the recommendation parameters of the plurality of candidate resources are predicted.
10. The resource recommendation method according to claim 1, characterized in that: The server includes the CPU, a plurality of GPUs and the DPU; The CPU is connected to a bus, and the bus is connected to at least one GPU and the DPU; The predicting, based on the preprocessed first feature information, the recommended parameters of the plurality of candidate resources includes: Sending the preprocessed first feature information to any GPU connected to the bus through the DPU; The GPU predicts the recommended parameters of the plurality of candidate resources based on the preprocessed first feature information.
11. The resource recommendation method according to claim 1, characterized in that: The server includes the CPU, multiple GPUs, a primary DPU and at least one secondary DPU; The CPU is connected to a bus, and the bus is connected to at least one GPU and any one of the slave DPUs; The sending the identification information to the DPU through the CPU includes: sending the identification information to the secondary DPU connected to the bus through the CPU; The determining, through the DPU, first feature information based on the identification information, and preprocessing the first feature information includes: forwarding the identification information to the main DPU through the secondary DPU connected to the bus; determining, through the main DPU, the first feature information based on the identification information, and preprocessing the first feature information; The predicting of recommended parameters of the multiple candidate resources based on the preprocessed first feature information includes: sending the preprocessed first feature information to the secondary DPU connected to the bus through the main DPU; sending the preprocessed first feature information to any GPU connected to the bus through the secondary DPU connected to the bus; and predicting recommended parameters of the multiple candidate resources based on the preprocessed first feature information through the GPU.
12. A server, characterized in that: The server includes a central processing unit CPU and a data processing unit DPU; The CPU is configured to respond to a resource recommendation request and determine identification information based on object data carried in the resource recommendation request, wherein the object data includes account data and resource data of a plurality of candidate resources, and the identification information includes a data identifier of the account data and a data identifier of the resource data; Sending the identification information to the DPU; The DPU is used to determine first feature information based on the identification information and preprocess the first feature information, where the first feature information includes a feature associated with each data identifier in the identification information; The server is used to predict recommendation parameters of the multiple candidate resources based on the preprocessed first feature information, and the recommendation parameters are used to determine recommended resources from the multiple candidate resources.
13. A computer-readable storage medium, characterized in that: When the instructions in the computer-readable storage medium are executed by a processor of a server, the server is enabled to execute the resource recommendation method according to any one of claims 1 to 11.
14. A computer program product comprising a computer program, characterized in that When the computer program is executed by a processor, the resource recommendation method according to any one of claims 1 to 11 is implemented.
