Multi-party joint modeling method and joint modeling system in offline mode

By generating offline modeling code packages on the joint modeling platform and creating offline modeling containers in the user's offline devices, multi-party joint modeling in offline mode is realized, solving the problem of insufficient data leakage and management capabilities in the online mode, ensuring the privacy and security of data.

CN119646878APending Publication Date: 2025-03-18ANT BLOCKCHAIN TECHNOLOGY (SHANGHAI) CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411717512.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-26
Publication Date
2025-03-18

AI Technical Summary

Technical Problem

The existing online multi-party joint modeling technology mandates that participants have equipment online, and the participants have weak ability to control the joint modeling process, resulting in the risk of privacy data leakage.

Method used

A multi-party joint modeling method in offline mode is proposed. Through the joint modeling platform, offline modeling code package is generated. Users create offline modeling containers in offline devices and perform offline modeling processing to ensure that data is processed in offline environments and avoid data leakage.

Benefits of technology

Effectively ensure the privacy and security of high-value private data, enhance users' control over the machine learning modeling process, and solve the problem of insufficient data leakage and control capabilities in online mode.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119646878A_ABST
    Figure CN119646878A_ABST
Patent Text Reader

Abstract

One or more embodiments of the present specification provide a multi-party joint modeling method and joint modeling system in an offline mode. The method is applied to a joint modeling platform and comprises the following steps: in response to a joint modeling request initiated by a user, determining a first data feature of training data specified by the user and process description information of a modeling process; generating an off-line modeling code package at least according to a first data feature and the process description information, and providing the off-line modeling code package to the user, so that the user creates an off-line modeling container in an off-line device by using the off-line modeling code package, and the offline modeling container is used for receiving a second data feature of the training data input by the user, and performing modeling processing on the first data feature and the second data feature according to the modeling process in an offline state to obtain a target machine learning model.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] One or more embodiments of the present specification relate to the field of artificial intelligence technology, and in particular, to an offline multi-party joint modeling method and joint modeling system. Background Art

[0002] With the rapid development of machine learning (ML) related technologies, relevant parties may have the need for joint modeling, that is, all parties need to participate in the training of machine learning models. At this stage, relevant technologies often provide joint modeling services for relevant parties through online platforms.

[0003] However, the solutions of related technologies usually require the devices of the participants to be online, and the participants have weak intervention and control capabilities over the joint modeling process. For example, the participants are required to upload their own data to the SaaS (Software as a Service) platform for preprocessing, and the platform completes the joint modeling online. However, the above-mentioned data of the participants are usually high-value privacy data, so the participants may not be able to accept the above-mentioned solutions due to the potential risk of leakage. Summary of the invention

[0004] In view of this, one or more embodiments of this specification provide the following technical solutions:

[0005] According to a first aspect of one or more embodiments of this specification, a multi-party joint modeling method in an offline mode is proposed, which is applied to a joint modeling platform, including:

[0006] In response to a joint modeling request initiated by a user, determining a first data feature of the training data and process description information of a modeling process specified by the user;

[0007] An offline modeling code package is generated based on at least the first data feature and the process description information and provided to the user, so that the user uses the offline modeling code package to create an offline modeling container in an offline device, and the offline modeling container is used to receive the second data feature of the training data input by the user, and model the first data feature and the second data feature according to the modeling process in an offline state to obtain a target machine learning model.

[0008] According to a second aspect of one or more embodiments of the present specification, a multi-party joint modeling method in an offline mode is proposed, which is applied to a joint modeling system, the system including a joint modeling platform, a primary online device used by a primary user, and a secondary online device and an offline device used by a secondary user, the method including:

[0009] The first-level online device initiates a joint modeling request to the joint modeling platform and specifies the first data feature of the training data and the process description information of the modeling process;

[0010] The joint modeling platform generates an offline modeling code package based on at least the first data feature and the process description information and returns it to the first-level online device;

[0011] The primary online device provides the offline modeling code package to the secondary online device, so that the secondary user creates an offline modeling container in the offline device according to the offline modeling code package;

[0012] The offline modeling container receives the second data feature of the training data input by the secondary user, and performs modeling processing on the first data feature and the second data feature according to the modeling process in an offline state to obtain a target machine learning model.

[0013] According to a third aspect of one or more embodiments of this specification, a joint modeling system is proposed, the system comprising a joint modeling platform, a primary online device used by a primary user, and a secondary online device and an offline device used by a secondary user, wherein:

[0014] The first-level online device is used to initiate a joint modeling request to the joint modeling platform and specify the first data feature of the training data and the process description information of the modeling process;

[0015] The joint modeling platform is used to generate an offline modeling code package based on at least the first data feature and the process description information and return it to the first-level online device;

[0016] The primary online device is used to provide the offline modeling code package to the secondary online device, so that the secondary user can create an offline modeling container in the offline device according to the offline modeling code package;

[0017] The offline modeling container is used to receive the second data feature of the training data input by the secondary user, and to model the first data feature and the second data feature according to the modeling process in an offline state to obtain a target machine learning model.

[0018] It can be seen from the above embodiments that the embodiments of this specification provide a multi-party joint modeling solution in an offline mode. Among them, the joint modeling platform generates an offline modeling code package based on at least the first data feature specified by the user and the process description information and provides it to the user, so that the user can use the code package to create an offline modeling container in the offline device, and the container performs modeling processing based on the second data feature of the training data specified by the user to obtain the target machine learning model. The first data feature of the training data has been recorded in the offline modeling container. During the operation of the offline modeling container deployed in the offline device, the user only needs to input the second data feature of the training data, and the container can complete the modeling according to the preset modeling process.

[0019] It can be seen that, on the one hand, this solution creates an offline modeling container in an offline device by generating an offline modeling code package, and the container completes the modeling process, so that the high-value private data owned by the user (i.e., the second data feature) will not be leaked to the outside of the offline modeling container or the offline device during the modeling process, thereby effectively ensuring the privacy and security of these private data. On the other hand, the offline modeling container runs locally on the offline device, which facilitates the user to deeply participate in the operation of the offline modeling container, allowing them to have a high degree of control over the modeling process of the target machine learning model, thereby effectively solving the above-mentioned problems existing in the relevant technology. BRIEF DESCRIPTION OF THE DRAWINGS

[0020] Figure 1 It is a schematic diagram of the architecture of a joint modeling system provided by an exemplary embodiment.

[0021] Figure 2 It is a flowchart of a multi-party joint modeling method in an offline mode provided by an exemplary embodiment.

[0022] Figure 3 It is a flowchart of another offline multi-party joint modeling method provided by an exemplary embodiment.

[0023] Figure 4 It is an interactive flow chart of an offline multi-party joint modeling method provided by an exemplary embodiment.

[0024] Figure 5 It is a structural diagram of a joint modeling container provided by an exemplary embodiment.

[0025] Figure 6 It is a structural schematic diagram of a device provided by an exemplary embodiment.

[0026] Figure 7 It is a block diagram of a multi-party joint modeling device in an offline mode provided by an exemplary embodiment.

[0027] Figure 8 It is a block diagram of another offline multi-party joint modeling device provided by an exemplary embodiment. DETAILED DESCRIPTION

[0028] In order to solve the aforementioned technical problems existing in the related technologies of online multi-party joint modeling solutions, this specification proposes an offline multi-party joint modeling solution, in order to construct an offline modeling container in the offline devices of the participants and use the container to perform modeling in an offline state. The solution is described below in conjunction with the accompanying drawings and related embodiments.

[0029] Figure 1 FIG. 1 is a schematic diagram of the architecture of a joint modeling system provided by an exemplary embodiment. Figure 1 As shown, the system may include a network 10, several servers, such as server 11 and server 12; and several electronic devices, such as PC (Personal Computer) 13, PC 14, PC 15 and PC 16. Of course, it should be noted that Figure 1 In order to illustrate the possible implementation methods of this solution as comprehensively as possible, the system drawn includes the above-mentioned multiple devices. In fact, the joint modeling system described in the present invention may also only include some of the servers and electronic devices, such as only server 11, PC13, PC15 and PC16, etc. This is hereby explained.

[0030] Any of the servers 11 and 12 can be a physical server containing an independent host, or can be a virtual server carried by a host cluster. During operation, the server can run the server-side program of a certain application to implement the relevant functions of the application. For example, when server 11 runs the program of the joint modeling service, it can be implemented as the server of the joint modeling service, such as cooperating with the client of the joint modeling service to provide users with joint modeling services; and when server 12 runs the program of the modeling proxy service, it can be implemented as the server of the modeling proxy service, such as being used to connect to at least one server of the joint modeling service, provide user management services for the client of the modeling proxy service, provide modeling proxy services for the client of the joint modeling service, etc., which will not be repeated.

[0031] PC is only a part of the types of electronic devices that users can use. In fact, users (such as user 17, user 18 and user 19, etc.) can obviously also use electronic devices such as the following types: mobile phones, tablet devices, laptops, PDAs (Personal Digital Assistants), wearable devices (such as smart glasses, smart watches, etc.), etc., and one or more embodiments of this specification do not limit this. During operation, the electronic device can run a program on the client side of a certain application to implement the relevant functions of the application. For example, when PC13 used by user 17 runs the program of the joint modeling service, it can be implemented as a client of the joint modeling service; when PC14 used by user 18 runs the program of the modeling proxy service, it can be implemented as a first-level client of the modeling proxy service; when PC15 used by user 19 runs the program of the modeling proxy service, it can be implemented as a second-level client of the modeling proxy service, etc. Among them, the application program of any of the above clients can be started and run on the corresponding electronic device. The program on the client side can be a native application installed on the electronic device, or the program on the client side can be a mini program (Mini Program), a quick application (Quick APP) or other similar forms. Of course, when using web technologies such as HTML5 or similar, relevant functions can be implemented through pages displayed by browsers. The browser here can be an independent browser application or a browser module embedded in certain applications.

[0032] As for the network 10 for interaction between the electronic devices such as PC 13 and the server 11, etc., a wired or wireless network can be selected to realize communication based on the communication mode supported by the corresponding electronic device, and this specification does not limit this. For example, PC 13 can support both wired and wireless communication, so a wired or wireless network can be used to realize communication as needed.

[0033] In one embodiment, the server 11 can be implemented as a server of the joint modeling service (i.e., as a joint modeling platform), and the PC 13 can be implemented as a client of the joint modeling service. In this case, the user 17 is the user described in the embodiment of this specification. It can be understood that at this time, the server implemented by the server 11 is the joint modeling platform described in the embodiment of this specification, and the user 17 can directly access the joint modeling service provided by the platform (the user can be called a "direct customer"). In this scenario, the joint modeling system includes the server implemented by the server 11 and the client implemented by the PC 13. Among them, the offline device used by the user 17 can be PC 13 - after the user 17 creates an offline modeling container in the operating environment of PC 13 according to the offline modeling code package, the container itself may not have an Internet connection function to ensure that the privacy data or features involved in the modeling process will not be leaked from the container. Alternatively, the user 17 can also use other devices other than PC 13 ( Figure 1 The offline device (not shown) is used as the offline device, and an offline modeling container is created in the device according to the offline modeling code package for offline modeling. The offline device can be an electronic device that is not equipped with networking-related hardware (such as a PC that is not equipped with a network card, etc.). At this time, the device can achieve a completely pure offline operating environment to ensure that the offline modeling container running in the environment will not leak the privacy data or features involved in the modeling process; of course, the offline device can also be an internet-connected electronic device like PC13, but the offline modeling container deployed in the device does not have an internet connection function.

[0034] In another embodiment, server 11 can be implemented as a server of a joint modeling service, server 12 can be implemented as a server of a modeling proxy service, PC 14 and PC 15 are implemented as a primary client and a secondary client of a modeling proxy service, respectively. In this case, the joint modeling system is composed of these servers and clients. In this scenario, user 18 is a primary user, such as a social network, agent, distributor, etc. (collectively referred to as a "channel") used to promote and represent the aforementioned joint modeling service; user 19 is a secondary user, such as an ordinary user (or "channel customer") connected by the aforementioned agent to receive the joint modeling service. It should be noted that in the above-mentioned scenario of primary and secondary users, the server of the modeling proxy service and the primary client jointly constitute the modeling service agent, and the secondary user accesses the modeling service agent through the secondary client, but does not directly access the server of the joint modeling service, so that the joint modeling platform as the actual provider of the joint modeling service is not visible to the user (and does not need to be concerned), thereby creating a service agent effect of "accepting the joint modeling service provided by the modeling service agent" for the user. Similar to the scenario of PC13, the offline device used by user 19 can also be PC16 or PC15, which will not be described in detail. Of course, any user described in the embodiments of this specification can be a natural person, or an institution, organization, etc., and this embodiment of this specification does not limit this.

[0035] Figure 2 FIG. 1 is a flowchart of an offline multi-party joint modeling method provided by an exemplary embodiment. The method can be applied to the joint modeling platform in the aforementioned joint modeling system. Figure 2 As shown, the method includes the following steps 202-204.

[0036] Step 202: In response to a joint modeling request initiated by a user, determine a first data feature of the training data specified by the user and process description information of the modeling process.

[0037] In the embodiments of this specification, as the recipient of the joint modeling service, the user may be the aforementioned direct customer, or the aforementioned channel and channel customer, and this embodiment of this specification does not limit this. The user may trigger the start of the joint modeling process by initiating a joint modeling request to the joint modeling platform; accordingly, the joint modeling platform may determine the first data feature of the training data specified by the user and the process description information of the modeling process in response to the request.

[0038] In one embodiment, a user can log in to the joint modeling platform using a client used by the user, and initiate a joint modeling request after logging in. The joint modeling request can be used to specify the training data involved in subsequent modeling. For example, the user can select at least part of the business data held by the user (such as stored locally in the client used by the user), and include it in the joint modeling request and submit it to the joint modeling platform, thereby specifying to the platform that this part of the data is used as training data. For another example, the joint modeling request can also carry data description information, such as data identification (i.e., sample ID) and backtracking time (i.e., the generation time of the training data), so that the platform can determine the data described (or represented) by the data description information as training data, such as the training data described by the information can be queried locally from the platform, or the training data described by the information can be obtained from the data management party pre-associated with the platform. Of course, the user can also specify the training data to the platform after initiating the joint modeling request, and the specific process will not be repeated.

[0039] In response to the joint modeling request, the joint modeling platform can perform a corresponding audit to determine whether to start subsequent processing. For example, for the training data specified by the user, it can be determined whether the user has the right to use the data, and if the user has the right to use the training data, the first data feature of the training data and the process description information of the modeling process specified by the user are further determined. For another example, the resources (such as storage resources, computing resources, network resources, etc.) required for the modeling process corresponding to the request can be predicted, and if the current available resources of the platform meet the resource requirements, the first data feature of the training data and the process description information of the modeling process specified by the user are further determined. Among them, the above-mentioned audit can be completed by the management personnel of the joint modeling platform, or it can be automatically completed by the platform according to the preset logic to realize automated audit and improve audit efficiency.

[0040] In one embodiment, when determining the first data feature of the training data specified by the user, the joint modeling platform may first determine the training data, such as first extracting data description information from the joint modeling request, and then querying the training data represented by the data description information locally from the joint modeling platform, or obtaining the training data represented by the data description information from the data manager pre-associated with the joint modeling platform. Among them, whether it is the data stored locally on the joint modeling platform or the data managed by the data manager pre-associated with the platform (such as a third-party database, etc.), it can belong to the platform (that is, the owner of the data is the platform, the same below), or belong to the user or other users (such as business data pre-uploaded to the platform by the user or other users, etc.). In addition, the joint modeling platform can provide the user with some candidate feature fields for selection on demand, so that the platform can determine the target feature field specified (i.e. selected) by the user from these candidate feature fields, and extract the first data feature represented by the target feature field for the training data. Exemplarily, when the training data is a customer loan / repayment record provided by a financial institution associated with the joint modeling platform, the candidate feature fields provided by the platform may include "loan amount", "number of overdue payments", "mortgage record", etc.; and when the training data is a customer shopping / return record provided by an online shopping platform associated with the joint modeling platform, the candidate feature fields provided by the platform may include "purchase frequency", "average price range", "payment method", "return / exchange rate", etc. The user can select at least some of the feature fields from the above candidate feature fields as the target feature fields, so that the platform can extract the corresponding first data features (i.e., the specific feature values ​​of the target feature fields). In this way, the user can accurately specify the features required for modeling to the joint modeling platform, thereby facilitating subsequent modeling to generate a relatively more accurate target machine learning model.

[0041] The user / customer related information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in this manual are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with the relevant laws, regulations and standards of the relevant countries and regions, and provide corresponding operation entrances for users to choose to authorize or refuse.

[0042] In addition, after determining the training data, the joint modeling platform can generate a task identifier taskid corresponding to the first data feature as a unique identifier for the subsequent modeling-related process or data corresponding to the request, thereby ensuring that there will be no data or process confusion when the joint modeling platform participates in multiple modeling tasks at the same time, thereby ensuring the accuracy of the target machine learning model obtained by executing each modeling task.

[0043] The process description information is used to describe the modeling process when the subsequent offline modeling container performs modeling. In one embodiment, when determining the process description information of the modeling process specified by the user, multiple methods can be used. For example, in order to improve the standardization of the multi-party joint modeling process, the joint modeling platform can provide users with standard modeling processes for them to select on demand, so that the platform can determine the process description information of any standard modeling process specified by the user in the standard modeling process provided by the platform. In this way, the offline modeling container will complete the subsequent modeling process according to the standard modeling process specified by the user to achieve the standardization of the modeling process as much as possible. Of course, if the user does not select, the process description information of the default standard modeling process can be directly obtained, which will not be repeated. Alternatively, in view of the fact that the user may have some special personalized requirements for the modeling process, the user can also create a custom modeling process by himself, so that the platform can obtain the process description information of the custom modeling process submitted by the user. In this way, the offline modeling container will complete the subsequent modeling process according to the custom modeling process to meet the personalized needs of the user for the modeling process as much as possible.

[0044] Step 204, generates an offline modeling code package based on at least the first data feature and the process description information and provides it to the user, so that the user uses the offline modeling code package to create an offline modeling container in an offline device, and the offline modeling container is used to receive the second data feature of the training data input by the user, and model the first data feature and the second data feature according to the modeling process in an offline state to obtain a target machine learning model.

[0045] Among them, in addition to the above-mentioned first data feature, the generated offline modeling code package may also include the SOP (Standard Operating Procedure) code corresponding to the above-mentioned modeling process. Based on this, the offline modeling container created in the offline device using the data packet can implement the above-mentioned modeling process by executing the above-mentioned SOP code during operation, so that the first data feature and the second data feature input by the user are modeled (i.e., model training) according to the process, and finally the target machine learning model is obtained as the modeling result. It can be understood that the owners of the first data feature and the second data feature of the training data are the "multiple parties" described in the embodiments of this specification, wherein the owner of the first data feature can be a joint modeling platform or other related parties, and the owner of the second data feature is the user.

[0046] As can be seen from the aforementioned steps 202-204, on the one hand, this solution creates an offline modeling container in an offline device by generating an offline modeling code package, and the container completes the modeling process, so that the high-value private data owned by the user (i.e., the second data feature) will not be leaked to the outside of the offline modeling container or the offline device during the modeling process, thereby effectively ensuring the privacy and security of these private data. On the other hand, the offline modeling container runs locally on the offline device, which facilitates the user to deeply participate in the operation of the offline modeling container, allowing it to have a high degree of control over the modeling process of the target machine learning model, thereby effectively solving the above-mentioned problems existing in the relevant technology.

[0047] In one embodiment, given that the modeling process of a machine learning model may involve many parameters, in order to meet the personalized needs that may exist among users, users may be allowed to configure certain parameters by themselves. For example, the joint modeling platform may obtain the personalized configuration parameters submitted by the user for the modeling process, and generate the code related to the modeling process in the offline modeling code package based on the personalized configuration parameters. In this way, the user, as a participant in the multi-party joint modeling, can intervene in the modeling process completed locally, thereby achieving a high degree of control and strong intervention in the modeling process, which helps to meet their personalized needs for the modeling process.

[0048] In the training process of machine learning models, training samples can include test sets and validation sets in addition to training sets. The test set is a dataset used to train machine learning models. During training, the model uses samples in the training set to learn features and patterns in order to make predictions or classifications. The test set is a dataset used to evaluate the performance of the trained model. After the model training is completed, the test set is used to verify the model's generalization ability for unknown data. The performance of the model on the test set can help evaluate the accuracy and performance of the model. The validation set is a dataset used to adjust model hyperparameters and evaluate model performance. During the training process, the validation set is used to adjust the parameters of the model to prevent the model from overfitting on the training set.

[0049] Among them, the user can also specify corresponding OOT (Out-of-Time, cross-validation over time, used to describe the performance changes of the model in the time dimension, usually referring to the significant time difference between the data set used in model training and the data set to be used in actual applications in the future, resulting in a decrease in the prediction performance of the model in the future) related indicators, such as PSI (Population Stability Index), etc., for the test set and validation set, so as to track the performance changes of the model in the training phase and the subsequent reasoning phase.

[0050] It is understandable that the training data (or the first data feature of the data) described in the embodiment of this specification is only used for the training process of the target machine learning model, so the data can be regarded as the training set of the model. In order to improve the accuracy and generalization ability of the target machine learning model, test data (i.e., test set) and / or verification data (i.e., verification set) can also be used. For example, before generating an offline modeling code package, the joint modeling platform can determine the test data specified by the user, determine the default test data, or the test data associated with the training data; and then when generating an offline modeling code package, a test code for the target machine learning model can be generated according to the test data, and the test code is used to be included in the offline modeling code package. Thus, the offline modeling container generated by the code package can run the above test code to test the target machine learning model generated by modeling. And / or, before generating an offline modeling code package, the joint modeling platform can determine the verification data specified by the user, determine the default verification data, or the verification data associated with the training data; and then when generating an offline modeling code package, a verification code for the target machine learning model can be generated according to the verification data, and the verification code is used to be included in the offline modeling code package. Therefore, the offline modeling container generated by the code package can run the above verification code to verify the target machine learning model generated by modeling. Of course, the target machine learning model can be adjusted accordingly based on the verification and test results to effectively improve the accuracy and generalization ability of the target machine learning model.

[0051] Among them, the training data, test data and verification data can be set to appropriate proportions to improve the overall efficiency of training, testing and verifying the target machine learning model. For example, 70% of all sample data can be used as training data, 20% as test data, and 10% as verification data, which is not limited in this embodiment of the specification.

[0052] In one embodiment, since the first data feature of the training data does not belong to the user, but needs to be included in the offline modeling code package for the user to use, in order to prevent the security risks and ownership disputes that may be caused by the leakage of the feature, the feature can be encrypted. For example, the first data feature can be encrypted to obtain the first data feature of the ciphertext, so that the offline modeling code package can be generated later based on the first data feature of the ciphertext and the process description information. In this way, even if the offline modeling code package is maliciously cracked by the user or the first data feature is forcibly exported to the outside of the container, the data is still in an encrypted form, which can increase the difficulty of cracking the feature to a certain extent, reduce the possibility of leakage, and improve the privacy and security of the feature during use.

[0053] In another embodiment, the joint modeling platform can generate the offline modeling code package through white box encryption technology, so that the user can use the code package to create the offline modeling container based on white box encryption technology in the offline device. White box encryption technology performs encryption and decryption operations by analyzing the internal structure and working principle of the algorithm. This technology uses the same key for encryption and decryption, and ensures that the internal structure and working principle of the offline modeling container are publicly visible. This technology can ensure that a private, reliable and secure space (i.e., the offline modeling container) is formed in the operating environment of the offline device for implementing modeling-related logic, which helps data security in the offline modeling process.

[0054] In one embodiment, after the joint modeling platform generates the offline modeling code package, the user can download the code package and install the code package in the operating environment of the offline device with one click, thereby creating an offline modeling container in the device. For example, the online device (i.e., the device running the client of the joint modeling service) and the offline device (i.e., the device used to create the offline modeling container) used by the user can be different devices. At this time, the user can download the offline modeling code package to the online device, and then copy the code package to the offline device through hardware methods such as a USB flash drive, an SD card, or a data cable for installation. For another example, the online device and the offline device used by the user can be the same device (the created offline modeling container is run offline in the device, but the operating system of the device itself or other running software can be in a normal online state to communicate normally with the outside). At this time, the user can use the client of the joint modeling service running in the device to download the offline modeling code package to the local device for installation, which will not be repeated. Among them, the operating system of the offline device can be any system such as Windows, Linux, Mac, etc., and this specification embodiment does not limit this. Of course, the offline modeling code package can also be a code that can be run directly. In this case, there is no need to "install" the code package in the offline device. The user can create an offline modeling container by directly clicking to run the code in the code package. In addition, the created offline modeling container is essentially an application running in a specific security space. The user implements corresponding operations to achieve human-computer interaction with the application to input the second data feature of the training data and complete the modeling process.

[0055] In the created offline modeling container, the user can input the second data feature of the training data, so that the container can model the first data feature and the second data feature according to the modeling process in an offline state to obtain the target machine learning model, thereby realizing multi-party joint modeling. It can be understood that the modeling process is essentially the process of training the machine learning model using the first data feature and the second data feature as training samples. Exemplarily, the first data feature can be regarded as an X value, and the second data feature can be regarded as a Y value, and Y=f(X), where the target machine learning model obtained by the modeling process is the function expression f(x).

[0056] Among them, the target machine learning model described in the embodiment of this specification can be any form of machine learning model, and the embodiment of this specification does not limit this. Exemplarily, the model can be a gradient boosting decision tree (GBDT) model, specifically an XGB (i.e., XGBoost) or LGB (i.e., LightGBM) decision tree model, which will not be repeated here.

[0057] Continuing from the above-mentioned embodiment, when the training data is a customer loan / repayment record provided by a financial institution associated with the joint modeling platform, the second data feature of the training data may be the customer's "credit score" or "credit rating", etc.; when the training data is a customer shopping / return record provided by an online shopping platform associated with the joint modeling platform, the second data feature of the training data may be whether the customer is a "high-quality customer" or whether the customer enjoys a "buy now, pay later service", etc. It can be understood that at this time, the second data feature is the business label (i.e., label) of the training data. These labels are usually summarized and precipitated by the user in the process of conducting his own business, and often have considerable value. Therefore, the user usually has high requirements for the privacy of these data. In the offline modeling scheme of this scheme, these data are only input into the local, offline running offline modeling container for relevant processing, and will not be leaked outside the offline modeling container, which helps to meet the user's privacy requirements for these data.

[0058] In one embodiment, after the offline modeling container is created, an attempt can be made to connect to the NTP (Network Time Protocol) service when the container is started. For example, an attempt can be made to connect to a server of a third-party NTP service provided by a third-party service provider (in the offline modeling code package). If the connection is successful, the NTP service provided by the server can be used to adjust the local clock; conversely, if the connection fails, the time synchronization code in the offline modeling code package can be used to create a local NTP service based on the local clock. Among them, the NTP service can synchronize the local clock of the offline device to the corresponding server or clock source (such as a quartz clock, GPS, etc.) to provide high-precision time correction, and can prevent protocol attacks by means of encryption confirmation. The NTP service is used to provide accurate and robust time services in a disordered network environment.

[0059] In one embodiment, in order to ensure that the joint modeling platform can sense and control the running progress of the offline modeling container, the user can access the offline modeling container by means of a one-time password (OTP code, also known as a one-time password or dynamic password). For example, a password acquisition request can be sent to the joint modeling platform, so that the platform generates a corresponding one-time password according to the current time and the random number carried in the request and returns it to the user, so that the user can enter the password into the offline modeling container for verification, thereby triggering the container to perform the corresponding next step if the verification is passed.

[0060] For example, when the offline modeling container is started, the user can initiate a request to the joint modeling platform to obtain a startup password; accordingly, upon receiving the request, the platform can generate a one-time startup password based on at least the current time and the first random number carried in the request, and return the one-time startup password to the user for starting the offline modeling container.

[0061] For another example, when the target machine learning model needs to be exported after modeling is completed in the offline modeling container, the user can initiate an export password acquisition request to the joint modeling platform; accordingly, when the platform receives the request, it can generate a one-time export password based on at least the current time and the second random number carried by the request, and return the one-time export password to the user to trigger the offline modeling container to export the target machine learning model to the outside of the container. Of course, the offline modeling container can also automatically export the model after the target machine learning model is obtained by modeling, or the user can operate the corresponding control to trigger the container to export the model, thereby realizing one-click export of the model. In these cases, the user does not need to obtain the one-time export password.

[0062] For another example, when the destruction condition corresponding to the offline modeling container or the first data feature therein is met, the user can initiate a destruction password acquisition request to the joint modeling platform; accordingly, when the platform receives the request, it can generate a one-time destruction password based on at least the current time and the third random number carried in the request, and return the one-time destruction password to the user to trigger the destruction of the offline modeling container or the first data feature in the offline modeling container. Of course, the offline modeling container can also automatically destroy the offline modeling container or the first data feature therein when the destruction condition is met, or the user can operate the corresponding control to trigger the container to be destroyed, thereby realizing the one-click destruction of the offline modeling container or the first data feature therein. In these cases, the user does not need to obtain the one-time destruction password.

[0063] Among them, the user can interact with the joint modeling platform through the online device used by himself (such as initiating the above-mentioned password acquisition request and receiving the one-time password, etc.). The joint modeling platform can use the TOTP (Time-based One-time Password algorithm) algorithm to generate the above-mentioned one-time passwords, and the algorithm can calculate the one-time password based on the shared key and the current time. In addition, the current moment mentioned in the above embodiment is a trusted moment that is pre-synchronized by the joint modeling platform and the offline device through the Network Time Protocol NTP service. The NTP service is the third-party NTP service provided by the aforementioned third-party service provider, or the local NTP service created by the offline device running the time synchronization code in the offline modeling code package.

[0064] In one embodiment, the offline modeling code package may include a password seed corresponding to the code package, and any one of the startup password acquisition request, export password acquisition request and destruction password acquisition request may include the password seed. Based on this, when the joint modeling platform generates a corresponding one-time password based on at least the current time and the random number carried by any of the requests, it may generate a corresponding one-time password based on at least the password seed, the current time and the random number carried by any of the requests. Taking the one-time startup password as an example, {seed, salt, current time} can be used as the input parameters of the aforementioned TOTP algorithm to calculate an 8-12-digit OTP code, which is returned to the container for starting the offline modeling as a one-time startup password. Among them, the password seed corresponding to the offline modeling code package has specificity (that is, different offline modeling code packages correspond to different password seeds). For example, the password seed can be generated by the aforementioned task identifier taskid, which will not be repeated.

[0065] It can be understood that the aforementioned startup password acquisition request, export password acquisition request and destruction password acquisition request correspond to different stages of offline modeling container operation, that is, different stages of the offline modeling process. In this regard, in order to facilitate the joint modeling platform to accurately perceive the current progress of offline modeling, the first random number, the second random number and the third random number contained in the aforementioned requests may have different prefixes or different suffixes. Taking different prefixes as an example, the prefixes of the first random number, the second random number and the third random number may be "s_", "e_" and "d_", respectively, to respectively characterize the "start offline modeling container", "export target machine learning model" and "destroy offline modeling container or the first data feature therein" stages of offline modeling at the current moment.

[0066] Normally, after receiving the one-time password, the user needs to copy / paste it into the password input box of the verification page, or manually enter it into the password input box, so that the offline modeling container can verify the password. Considering that the above operation of the user objectively takes a certain amount of time, in order to take into account the accuracy and effectiveness of the one-time password, a valid time can be set for it, that is, the one-time startup password, the one-time export password and / or the one-time destruction password can be set with a corresponding valid time. Among them, the valid time of each one-time password can be the same (such as within 30 seconds after the password is generated), of course, it can also be different, and can be flexibly set according to actual needs, and the embodiment of this specification does not limit this. It can be understood that for any of the above one-time passwords, if the user enters it into the password input box within its valid time and confirms the verification, the offline modeling container can verify it and start subsequent processing; on the contrary, if it is entered and confirmed after exceeding the valid time, the container will not be able to verify it (indicating that the password has expired), so it will not start subsequent processing.

[0067] In one embodiment, since the offline modeling code package contains information that does not belong to the user (such as the first data feature of the training data, etc.), the code package needs to be run in the user's offline device. Therefore, in order to avoid the user's abuse of the code package or the above information (such as repeated use, attempted export or even cracking, etc.), a corresponding validity period can be set for the offline modeling code package and the offline modeling container. For example, the offline modeling code package may include a validity period control code, which is used to control the created offline modeling container to run within a preset validity period. Exemplarily, when the offline modeling code package is generated, a license license may be included in the code package, and the validity period of the offline modeling code package and the offline modeling container is recorded in the license, such as the offline modeling code package expires 30 days after generation, the offline modeling container expires 7 days after creation, or immediately after the target machine learning model is output. Thus, the above validity period control code can determine the validity period of the offline modeling code package and the offline modeling container based on the license, and then control the container to run only within its validity period. After the validity period exceeds the validity period, the container can be forcibly closed or even destroyed / uninstalled.

[0068] In one embodiment, the first data feature of the training data may not belong to the user. In this case, when the joint modeling platform generates an offline modeling code package, it may include a destruction code in the code package, and the code is used to destroy the offline modeling container or the first data feature in the offline modeling container when the destruction condition is met. In this way, the first data feature that does not belong to the user or the entire offline modeling container can be destroyed in a timely manner, thereby effectively preventing the user from abusing the feature and improving the security of this part of the feature in the offline modeling process after it is out of the control of its owner.

[0069] Among them, the destruction conditions are met, including: the target machine learning model is output to the outside of the offline modeling container; and / or the validity period of the offline modeling container is exceeded at the current moment.

[0070] In one embodiment, in order to destroy the offline modeling container or the first data feature therein, the offline device usually needs to execute multiple destruction instructions in sequence according to the preset destruction process. In order to prove to the joint modeling platform that the offline modeling container or the first data feature has indeed been destroyed, the offline device can sign the operation log generated by executing these destruction instructions during the destruction process, and use these operation logs and their signatures to package and generate a destruction certificate file to provide to the joint modeling platform for verification. For example, when generating the offline modeling code package, the offline modeling container can also generate a signature code and a corresponding code package private key, and include it in the code package, wherein the signature code is used to use the code package private key to sign the operation log of the destruction process, and the joint modeling platform maintains the code package public key corresponding to the code package private key. Based on this, the joint modeling platform can use the code package public key to verify the signature of the operation log contained in the destruction certificate file when receiving the destruction certificate file submitted by the user; and when the signature verification passes, it is determined that the offline modeling container or the first data feature therein has indeed been destroyed by the offline device, and then the target machine learning model generated before the destruction is deployed. Of course, it is also possible to directly start deploying the model when it is determined that the target machine learning model has been generated and meets the user's requirements (i.e., testing and verification are completed) without waiting for the offline device to be destroyed.

[0071] It should be noted that, whether before or after destruction, when the joint modeling platform deploys the target machine learning model, the model can be deployed locally on the platform (i.e., deployed on the server side of the joint modeling service), or the model can be deployed on the model hosting party associated with the platform, and the embodiments of this specification do not limit this. Among them, after the offline modeling container completes the training of the target machine learning model, the model can be exported to the outside of the container. As described above, the user can initiate the aforementioned export password acquisition request to the joint modeling platform through the client of the joint modeling service, and enter the one-time export password returned by the platform into the password input box of the offline modeling container for verification, and if the verification is passed, the target machine learning model is exported to the local storage space of the offline device (different from the internal storage space of the offline modeling container), so that the user can input the model into the client of the joint modeling service through the aforementioned hardware method and submit it to the platform; when the client of the joint modeling service runs in an offline device, the model can also be directly exported to the client and submitted to the platform, which will not be repeated.

[0072] In one embodiment, after the target machine learning model is deployed, the joint modeling platform can provide the user with real-time reasoning services based on the model. For example, the joint modeling platform can respond to the reasoning request initiated by the user, call the target machine learning model for reasoning, and return the corresponding reasoning results to the user. In this way, the user can receive the real-time reasoning service provided by the model after the joint modeling is completed and the target machine learning model is obtained, avoiding meeting their own business needs.

[0073] As mentioned above, in the proxy scenario for the joint modeling service, the users may include primary users and secondary users, so this specification also proposes another offline multi-party joint modeling solution for this scenario.

[0074] Figure 3 is a flowchart of another offline multi-party joint modeling method provided by an exemplary embodiment. The method can be applied to the aforementioned joint modeling system. The joint modeling system includes a joint modeling platform (such as Figure 1 The server 11 shown in the figure implements the joint modeling service server), the primary user (such as Figure 1 The primary online device (such as Figure 1 The PC 14 shown as a client of the modeling agent service) and the secondary users (such as Figure 1 The secondary online device (such as Figure 1 The PC 15 implemented as the client of the joint modeling service and the offline device (such as Figure 1 PC16 shown). Figure 3 As shown, the method includes the following steps 302-308.

[0075] Step 302: The first-level online device initiates a joint modeling request to the joint modeling platform and specifies the first data feature of the training data and the process description information of the modeling process.

[0076] Step 304: the joint modeling platform generates an offline modeling code package based on at least the first data feature and the process description information and returns it to the first-level online device.

[0077] Step 306: The primary online device provides the offline modeling code package to the secondary online device, so that the secondary user can create an offline modeling container in the offline device according to the offline modeling code package.

[0078] In step 308, the offline modeling container receives the second data feature of the training data input by the secondary user, and performs modeling processing on the first data feature and the second data feature according to the modeling process in an offline state to obtain a target machine learning model.

[0079] In one embodiment, the secondary online device and the offline device may be different physical devices, wherein the secondary online device has networking capability, can join the network and exchange data with other devices in the network; while the offline device does not have networking capability (such as not equipped with a network card, etc.), and cannot exchange data with other devices through the network, but can usually exchange data with other devices through a USB flash drive, an SD card, a direct data cable, etc. Alternatively, the secondary online device and the offline device may also be the same physical device, in which case the device itself has networking capability, and the client of the joint modeling service running therein can establish a connection with the corresponding server through the networking capability, but the offline modeling container created using the offline modeling code package cannot establish a connection with the relevant party through the networking capability, and can only interact with the outside through the aforementioned hardware method.

[0080] Combine this scheme with the aforementioned Figure 2 By comparing the schemes of the corresponding embodiments, it can be seen that this scheme can also realize the joint modeling between the joint modeling platform and the secondary users in an offline manner, and obtain the corresponding target machine learning model. On this basis, this scheme also realizes the proxy function for the joint modeling service: in this scheme, the first-level client of the modeling proxy service running locally on the first-level online device and the server of the modeling proxy service running in the corresponding server together constitute the modeling service agent, and the secondary user accesses the modeling service agent through the second-level client running in the second-level online device, but does not (and cannot) directly access the joint modeling platform, so that the platform as the actual provider of the joint modeling service is invisible to the secondary user, that is, the secondary user (as the service user) only needs to interact with the modeling service agent to enjoy the joint modeling service, and does not directly connect to the joint modeling platform (as the real service provider), thereby realizing the service proxy effect for the joint modeling service.

[0081] In one embodiment, the first data feature may belong to neither the primary user nor the secondary user (e.g., it may belong to the joint modeling platform). In this regard, the offline device may destroy the offline modeling container or the first data feature in the offline modeling container when the destruction condition is met, so as to ensure that the first data feature will not be abused by the primary user or the secondary user.

[0082] The destruction conditions are met, including: the target machine learning model is exported to the outside of the offline modeling container; and / or the validity period of the offline modeling container is exceeded at the current moment.

[0083] In one embodiment, after the target machine learning model is modeled, the offline modeling container can export the model so that it can be submitted by the first-level online device to the joint modeling platform for deployment; further, the first-level online device can respond to the second-level reasoning request initiated by the second-level online device, initiate a corresponding first-level reasoning request to the joint modeling platform, and return the reasoning result obtained by the joint modeling platform calling the deployed target machine learning model for reasoning to the second-level online device. In this way, after the deployment of the target machine learning model is completed, the joint modeling platform can provide the second-level user with a real-time reasoning service based on the model through the first-level user as an agent. At this time, the second-level user can use the second-level online device to initiate a second-level reasoning request to the first-level online device used by the first-level user, and the latter as an agent can initiate a corresponding first-level reasoning request to the joint modeling platform (i.e., the final provider of the service), and feedback the reasoning result returned by the platform to the second-level online device for the second-level user to view and use.

[0084] Figure 4 FIG. 1 is an interactive flow chart of an offline multi-party joint modeling method provided by an exemplary embodiment. Figure 4 As shown, the first-level user corresponding to the first-level online device is the channel, and the second-level user corresponding to the second-level online device is the channel customer. The channel provides the channel customer with proxy services for joint modeling services and implementation reasoning services; the offline device is used by the channel customer. Figure 4 The channel customer shown can be any of the multiple customers served by the channel. Figure 4 The joint modeling platform shown can be any platform among the multiple platforms connected (or integrated) by the channel. The method includes the following steps 401-431, which constitute four stages, namely, the modeling preparation stage, the modeling stage, the operation preparation stage and the operation stage. For specific correspondence, see Figure 4 The following is a detailed introduction to each step.

[0085]

Modeling preparation phase

[0086] In step 401, the channel logs in to the joint modeling platform through a first-level online device, and after logging in, applies for joint modeling in offline mode (i.e., initiates a joint modeling request), uploads the sample identifier and backtracking time, and specifies the required target feature field from the candidate feature fields provided by the platform.

[0087] Although not shown in the figure, it should be noted that the first online device may confirm that the channel customer has a need for joint modeling after receiving the request initiated by the second online device, and then initiate the joint modeling request to the joint modeling platform, as shown by the dotted arrow on the left side of the arrow in step 401.

[0088] The uploaded sample identifier and backtracking time can be specified by the channel customer to the channel, and included in the joint modeling request and uploaded to the joint modeling platform. In addition, the training data corresponding to the sample identifier can be maintained by the joint modeling platform itself, or can also be obtained from other data management parties, which will not be repeated here.

[0089] Step 402, the joint modeling platform reviews the joint modeling request initiated by the first-level online device, such as verifying the customer level, account balance, and the right to use the training data represented by the sample identifier and the backtracking time of the channel customer. After the review is passed, the corresponding first data feature (hereinafter referred to as X value) is extracted for the training data according to the target feature field.

[0090] In addition, a task identifier taskid corresponding to the first data feature may also be generated, and the identifier may be used to uniquely identify the subsequently generated offline modeling container and offline modeling code package.

[0091] In step 403, the joint modeling platform notifies the first-level online device that the above application is successful, and returns the task identifier taskid so that the first-level online device can use the identifier as a mark in the subsequent interaction process with the joint modeling platform to distinguish the interaction process related to other offline modeling containers or offline modeling code packages.

[0092] In step 404, the first-level online device specifies the SOP process (such as selecting a standard modeling process or uploading a custom modeling process), sets the OOT sample distribution information (i.e., test data and verification data, etc.), sets personalized configuration parameters, etc. to the joint modeling platform. Of course, the above-mentioned specification and configuration can also be completed by the channel customer, as shown by the dotted arrow on the left side of the arrow shown in step 404.

[0093] Step 405: The joint modeling platform generates a key (hereinafter referred to as a white box key) and a license and other related contents according to the above information specified by the first-level online device, and generates a joint modeling code package based on the above X value.

[0094] The white box key includes a code package public and private key pair, wherein the code package public key is retained locally on the joint modeling platform, and the corresponding code package private key is packaged in the offline modeling code package. The license is used to record the validity period of the offline modeling code package and the offline modeling container.

[0095] Exemplarily, the process of generating an offline modeling code package is the process of packaging the SOP code (generated according to the specified SOP process), X value, OTT sample distribution information, personalized configuration parameters, white box key, OTP seed (generated according to the aforementioned taskid), license license and other information, and the packaging result is the offline modeling code package.

[0096] Step 406: After generating the offline modeling code package, the joint modeling platform returns the code package to the first-level online device.

[0097]

Modeling Phase

[0098] In step 407, the user installs the offline modeling code package in the offline device to create an offline modeling container in the device.

[0099] Exemplarily, the primary online device can return the offline modeling code package to the secondary online device, and the customer can copy the code package to the offline device through the aforementioned hardware method, and operate and install it in the device to complete the creation of the offline modeling container.

[0100] Step 408, before starting the offline modeling container, the offline device first attempts to connect to at least one preset third-party NTP service. If the connection is successful, the local clock is adjusted through the service; if the connection fails, the time synchronization code in the offline modeling code package is run to create a local NTP service, and the time of the local clock is used as the current time when the one-time code is generated subsequently.

[0101] Step 409: The offline device starts an offline modeling container, and the container generates a first random number s_salt.

[0102] In step 410, the offline device returns the first random number s_salt (with a prefix of "s_") to the primary online device, and notifies the device to apply to the joint modeling platform for an activation OTP code (i.e., the aforementioned one-time activation password).

[0103] Step 411: The first-level online device submits the first random number s_salt to the joint modeling platform, and receives a startup OTP code generated by the platform according to the random number.

[0104] Exemplarily, the first-level online device may initiate a startup password acquisition request to the joint modeling platform, and the request may carry the first random number s_salt and the aforementioned OTP seed (returned to the first-level online device by the offline device in step 410) seed. Based on this, the joint modeling platform may use {seed, salt, current time} as input parameters of the TOTP algorithm to calculate the startup OTP code. The current time may be the current time displayed by the local clock, or the time when the startup password acquisition request is received.

[0105] In step 412, the first-level online device can send the startup OTP code returned by the joint modeling platform to the second-level online device (can be sent by SMS, email, in-app message, etc.), so that the channel customer can enter the startup OTP code into the password input box displayed by the offline device. If the offline device fails to verify the input box (it may be that the input is too slow and exceeds the validity period of the startup OTP code, or it may be an input error, etc.), it can refuse to start the offline modeling container and instruct the channel customer to re-acquire the startup OTP code and verify it; if the verification passes (the startup OTP code is correctly entered within the validity period), the offline modeling container can be started.

[0106] Step 413, the offline modeling container starts the daemon process and the time counter to ensure the smooth operation of the white box container. The internal structure and operation process of the offline modeling container can be seen below Figure 5 The corresponding embodiments will not be described in detail here.

[0107] Step 414: The customer inputs the second data feature of the training data, i.e., the private Y value, into the offline modeling container. This value will be used as a training sample for modeling together with the aforementioned X value.

[0108] In step 415, the offline modeling container performs model training according to the SOP process, and finally models the target machine learning model and generates a corresponding process report. The process report can record the operation logs generated by the model generation process (such as the various instructions executed, etc.) and the signatures of these logs using the aforementioned white box key for verification.

[0109] Step 416: The first-level online device verifies the model using verification data and tests the model using test data to ensure that the target machine learning model generated in the end has good accuracy and strong generalization ability. If the verification fails, the training, verification and testing are repeated until they pass, and then the model can be exported.

[0110] Step 417, when the offline modeling container receives the export password acquisition request initiated by the first-level online device, it can determine the second random number e_selt (prefixed with "e_").

[0111] In step 418, the first-level online device obtains the export OTP code (i.e., one-time export password) generated by the joint modeling platform according to the second random number e_selt, and then verifies the validity of the OTP code. The detailed verification process of step 418 is essentially the same as the process of verifying the startup OTP code described in steps 410-412, and will not be repeated here.

[0112] Step 419, if the exported OTP code is verified, the offline modeling container will output the target machine learning model to the container and generate a corresponding export report. The process report can record the operation logs generated by the model export process (such as the various instructions executed, etc.) and the signatures made on these logs using the aforementioned white box key for verification.

[0113]

Operation preparation phase

[0114] In step 420, the first-level online device sends a destruction instruction to the offline device to trigger the destruction of the offline modeling container. Of course, the offline modeling container can also be automatically destroyed after the target machine learning model is exported, which will not be described in detail.

[0115] In step 421, the offline device destroys the offline modeling container and generates a corresponding destruction certificate file, which may record the operation logs generated during the destruction process (such as the various instructions executed, etc.) and the signatures of these logs using the aforementioned white box key for verification. The so-called "destroying the offline modeling container" may be deleting all the data contained in the container from the storage space such as the memory and hard disk of the offline device.

[0116] In step 422, the offline device returns the target machine learning model and the destruction certificate document to the first-level online device.

[0117] In step 423, the first-level online device submits the target machine learning model and the destruction certificate document to the joint modeling platform to apply for deployment of the model on the platform and launch the real-time reasoning service based on the model.

[0118] In step 424, after verifying that the destruction certificate document has been passed, the joint modeling platform accepts and optimizes the target machine learning model, and releases the real-time reasoning / prediction service to the outside world after completing the deployment of the target machine learning model.

[0119] The acceptance and optimization process may include but is not limited to model security verification, model format conversion, model performance stress testing, model accuracy analysis, etc.

[0120] Given that the X value of the modeling process of the target machine learning model belongs to the joint modeling platform and the Y value belongs to the channel customer, the real-time reasoning / prediction service should be fully authorized by the channel customer and the relevant parties of the joint modeling platform (such as the platform administrator) before it is released. In addition, the real-time reasoning / prediction service can be provided only to the channel customer, thereby achieving the service effect of "one customer, one model"; it can also be provided to the channel customer and other customers (of course, which customers to provide the service can be jointly decided by the channel customer and the joint modeling platform), which will not be elaborated.

[0121] Step 425, the joint modeling platform returns the configuration information of the real-time reasoning / prediction service (such as service access address, domain name, communication protocol, field meaning of submitted parameters, etc.) to the first-level online device so that the channel customer can call the service. Thus, the first-level online device can submit a request to receive the service according to the above configuration information when the channel customer needs it.

[0122]

Operation phase

[0123] Step 426, when the channel customer has a real-time reasoning requirement, a second-level reasoning request can be initiated to the first-level online device through the second-level online device.

[0124] Step 427 , the first-level online device initiates a first-level reasoning request to the joint modeling platform in response to the second-level reasoning request to call related services.

[0125] In step 428, the joint modeling platform calls the already deployed target machine learning model for real-time reasoning / prediction.

[0126] As mentioned above, in the case of Y = f(X), the target machine learning model can be regarded as the expression f(x). Among them, the above X and Y are sample features used in the model training phase. The real-time reasoning / prediction process can be regarded as the process of calculating the corresponding result y according to y = f(x) for the business data x actually submitted by the channel customer.

[0127] Step 429: The joint modeling platform returns the real-time reasoning result to the first-level online device.

[0128] Step 430: The first-level online device integrates the real-time reasoning results returned by the joint modeling platform with the reasoning results returned by other platforms connected to it.

[0129] In the case where the channel is only connected to the joint modeling platform, the first-level online device can return the implementation reasoning result returned by the platform as the final result to the second-level online device.

[0130] Optionally, the channel may not only connect to the joint modeling platform, but the reasoning service required by the channel customer may be more complex. Therefore, the first online device can generate multiple first-level reasoning requests according to the second-level reasoning request and initiate them to different platforms respectively. At this time, each platform calls the corresponding model deployed by itself for real-time reasoning / prediction services, and returns their respective real-time reasoning results to the first-level online device. In this scenario, the first-level online device needs to integrate the real-time reasoning results returned by each platform into a completed reasoning result.

[0131] In step 431 , the first-level online device returns the complete reasoning result to the second-level online device as a response to the second-level reasoning request.

[0132] Through the above method, for the agent service scenarios of channel customers and channels, a full-process solution of offline mode joint modeling and providing online reasoning services using modeling results can be realized, and the solution has high practical value.

[0133] Figure 5 This is a schematic diagram of the structure of a joint modeling container provided by an exemplary embodiment. Figure 5 Explain the internal structure of the offline modeling container and its operation process.

[0134] like Figure 5 As shown, the offline modeling container can be an offline modeling white box container (hereinafter referred to as a white box container) obtained by processing with white box encryption technology. After the deployment is completed, the container runs in the operating system of the offline device. In addition to the offline modeling container, other online or offline software can also run in the operating system, which is not limited in the embodiments of this specification.

[0135] From the perspective of functional modules, the white box container includes a lifecycle management module, a modeling sop module and a risk protection module.

[0136] The lifecycle management module is used to implement the input and response logic of core instructions. The functions it can implement include but are not limited to: starting the container, inputting Y value, feature engineering, machine modeling, backtracking export, OTP verification, model backtracking verification, container destruction, etc.

[0137] The modeling sop module is used to implement standard modeling capabilities and process response logic. The functions it can implement include but are not limited to: loading X values / Y values, data processing, feature screening, model training, test set splitting, feature importance screening, feature importance reporting, hyperparameter grid search, machine model modeling, generating model reports, etc.

[0138] The risk protection module is used to provide local NTP service logic (using local NTP as the only trusted judgment of license), OTP verification service logic, active risk perception capability and exception handling capability in offline mode. The exception handling capability includes the ability to handle abnormal situations such as attempts to tamper with local time, multiple OTP attempts and failures, changes in device information, abnormal status requests, and service expiration exceptions.

[0139] From the perspective of data interaction between modules in the offline modeling container, the white box container mainly involves the following data:

[0140] Secret seed: the aforementioned OTP seed (the seed of the TOTP algorithm). Different white box containers have different OTP seeds, which are dynamically issued by the container and stored in a secret state.

[0141] Plain text license: mainly defines the validity period of the offline modeling container, and its contents may include the issuance time, the issuer, the certificate chain of the trusted authority, the expiration timestamp, etc. After detecting the expiration of the license, the lifecycle management module can force the automatic destruction process of the container to start.

[0142] Secret communication key: This key is a symmetric key. In cross-process communication, {symmetric encryption (original message, random number, timestamp, signature)} can be used as the content of the communication request, where the signature content can be hash (original message, random number, timestamp, symmetric key). This key can realize encryption and signature functions at the same time. Similar to the secret seed, this key is also dynamically issued by the container and stored in a secret state.

[0143] Secret X value: In offline mode, it is preset with the offline modeling code package and stored in a white box secret state. The content mainly includes identity identification, backtracking time, feature value list, etc. It can also only include the first data feature obtained by processing feature engineering of training data. This data belongs to the full life cycle strong control parameters that this solution focuses on. When risks are perceived or modeling is completed, it can be forcibly destroyed to avoid leakage.

[0144] Plain text Y value: It is passed in by the user as needed during offline modeling. It corresponds to the identity in the X value. The content may include the identity, backtracking time (optional), label, or only the label, where the label is customer-defined label information and is a customer core asset.

[0145] Deliverables: mainly include target machine learning models (such as decision tree models such as XGB / LGB) and process reports (feature screening, modeling process indicators, operation logs and their signatures, etc.). The operation logs may include operation instructions, operation time, whether there is risk, container status, etc. The container status may include the trial machine resource status, sample partition status, X data quantity, Y sample quantity, etc., which will not be repeated here.

[0146] Figure 6 is a schematic structural diagram of a device provided by an exemplary embodiment. Figure 6At the hardware level, the device includes a processor 602, an internal bus 604, a network interface 606, a memory 608, and a non-volatile memory 610, and may also include hardware required for other functions. One or more embodiments of this specification may be implemented based on software, such as the processor 602 reading the corresponding computer program from the non-volatile memory 610 into the memory 608 and then running it. Of course, in addition to the software implementation, one or more embodiments of this specification do not exclude other implementations, such as logic devices or a combination of software and hardware, etc., that is, the execution subject of the following processing flow is not limited to each logic unit, but can also be hardware or logic devices.

[0147] Please refer to Figure 7 , an offline multi-party joint modeling device can be applied to Figure 6 The device shown in the figure is used to implement the technical solution of this specification. The device is applied to the joint modeling platform and may include:

[0148] A determination unit 701 is configured to determine, in response to a joint modeling request initiated by a user, a first data feature of the training data and process description information of the modeling process specified by the user;

[0149] A generation unit 702 is used to generate an offline modeling code package based on at least the first data feature and the process description information and provide it to the user, so that the user uses the offline modeling code package to create an offline modeling container in an offline device, and the offline modeling container is used to receive the second data feature of the training data input by the user, and model the first data feature and the second data feature according to the modeling process in an offline state to obtain a target machine learning model.

[0150] Optionally, the determining unit 701 is specifically configured to:

[0151] In response to a joint modeling request initiated by a user, the training data specified by the user is determined, and if the user has permission to use the training data, the first data feature of the training data and process description information of the modeling process specified by the user are determined.

[0152] Optionally, the determining unit 701 is specifically configured to:

[0153] Extracting data description information from the joint modeling request, and querying the training data represented by the data description information locally from the joint modeling platform, or obtaining the training data represented by the data description information from a data manager pre-associated with the joint modeling platform;

[0154] A target feature field specified by a user from candidate feature fields provided by the joint modeling platform is determined, and a first data feature represented by the target feature field is extracted for the training data.

[0155] Optionally, the determining unit 701 is specifically configured to:

[0156] Determine the process description information of any standard modeling process specified by the user in the standard modeling process provided by the joint modeling platform; or,

[0157] Obtain process description information of the custom modeling process submitted by the user.

[0158] Optionally, the method further includes a parameter obtaining unit 703, which is used to:

[0159] The personalized configuration parameters submitted by the user for the modeling process are obtained, and codes related to the modeling process in the offline modeling code package are generated according to the personalized configuration parameters.

[0160] Optionally, also include:

[0161] A testing unit 704, configured to determine the test data specified by the user, and generate a test code for the target machine learning model according to the test data, wherein the test code is included in the offline modeling code package; and / or,

[0162] The verification unit 705 is used to determine the verification data specified by the user and generate a verification code for the target machine learning model based on the verification data, and the verification code is used to be included in the offline modeling code package.

[0163] Optional,

[0164] It also includes a feature encryption unit 706, which is used to encrypt the first data feature to obtain the first data feature of the ciphertext;

[0165] The generating unit 702 is specifically used to generate an offline modeling code package according to at least the first data feature of the ciphertext and the process description information.

[0166] Optionally, the system further includes a password generating unit 707, configured to:

[0167] When receiving a startup password acquisition request initiated by the user, generating a one-time startup password according to at least the current time and a first random number carried in the request, and returning the one-time startup password to the user for starting the offline modeling container;

[0168] Upon receiving an export password acquisition request initiated by the user, generating a one-time export password according to at least the current time and a second random number carried in the request, and returning the one-time export password to the user for triggering the offline modeling container to export the target machine learning model to the outside of the container;

[0169] When receiving a destruction password acquisition request initiated by the user, a one-time destruction password is generated based on at least the current time and a third random number carried in the request, and the one-time destruction password is returned to the user for triggering the destruction of the offline modeling container or destroying the first data feature in the offline modeling container.

[0170] Optionally, the current moment is a trusted moment that is pre-synchronized by the joint modeling platform and the offline device through a Network Time Protocol (NTP) service.

[0171] Optionally, the NTP service includes:

[0172] Third-party NTP service provided by a third-party service provider; or

[0173] The offline device runs a local NTP service created by the time synchronization code in the offline modeling code package.

[0174] Optionally, the offline modeling code package includes a password seed corresponding to the code package, any one of the startup password acquisition request, the export password acquisition request and the destruction password acquisition request includes the password seed, and the password generation unit 707 is specifically used to:

[0175] A corresponding one-time password is generated at least according to the password seed, the current time and the random number carried in any one of the requests.

[0176] Optionally, the first random number, the second random number and the third random number have different prefixes or different suffixes.

[0177] Optionally, a validity period is set for the one-time startup password, the one-time export password and / or the one-time destruction password.

[0178] Optionally, the offline modeling code package includes a validity period control code, and the validity period control code is used to control the created offline modeling container to run within a preset validity period.

[0179] Optionally, when the first data feature does not belong to the user, the offline modeling code package includes a destruction code, and the destruction code is used to:

[0180] When the destruction condition is met, the offline modeling container is destroyed or the first data feature in the offline modeling container is destroyed.

[0181] Optionally, the destruction condition is met, including:

[0182] The target machine learning model is exported to outside the offline modeling container; and / or,

[0183] The current time exceeds the validity period of the offline modeling container.

[0184] Optionally, the offline modeling code package further includes a signature code and a code package private key, the signature code is used to use the code package private key to sign the operation log of the destruction process, the joint modeling platform maintains the code package public key corresponding to the code package private key, and the device further includes a destruction proof verification unit 708, which is used to:

[0185] Upon receiving the destruction certificate document submitted by the user, using the code package public key to verify the signature of the operation log contained in the destruction certificate document;

[0186] If the signature verification passes, the target machine learning model is deployed.

[0187] Optionally, a real-time reasoning unit 709 is further included, which is used to:

[0188] After the deployment of the target machine learning model is completed, in response to the inference request initiated by the user, the target machine learning model is called to perform inference and the corresponding inference results are returned to the user.

[0189] Optionally, the generating unit 702 is specifically used to generate the offline modeling data packet by using white box encryption technology.

[0190] Optionally, the second data feature includes a business label of the training data.

[0191] Optionally, the target machine learning model includes a decision tree model based on gradient boosting.

[0192] Please refer to Figure 8 Another offline multi-party joint modeling device can be applied to Figure 6 The device shown in the figure is used to implement the technical solution of this specification. The device is applied to a joint modeling system, which includes a joint modeling platform, a primary online device used by a primary user, and a secondary online device and an offline device used by a secondary user, and the device includes:

[0193] The request unit 801 is used to enable the first-level online device to initiate a joint modeling request to the joint modeling platform, and specify the first data feature of the training data and the process description information of the modeling process;

[0194] A generating unit 802, configured to enable the joint modeling platform to generate an offline modeling code package based on at least the first data feature and the process description information and return the package to the first-level online device;

[0195] A providing unit 803 is configured to enable the primary online device to provide the offline modeling code package to the secondary online device, so that the secondary user can create an offline modeling container in the offline device according to the offline modeling code package;

[0196] The modeling unit 804 is used to enable the offline modeling container to receive the second data feature of the training data input by the secondary user, and to model the first data feature and the second data feature according to the modeling process in an offline state to obtain a target machine learning model.

[0197] Optionally, the first data feature does not belong to the primary user and the secondary user, and the device further includes a destroying unit 805, which is used to:

[0198] The offline device is enabled to destroy the offline modeling container or the first data feature in the offline modeling container when a destruction condition is met.

[0199] Optionally, the destruction condition is met, including:

[0200] The target machine learning model is exported to outside the offline modeling container; and / or,

[0201] The current time exceeds the validity period of the offline modeling container.

[0202] Optionally, also include:

[0203] A model deployment unit 806, configured to cause the offline modeling container to export the target machine learning model so as to be submitted to the joint modeling platform for deployment by a primary online device;

[0204] The service providing unit 807 is used to enable the first-level online device to respond to the second-level reasoning request initiated by the second-level online device, initiate a corresponding first-level reasoning request to the joint modeling platform, and return the reasoning result obtained by the joint modeling platform calling the deployed target machine learning model for reasoning to the second-level online device.

[0205] Based on the same concept as the above method, this specification also provides an electronic device, including: a processor; a memory for storing processor executable instructions; wherein the processor implements the steps of the method described in any of the above embodiments by running the executable instructions.

[0206] Based on the same concept as the above method, this specification also provides a computer-readable storage medium on which computer instructions are stored. When the instructions are executed by a processor, the steps of the method described in any of the above embodiments are implemented.

[0207] Based on the same concept as the above method, this specification also provides a computer program product, including a computer program / instruction, which implements the steps of the method described in any of the above embodiments when executed by a processor.

Claims

1. An offline multi-party joint modeling method, applied to a joint modeling platform, comprising: In response to a joint modeling request initiated by a user, determining a first data feature of the training data and process description information of a modeling process specified by the user; An offline modeling code package is generated based on at least the first data feature and the process description information and provided to the user, so that the user uses the offline modeling code package to create an offline modeling container in an offline device, and the offline modeling container is used to receive the second data feature of the training data input by the user, and model the first data feature and the second data feature according to the modeling process in an offline state to obtain a target machine learning model.

2. The method according to claim 1, wherein, in response to a joint modeling request initiated by a user, determining the first data feature of the training data specified by the user and the process description information of the modeling process comprises: In response to a joint modeling request initiated by a user, the training data specified by the user is determined, and if the user has permission to use the training data, the first data feature of the training data and process description information of the modeling process specified by the user are determined.

3. The method according to claim 1, wherein determining the first data feature of the user-specified training data comprises: Extracting data description information from the joint modeling request, and querying the training data represented by the data description information locally from the joint modeling platform, or obtaining the training data represented by the data description information from a data manager pre-associated with the joint modeling platform; A target feature field specified by a user from candidate feature fields provided by the joint modeling platform is determined, and a first data feature represented by the target feature field is extracted for the training data.

4. The method according to claim 1, wherein determining the process description information of the modeling process specified by the user comprises: Determine process description information of any standard modeling process specified by the user in the standard modeling process provided by the joint modeling platform; or, Obtain process description information of the custom modeling process submitted by the user.

5. The method according to claim 1, further comprising: The personalized configuration parameters submitted by the user for the modeling process are obtained, and codes related to the modeling process in the offline modeling code package are generated according to the personalized configuration parameters.

6. The method according to claim 1, Also includes: Encrypting the first data feature to obtain the first data feature of the ciphertext; The generating of the offline modeling code package at least according to the first data feature and the process description information includes: generating the offline modeling code package at least according to the first data feature of the ciphertext and the process description information.

7. The method according to claim 1, further comprising at least one of the following: When receiving a startup password acquisition request initiated by the user, generating a one-time startup password according to at least the current time and a first random number carried in the request, and returning the one-time startup password to the user for starting the offline modeling container; Upon receiving an export password acquisition request initiated by the user, generating a one-time export password according to at least the current time and a second random number carried in the request, and returning the one-time export password to the user for triggering the offline modeling container to export the target machine learning model to the outside of the container; When receiving a destruction password acquisition request initiated by the user, a one-time destruction password is generated based on at least the current time and a third random number carried in the request, and the one-time destruction password is returned to the user for triggering the destruction of the offline modeling container or destroying the first data feature in the offline modeling container.

8. According to the method of claim 7, the current moment is a trusted moment that is pre-synchronized by the joint modeling platform and the offline device through a Network Time Protocol (NTP) service.

9. The method according to claim 7, wherein the offline modeling code package includes a password seed corresponding to the code package, and any one of the startup password acquisition request, the export password acquisition request, and the destruction password acquisition request includes the password seed, and a corresponding one-time password is generated at least according to the current time and the random number carried by any one of the requests, including: A corresponding one-time password is generated at least according to the password seed, the current time and the random number carried in any one of the requests.

10. The method according to claim 1, wherein the offline modeling code package comprises a validity period control code, and the validity period control code is used to control the created offline modeling container to run within a preset validity period.

11. The method according to claim 1, in the case where the first data feature does not belong to the user, the offline modeling code package includes a destruction code, the destruction code is used to: When the destruction condition is met, the offline modeling container is destroyed or the first data feature in the offline modeling container is destroyed.

12. According to the method of claim 11, the offline modeling code package further includes a signature code and a code package private key, the signature code is used to use the code package private key to sign the operation log of the destruction process, and the joint modeling platform maintains the code package public key corresponding to the code package private key, and the method further includes: Upon receiving the destruction certificate document submitted by the user, using the code package public key to verify the signature of the operation log contained in the destruction certificate document; If the signature verification passes, the target machine learning model is deployed.

13. The method according to claim 1, further comprising: After the deployment of the target machine learning model is completed, in response to the inference request initiated by the user, the target machine learning model is called to perform inference and the corresponding inference results are returned to the user.

14. An offline multi-party joint modeling method, applied to a joint modeling system, the system comprising a joint modeling platform, a primary online device used by a primary user, and a secondary online device and an offline device used by a secondary user, the method comprising: The first-level online device initiates a joint modeling request to the joint modeling platform and specifies the first data feature of the training data and the process description information of the modeling process; The joint modeling platform generates an offline modeling code package based on at least the first data feature and the process description information and returns it to the first-level online device; The primary online device provides the offline modeling code package to the secondary online device, so that the secondary user creates an offline modeling container in the offline device according to the offline modeling code package; The offline modeling container receives the second data feature of the training data input by the secondary user, and performs modeling processing on the first data feature and the second data feature according to the modeling process in an offline state to obtain a target machine learning model.

15. A joint modeling system, the system comprising a joint modeling platform, a primary online device used by a primary user, and a secondary online device and an offline device used by a secondary user, wherein: The first-level online device is used to initiate a joint modeling request to the joint modeling platform and specify the first data feature of the training data and the process description information of the modeling process; The joint modeling platform is used to generate an offline modeling code package based on at least the first data feature and the process description information and return it to the first-level online device; The primary online device is used to provide the offline modeling code package to the secondary online device, so that the secondary user can create an offline modeling container in the offline device according to the offline modeling code package; The offline modeling container is used to receive the second data feature of the training data input by the secondary user, and to model the first data feature and the second data feature according to the modeling process in an offline state to obtain a target machine learning model.