Data processing methods, apparatus, media and equipment
By splitting the resource selection process of the generative recommendation model into first and second resource selection stages with shared memory, the problems of low efficiency and poor timeliness of the generative recommendation model are solved, and more efficient resource sequence recommendation is achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- BEIJING DAJIA INTERNET INFORMATION TECH CO LTD
- Filing Date
- 2026-03-16
- Publication Date
- 2026-06-30
AI Technical Summary
Existing generative recommendation models have low efficiency in generating and recommending resource sequences, poor adaptability to user application needs, and poor timeliness of recommendation results.
The resource selection process is divided into a first resource selection stage and a second resource selection stage based on shared memory. By leveraging the high throughput and low latency characteristics of shared memory, data I/O efficiency is improved, data processing volume is reduced, and resource sequence generation efficiency is increased.
It improves the efficiency of resource sequence recommendation, shortens application loading time, enhances the timeliness of recommendation results, and adapts to users' recommendation needs.
Smart Images

Figure CN122309193A_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of artificial intelligence technology, and in particular to data processing methods, apparatus, media and devices. Background Technology
[0002] With the development and expansion of large language models, generative recommendation (GR) has emerged. To generate resource sequences containing multiple ordered recommended resources that are of interest to users, generative recommendation models can directly generate a beam size (B) of resource sequences to be recommended based on beam search technology. These B sequences are then scored, sorted, and truncated before being selected as the final recommended resource sequence for the user.
[0003] Among related technologies, resource sequence generation and recommendation based on generative recommendation models are inefficient, have low adaptability to user application needs, and poor timeliness of recommendation results. Summary of the Invention
[0004] This disclosure provides a data processing method, apparatus, electronic device, and storage medium to at least solve the aforementioned problems in the related art. The technical solution of this disclosure is as follows: According to a first aspect of the present disclosure, a data processing method is provided, comprising: Retrieve multiple resource sequences to be recommended for the current account; From the extended resource set corresponding to the plurality of resource sequences to be recommended in global memory, obtain the first resource feature information corresponding to the first resource sequence, and write the first resource feature information corresponding to the first resource sequence into shared memory; the first resource feature information corresponding to the first resource sequence is the resource representation data of the plurality of extended recommended resources of the resource to be recommended in the first resource sequence; the first resource sequence is any one of the plurality of resource sequences to be recommended. Based on the first resource feature information corresponding to the first resource sequence in the shared memory, resource filtering processing is performed to obtain the second resource feature information corresponding to the first resource sequence; the second resource feature information corresponding to the first resource sequence is the resource representation data of a preset number of extended recommended resources corresponding to the first resource sequence, selected from the plurality of extended recommended resources. Based on the second resource feature information corresponding to each of the multiple resource sequences to be recommended, resource filtering processing is performed to obtain the target resource sequence; Based on the recommended resources in the target resource sequence, resource recommendation processing is performed on the current account.
[0005] Optionally, the step of performing resource filtering based on the second resource feature information corresponding to each of the plurality of resource sequences to be recommended, to obtain the target resource sequence, includes: Based on the second resource feature information corresponding to each of the multiple resource sequences to be recommended, resource filtering processing is performed to obtain the third resource feature information corresponding to the multiple resource sequences to be recommended. The third resource feature information is the resource representation data of a preset number of extended recommended resources corresponding to the multiple resource sequences to be recommended. The multiple resource sequences to be recommended are updated based on the third resource feature information corresponding to the multiple resource sequences to be recommended. If the length of the updated plurality of resource sequences to be recommended reaches a preset length, the target resource sequence is determined from the updated plurality of resource sequences to be recommended.
[0006] Optionally, the step of performing resource filtering based on the first resource feature information corresponding to the first resource sequence in the shared memory to obtain the second resource feature corresponding to the first resource sequence includes: In the current resource filtering round, the current processing resource feature information in the shared memory is bucketed to obtain multiple current buckets arranged in order and the current bucket statistics corresponding to the multiple current buckets; the bucket statistics indicate the resource representation data of at least one extended recommended resource contained in each of the multiple current buckets, the quantity of at least one extended recommended resource contained in each current bucket, and the bucket identifier data of each current bucket; the current processing resource feature information is the first resource feature information corresponding to the first resource sequence in the initial state; Based on the current bucket statistics corresponding to the multiple current buckets, the current bucket to be processed is determined from the multiple current buckets, where the critical item among the remaining filter items is located; in the initial state, the remaining filter items are a preset number of items; Based on the bucket statistics corresponding to the multiple current buckets and the current bucket to be processed, the remaining filter items are updated to obtain the updated remaining filter items; Write the resource representation data of at least one extended recommended resource contained in the current bucket to be processed and the updated remaining filter items into the shared memory; Based on the resource representation data of at least one extended recommended resource contained in the current bucket to be processed, the current processing resource feature information is updated to obtain the updated current processing resource feature information. Based on the updated current processing resource feature information and the updated remaining filtering items, the next resource filtering round is executed until the preset iteration exit condition is met, at which point the current bucket to be processed corresponding to the last filtering round is determined. Based on the current bucket to be processed determined in each round of resource screening, the critical index data corresponding to the preset quantity item is determined. Based on the critical index data and the first resource feature information corresponding to the first resource sequence, the second resource feature information corresponding to the first resource sequence is determined.
[0007] Optionally, in the current resource filtering round, the current processing resource feature information in the shared memory is bucketed to obtain multiple current buckets arranged in order and the current bucket statistics corresponding to the multiple current buckets, including: Based on the preset number of bytes and the data type of the first resource feature information corresponding to the first resource sequence, the current bucket reference bit is determined; Based on the current bucket reference position, the current processing resource feature information is bucketed to obtain the multiple current buckets arranged in order and the current bucket statistics corresponding to the multiple current buckets.
[0008] Optionally, the method further includes: Obtain the resource representation space corresponding to all recommended resources; the resource representation space is the result of semantically representing the recommended resources as a modality. Based on the resource representation space and the multiple resource sequences to be recommended, determine the extended resource set corresponding to the multiple resource sequences to be recommended; The multiple extended recommendation resources are some or all of the recommendation resources in the full set of recommendation resources.
[0009] Optionally, the extended resource set includes full resource feature information in the form of a one-dimensional array, and the method further includes: The full resource feature information is transformed to obtain target full resource feature information in the form of a two-dimensional array; Each row of data in the target full resource feature information corresponds to the first resource feature information corresponding to each of the resource sequences to be recommended. The step of obtaining the first resource feature information corresponding to the first resource sequence from the extended resource set corresponding to the plurality of resource sequences to be recommended in global memory, and writing the first resource feature information corresponding to the first resource sequence into shared memory includes: Read the row data corresponding to the first resource sequence from the target full resource feature information to obtain the first resource feature information corresponding to the first resource sequence; Write the first resource feature information corresponding to the first resource sequence into the shared memory.
[0010] Optionally, the step of reading the row data corresponding to the first resource sequence from the target full resource feature information to obtain the first resource feature information corresponding to the first resource sequence includes: When starting resource filtering based on the first resource feature information corresponding to the previous recommended resource sequence in the shared memory relative to the first resource sequence, the row data corresponding to the first resource sequence in the target full resource feature information is read to obtain the first resource feature information corresponding to the first resource sequence.
[0011] Optionally, after obtaining the second resource feature information corresponding to the first resource sequence, the method further includes: Write the second resource feature information corresponding to the first resource sequence into the global memory; The step of performing resource filtering based on the second resource feature information corresponding to each of the plurality of resource sequences to be recommended, to obtain the target resource sequence, includes: Based on the second resource feature information corresponding to each of the resource sequences to be recommended in the global memory, resource filtering processing is performed to obtain the target resource sequence.
[0012] Optionally, obtaining the first resource feature information corresponding to the first resource sequence from the extended resource set corresponding to the plurality of resource sequences to be recommended in global memory includes: Using a preset number of bytes as unit data, the first resource feature information corresponding to the first resource sequence is read from the extended resource set; After obtaining the second resource feature information corresponding to the first resource sequence, the method further includes: Using the preset number of bytes as unit data, the second resource feature information corresponding to the first resource sequence is written into the global memory.
[0013] According to a second aspect of the present disclosure, a data processing apparatus is provided, comprising: The resource sequence acquisition module is configured to acquire multiple resource sequences to be recommended for the current account. The data loading module is configured to retrieve first resource feature information corresponding to a first resource sequence from the extended resource set corresponding to the plurality of resource sequences to be recommended in global memory, and write the first resource feature information corresponding to the first resource sequence into shared memory; the first resource feature information corresponding to the first resource sequence is resource representation data of a plurality of extended recommended resources of the resource to be recommended in the first resource sequence; the first resource sequence is any one of the plurality of resource sequences to be recommended. The first filtering module is configured to perform resource filtering processing based on the first resource feature information corresponding to the first resource sequence in the shared memory to obtain the second resource feature information corresponding to the first resource sequence; the second resource feature information corresponding to the first resource sequence is resource representation data of a preset number of extended recommended resources corresponding to the first resource sequence, selected from the plurality of extended recommended resources. The second filtering module is configured to perform resource filtering based on the second resource feature information corresponding to each of the plurality of resource sequences to be recommended, and obtain the target resource sequence. The resource sequence recommendation module is configured to perform resource recommendation processing on the current account based on the recommended resources in the target resource sequence.
[0014] Optionally, the second filtering module includes: The third resource feature information determination unit is configured to perform resource filtering processing based on the second resource feature information corresponding to each of the plurality of resource sequences to be recommended, and obtain the third resource feature information corresponding to the plurality of resource sequences to be recommended. The third resource feature information is the resource representation data of a preset number of extended recommended resources corresponding to the plurality of resource sequences to be recommended. The resource sequence update unit is configured to update the multiple resource sequences to be recommended based on the third resource feature information corresponding to the multiple resource sequences to be recommended. The target resource sequence determination unit is configured to determine the target resource sequence from the updated plurality of resource sequences to be recommended when the length of the updated plurality of resource sequences to be recommended reaches a preset length.
[0015] Optionally, the first filtering module includes: The bucketing unit is configured to perform bucketing processing on the currently processed resource feature information in the shared memory during the current resource filtering round, obtaining multiple current buckets arranged in order and current bucket statistics corresponding to the multiple current buckets; the bucket statistics indicate the resource representation data of at least one extended recommended resource contained in each of the multiple current buckets, the quantity of at least one extended recommended resource contained in each current bucket, and the bucket identifier data of each current bucket; the currently processed resource feature information is the first resource feature information corresponding to the first resource sequence in the initial state; The pending current bucket determination unit is configured to perform an operation based on the current bucket statistics corresponding to the plurality of current buckets to determine the pending current bucket containing the critical item among the remaining filter items from the plurality of current buckets; in the initial state, the remaining filter items are a preset number of items; The remaining filter item update unit is configured to update the remaining filter items based on the bucket statistics data corresponding to the multiple current buckets and the current bucket to be processed, so as to obtain the updated remaining filter items; An intermediate data storage unit is configured to write resource representation data of at least one extended recommended resource contained in the current bucket to be processed and the updated remaining filter items into the shared memory; The current processing resource feature information update unit is configured to update the current processing resource feature information based on the resource representation data of at least one extended recommended resource contained in the current bucket to be processed, so as to obtain the updated current processing resource feature information. The iteration unit is configured to perform the next resource filtering round based on the updated current processing resource feature information and the updated remaining filtering items, until the preset iteration exit condition is met, and the current bucket to be processed corresponding to the last filtering round is determined. The critical index data determination unit is configured to perform the determination of the critical index data corresponding to the preset number of items by executing the current bucket to be processed based on the resource filtering rounds. The second resource feature information determination unit is configured to determine the second resource feature information corresponding to the first resource sequence based on the critical index data and the first resource feature information corresponding to the first resource sequence.
[0016] Optionally, the binning unit includes: The current bucket reference bit determination subunit is configured to execute a data type based on a preset number of bytes and the first resource feature information corresponding to the first resource sequence to determine the current bucket reference bit; The data bucketing subunit is configured to perform bucketing processing on the current processing resource feature information based on the current bucketing reference bit, so as to obtain the multiple current buckets arranged in order and the current bucketing statistics corresponding to the multiple current buckets.
[0017] Optionally, the device further includes: The resource representation space unit is configured to retrieve the resource representation space corresponding to all recommended resources; the resource representation space is the result of semantically representing the recommended resources as a modality. The extended resource set determination unit is configured to determine the extended resource set corresponding to the plurality of resource sequences to be recommended based on the resource representation space and the plurality of resource sequences to be recommended. The multiple extended recommendation resources are some or all of the recommendation resources in the full set of recommendation resources.
[0018] Optionally, the extended resource set includes full resource feature information in the form of a one-dimensional array, and the device further includes: The data dimension transformation unit is configured to perform dimension transformation on the full resource feature information to obtain the target full resource feature information in the form of a two-dimensional array. Each row of data in the target full resource feature information corresponds to the first resource feature information corresponding to each of the resource sequences to be recommended. The data loading module includes: The first reading unit is configured to read the row data corresponding to the first resource sequence in the target full resource feature information to obtain the first resource feature information corresponding to the first resource sequence; The first writing unit is configured to write the first resource feature information corresponding to the first resource sequence into the shared memory.
[0019] Optionally, the first reading unit includes: An asynchronous parallel reading subunit is configured to read the row data corresponding to the first resource sequence from the target full resource feature information when resource filtering processing begins based on the first resource feature information corresponding to the previous recommended resource sequence in the shared memory relative to the first resource sequence, thereby obtaining the first resource feature information corresponding to the first resource sequence.
[0020] Optionally, after obtaining the second resource feature information corresponding to the first resource sequence, the device further includes: The second writing unit is configured to write the second resource feature information corresponding to the first resource sequence into the global memory; The second filtering module is configured to perform resource filtering based on the second resource feature information corresponding to each of the resource sequences to be recommended in the global memory, so as to obtain the target resource sequence.
[0021] Optionally, the data loading module includes: The second reading unit is configured to read the first resource feature information corresponding to the first resource sequence from the extended resource set, using a preset number of bytes as unit data. After obtaining the second resource feature information corresponding to the first resource sequence, the device further includes: The third writing unit is configured to execute writing the second resource feature information corresponding to the first resource sequence into the global memory, using the preset number of bytes as unit data.
[0022] According to a third aspect of the present disclosure, an electronic device is provided, comprising: a processor; and a memory for storing processor-executable instructions; wherein the processor is configured to execute the instructions to implement the data processing method described in any one of the first aspects of the present disclosure.
[0023] According to a fourth aspect of the present disclosure, a computer-readable storage medium is provided that, when instructions in the computer-readable storage medium are executed by a processor of an electronic device, enables the electronic device to perform a data processing method as described in any one of the first aspects of the present disclosure.
[0024] According to a fifth aspect of the present disclosure, a computer program product is provided, including computer instructions that, when executed by a processor, implement the data processing method as described in any one of the first aspects of the present disclosure.
[0025] The technical solutions provided in this disclosure offer at least the following beneficial effects: In the technical solution provided in this disclosure, the first step is to obtain multiple resource sequences to be recommended corresponding to the current account; from the extended resource set corresponding to the multiple resource sequences to be recommended in global memory, the first resource feature information corresponding to the first resource sequence is obtained, and the first resource feature information corresponding to the first resource sequence is written into shared memory; the first resource feature information corresponding to the first resource sequence is the resource representation data of multiple extended recommended resources of the resource to be recommended in the first resource sequence; the first resource sequence is any one of the multiple resource sequences to be recommended; based on the first resource feature information corresponding to the first resource sequence in shared memory, resource filtering processing is performed to obtain the second resource feature information corresponding to the first resource sequence; the second resource feature information corresponding to the first resource sequence is the resource representation data of a preset number of extended recommended resources corresponding to the first resource sequence selected from the multiple extended recommended resources; based on the second resource feature information corresponding to each resource sequence to be recommended in the multiple resource sequences to be recommended, resource filtering processing is performed to obtain the target resource sequence; based on the recommended resources in the target resource sequence, resource recommendation processing is performed to the current account. The technical solution provided in this disclosure does not directly perform overall filtering based on the extended resource set corresponding to multiple resource sequences to be recommended in global memory to expand multiple resource sequences to be recommended and determine the target resource sequence from them. Instead, it breaks down the overall filtering of the extended resource set corresponding to multiple resource sequences to be recommended into a first resource filtering stage based on the first resource feature information corresponding to each resource sequence to be recommended and a second resource filtering stage based on the second resource feature information corresponding to each resource sequence to be recommended. Compared with directly performing overall filtering based on the extended resource set corresponding to multiple resource sequences to be recommended in global memory, the data processing volume of the first resource filtering stage and the data processing volume of the second resource filtering stage are greatly reduced. Thus, the data to be processed in the resource filtering stage can be loaded into shared memory for processing. With the fast throughput and low latency of shared memory, the data IO efficiency is improved, thereby improving the generation efficiency of the resource sequences to be recommended, and thus improving the efficiency of resource sequence recommendation, shortening application loading time, providing users with recommendation results more efficiently, and improving the timeliness of recommendation results to meet users' recommendation needs.
[0026] It should be understood that the above general description and the following detailed description are exemplary and explanatory only, and are not intended to limit this disclosure. Attached Figure Description
[0027] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this disclosure and, together with the description, serve to explain the principles of this disclosure, and are not intended to unduly limit this disclosure.
[0028] Figure 1This is a schematic diagram illustrating an application environment of a data processing method according to an exemplary embodiment; Figure 2 This is a flowchart illustrating a data processing method according to an exemplary embodiment; Figure 3 This is a data processing flowchart based on pipeline technology, according to an exemplary embodiment. Figure 4 This is a flowchart illustrating a first resource screening stage according to an exemplary embodiment; Figure 5 This is a flowchart illustrating another first resource screening stage according to an exemplary embodiment; Figure 6 This is a schematic diagram illustrating the changes in data organization during two resource screening stages according to an exemplary embodiment; Figure 7 This is a flowchart illustrating a second resource screening stage according to an exemplary embodiment; Figure 8 This is a block diagram illustrating a data processing apparatus according to an exemplary embodiment; Figure 9 This is a block diagram illustrating an electronic device of the mobile terminal type according to an exemplary embodiment; Figure 10 This is a block diagram illustrating a server-type electronic device according to an exemplary embodiment. Detailed Implementation
[0029] To enable those skilled in the art to better understand the technical solutions of this disclosure, the technical solutions in the embodiments of this disclosure will be clearly and completely described below with reference to the accompanying drawings.
[0030] It should be noted that the terms "first," "second," etc., used in the specification, claims, and accompanying drawings of this disclosure 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 of this disclosure described herein can be implemented in orders other than those illustrated or described herein. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this disclosure. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this disclosure as detailed in the appended claims.
[0031] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for display, data used for analysis, etc.) involved in this disclosure are all information and data authorized by the user or fully authorized by all parties.
[0032] The following explains the technical terms used in the embodiments of this disclosure: RecSys: Recommender systems, as the infrastructure of the modern information ecosystem, help users discover content they are interested in from a vast amount of digital content.
[0033] GR: Generative Recommendation is a new recommendation paradigm that has emerged in recent years. It differs from traditional discriminative modeling by using generative methods to model recommendation tasks.
[0034] GMEM: Global Memory, is the global memory of the GPU hardware. Compared with SMEM, it has lower throughput and higher latency.
[0035] SMEM: Shared Memory, is a high-performance shared memory on the GPU hardware chip. Compared with GMEM, it has higher throughput and lower latency.
[0036] Beam Search is a heuristic search algorithm widely used in sequence generation tasks. It balances search efficiency and output quality by retaining a fixed number of optimal candidate paths at each time step.
[0037] Please see Figure 1 The diagram shows an application environment of a data processing method according to an exemplary embodiment. The application environment may include a terminal 110 and a server 120, which can be connected via a wired network or a wireless network.
[0038] Terminal 110 can be a smartphone, tablet, laptop, desktop computer, etc., but is not limited to these. Terminal 110 may have an application (App) installed. This application can be a standalone application or a subroutine within a standalone application. Users of terminal 110 can log in to the application using pre-registered user information, which may include an account and password. Server 120 can be a server providing background services for the application in terminal 110, or it can be another server connected and communicating with the application's background server. It can be a single server or a server cluster consisting of multiple servers.
[0039] In the embodiments of this disclosure, terminal 110 may send a resource recommendation request to server 120 in response to a resource recommendation operation of the current account. Server 120 receives the resource recommendation request and returns a corresponding target resource sequence to terminal 110 according to the resource recommendation request. The target resource sequence includes at least one resource to be recommended. Specifically, server 120 generates multiple resource sequences to be recommended of a preset length based on a generative recommendation model and determines one of them as the returned target resource sequence. Server 120 performs resource sequence expansion processing based on the generative recommendation model to obtain multiple resource sequences to be recommended of a preset length. The resource sequence expansion process includes multiple resource sequence expansion stages corresponding to multiple time steps. In the current time step's resource sequence expansion stage, multiple resource sequences to be recommended corresponding to the current account are first obtained. These multiple resource sequences to be recommended were determined in the resource sequence expansion stage of the previous time step. From the expanded resource set corresponding to the multiple resource sequences to be recommended in global memory, the first resource feature information corresponding to the first resource sequence is obtained and written into shared memory. The first resource feature information corresponding to the first resource sequence is the resource representation data of multiple expanded recommended resources of the resource to be recommended in the first resource sequence. The first resource sequence is any one of the multiple resource sequences to be recommended. Based on the first resource feature information corresponding to the first resource sequence in shared memory, resource filtering is performed to obtain the second resource feature information corresponding to the first resource sequence. The second resource feature information corresponding to the first resource sequence is the resource representation data of a preset number of expanded recommended resources corresponding to the first resource sequence, selected from the multiple expanded recommended resources. Based on the second resource feature information corresponding to each resource sequence to be recommended in the multiple resource sequences to be recommended, resource filtering is performed to obtain the target resource sequence. Based on the recommended resources in the target resource sequence, resource recommendation processing is performed to the current account. Specifically, based on the second resource feature information corresponding to each of the multiple resource sequences to be recommended, resource filtering is performed to obtain the third resource feature information corresponding to the multiple resource sequences to be recommended. The third resource feature information is the resource representation data of a preset number of extended recommended resources corresponding to the multiple resource sequences to be recommended. Based on the third resource feature information corresponding to the multiple resource sequences to be recommended, the multiple resource sequences to be recommended are updated. If the length of the updated multiple resource sequences to be recommended reaches a preset length, the target resource sequence is determined from the updated multiple resource sequences to be recommended.The technical solution provided in this disclosure does not directly perform overall filtering based on the extended resource set corresponding to multiple resource sequences to be recommended in global memory to expand multiple resource sequences to be recommended and determine the target resource sequence from them. Instead, it breaks down the overall filtering of the extended resource set corresponding to multiple resource sequences to be recommended into a first resource filtering stage based on the first resource feature information corresponding to each resource sequence to be recommended and a second resource filtering stage based on the second resource feature information corresponding to each resource sequence to be recommended. Compared with directly performing overall filtering based on the extended resource set corresponding to multiple resource sequences to be recommended in global memory, the data processing volume of the first resource filtering stage and the data processing volume of the second resource filtering stage are greatly reduced. Thus, the data to be processed in the resource filtering stage can be loaded into shared memory for processing. With the fast throughput and low latency of shared memory, the data IO efficiency is improved, thereby improving the generation efficiency of the resource sequences to be recommended, and thus improving the efficiency of resource sequence recommendation, shortening application loading time, providing users with recommendation results more efficiently, and improving the timeliness of recommendation results to meet users' recommendation needs.
[0040] Figure 2 This is a flowchart illustrating a data processing method according to an exemplary embodiment, such as... Figure 2 As shown, the data processing method may include the following steps: In step S210, multiple resource sequences to be recommended corresponding to the current account are obtained.
[0041] In the embodiments of this disclosure, an extended generation process for the resource sequences to be recommended is performed based on a generative recommendation model to obtain multiple resource sequences of a preset length. The extended generation process for the resource sequences to be recommended includes multiple resource sequence extension stages corresponding to multiple time steps. In the resource sequence extension stage of the current time step, multiple resource sequences to be recommended corresponding to the current account are first obtained. These multiple resource sequences to be recommended are resource sequences containing at least one recommended resource, determined in the resource sequence extension stage of the previous time step. The recommended resource can be media content, items, or link information, etc. Media content can include, but is not limited to, short videos, news, and friend accounts. Through the resource sequence extension stage of the current time step, new multiple resource sequences to be recommended, with an increased number of included recommended resources, can be obtained.
[0042] In step S220, the first resource feature information corresponding to the first resource sequence is obtained from the extended resource set corresponding to the multiple resource sequences to be recommended in the global memory, and the first resource feature information corresponding to the first resource sequence is written into the shared memory; the first resource feature information corresponding to the first resource sequence is the resource representation data of multiple extended recommended resources of the resource to be recommended in the first resource sequence; the first resource sequence is any one of the multiple resource sequences to be recommended.
[0043] In this embodiment of the disclosure, the extended resource set corresponding to multiple resource sequences to be recommended contains resource representation data of B*V extended recommended resources, where B is the number of multiple resource sequences to be recommended, and V is the number of multiple extended recommended resources for each of the multiple resource sequences to be recommended at the current time step. The resource representation data is a unique identifier for the recommended resources.
[0044] In one embodiment of this disclosure, prior to step S220, the method may further include: In step S201, the resource representation space corresponding to all recommended resources is obtained; the resource representation space is the result of semantically representing the recommended resources as a modality.
[0045] Specifically, analogous to how large language models use tokens as basic units to model text, generative recommendation models can also use resource representation data to model recommendation resources, resulting in a resource representation space. The resource representation space corresponding to the entire set of recommendation resources contains the resource representation data of each recommendation resource within the entire set, serving as a unique identifier for each resource. The resource representation data of each recommendation resource can be byte sequences of the same data type and length, such as 16-bit bytes of type Float16. While preserving a collaborative data structure, this also makes the modeling of generative recommendation models more efficient. The resource representation data of each recommendation resource can also carry hierarchical characteristics, allowing resource representation data of multiple recommendation resources with similar semantics to share the same prefix data, thereby constructing semantic relationships between the recommendation resources.
[0046] In step S202, based on the resource representation space and multiple resource sequences to be recommended, an extended resource set corresponding to the multiple resource sequences to be recommended is determined.
[0047] Specifically, based on the resource representation data of each recommended resource in the full set of recommended resources that the resource representation space can indicate, the semantic relationships between the recommended resources in the full set of recommended resources, and at least one recommended resource already included in each of the multiple resource sequences to be recommended at the current time step, multiple extended recommended resources corresponding to each resource sequence to be recommended at the current time step can be determined from the full set of recommended resources. Furthermore, the resource representation data of each extended recommended resource among the multiple extended recommended resources corresponding to each resource sequence to be recommended can be determined. The resource representation data of each extended recommended resource among the multiple extended recommended resources corresponding to each resource sequence to be recommended constitutes the extended resource set corresponding to the aforementioned multiple resource sequences to be recommended. These multiple extended recommended resources can be some or all of the recommended resources in the full set of recommended resources.
[0048] Specifically, each resource sequence to be recommended has the same number of extended recommended resources at the current time step, which is V.
[0049] In the above embodiments, by leveraging the pre-constructed resource representation space corresponding to all recommended resources, the generative recommendation model can quickly determine multiple extended recommended resources for each resource sequence to be recommended at the current time step, and determine the extended resource set corresponding to multiple resource sequences to be recommended, which also provides a data foundation for subsequently reading the first resource feature information of the resource sequence to be recommended.
[0050] Understandably, at the current time step, the extended resource sets corresponding to multiple resource sequences to be recommended are stored in global memory (GMEM). Global memory has low throughput and high latency. Directly filtering based on the entire extended resource set of multiple resource sequences to be recommended in global memory results in an extremely large amount of data processing per round. For example, with B=1024 and V=8192, if the data type of the resource representation data is Float16, the required memory space is 16MB. This is a large amount of data processing, far exceeding the size of the GPU's shared memory. It is not feasible to directly load all the data in the extended resource set into shared memory for filtering. Filtering based on the extended resource set in global memory results in low IO efficiency and reduced filtering efficiency. By reading only the first resource feature information corresponding to one resource sequence to be recommended from the same extended resource set, the required memory space can be reduced from 16MB to 16KB, which can be easily loaded into the GPU's shared memory.
[0051] In one specific embodiment, the extended resource set includes full resource feature information in the form of a one-dimensional array, and the method may further include: In step S203, the full resource feature information is dimensionally transformed to obtain the target full resource feature information in the form of a two-dimensional array.
[0052] Feasibly, the full resource feature information includes resource representation data of B*V extended recommended resources, and is organized in the form of a one-dimensional array. The one-dimensional array can be converted into two-dimensional data by a dimension transformation instruction (such as the Reshape function) to obtain the above-mentioned target full resource feature information (B, V).
[0053] Each row of data in the target full resource feature information can correspond to the first resource feature information of each resource sequence to be recommended. Each array element in the target full resource feature information corresponds to the resource representation data of an extended recommended resource.
[0054] Then step S220 can be implemented as follows: In step S221, the row data corresponding to the first resource sequence in the target full resource feature information is read to obtain the first resource feature information corresponding to the first resource sequence.
[0055] In step S222, the first resource feature information corresponding to the first resource sequence is written into the shared memory.
[0056] In the above embodiments, by converting the full resource feature information in the form of a one-dimensional array in the extended resource set into the target full resource feature information in the form of a two-dimensional array, each row of the target full resource feature information can correspond to the first resource feature information corresponding to each resource sequence to be recommended, and the row data can be read in an orderly manner, which can improve the reading efficiency of the first resource feature information corresponding to each resource sequence to be recommended.
[0057] In a specific embodiment, step S220 can be implemented based on pipeline technology. Feasibly, when starting resource filtering based on the first resource feature information corresponding to the previous recommended resource sequence in shared memory relative to the first resource sequence, the row data corresponding to the first resource sequence in the target full resource feature information can be read to obtain the first resource feature information corresponding to the first resource sequence, and then written into shared memory. The resource filtering based on the first resource feature information corresponding to the previous recommended resource sequence in shared memory can be referred to the embodiment provided in subsequent step S230, and will not be elaborated here.
[0058] For example, such as Figure 3As shown, the first resource feature information X0 corresponding to the L0th resource sequence to be recommended is first loaded from GMEM to SMEM (that is, the process of reading the first resource feature information corresponding to the L0th resource sequence to be recommended from global memory and writing it into shared memory). Then, when the filtering process based on the first resource feature information corresponding to the L0th resource sequence to be recommended in shared memory is started to obtain the second resource feature information corresponding to the L0th resource sequence to be recommended, the first resource feature information X1 corresponding to the L1th resource sequence to be recommended is loaded from GMEM to SMEM... that is, different processing processes of two adjacent resource sequences to be recommended can be executed in parallel.
[0059] In the above embodiments, based on pipeline processing technology, the processing time of the data loading stage and the processing time of the first resource filtering stage can overlap and mask each other, thereby improving the overall data processing efficiency.
[0060] In a specific embodiment, step S220 can also be implemented as follows: after writing the second resource feature information corresponding to the previous recommended resource sequence relative to the first resource sequence into global memory, the row data corresponding to the first resource sequence in the target full resource feature information is read to obtain the first resource feature information corresponding to the first resource sequence, and the first resource feature information corresponding to the first resource sequence is written into shared memory. That is, after completing the first resource screening stage for the previous recommended resource sequence, the first resource feature information corresponding to the first resource sequence is loaded into shared memory, which can ensure the data isolation effect between the first resource feature information and the second resource feature information of different recommended resource sequences during reading and writing.
[0061] In step S230, resource filtering is performed based on the first resource feature information corresponding to the first resource sequence in the shared memory to obtain the second resource feature information corresponding to the first resource sequence. The second resource feature information corresponding to the first resource sequence is the resource representation data of a preset number of extended recommended resources corresponding to the first resource sequence, selected from multiple extended recommended resources.
[0062] In this embodiment of the disclosure, the first resource feature information corresponding to the first resource sequence in a plurality of resource sequences to be recommended is loaded into shared memory one by one, and the first resource feature information corresponding to the first resource sequence written in shared memory is used to perform the processing of the first resource screening stage, that is, to select a preset number of extended recommended resources from the first resource sequence in the current time step of a plurality of extended recommended resources, and to determine the second resource feature information corresponding to the first resource sequence based on the preset number of extended recommended resources obtained by screening.
[0063] In one embodiment of this disclosure, the second resource feature information corresponding to the first resource sequence Xi (corresponding to the i-th resource sequence to be recommended) may include two parts: a resource representation data subset Yi and a resource index data subset Ii. The resource representation data subset Yi includes resource representation data Yij corresponding to each of the selected preset number of extended recommended resources (the resource representation data of the j-th extended recommended resource corresponding to the i-th resource sequence to be recommended). The resource index data subset Ii includes index data Iij indicating the position of each of the preset number of extended recommended resources in the first resource sequence at the current time step among the multiple extended recommended resources (the index data of the j-th extended recommended resource corresponding to the i-th resource sequence to be recommended).
[0064] In one embodiment of this disclosure, numerically, the aforementioned preset quantity is equivalent to the number of multiple resource sequences to be recommended, which can be represented by K.
[0065] In a specific embodiment, resource filtering can be performed based on the TopK algorithm (also known as the top K item search) to obtain a preset number of extended recommended resources for the first resource sequence at the current time step. The TopK algorithm may include, but is not limited to, Radix TopK (TopK based on radix sort), Bucket TopK (TopK based on bucket sort), binarysearch based TopK (TopK based on binary search), etc.
[0066] Taking Radix TopK or Bucket TopK as examples, such as Figure 4 As shown, step S230 may include: In step S231, in the current resource filtering round, the current processing resource feature information in the shared memory is bucketed to obtain multiple current buckets arranged in order and the current bucket statistics corresponding to the multiple current buckets; the bucket statistics indicate the resource representation data of at least one extended recommended resource contained in each current bucket, the number of at least one extended recommended resource contained in each current bucket, and the bucket identifier data of each current bucket; the current processing resource feature information is the first resource feature information corresponding to the first resource sequence in the initial state.
[0067] It is understandable that the resource feature information currently being processed in shared memory during the current filtering round is the resource representation data of at least one extended recommended resource contained in the current bucket to be processed, as determined in the previous resource filtering round. When the current filtering round is the first filtering round, the resource feature information currently being processed is the first resource feature information corresponding to the first resource sequence.
[0068] Among them, based on Bucket TopK, the bucket identification data can be obtained according to the numerical range of resource representation data contained in the current processed resource feature information and the preset number of buckets; in Radix TopK, the bucket identification data can be determined based on the preset number of radix bits and the data type of resource representation data.
[0069] In addition, the bucket statistics in step S221 can be stored in shared memory. The bucket statistics may include a histogram indicating the number of at least one extended recommendation resource contained in each current bucket and the bucket identifier data of each current bucket.
[0070] In step S232, based on the statistical data of the current buckets corresponding to the multiple current buckets, the current bucket to be processed is determined from the multiple current buckets, where the critical item among the remaining filter items is located; in the initial state, the remaining filter items are a preset number of items.
[0071] In the case where the current filtering round is the first filtering round, the remaining filtering item (which can be represented by k) is a preset quantity item (which can be represented by K), that is, indicating that in the first filtering round, K extended recommended resources need to be selected from the multiple extended recommended resources of the first resource sequence at the current time step. If the current filtering round is not the first filtering round, the remaining filtering item (which can be represented by k) indicates that in the current filtering round, k extended recommended resources need to be selected from at least one extended recommended resource indicated by the current bucket to be processed, as determined in the previous filtering round.
[0072] Among them, the critical item in the remaining selection items is the kth item in the remaining selection items (a total of k items).
[0073] Among them, the current bucket to be processed contains the critical item in the remaining filtering items corresponding to the current resource filtering round, which is equivalent to the Kth extended recommended resource containing the preset number of extended recommended resources to be filtered.
[0074] In step S233, based on the bucket statistics data corresponding to multiple current buckets and the current buckets to be processed, the remaining filter items are updated to obtain the updated remaining filter items.
[0075] Understandably, in the current resource filtering round, only extended recommended resources contained in all current buckets whose order precedes the current bucket to be processed as determined in the current filtering round are retained. Therefore, the total number of extended recommended resources contained in all current buckets whose order precedes the current bucket to be processed as determined in the current resource filtering round can be determined based on the bucket statistics corresponding to multiple current buckets. The difference between this total and the remaining filter items is used to obtain the updated remaining filter items, which serve as the remaining filter items for the next filtering round. Overall, this is equivalent to accumulating the total number of all extended recommended resources retained from the first resource filtering round to the current resource filtering round, and then determining the value of the remaining filter items for the next resource filtering round based on the difference between the accumulated number and the preset number.
[0076] In step S234, the resource representation data of at least one extended recommended resource contained in the current bucket to be processed and the updated remaining filter items are written to shared memory.
[0077] If feasible, the intermediate data generated in the multiple rounds of screening in the first resource screening stage (resource representation data of at least one extended recommended resource contained in the current bucket to be processed, updated remaining screening items, histograms, etc.) can be written into shared memory to quickly iterate and execute the screening steps as shown in steps S231 to S234 based on the data in shared memory.
[0078] In step S235, the resource feature information of the current processing is updated based on the resource representation data of at least one extended recommended resource contained in the current bucket to be processed, so as to obtain the updated resource feature information of the current processing.
[0079] That is, the resource representation data of at least one extended recommended resource contained in the current bucket to be processed, as determined in the current resource screening round, is used as the current processing resource feature information to be processed in the next resource screening round.
[0080] In step S236, the next round of resource filtering is performed based on the updated current processing resource feature information and the updated remaining filtering items, until the preset iteration exit condition is met, and the current bucket to be processed corresponding to the last filtering round is determined.
[0081] The preset iteration exit conditions may include situations such as the updated value of the remaining filter items being zero, the number of at least one extended recommended resource indicated by the current bucket being less than a first quantity threshold (e.g., 2), or the inability to perform bucketing based on the updated current processing resource feature information.
[0082] In step S237, based on the current bucket to be processed determined in each resource filtering round, the critical index data corresponding to the preset number of items is determined.
[0083] Among them, the critical index data corresponding to the preset quantity item can indicate the resource representation data of the Kth item (that is, the Kth largest extended recommended resource or the Kth smallest extended recommended resource).
[0084] It is feasible to concatenate the bucket identifier data of the current bucket to be processed, which are determined in each round of resource filtering, to obtain the critical index data.
[0085] Alternatively, the resource representation data of the first extended recommended resource in the current bucket corresponding to the last filtering round can be used as critical index data.
[0086] The above method for determining critical index data can be specifically designed in conjunction with preset iteration exit conditions.
[0087] In step S238, based on the critical index data and the first resource feature information corresponding to the first resource sequence, the second resource feature information corresponding to the first resource sequence is determined.
[0088] Feasible, from the first resource feature information corresponding to the first resource sequence, select K-1 extended recommended resources whose resource representation data is located before the critical index data. Combine the extended recommended resources corresponding to the critical index data to form a preset number of extended recommended resources, which are the preset number (K) of extended recommended resources selected by the first resource sequence at the current time step. Based on the preset number of extended recommended resources selected, the second resource feature information corresponding to the first resource sequence can be determined. The second resource feature information corresponding to the first resource sequence Xi (corresponding to the i-th resource sequence to be recommended) can include two parts, namely, a resource representation data subset Yi and a resource index data subset Ii. The resource representation data subset Yi includes the resource representation data Yij corresponding to each of the preset number of extended recommended resources (the resource representation data of the j-th extended recommended resource in the i-th resource sequence to be recommended). The resource index data subset Ii includes the index data Iij indicating the position of each of the preset number of extended recommended resources in the multiple extended recommended resources in the first resource sequence at the current time step (the index data of the j-th extended recommended resource in the i-th resource sequence to be recommended).
[0089] In the above embodiments, the first resource feature information corresponding to the first resource sequence in multiple resource sequences to be recommended is loaded into shared memory one by one, and the first resource feature information corresponding to the first resource sequence written in shared memory is used to perform the first screening stage. By taking advantage of the high throughput and low latency characteristics of shared memory, a preset number of extended recommended resources can be quickly screened from multiple extended recommended resources of the first resource sequence at the current time step. Based on the preset number of extended recommended resources obtained by screening, the second resource feature information corresponding to the first resource sequence is quickly determined, which improves the data I / O efficiency of the hardware and thus improves the processing efficiency of the resource screening stage.
[0090] In a specific embodiment, step S231 above can be implemented as follows: In step S2311, the current bucket reference bit is determined based on the preset number of bytes and the data type of the first resource feature information corresponding to the first resource sequence.
[0091] In step S2312, based on the current bucket reference position, the current processing resource feature information is bucketed to obtain multiple current buckets arranged in order and the current bucket statistics corresponding to the multiple current buckets.
[0092] In the Radix TopK algorithm, the preset byte length, also known as the radix, is the length of data bits examined in each bucketing iteration. Taking a data type of Float16 and a preset byte length of 8 as an example, in the first filtering round, the value of high in the current bucketing reference bits [low, high) is the bit width of Float16 data, which is 16. Low is the difference between high and the preset byte length, hence low is 8. Therefore, in the first filtering round, the data bucketing scope examines the high eight bits of the resource representation data of each extended recommendation resource, so an initial 2 can be set. 8 The system first creates several original buckets and determines the bucket identifier data for each current bucket (e.g., 11111111, 11111110, etc.). Then, based on the high eight bits of the resource representation data of each extended recommended resource, the extended recommended resources are allocated to the corresponding original buckets whose bucket identifier data matches the high eight bits, resulting in multiple current buckets. Each current bucket indicates at least one extended recommended resource, thus filtering out original buckets with zero extended recommended resources. Furthermore, statistics can be performed on each current bucket to obtain corresponding current bucket statistics. Current bucket statistics can indicate the resource representation data of at least one extended recommended resource contained in each current bucket, the quantity of at least one extended recommended resource contained in each current bucket, and the bucket identifier data of each current bucket. In the second filtering round, if the preset iteration exit condition is not met, such as... Figure 5As shown, the updated current processing resource feature information is bucketed using the bucketing reference bits corresponding to the second filtering round. In the second filtering round, the value of `high` in the bucketing reference bits [low, high) is the difference between the value of `high` in the first filtering round and the preset byte length, which is 8. The value of `low` is the larger of the difference between the value of `low` in the first filtering round and the preset byte length, and zero. In terms of program instructions, this can be described as: `high <= high - d; low <= max(low - d, 0)`, where `<=` indicates an assignment operation. Taking a data type of Float16 and a preset byte length of 8 as an example, the data bucketing scope in the second filtering round examines the lower eight bits of the resource representation data of each extended recommended resource.
[0093] In the above embodiments, based on the Radix TopK algorithm, multiple rounds of bucketing, selection, and filtering are performed according to the cardinality, without the need for detailed sorting of the resource representation data of all extended recommended resources. This reduces the amount of data to be sorted, has low time complexity, and is suitable for parallel processing, which can further improve the efficiency of resource filtering, thereby improving the efficiency of resource sequence generation and recommendation.
[0094] Figure 5 This is another flowchart of the first resource filtering stage provided in this embodiment of the disclosure. The processes of the data loading stage, selection stage and filtering stage can be referred to the foregoing embodiments, and will not be repeated here.
[0095] In a specific embodiment, such as Figure 5 As shown, from the extended resource set corresponding to multiple resource sequences to be recommended in global memory, the first resource feature information corresponding to the first resource sequence is obtained, including: In step S223, a preset number of bytes are used as unit data, and the first resource feature information corresponding to the first resource sequence is read from the extended resource set.
[0096] After obtaining the second resource feature information corresponding to the first resource sequence, the method further includes: In step S239, the second resource feature information corresponding to the first resource sequence is written to the global memory using a preset number of bytes as unit data.
[0097] For example, the first resource feature information in global memory can be loaded into shared memory in 16-byte units, and the second resource feature information can be loaded from shared memory into global memory in 16-byte units.
[0098] For example, a Tensor Memory Accelerator (TMA) can also be used to improve the I / O performance of shared memory.
[0099] In the above embodiments, all data reads and writes to global memory use the same preset number of bytes as the unit data, which ensures IO alignment, reduces the number of IO calls, improves IO throughput efficiency, reduces processing latency, and further improves the efficiency of resource sequence generation and recommendation.
[0100] Based on the embodiments shown in steps S231 to S239 above, the entire process of the first resource screening stage can be initiated by a single kernel, eliminating the time consumption of multiple kernels calling each other. Furthermore, the first resource feature information, the second resource feature information, and intermediate processing results (such as the current processing resource feature information, the current bucket statistics, etc.) are cached in shared memory, which reduces the number of read and write operations to global memory to one. Moreover, by leveraging the high throughput and low latency characteristics of shared memory, IO efficiency can be greatly improved, thereby improving the processing efficiency of the first resource screening stage and ultimately improving the overall efficiency of resource sequence generation and recommendation.
[0101] In step S240, resource filtering is performed based on the second resource feature information corresponding to each of the multiple resource sequences to be recommended, to obtain the target resource sequence.
[0102] In this embodiment, the target resource sequence is one of the updated resource sequences to be recommended, obtained by filtering resources based on the second resource feature information corresponding to each of the multiple resource sequences to be recommended. The target resource sequence is the final resource sequence recommended to the current account. The updated multiple resource sequences to be recommended have an increased number of sequences compared to those obtained in step S210, and the composition of the recommended resources is also different.
[0103] In one embodiment of this disclosure, such as Figure 6 As shown, step S240 may include: In step S241, based on the second resource feature information corresponding to each of the multiple resource sequences to be recommended, resource filtering processing is performed to obtain the third resource feature information corresponding to the multiple resource sequences to be recommended. The third resource feature information is the resource representation data of a preset number of extended recommended resources corresponding to the multiple resource sequences to be recommended.
[0104] Specifically, after obtaining the second resource feature information corresponding to each resource sequence to be recommended based on the first resource feature information corresponding to each resource sequence to be recommended, the second resource feature information corresponding to each resource sequence to be recommended is summarized and processed in the second resource screening stage. From the B*K extended recommended resources indicated by the second resource feature information corresponding to each resource sequence to be recommended, K extended recommended resources are selected again as K extended recommended resources of multiple resource sequences to be recommended at the current time step. That is, the preset number of the second resource screening stage is also K.
[0105] The third resource feature information indicates a preset number of extended recommended resources at the current time step, taking multiple resource sequences to be recommended as a whole. It can also specifically include two parts of data: a resource representation data subset and a resource index data subset. The resource representation data subset can include the resource representation data of each of the preset number of extended recommended resources for the multiple resource sequences to be recommended at the current time step, and the resource index data subset includes the index data of each of the preset number of extended recommended resources for the multiple resource sequences to be recommended at the current time step, which is located in the initial extended resource set.
[0106] The resource filtering process in step S241 can be referred to the foregoing embodiments, and will not be repeated here.
[0107] In step S242, multiple resource sequences to be recommended are updated based on the third resource feature information corresponding to the multiple resource sequences to be recommended.
[0108] Specifically, updating multiple resource sequences based on the third resource feature information corresponding to multiple resource sequences to be recommended involves adding a preset number of extended recommended resources of the multiple resource sequences to be recommended at the current time step as recommended resources determined at the current time step to the multiple resource sequences to be recommended. The number of recommended resources contained in the updated multiple resource sequences to be recommended is increased compared to the number of recommended resources contained in the multiple resource sequences to be recommended obtained in step S210, and the composition of the recommended resources is also different.
[0109] In one feasible implementation, when the preset quantity (K) is the same as the number of sequences in the multiple resource sequences to be recommended, the number of recommended resources contained in each of the updated multiple resource sequences to be recommended can be increased by 1.
[0110] In another feasible implementation, multiple resource sequences to be recommended can be re-determined based on the filtering paths corresponding to a preset number of extended recommended resources at the current time step. For example, the multiple resource sequences to be recommended obtained in step S210 include A1 and A2. In the first resource filtering stage, the preset number of extended recommended resources corresponding to A1 include B1 and B3. In the first resource filtering stage, the preset number of extended recommended resources corresponding to A2 include B2 and B4. In the second resource filtering stage, the preset number of extended recommended resources at the current time step include B1 and B3. Therefore, based on A1 and B1, and A1 and B3, two updated resource sequences to be recommended are obtained, while the resource sequence to be recommended A2 is discarded.
[0111] In step S243, if the length of the updated multiple resource sequences to be recommended reaches a preset length, the target resource sequence is determined from the updated multiple resource sequences to be recommended.
[0112] If the length of the updated multiple resource sequences to be recommended obtained based on step S242 does not reach the preset length, the processing steps S210-S230 and S241-S242 are executed again until the length of the updated multiple resource sequences to be recommended reaches the preset length.
[0113] Feasibly, if the length of multiple updated resource sequences to be recommended reaches a preset length, the updated resource sequences to be recommended can be scored, sorted, or truncated, and the updated resource sequence that meets the preset recommendation criteria can be used as the target resource sequence recommended to the current account. The preset recommendation criteria can be specifically set by combining the quality indicators of recommended resources, the overall quality indicators of resource sequences, the interaction prediction indicators of recommended resources, and the overall interaction prediction indicators of resource sequences.
[0114] In the above embodiments, the overall filtering of the extended resource set corresponding to multiple resource sequences to be recommended is divided into a first resource filtering stage based on the first resource feature information corresponding to each resource sequence to be recommended and a second resource filtering stage based on the second resource feature information corresponding to each resource sequence to be recommended. The data processing volume of the split second resource filtering stage is greatly reduced compared with the filtering process based on the extended resource set. It can efficiently determine the preset number of extended recommended resources of multiple resource sequences to be recommended at the current time step based on the first resource filtering stage, and thus efficiently determine the target resource sequence to be finally recommended to the current account. This effectively improves the efficiency of resource sequence generation and recommendation and optimizes the user experience.
[0115] In one specific embodiment, after obtaining the second resource feature information corresponding to the first resource sequence, the method further includes: Write the second resource feature information corresponding to the first resource sequence into global memory; Then step S240 can be implemented as follows: In step S244, resource filtering is performed based on the second resource feature information corresponding to each resource sequence to be recommended in the global memory to obtain the target resource sequence.
[0116] In the above embodiments, considering that the data to be processed in the second resource filtering stage (the second resource feature information corresponding to each resource sequence to be recommended after aggregation) is also significantly reduced compared to the expanded resource set, the second resource feature information corresponding to each resource sequence to be recommended can also be written into the global memory, and the processing of the second resource filtering stage can be performed based on the second resource feature information corresponding to each resource sequence to be recommended in the global memory. The space of the shared memory is reserved for the first resource filtering stage of the sequence expansion process of other generative recommendation tasks. This can improve the parallel processing efficiency of multiple tasks without affecting the sequence expansion efficiency of a single generative recommendation task.
[0117] In a specific embodiment, in step S240, the second resource feature information corresponding to each resource sequence to be recommended can be converted into a one-dimensional array of data again and written into global memory. The second resource filtering stage is then performed based on the converted data in global memory to obtain the third resource feature information corresponding to multiple resource sequences to be recommended. For example... Figure 7 As shown, in order to cache the full resource feature information X in the extended resource set in shared memory, the one-dimensional array X is reshaped into a two-dimensional array X' (B, V). Through the processing of the first resource screening stage provided in the aforementioned embodiment, the second resource feature information corresponding to each resource sequence to be recommended is obtained, which includes the two parts of data Y and I mentioned in the aforementioned embodiment, where Y and I are both two-dimensional arrays, each containing B*K array elements. Based on this, the two-dimensional arrays Y and I can be reshaped into one-dimensional arrays Y' and I' and written into global memory. The second resource filtering stage is then performed based on Y' and I' in global memory to obtain the aforementioned third resource feature information. The third resource feature information contains two parts of data, namely Y'' and I''. Y'' indicates the preset number of extended recommended resources for the multiple resource sequences to be recommended at the current time step, and may specifically include the resource representation data of each of the preset number of extended recommended resources for the multiple resource sequences to be recommended at the current time step. I'' indicates the position of the preset number of extended recommended resources for the multiple resource sequences to be recommended at the current time step in the initial extended resource set, and includes the index data of each of the preset number of extended recommended resources for the multiple resource sequences to be recommended at the current time step.
[0118] In step S250, resource recommendation processing is performed on the current account based on the recommended resources in the target resource sequence.
[0119] In one embodiment of this disclosure, multiple resource sequences of a preset length are used for recommendation as a whole. Specifically, each resource sequence of the preset length is scored and sorted as a whole, thereby selecting one of the resource sequences as the target resource sequence to recommend to the user. The target resource sequence includes a number of recommended resources corresponding to the preset length, and the recommended resources included in the target resource sequence can be sorted and recommended to the current account according to the sorting.
[0120] As can be seen from the above embodiments of this disclosure, the data processing method provided in this disclosure firstly obtains multiple resource sequences to be recommended corresponding to the current account, and obtains the first resource feature information corresponding to the first resource sequence from the extended resource set corresponding to the multiple resource sequences to be recommended in global memory, and writes the first resource feature information corresponding to the first resource sequence into shared memory; the first resource feature information corresponding to the first resource sequence is the resource representation data of multiple extended recommended resources of the resource to be recommended in the first resource sequence; the first resource sequence is any one of the multiple resource sequences to be recommended; based on the first resource feature information corresponding to the first resource sequence in shared memory, resource filtering processing is performed to obtain the second resource feature information corresponding to the first resource sequence; the second resource feature information corresponding to the first resource sequence is the resource representation data of a preset number of extended recommended resources corresponding to the first resource sequence selected from the multiple extended recommended resources; based on the second resource feature information corresponding to each resource sequence to be recommended in the multiple resource sequences to be recommended, resource filtering processing is performed to obtain the target resource sequence; based on the recommended resources in the target resource sequence, resource recommendation processing is performed to the current account. The technical solution provided in this disclosure does not directly perform overall filtering based on the extended resource set corresponding to multiple resource sequences to be recommended in global memory to expand multiple resource sequences to be recommended and determine the target resource sequence from them. Instead, it breaks down the overall filtering of the extended resource set corresponding to multiple resource sequences to be recommended into a first resource filtering stage based on the first resource feature information corresponding to each resource sequence to be recommended and a second resource filtering stage based on the second resource feature information corresponding to each resource sequence to be recommended. Compared with directly performing overall filtering based on the extended resource set corresponding to multiple resource sequences to be recommended in global memory, the data processing volume of the first resource filtering stage and the data processing volume of the second resource filtering stage are greatly reduced. Thus, the data to be processed in the resource filtering stage can be loaded into shared memory for processing. With the fast throughput and low latency of shared memory, the data IO efficiency is improved, thereby improving the generation efficiency of the resource sequences to be recommended, and thus improving the efficiency of resource sequence recommendation, shortening application loading time, providing users with recommendation results more efficiently, and improving the timeliness of recommendation results to meet users' recommendation needs.
[0121] Figure 8 This is a block diagram of a data processing apparatus according to an exemplary embodiment. (Refer to...) Figure 8 The device 300 includes: The resource sequence acquisition module 310 is configured to acquire multiple resource sequences to be recommended for the current account. The data loading module 320 is configured to retrieve first resource feature information corresponding to a first resource sequence from the extended resource set corresponding to the plurality of resource sequences to be recommended in global memory, and write the first resource feature information corresponding to the first resource sequence into shared memory; the first resource feature information corresponding to the first resource sequence is resource representation data of a plurality of extended recommended resources of the resource to be recommended in the first resource sequence; the first resource sequence is any one of the plurality of resource sequences to be recommended. The first filtering module 330 is configured to perform resource filtering processing based on the first resource feature information corresponding to the first resource sequence in the shared memory to obtain the second resource feature information corresponding to the first resource sequence; the second resource feature information corresponding to the first resource sequence is resource representation data of a preset number of extended recommended resources corresponding to the first resource sequence, selected from the plurality of extended recommended resources. The second filtering module 340 is configured to perform resource filtering processing based on the second resource feature information corresponding to each of the plurality of resource sequences to be recommended, and obtain the target resource sequence. The resource sequence recommendation module 350 is configured to perform resource recommendation processing on the current account based on the recommended resources in the target resource sequence.
[0122] Optionally, the second filtering module 340 includes: The third resource feature information determination unit is configured to perform resource filtering processing based on the second resource feature information corresponding to each of the plurality of resource sequences to be recommended, and obtain the third resource feature information corresponding to the plurality of resource sequences to be recommended. The third resource feature information is the resource representation data of a preset number of extended recommended resources corresponding to the plurality of resource sequences to be recommended. The resource sequence update unit is configured to update the multiple resource sequences to be recommended based on the third resource feature information corresponding to the multiple resource sequences to be recommended. The target resource sequence determination unit is configured to determine the target resource sequence from the updated plurality of resource sequences to be recommended when the length of the updated plurality of resource sequences to be recommended reaches a preset length.
[0123] Optionally, the first filtering module 330 includes: The bucketing unit is configured to perform bucketing processing on the currently processed resource feature information in the shared memory during the current resource filtering round, obtaining multiple current buckets arranged in order and current bucket statistics corresponding to the multiple current buckets; the bucket statistics indicate the resource representation data of at least one extended recommended resource contained in each of the multiple current buckets, the quantity of at least one extended recommended resource contained in each current bucket, and the bucket identifier data of each current bucket; the currently processed resource feature information is the first resource feature information corresponding to the first resource sequence in the initial state; The pending current bucket determination unit is configured to perform an operation based on the current bucket statistics corresponding to the plurality of current buckets to determine the pending current bucket containing the critical item among the remaining filter items from the plurality of current buckets; in the initial state, the remaining filter items are a preset number of items; The remaining filter item update unit is configured to update the remaining filter items based on the bucket statistics data corresponding to the multiple current buckets and the current bucket to be processed, so as to obtain the updated remaining filter items; An intermediate data storage unit is configured to write resource representation data of at least one extended recommended resource contained in the current bucket to be processed and the updated remaining filter items into the shared memory; The current processing resource feature information update unit is configured to update the current processing resource feature information based on the resource representation data of at least one extended recommended resource contained in the current bucket to be processed, so as to obtain the updated current processing resource feature information. The iteration unit is configured to perform the next resource filtering round based on the updated current processing resource feature information and the updated remaining filtering items, until the preset iteration exit condition is met, and the current bucket to be processed corresponding to the last filtering round is determined. The critical index data determination unit is configured to perform the determination of the critical index data corresponding to the preset number of items by executing the current bucket to be processed based on the resource filtering rounds. The second resource feature information determination unit is configured to determine the second resource feature information corresponding to the first resource sequence based on the critical index data and the first resource feature information corresponding to the first resource sequence.
[0124] Optionally, the binning unit includes: The current bucket reference bit determination subunit is configured to execute a data type based on a preset number of bytes and the first resource feature information corresponding to the first resource sequence to determine the current bucket reference bit; The data bucketing subunit is configured to perform bucketing processing on the current processing resource feature information based on the current bucketing reference bit, so as to obtain the multiple current buckets arranged in order and the current bucketing statistics corresponding to the multiple current buckets.
[0125] Optionally, the device 300 further includes: The resource representation space unit is configured to retrieve the resource representation space corresponding to all recommended resources; the resource representation space is the result of semantically representing the recommended resources as a modality. The extended resource set determination unit is configured to determine the extended resource set corresponding to the plurality of resource sequences to be recommended based on the resource representation space and the plurality of resource sequences to be recommended. The multiple extended recommendation resources are some or all of the recommendation resources in the full set of recommendation resources.
[0126] Optionally, the extended resource set includes full resource feature information in the form of a one-dimensional array, and the device 300 further includes: The data dimension transformation unit is configured to perform dimension transformation on the full resource feature information to obtain the target full resource feature information in the form of a two-dimensional array. Each row of data in the target full resource feature information corresponds to the first resource feature information corresponding to each of the resource sequences to be recommended. The data loading module 320 includes: The first reading unit is configured to read the row data corresponding to the first resource sequence in the target full resource feature information to obtain the first resource feature information corresponding to the first resource sequence; The first writing unit is configured to write the first resource feature information corresponding to the first resource sequence into the shared memory.
[0127] Optionally, the first reading unit includes: An asynchronous parallel reading subunit is configured to read the row data corresponding to the first resource sequence from the target full resource feature information when resource filtering processing begins based on the first resource feature information corresponding to the previous recommended resource sequence in the shared memory relative to the first resource sequence, thereby obtaining the first resource feature information corresponding to the first resource sequence.
[0128] Optionally, after obtaining the second resource feature information corresponding to the first resource sequence, the device 300 further includes: The second writing unit is configured to write the second resource feature information corresponding to the first resource sequence into the global memory; The second filtering module is configured to perform resource filtering based on the second resource feature information corresponding to each of the resource sequences to be recommended in the global memory, so as to obtain the target resource sequence.
[0129] Optionally, the data loading module 320 includes: The second reading unit is configured to read the first resource feature information corresponding to the first resource sequence from the extended resource set, using a preset number of bytes as unit data. After obtaining the second resource feature information corresponding to the first resource sequence, the device 300 further includes: The third writing unit is configured to execute writing the second resource feature information corresponding to the first resource sequence into the global memory, using the preset number of bytes as unit data.
[0130] Regarding the apparatus in the above embodiments, the specific manner in which each module performs its operation has been described in detail in the embodiments related to the method, and will not be elaborated upon here.
[0131] In one embodiment of this disclosure, an electronic device is also provided, including: a processor; and a memory for storing processor-executable instructions; wherein the processor is configured to execute the instructions to implement the data processing method as described in the embodiments of this disclosure.
[0132] Figure 9 This is a block diagram illustrating an electronic device for implementing a data processing method according to an exemplary embodiment. The electronic device may be a terminal, and its internal structure diagram may be as follows: Figure 9 As shown, the electronic device includes a processor, memory, network interface, display screen, and input devices connected via a system bus. The processor provides computing and control capabilities. The memory includes a non-volatile storage medium and internal memory. The non-volatile storage medium stores the operating system and computer programs. The internal memory provides an environment for the operation of the operating system and computer programs stored in the non-volatile storage medium. The network interface is used to communicate with external terminals via a network connection. When the computer program is executed by the processor, it implements a data processing method. The display screen can be a liquid crystal display (LCD) or an e-ink display. The input devices can be a touch layer covering the display screen, buttons, a trackball, or a touchpad mounted on the device's casing, or an external keyboard, touchpad, or mouse.
[0133] Figure 10 This is a block diagram illustrating an electronic device for... according to an exemplary embodiment. The electronic device may be a server, and its internal structure diagram may be as follows... Figure 10As shown, this electronic device includes a processor, memory, and a network interface connected via a system bus. The processor provides computing and control capabilities. The memory includes a non-volatile storage medium and internal memory. The non-volatile storage medium stores the operating system and computer programs. The internal memory provides an environment for the operation of the operating system and computer programs stored in the non-volatile storage medium. The network interface is used to communicate with external terminals via a network connection. When the computer program is executed by the processor, it implements a data processing method.
[0134] Those skilled in the art will understand that Figure 9 and Figure 10 The structure shown is merely a block diagram of a portion of the structure related to the present disclosure and does not constitute a limitation on the electronic device to which the present disclosure is applied. A specific electronic device may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.
[0135] In one embodiment of this disclosure, a computer-readable storage medium including instructions is also provided, which, when executed by a processor of an electronic device, enable the electronic device to perform the data processing method of the embodiments of this disclosure.
[0136] In one embodiment of this disclosure, a computer program product is also provided, including computer instructions that, when executed by a processor, implement the data processing method of this disclosure.
[0137] As can be seen from the above embodiments, in the technical solution provided by this disclosure, the first step is to obtain multiple resource sequences to be recommended corresponding to the current account; from the extended resource set corresponding to the multiple resource sequences to be recommended in global memory, the first resource feature information corresponding to the first resource sequence is obtained, and the first resource feature information corresponding to the first resource sequence is written into shared memory; the first resource feature information corresponding to the first resource sequence is the resource representation data of multiple extended recommended resources of the resource to be recommended in the first resource sequence; the first resource sequence is any one of the multiple resource sequences to be recommended; based on the first resource feature information corresponding to the first resource sequence in shared memory, resource filtering processing is performed to obtain the second resource feature information corresponding to the first resource sequence; the second resource feature information corresponding to the first resource sequence is the resource representation data of a preset number of extended recommended resources corresponding to the first resource sequence selected from the multiple extended recommended resources; based on the second resource feature information corresponding to each resource sequence to be recommended in the multiple resource sequences to be recommended, resource filtering processing is performed to obtain the target resource sequence; based on the recommended resources in the target resource sequence, resource recommendation processing is performed to the current account. The technical solution provided in this disclosure does not directly perform overall filtering based on the extended resource set corresponding to multiple resource sequences to be recommended in global memory to expand multiple resource sequences to be recommended and determine the target resource sequence from them. Instead, it breaks down the overall filtering of the extended resource set corresponding to multiple resource sequences to be recommended into a first resource filtering stage based on the first resource feature information corresponding to each resource sequence to be recommended and a second resource filtering stage based on the second resource feature information corresponding to each resource sequence to be recommended. Compared with directly performing overall filtering based on the extended resource set corresponding to multiple resource sequences to be recommended in global memory, the data processing volume of the first resource filtering stage and the data processing volume of the second resource filtering stage are greatly reduced. Thus, the data to be processed in the resource filtering stage can be loaded into shared memory for processing. With the fast throughput and low latency of shared memory, the data IO efficiency is improved, thereby improving the generation efficiency of the resource sequences to be recommended, and thus improving the efficiency of resource sequence recommendation, shortening application loading time, providing users with recommendation results more efficiently, and improving the timeliness of recommendation results to meet users' recommendation needs.
[0138] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. This computer program can be stored in a non-volatile computer-readable storage medium. When executed, the computer program can include the processes of the embodiments of the above methods. Any references to memory, storage, databases, or other media used in the embodiments provided in this application can include non-volatile and / or volatile memory. Non-volatile memory can include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), or flash memory. Volatile memory can include random access memory (RAM) or external cache memory. By way of illustration and not limitation, RAM is available in various forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), dual data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous link DRAM (SLDRAM), RAMbus direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and RAMbus dynamic RAM (RDRAM), etc.
[0139] Other embodiments of this disclosure will readily occur to those skilled in the art upon consideration of the specification and practice of the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of this disclosure that follow the general principles of this disclosure and include common knowledge or customary techniques in the art not disclosed herein. The specification and examples are to be considered exemplary only, and the true scope and spirit of this disclosure are indicated by the following claims.
[0140] It should be understood that this disclosure is not limited to the precise structures described above and shown in the accompanying drawings, and various modifications and changes can be made without departing from its scope. The scope of this disclosure is limited only by the appended claims.
Claims
1. A data processing method, characterized in that, The method includes: Retrieve multiple resource sequences to be recommended for the current account; From the extended resource set corresponding to the plurality of resource sequences to be recommended in global memory, obtain the first resource feature information corresponding to the first resource sequence, and write the first resource feature information corresponding to the first resource sequence into shared memory; the first resource feature information corresponding to the first resource sequence is the resource representation data of the plurality of extended recommended resources of the resource to be recommended in the first resource sequence; the first resource sequence is any one of the plurality of resource sequences to be recommended. Based on the first resource feature information corresponding to the first resource sequence in the shared memory, resource filtering processing is performed to obtain the second resource feature information corresponding to the first resource sequence; the second resource feature information corresponding to the first resource sequence is the resource representation data of a preset number of extended recommended resources corresponding to the first resource sequence, selected from the plurality of extended recommended resources. Based on the second resource feature information corresponding to each of the multiple resource sequences to be recommended, resource filtering processing is performed to obtain the target resource sequence; Based on the recommended resources in the target resource sequence, resource recommendation processing is performed on the current account.
2. The method according to claim 1, characterized in that, The step of performing resource filtering based on the second resource feature information corresponding to each of the plurality of resource sequences to be recommended, to obtain the target resource sequence, includes: Based on the second resource feature information corresponding to each of the multiple resource sequences to be recommended, resource filtering processing is performed to obtain the third resource feature information corresponding to the multiple resource sequences to be recommended. The third resource feature information is the resource representation data of a preset number of extended recommended resources corresponding to the multiple resource sequences to be recommended. The multiple resource sequences to be recommended are updated based on the third resource feature information corresponding to the multiple resource sequences to be recommended. If the length of the updated plurality of resource sequences to be recommended reaches a preset length, the target resource sequence is determined from the updated plurality of resource sequences to be recommended.
3. The method according to claim 1, characterized in that, The step of performing resource filtering based on the first resource feature information corresponding to the first resource sequence in the shared memory to obtain the second resource feature corresponding to the first resource sequence includes: In the current resource filtering round, the current processing resource feature information in the shared memory is bucketed to obtain multiple current buckets arranged in order and the current bucket statistics corresponding to the multiple current buckets; the bucket statistics indicate the resource representation data of at least one extended recommended resource contained in each of the multiple current buckets, the quantity of at least one extended recommended resource contained in each current bucket, and the bucket identifier data of each current bucket; the current processing resource feature information is the first resource feature information corresponding to the first resource sequence in the initial state; Based on the current bucket statistics corresponding to the multiple current buckets, the current bucket to be processed is determined from the multiple current buckets, where the critical item among the remaining filter items is located; in the initial state, the remaining filter items are a preset number of items; Based on the bucket statistics corresponding to the multiple current buckets and the current bucket to be processed, the remaining filter items are updated to obtain the updated remaining filter items; Write the resource representation data of at least one extended recommended resource contained in the current bucket to be processed and the updated remaining filter items into the shared memory; Based on the resource representation data of at least one extended recommended resource contained in the current bucket to be processed, the current processing resource feature information is updated to obtain the updated current processing resource feature information. Based on the updated current processing resource feature information and the updated remaining filtering items, the next resource filtering round is executed until the preset iteration exit condition is met, at which point the current bucket to be processed corresponding to the last filtering round is determined. Based on the current bucket to be processed determined in each round of resource screening, the critical index data corresponding to the preset quantity item is determined. Based on the critical index data and the first resource feature information corresponding to the first resource sequence, the second resource feature information corresponding to the first resource sequence is determined.
4. The method according to claim 3, characterized in that, In the current resource filtering round, the characteristic information of the currently processed resources in the shared memory is bucketed to obtain multiple current buckets arranged in order and the current bucket statistics corresponding to the multiple current buckets, including: Based on the preset number of bytes and the data type of the first resource feature information corresponding to the first resource sequence, the current bucket reference bit is determined; Based on the current bucket reference position, the current processing resource feature information is bucketed to obtain the multiple current buckets arranged in order and the current bucket statistics corresponding to the multiple current buckets.
5. The method according to claim 1, characterized in that, The method further includes: Obtain the resource representation space corresponding to all recommended resources; the resource representation space is the result of semantically representing the recommended resources as a modality. Based on the resource representation space and the multiple resource sequences to be recommended, determine the extended resource set corresponding to the multiple resource sequences to be recommended; The multiple extended recommendation resources are some or all of the recommendation resources in the full set of recommendation resources.
6. The method according to claim 1, characterized in that, The extended resource set includes full resource feature information in the form of a one-dimensional array, and the method further includes: The full resource feature information is transformed to obtain target full resource feature information in the form of a two-dimensional array; Each row of data in the target full resource feature information corresponds to the first resource feature information corresponding to each of the resource sequences to be recommended. The step of obtaining the first resource feature information corresponding to the first resource sequence from the extended resource set corresponding to the plurality of resource sequences to be recommended in global memory, and writing the first resource feature information corresponding to the first resource sequence into shared memory includes: Read the row data corresponding to the first resource sequence from the target full resource feature information to obtain the first resource feature information corresponding to the first resource sequence; Write the first resource feature information corresponding to the first resource sequence into the shared memory.
7. The method according to claim 6, characterized in that, The step of reading the row data corresponding to the first resource sequence from the target full resource feature information to obtain the first resource feature information corresponding to the first resource sequence includes: When starting resource filtering based on the first resource feature information corresponding to the previous recommended resource sequence in the shared memory relative to the first resource sequence, the row data corresponding to the first resource sequence in the target full resource feature information is read to obtain the first resource feature information corresponding to the first resource sequence.
8. The method according to claim 1, characterized in that, After obtaining the second resource feature information corresponding to the first resource sequence, the method further includes: Write the second resource feature information corresponding to the first resource sequence into the global memory; The step of performing resource filtering based on the second resource feature information corresponding to each of the plurality of resource sequences to be recommended, to obtain the target resource sequence, includes: Based on the second resource feature information corresponding to each of the resource sequences to be recommended in the global memory, resource filtering processing is performed to obtain the target resource sequence.
9. The method according to claim 1, characterized in that, The step of obtaining the first resource feature information corresponding to the first resource sequence from the extended resource set corresponding to the plurality of resource sequences to be recommended in global memory includes: Using a preset number of bytes as unit data, the first resource feature information corresponding to the first resource sequence is read from the extended resource set; After obtaining the second resource feature information corresponding to the first resource sequence, the method further includes: Using the preset number of bytes as unit data, the second resource feature information corresponding to the first resource sequence is written into the global memory.
10. A data processing apparatus, characterized in that, The device includes: The resource sequence acquisition module is configured to acquire multiple resource sequences to be recommended for the current account. The data loading module is configured to retrieve first resource feature information corresponding to a first resource sequence from the extended resource set corresponding to the plurality of resource sequences to be recommended in global memory, and write the first resource feature information corresponding to the first resource sequence into shared memory; the first resource feature information corresponding to the first resource sequence is resource representation data of a plurality of extended recommended resources of the resource to be recommended in the first resource sequence; the first resource sequence is any one of the plurality of resource sequences to be recommended. The first filtering module is configured to perform resource filtering processing based on the first resource feature information corresponding to the first resource sequence in the shared memory to obtain the second resource feature information corresponding to the first resource sequence; the second resource feature information corresponding to the first resource sequence is resource representation data of a preset number of extended recommended resources corresponding to the first resource sequence, selected from the plurality of extended recommended resources. The second filtering module is configured to perform resource filtering based on the second resource feature information corresponding to each of the plurality of resource sequences to be recommended, and obtain the target resource sequence. The resource sequence recommendation module is configured to perform resource recommendation processing on the current account based on the recommended resources in the target resource sequence.
11. An electronic device, characterized in that, include: processor; Memory used to store the processor's executable instructions; The processor is configured to execute the instructions to implement the data processing method as described in any one of claims 1 to 9.
12. A computer-readable storage medium, characterized in that, When the instructions in the computer-readable storage medium are executed by the processor of the electronic device, the electronic device is able to perform the data processing method as described in any one of claims 1 to 9.
13. A computer program product comprising a computer program / instructions, characterized in that, When the computer program / instructions are executed by the processor, they implement the data processing method according to any one of claims 1 to 9.