Multi-model combination development platform, development method and related device
By providing a multi-model combination development platform, using a unified API and component collection, the problems of manual configuration and interface unification in multi-model combination development are solved, and efficient and flexible multi-model combination development is achieved.
Patent Information
- Application Number
- CN202411896102.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-20
- Publication Date
- 2025-04-11
AI Technical Summary
In the process of actually combining multiple models, developers need to spend a lot of time and effort on complex manual configuration and integration operations, and the lack of a unified interface between different models, which makes it difficult to combine multiple models.
Provide a multi-model combination development platform, which supports developers to quickly build models and call models for inference and prediction through a unified API, lowering the threshold for model combination development. The platform includes a component set, a driver and a data pipeline. The component set provides multiple candidate components. The driver scheduling components process data in sequence according to the processing flow. The data pipeline is used for data transmission and storage.
Through a unified API and component collection, the work complexity of developers is reduced, the efficiency of multi-model combination development is improved, diverse business needs are supported, and the flexibility and scalability of the system is enhanced.
Smart Images

Figure CN119810545A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of data processing technology, and in particular to the technical fields of artificial intelligence, large models, deep learning, model combination development, etc. Background Art
[0002] With the development of artificial intelligence technology, its application in various fields has become more and more extensive, becoming an important force to promote the development of various fields. With the continuous expansion of model scale and the increasing maturity of technology, different neural network models have demonstrated excellent processing capabilities for specific tasks. Summary of the invention
[0003] The present invention provides a multi-model combination development platform, a development method and related devices.
[0004] According to one aspect of the present disclosure, a multi-model combination development platform is provided, comprising:
[0005] A component set, including a plurality of candidate components, each of which encapsulates a corresponding data processing operation; the plurality of candidate components have a unified API (Application Programming Interface) to support building a processing flow based on at least one neural network model by defining associations between input interfaces and output interfaces between different target components in the plurality of candidate components; the at least one neural network model is determined based on the plurality of target components;
[0006] A driver, used to schedule multiple target components to process data in sequence according to a processing flow;
[0007] Data pipelines are used to provide data to multiple target components and store data involved in the processing flow.
[0008] According to one aspect of the present disclosure, a multi-model combination development method is provided, comprising:
[0009] In response to the association relationship between the input interface and the output interface of the plurality of target components defined in a coded manner, a connection relationship between the plurality of target components is determined; wherein the plurality of target components are components among a plurality of candidate components provided by the multi-model combination development platform, and the plurality of candidate components have a unified API;
[0010] In response to the operation of adding multiple target components to a driver provided by a multi-model combination development platform, a processing flow based on at least one neural network model is built based on the driver; the at least one neural network model is determined based on the multiple target components.
[0011] According to another aspect of the present disclosure, there is provided a multi-model combination development device, comprising:
[0012] A determination module, configured to determine a connection relationship between the plurality of target components in response to an association relationship between an input interface and an output interface between the plurality of target components defined in a coded manner; wherein the plurality of target components are components among a plurality of candidate components provided by the multi-model combination development platform, and the plurality of candidate components have a unified application development interface API;
[0013] A building module is used to respond to the operation of adding multiple target components to the driver provided by the multi-model combination development platform, and to build a processing flow based on at least one neural network model based on the driver; at least one neural network model is determined based on multiple target components.
[0014] According to another aspect of the present disclosure, there is provided an electronic device, comprising:
[0015] at least one processor; and
[0016] a memory communicatively connected to the at least one processor; wherein,
[0017] The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to execute any method in the embodiments of the present disclosure.
[0018] According to another aspect of the present disclosure, a non-transitory computer-readable storage medium storing computer instructions is provided, wherein the computer instructions are used to enable the computer to execute any method according to the embodiments of the present disclosure.
[0019] According to another aspect of the present disclosure, a computer program product is provided, including a computer program, which implements any method according to the embodiments of the present disclosure when executed by a processor.
[0020] It should be understood that the content described in this section is not intended to identify the key or important features of the embodiments of the present disclosure, nor is it intended to limit the scope of the present disclosure. Other features of the present disclosure will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS
[0021] The accompanying drawings are used to better understand the present solution and do not constitute a limitation of the present disclosure.
[0022] Figure 1 is a structural diagram of a multi-model combination development platform provided according to an embodiment of the present disclosure;
[0023] Figure 2 is a schematic diagram of a processing flow constructed by a driver according to an embodiment of the present disclosure;
[0024] Figure 3 is another structural schematic diagram of a multi-model combination development platform provided according to an embodiment of the present disclosure;
[0025] Figure 4 is a flowchart of a multi-model combination development method provided according to an embodiment of the present disclosure;
[0026] Figure 5 is another flowchart of a multi-model combination development method provided according to an embodiment of the present disclosure;
[0027] Figure 6 is a structural diagram describing that multiple components are executed in sequence depending on a data pipeline according to an embodiment of the present disclosure;
[0028] Figure 7 It is a flowchart of multiple models being executed sequentially, taking image processing as an example, according to an embodiment of the present disclosure;
[0029] Figure 8 It is a schematic diagram of a process for extracting key information from an image by using a process developed by combining multiple models according to an embodiment of the present disclosure;
[0030] Fig. 9 is a structural schematic diagram of a multi-model combination development device provided according to an embodiment of the present disclosure;
[0031] Fig.10 is another structural schematic diagram of a multi-model combination development device provided according to an embodiment of the present disclosure;
[0032] Fig.11 It is a block diagram of an electronic device used to implement the multi-model combination development method of the embodiment of the present disclosure. DETAILED DESCRIPTION
[0033] The following is a description of exemplary embodiments of the present disclosure in conjunction with the accompanying drawings, including various details of the embodiments of the present disclosure to facilitate understanding, which should be considered as merely exemplary. Therefore, it should be recognized by those of ordinary skill in the art that various changes and modifications may be made to the embodiments described herein without departing from the scope of the present disclosure. Similarly, for the sake of clarity and conciseness, the description of well-known functions and structures is omitted in the following description.
[0034] As artificial intelligence technology continues to develop in various fields, business needs are also expanding and diversifying. This has led to the need to combine multiple neural network models to meet complex business challenges. However, in the actual process of combining multiple models, many significant problems have gradually emerged.
[0035] On the one hand, the combination process of multiple models often relies on complex manual configuration and integration operations. Developers need to spend a lot of time and energy to coordinate the parameter settings between different models. This manual operation is not only inefficient, but also prone to human errors, making the entire development process full of uncertainty and risk.
[0036] On the other hand, there is a lack of unified interfaces between different models, which means that when combining models, developers have to adapt and adjust the interfaces of each model individually, making multi-model combination difficult.
[0037] In view of this, the embodiments of the present disclosure provide a multi-model combination development platform. The platform can provide a unified API to help developers quickly complete the construction of models and call models for reasoning and prediction, thereby lowering the threshold for model combination development. Figure 1 It is a structural diagram of the development platform system provided by the present invention, such as Figure 1 As shown, including:
[0038] The component set 101 includes a plurality of candidate components, each of which encapsulates a corresponding data processing operation; the plurality of candidate components have a unified application development interface API to support building a processing flow based on at least one neural network model by defining an association relationship between input interfaces and output interfaces between different target components in the plurality of candidate components; the at least one neural network model is determined based on the plurality of target components;
[0039] The data processing operation refers to the specific functions of each candidate component for performing specific processing on data. For example, some candidate components can convert the format of data, some can extract features from data, and some can perform different data processing operations such as cropping or rotating images.
[0040] Based on the unified application development interface API of multiple candidate components, the association relationship between the input interface and the output interface of different target components can be defined according to different task requirements, so as to build a processing flow of at least one neural network model through multiple target components. For example, the original data is first preprocessed by target component A, and then the preprocessed data is sent to target component B for feature extraction, and then the data with extracted features is passed to target component C for subsequent analysis.
[0041] It is understandable that candidate components with no input or no output are also supported. For example, for a neural network reasoning data processor, it involves three operations, each of which implements a corresponding candidate component, including: a first component that copies data from memory to video memory, a reasoning component, and a second component that copies data from video memory to memory; the first component that copies data to video memory processes data in the form of a pointer through the interface of the reasoning engine, so there is no output. Similarly, the second component that copies data to memory has no input, and the reasoning component responsible for execution has no input and output.
[0042] In addition, candidate components support nesting. Candidate components can call other candidate components to complete data processing operations. The number of nesting levels can be set as needed, and the embodiments of the present disclosure do not limit this.
[0043] It can be understood that each component in the component set can be referred to as a candidate component. After the processing flow is built, the component used in the processing flow is the target component.
[0044] Driver 102, used to schedule multiple target components to process data in sequence according to the processing flow;
[0045] As the name implies, the processing flow based on at least one neural network model determined by multiple target components does not have the ability to run itself, so the driver is responsible for giving the processing flow running power and enabling it to actually run in the entire processing flow, thereby ensuring that each target component can participate in the data processing work in an orderly manner. Therefore, the driver 102 is the key to ensuring that the entire processing flow based on the target components can be effectively executed.
[0046] The data pipeline 103 is used to provide data to multiple target components and store data involved in the processing flow.
[0047] The data involved in the processing flow may include input data and / or output data of any target component.
[0048] In the processing flow of the neural network model, the data pipeline is the infrastructure for data transmission, which can store the data output by the target component and provide data to the target component.
[0049] In the entire processing flow, when a target component completes its specific data processing task, the intermediate result data generated will also be stored in the data pipeline so that it can be provided to the target component of the subsequent process when necessary to meet the needs of subsequent processing steps.
[0050] Whether it is the output data of the target component or the intermediate data generated in the processing flow. When these data are stored in the data pipeline, the data pipeline will mark the source of the data and provide relevant API access interfaces for the target components in the processing flow to access the data. During implementation, for any target component, the output data of any target component and the component identification of any target component are associated and stored in the data pipeline.
[0051] When implemented, the data pipeline can be an in-memory dict.
[0052] In the disclosed embodiment, based on a unified application API, developers do not need to learn the different calling methods, parameter settings and other complex usage operations of each component when using these target components. They can operate them according to a unified API to form a processing flow based on at least one neural network model. The driver can schedule multiple target components to process data in sequence according to the processing flow, so that the entire data processing process is carried out in an orderly manner, and the problem of confusion in the data transmission of the processing flow caused by manually encoding the processing flow of the target component can be avoided. The data pipeline can manage these data in a unified manner by storing these data, ensure the integrity of the data in the processing flow, and increase the probability that the entire processing flow can operate normally. In summary, the multi-model combination development platform provided by the disclosed embodiment can reduce the complexity of the work of developers, improve the efficiency of multi-model combination development, and by encapsulating a set of components with rich functions, the multi-model combination development platform can meet diverse business needs. In short, in the face of the diversity of input and output data types of different models, unified management can be carried out through a unified API, the flexibility of the system is improved, and complex and changeable actual business scenarios can be coped with, meeting the needs of users for diversified data processing and model application.
[0053] In the embodiment of the present disclosure, in order to improve the operating efficiency of the processing flow, the input streams and output streams of multiple candidate components are pipeline objects, wherein the pipeline object of the input stream is used to obtain the input stream from the data pipeline, and the pipeline object of the output stream is used to store the output stream in the data pipeline.
[0054] That is, the pipeline object of the input stream can interact with the data pipeline according to the relevant data reading API provided by the data pipeline, and extract data that meets the requirements of the component from the data pipeline as the input stream data of the component.
[0055] Similarly, the pipeline object of the output stream can interact with the data pipeline based on the relevant data writing API provided by the data pipeline, and store the output stream data in the data pipeline in an orderly manner according to the storage specifications and requirements of the data pipeline.
[0056] In the disclosed embodiment, the input stream and output stream of the candidate component are designed as pipeline objects, and a close interaction mechanism is established with the data pipeline, so that the entire data processing flow can be carried out coherently and smoothly, avoiding the confusion of data transmission and the risk of data loss, while also improving the reusability of data and the flexibility and scalability of the entire processing flow.
[0057] In the disclosed embodiment, the data pipeline is also used to clear unnecessary data in the remaining processing flow from the data pipeline based on the processing progress of the processing flow.
[0058] That is, the data pipeline sets a life cycle for each data in the processing flow, and automatically releases the data when subsequent target components no longer need the data, thereby saving memory usage.
[0059] by Figure 2 For example, the output data of target component A and target component B are used as the input data of target component C, and after target component C outputs the data, it is processed by target component D. When the processing progress is to complete the operation of target component C, the remaining process only includes target component D. Correspondingly, the data of target component A and target component B are no longer used by the processing flow, and at this time, the output data of target component A and target component B can be cleared from the data pipeline.
[0060] In the disclosed embodiment, the data pipeline is also used to clear data that is not needed in the remaining processing flow from the data pipeline based on the processing progress of the processing flow, which can reduce the complexity of data management in the data pipeline and ensure that the data retained in the data pipeline are valid data closely related to the current and subsequent processing links. This can enable the entire data processing flow to continue to advance efficiently and stably, and save storage resources of the data pipeline.
[0061] In the embodiment of the present disclosure, the driver schedules multiple target components to process data in sequence according to the processing flow. A directed acyclic graph can be constructed based on the processing flow. In the directed acyclic graph, the nodes are multiple target components and the edges represent the data flows transmitted between different target components. The driver schedules multiple target components to process data in sequence according to the processing flow based on the directed acyclic graph.
[0062] During implementation, developers define the connection relationship between different target components to realize the definition of the processing flow. Based on the pre-set processing flow, the driver can map multiple target components as nodes in the graph, and the data flow transmitted between different target components is represented as the edges connecting these nodes. In this way, the originally abstract processing flow is visualized as an intuitive directed acyclic graph structure, thereby determining the execution order and dependency relationship between each target component. This allows the driver to automatically schedule multiple defined target components and obtain data processing results end-to-end.
[0063] The data flow is set through the relevant APIs between the target components.
[0064] In the disclosed embodiment, the driver can abstract the processing flow into a directed acyclic graph based on the unified interface dependency between the target components, so that the driver can manage the entire data processing flow in an orderly manner, ensuring that each target component obtains the correct data input at the right time and obtains end-to-end data processing results.
[0065] In the embodiment of the present disclosure, in order to improve the flexibility and convenience of multi-model combination development, the multiple candidate components include at least one of the following types of components:
[0066] (1) Basic components, which encapsulate the smallest unit of data processing operations. The basic components may include multiple pre-processing components and / or multiple post-processing components.
[0067] The preprocessing component is used to perform preprocessing operations on input data;
[0068] For example, performing preprocessing operations on input data means converting the original input data into a form that is more suitable for subsequent processing steps, laying a good foundation for subsequent data processing and analysis.
[0069] Taking image processing as an example, the preprocessing component may perform a cropping operation on the image to remove unnecessary edge parts or irrelevant background in the image; it may also perform grayscale processing on the image to convert the color image into a grayscale image, reduce the amount of data while retaining the key features of the image, so that it meets the input requirements of the subsequent processing model, etc. For another example, the preprocessing operation may also include data format conversion. For example, the image processing component can only process the original image data. When a component provides an image address, the image metadata can be obtained from the address through the preprocessing component and stored in the data pipeline to provide it to the image processing component. In addition, the preprocessing operation may also include converting the data format. For example, the image is converted into the form of Numpy ndarray (multidimensional array) and stored in the data pipeline for use by subsequent components. Whether to convert the format can be flexibly determined by the driver according to the input requirements of the target component, and the embodiments of the present disclosure do not limit this.
[0070] Post-processing components are used to perform post-processing operations on input data.
[0071] Post-processing operations are often based on the data results obtained in the previous links, and further optimize, convert or extract more valuable information.
[0072] Taking the post-processing of image processing models as an example, the post-processing of image processing models refers to a series of optimization and improvement operations on the output results after the model completes its main image analysis task. The purpose of post-processing is to improve the accuracy and stability of the detection results and improve the final output quality. It may include non-maximum suppression (NMS), confidence filtering, coordinate correction, category probability conversion, etc.
[0073] Confidence filtering refers to filtering out detection results with lower scores based on the confidence threshold, and only retaining those detection boxes with high confidence.
[0074] Coordinate correction refers to mapping the coordinates of the detection box output by the model back to the original image size, because the model is usually predicted on a scaled or adjusted image.
[0075] Category probability conversion refers to converting the category probability output by the model into a specific category label. Usually, the category with the highest probability is selected as the final category prediction.
[0076] In the disclosed embodiment, the preprocessing component performs preprocessing operations on the input data, and the input data can be optimized and standardized to facilitate different processing requirements. The postprocessing component performs postprocessing operations on the input data, which can further meet the optimization and improvement of the model output data in specific application scenarios. The combination of the preprocessing component and the postprocessing component can flexibly develop model combinations and improve the efficiency and convenience of development.
[0077] (2) Prediction model component, which encapsulates multiple models to complete specific tasks.
[0078] When implemented, the multiple models complete the same specific task. Completing the same specific task requires combining multiple data processing operations.
[0079] For example, multiple neural network models for image classification tasks can be encapsulated to encapsulate multiple models that complete image classification tasks in the same prediction model component. Developers can determine which model to use to build the processing flow based on their needs.
[0080] Therefore, it can also be understood that multiple basic components are defined within a prediction model component.
[0081] (3) Model production line component, used to call multiple prediction model components in a preset execution order.
[0082] The model production line component is an end-to-end predictive reasoning system composed of multiple predictive model components.
[0083] In the disclosed embodiment, multiple data processing operations are encapsulated to form a prediction model component, which can support the independent completion of a single target task, making it easier to manage and use. The model production line calls multiple prediction model components in a preset execution order, which can implement more complex prediction logic and solve more complex problems. By providing candidate components of different granularities, the required processing flow can be flexibly organized according to the purpose, improving the development efficiency of multi-model combinations.
[0084] To be compatible with more task requirements, such as Figure 3 As shown, the multi-model combination development platform provided in the embodiment of the present disclosure also includes a data sampler 104, which can support multiple input data types; such as picture files, audio files, text files, video streams, audio streams and other streaming data.
[0085] The data sampler is used to sample the input data to obtain at least one batch of data, convert the at least one batch of data into the target data type, and input it to the components in the processing flow in batches until the sampling is completed. If necessary, the data sampler can also perform a validity check on the input data of the target object, and if the check passes, the input data is sampled to obtain at least one batch of data.
[0086] For example, for picture files, it will check whether the image resolution, size, color mode, etc. meet the preset standards, whether the image file is complete and not damaged, etc.; for audio files, it will check whether the audio sampling rate, number of channels, duration and other parameters are compliant, and whether there are any abnormal conditions such as truncation or excessive noise in the audio data; for text files, it will check whether the text encoding format is correct, whether it contains garbled characters that affect subsequent processing, and whether the text content meets the corresponding grammatical and semantic rules and other basic requirements.
[0087] If the test passes, the input data is sampled to obtain at least one batch of data and converted into the target data type that meets the requirements of the target component. Then, all the required data is delivered to the corresponding target component in the processing flow in batches according to the set sampling rules.
[0088] In addition, if necessary, the data sampler can also convert at least one batch of data into a target data type and input it into a corresponding target component in the processing flow.
[0089] In the disclosed embodiment, the data sampler is used to sample various data types and perform operations such as batch input, so that the development user does not need to code to complete the data sampling operation, thereby improving the development efficiency. Moreover, the encapsulated data sampler can adapt to the API interface of the target component, providing a high-quality, compliant data foundation for the subsequent processing flow, which can ensure the accuracy and reliability of the entire data processing flow, so that it can be applied to different fields and different scenarios.
[0090] In addition, if Figure 3 As shown, the multi-model combination development platform provided in the embodiment of the present disclosure further includes a result wrapper 105, which is used to provide at least one specific operation on the output data of the processing flow.
[0091] The result wrapper is used to package the output of the prediction model and the output of the model production line, thereby providing users with a rich and unified interface, such as access, printing, persistent storage, visualization, serialization and other operations of the prediction results.
[0092] In summary, based on the design of the above target components, the multi-model combination development platform provided by the embodiment of the present disclosure can support the call execution logic of series and / or parallel connection of models in a low-code (i.e., small amount of code) manner. Based on modular design, the tool provides good scalability and supports users to customize the implementation of multi-model combination, thereby solving complex practical problems.
[0093] Based on the same concept, the present disclosure also provides a multi-model combination development method, which can be applied to the multi-model combination development platform described above. Figure 4 As shown, including the following:
[0094] S401, in response to the association relationship between the input interface and the output interface of the multiple target components defined in a coded manner, determine the connection relationship between the multiple target components; wherein the multiple target components are components among the multiple candidate components provided by the multi-model combination development platform, and the multiple candidate components have a unified application development interface API.
[0095] That is, based on the association relationship between the input interfaces and the output interfaces of the multiple target components defined by the multi-model combination development platform described above, the connection relationship between the multiple target components is determined.
[0096] S402, in response to the operation of adding multiple target components to the driver provided by the multi-model combination development platform, a processing flow based on at least one neural network model is built based on the driver; at least one neural network model is determined based on the multiple target components.
[0097] That is, the target component can be used to call the neural network model to perform reasoning operations, so at least one neural network model can be determined based on the target component.
[0098] After determining the connection relationship between multiple target components, the target components are then added to the instantiated driver, and the driver schedules the multiple target components to process data in sequence according to the processing flow.
[0099] In the disclosed embodiment, based on a unified application development interface API, the connection relationship between target components is determined by defining the component interface association relationship through coding, and then the neural network model processing flow is built based on the target components with the help of a driver, so that different target components can be flexibly combined with a small amount of code to perform a variety of tasks. Therefore, the disclosed embodiment can improve the development efficiency of multi-model combination to meet the user's needs for diversified data processing and model application.
[0100] In the embodiment of the present disclosure, in response to the association relationship between the input interface and the output interface of multiple target components defined in a coded manner, the connection relationship between the multiple target components can be determined as follows: Figure 5 As shown, including:
[0101] S501 , in response to an operation of assigning component names of multiple target components to multiple custom component names in an encoding manner, determining a mapping relationship between the multiple custom component names and the multiple target components.
[0102] For example, define target component A, target component B, and target component C as "ProcessorA", "ProcessorB", and "ProcessorC" respectively. Create three custom component names through coding, such as "processor-a", "processor-b", and "processor-c", and then assign the target component name "ProcessorA" to "processor-a", "ProcessorB" to "processor-b", and "ProcessorC" to "processor-c". In this way, the mapping relationship between multiple custom component names and multiple target components can be determined.
[0103] S502, for any target component name among multiple custom component names, in response to the operation of assigning the output stream of at least one custom component name among the multiple custom component names to the input stream of the target component name, determine the connection relationship between the target component corresponding to the target component name and the target component of at least one custom component name.
[0104] That is, after determining the mapping relationship between the custom component name and the target component, the connection relationship between the target component corresponding to the target component name and the target components corresponding to those custom component names is determined by assigning the output stream of at least one other custom component name to the input stream of the target component name.
[0105] like Figure 2 As shown, the output stream of target component A can be used as the input stream of target component B, and at the same time, the output stream of target component A and the output stream of target component B can be used as the input stream of target component C. The connection relationship between each target component can be determined by only defining the relationship between the input stream and the output stream through a unified API interface.
[0106] In the disclosed embodiment, the mapping relationship between the target component and the custom component name is determined, and then the connection relationship between the target components is determined by coding. This can provide an orderly and flexible method, providing an effective means of implementation for building complex data processing processes. And by defining the relationship between input streams and output streams through a unified API interface, the amount of code developed can be effectively reduced, and the efficiency of multi-model combination development can be improved.
[0107] In the embodiment of the present disclosure, as described above, the input streams and output streams of multiple target components are pipeline objects, wherein the pipeline object of the input stream is used to obtain the input stream from the data pipeline, and the pipeline object of the output stream is used to store the output stream in the data pipeline.
[0108] In the disclosed embodiment, the input stream and output stream of the candidate component are designed as pipeline objects, and a close interaction mechanism is established with the data pipeline, so that the entire data processing flow can be carried out coherently and smoothly, avoiding the confusion of data transmission and the risk of data loss, while also improving the reusability of data and the flexibility and scalability of the entire processing flow.
[0109] In the disclosed embodiment, for the processing flow of the neural network model, in response to the operation of running the processing flow, a directed acyclic graph can be constructed based on the processing flow through a driver. In the directed acyclic graph, nodes are multiple target components and edges represent data flows between different target components. The driver schedules multiple target components to process data in sequence according to the directed acyclic graph.
[0110] Based on the content described above, the driver schedules multiple target components to process data in sequence according to the processing flow, which can be achieved by building a directed acyclic graph based on the processing flow. After successfully building the directed acyclic graph, the driver will schedule multiple target components to process data in sequence according to the structure of this graph. The whole process is orderly and follows a strict logical order. Figure 2As shown, the driver will start with the target component A as the starting node of the directed acyclic graph, and activate the target components represented by each node in turn according to the directed acyclic graph to start working. Specifically, for the components to be run involved in the current processing progress in the processing flow, data is obtained from the data pipeline according to the input stream required by the components to be run, and input to the components to be run, and then the output stream of the components to be run is stored in the data pipeline according to the pipeline object of the components to be run.
[0111] In the disclosed embodiment, the driver schedules multiple target components to process data in sequence according to a directed acyclic graph, which can effectively avoid the confusion that may occur in the data processing process by utilizing the structural characteristics of the directed acyclic graph, ensuring the accuracy, stability and efficiency of the entire data processing process, and providing a reliable guarantee for the realization of complex data processing tasks. Moreover, through the driver provided by the multi-model combination development platform, it only needs to define the target component into the driver to start running, without the need for additional code development, which can improve development efficiency.
[0112] In addition, as described above, during the process of the driver running the processing flow, the processing progress of the processing flow can also be monitored based on the directed acyclic graph; and the remaining processing flow can be determined based on the processing progress.
[0113] When there is data to be cleaned that is not needed in the remaining processing flow in the data pipeline, the data to be cleaned is cleared from the data pipeline.
[0114] In summary, by using directed acyclic graphs to monitor the progress of the processing flow, determine the remaining processing flow, and clean up useless data in the data pipeline, a closely related and interlocking data management and process monitoring system is formed, which helps to improve the operating efficiency and resource utilization efficiency of the entire data processing process.
[0115] In the disclosed embodiment, the original input data is processed by the data sampler provided by the multi-model combination development platform. The data sampler can support a variety of input data types, such as picture files, audio files, text files, video streams, audio streams and other streaming data.
[0116] The data sampler is used to sample the input data to obtain at least one batch of data, convert the at least one batch of data into the target data type, and input it to the components in the processing flow in batches until the sampling is completed. If necessary, the data sampler can also perform a validity check on the input data of the target object, and if the check passes, the input data is sampled to obtain at least one batch of data.
[0117] In addition, if necessary, the data sampler can also convert at least one batch of data into a target data type and input it into a corresponding target component in the processing flow.
[0118] In the disclosed embodiment, the data sampler is used to sample various data types and perform operations such as batch input, so that the development user does not need to code to complete the data sampling operation, thereby improving the development efficiency. Moreover, the encapsulated data sampler can adapt to the API interface of the target component, providing a high-quality, compliant data foundation for the subsequent processing flow, which can ensure the accuracy and reliability of the entire data processing flow, so that it can be applied to different fields and different scenarios.
[0119] In the embodiment of the present disclosure, for the final output data, a specific operation to be performed on the output data may be determined in response to the operation of the output data association result wrapper using the encoding method as the processing flow.
[0120] The specific operation includes at least one of the following:
[0121] (1) Access output data;
[0122] That is, obtaining the output data that has been generated so that it can be viewed, further processed or used.
[0123] (2) Printing output data;
[0124] The output data will be presented in a visual form that is easy to view directly.
[0125] (3) Persistent storage of output data;
[0126] That is, the output data is saved to a storage medium that can be retained for a long time.
[0127] (4) Visualize output data;
[0128] (5) Serialize the output data.
[0129] That is, converting the output data structure into a format that can be stored or transmitted.
[0130] By performing the above specific operations on the output data, the output data can be viewed, displayed, stored for a long time, intuitively understood, and easily transmitted and reused, thus meeting the needs of data utilization in different application scenarios from many aspects.
[0131] In the disclosed embodiment, in response to the operation of associating the output data of the processing flow with the encoding method as the result wrapper, the output can be packaged, thereby providing a rich and unified interface to the user, which is helpful for data management.
[0132] In the embodiment of the present disclosure, the multiple candidate components as described above include at least one of the following types of components:
[0133] (1) Basic components, which encapsulate the smallest unit of data processing operations; the basic components include multiple pre-processing components and / or multiple post-processing components, where:
[0134] A preprocessing component, used to perform preprocessing operations on input data;
[0135] Post-processing components are used to perform post-processing operations on input data.
[0136] In the disclosed embodiment, the input raw data can be optimized and standardized by performing preprocessing operations on the input data through the preprocessing component. The requirements for the final presentation form and quality of the data in a specific application scenario can be further met by performing postprocessing operations on the input data through the postprocessing component. The combination of the preprocessing component and the postprocessing component enables the entire data processing flow to achieve effective transformation from raw input data to high-quality data results that meet application requirements.
[0137] (2) Prediction model component, which encapsulates multiple data processing operations and supports independent completion of a single target task;
[0138] (3) Model production line component, used to call multiple prediction model components in a preset execution order.
[0139] In the disclosed embodiment, multiple data processing operations are encapsulated to form a prediction model component, which can support the independent completion of a single target task, making it easier to manage and use. The model production line calls multiple prediction model components in a preset execution order, which can realize more complex prediction logic and solve more complex problems.
[0140] In summary, taking the processing flow including multiple target components as an example, combined with Figure 6 The data pipeline, driver and target components are provided for illustration of the embodiments of the present disclosure.
[0141] like Figure 6 As shown, the constructed processing flow includes prediction model component 1 and prediction model component 2. The driver schedules each component to perform data processing tasks according to the processing flow. The output result of prediction model component 1 is provided to prediction model component 2 for use.
[0142] by Figure 6 Take the prediction model component 1 in as an example. It includes target component A, target component B, target component C and target component D. Among them, the output stream of target component A is provided to target component B and target component C. The output stream of target component C is provided to target component D. The output stream of target component D is provided to prediction model component 2.
[0143] like Figure 6 As shown, after target component A obtains the input stream from the data pipeline for processing, the output stream of target component A is stored in the data pipeline. Subsequently, both target component B and target component C can obtain the output stream of target component A from the data pipeline as the input stream for data processing. After target component B obtains the output stream from the processed data, it stores it in the data pipeline (not shown in the figure) to provide it to target component C through the data pipeline. After obtaining the output stream of target component C, its output data is stored in the data pipeline and provided to target component D for use.
[0144] The reading and writing of input and the operation of each target component can be scheduled by the driver.
[0145] like Figure 7 As shown, the processing flow built with the image processing scenario is used to schedule the operation of each target component, wherein the designed neural network model may include an image classification model, an OCR (Optical Character Recognition) recognition model and an OCR detection model, and the processing flow includes:
[0146] S701, input the input data to the preprocessing component in batches through the data sampler.
[0147] S702, scheduling the preprocessing component to perform preprocessing operations through the preprocessing component interface, and storing the obtained preprocessing results in the data pipeline.
[0148] For example, the preprocessing component can be used to convert the data format of the input raw data or perform cropping operations.
[0149] S703, scheduling the image classification model through the model scheduling interface to obtain the preprocessing results from the data pipeline, and performing image classification operations on the preprocessing results to obtain classification results.
[0150] For example, classify whether the image is skewed by 90° or another degree.
[0151] S704, scheduling the post-processing component to perform image correction according to the classification result through the post-processing component interface, and storing the obtained correction result in the data pipeline.
[0152] S705, scheduling the OCR detection model through the model scheduling interface to detect the correction result and obtain the detection result.
[0153] S706, scheduling the OCR recognition model through the model scheduling interface to perform OCR recognition on the detection result, and outputting the recognition result after obtaining it.
[0154] like Figure 8As shown, taking the extraction of key information from an image as an example, the process of developing the embodiment of the present disclosure through the multi-model combination development platform is described, including the following contents:
[0155] S801, obtaining a query statement (Query) provided by the target object.
[0156] For example, request to query the seal content and time information in the image.
[0157] S802, the image to be identified is used as a data file, aligned and analyzed for layout, and the analysis result is obtained. The layout analysis includes the following process:
[0158] S8021, classify the image using an image direction classification model to obtain a classification result.
[0159] S8022, using a text image correction model to perform correction based on the classification result to obtain a corrected image.
[0160] S8023,adopts the board area detection model to detect the rectified image and obtains different areas,including the seal area, text area and table area.
[0161] S8024, using a seal text detection component to detect the seal area to obtain seal information.
[0162] S8025, detecting the text area using a text detection component to obtain text content.
[0163] S8026, using a table recognition component to detect the table area to obtain the table content.
[0164] S8027, the seal information, text content and table content are summarized through a summary component to obtain a text recognition result.
[0165] S803: Construct a search vector for the acquired user query.
[0166] S804, by calling the Prompt (prompt word) generator, the search vector and the text recognition result obtained by version analysis are used to generate prompt words.
[0167] S805, using a large language model to process the prompt word, obtain the extracted key information and output it.
[0168] Based on the same technical concept, the embodiment of the present disclosure also proposes a multi-model combination development device 900, such as Fig. 9 As shown, including:
[0169] A determination module 901 is used to determine a connection relationship between multiple target components in response to an association relationship between input interfaces and output interfaces between multiple target components defined in a coded manner; wherein the multiple target components are components among multiple candidate components provided by the multi-model combination development platform, and the multiple candidate components have a unified application development interface API;
[0170] Building module 902 is used to respond to the operation of adding multiple target components to the driver provided by the multi-model combination development platform, and build a processing flow based on at least one neural network model based on the driver; at least one neural network model is determined based on multiple target components.
[0171] In some embodiments, Fig.10 As shown, the determination module 901 includes:
[0172] A relationship determination unit 9011, configured to determine a mapping relationship between a plurality of custom component names and a plurality of target components in response to an operation of assigning component names of a plurality of target components to a plurality of custom component names in an encoding manner;
[0173] The connection unit 9012 is used to determine, for any target component name among multiple custom component names, a connection relationship between a target component corresponding to a target component name and a target component of at least one custom component name in response to an operation of assigning an output stream of at least one custom component name among the multiple custom component names to an input stream of the target component name.
[0174] In some embodiments, the input streams and output streams of multiple target components are pipeline objects, wherein the pipeline object of the input stream is used to obtain the input stream from the data pipeline, and the pipeline object of the output stream is used to store the output stream in the data pipeline.
[0175] In some embodiments, Fig.10 As shown, the process also includes a processing module 903, which is used to:
[0176] In response to the operation of running the processing flow, a directed acyclic graph is constructed based on the processing flow by the driver, in which the nodes are multiple target components and the edges represent data flows between different target components;
[0177] The driver schedules multiple target components to process data in sequence according to a directed acyclic graph.
[0178] In some embodiments, Fig.10 As shown, it also includes a clearing module 904, which is used to:
[0179] Monitor the processing progress of the process based on a directed acyclic graph;
[0180] Determine the remaining processing flow based on the processing progress;
[0181] When there is data to be cleaned that is not needed in the remaining processing flow in the data pipeline, the data to be cleaned is cleared from the data pipeline.
[0182] In some embodiments, Fig.10 As shown, it also includes a sampling module 905, which is used to:
[0183] Through the data sampler provided by the multi-model combination development platform, the input data of the target object is sampled to obtain at least one batch of data, and the data is input to the components in the processing flow in batches until the sampling is completed.
[0184] In some embodiments, Fig.10 As shown, it also includes an operation module 906, which is used to:
[0185] In response to the operation of associating the result wrapper with the output data of the processing flow in an encoding manner, a specific operation to be performed on the output data is determined.
[0186] In some embodiments, the specific operation includes at least one of the following:
[0187] Access output data, print output data, persist output data, visualize output data, and serialize output data.
[0188] In some embodiments, the plurality of candidate components include at least one of the following types of components:
[0189] Basic components encapsulate the smallest unit of data processing operations;
[0190] The prediction model component encapsulates multiple models to complete specific tasks;
[0191] The model production line component is used to call multiple prediction model components in a preset execution order.
[0192] In some embodiments, the base component includes a plurality of pre-processing components and / or a plurality of post-processing components, wherein:
[0193] A preprocessing component, used to perform preprocessing operations on input data;
[0194] Post-processing components are used to perform post-processing operations on input data.
[0195] For the description of specific functions and examples of each module and submodule of the device in the embodiment of the present disclosure, reference can be made to the relevant description of the corresponding steps in the above method embodiment, which will not be repeated here.
[0196] In the technical solution disclosed herein, the acquisition, storage and application of user personal information involved are in compliance with the provisions of relevant laws and regulations and do not violate public order and good morals.
[0197] According to an embodiment of the present disclosure, the present disclosure also provides an electronic device, a readable storage medium and a computer program product.
[0198] Fig.11 A schematic block diagram of an example electronic device 1100 that can be used to implement an embodiment of the present disclosure is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital assistants, cellular phones, smart phones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present disclosure described and / or required herein.
[0199] like Fig.11 As shown, the device 1100 includes a computing unit 1101, which can perform various appropriate actions and processes according to a computer program stored in a read-only memory (ROM) 1102 or a computer program loaded from a storage unit 1108 into a random access memory (RAM) 1103. In the RAM 1103, various programs and data required for the operation of the device 1100 can also be stored. The computing unit 1101, the ROM 1102, and the RAM 1103 are connected to each other via a bus 1104. An input / output (I / O) interface 1105 is also connected to the bus 1104.
[0200] A number of components in the device 1100 are connected to the I / O interface 1105, including: an input unit 1106, such as a keyboard, a mouse, etc.; an output unit 1107, such as various types of displays, speakers, etc.; a storage unit 1108, such as a disk, an optical disk, etc.; and a communication unit 1109, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 1109 allows the device 1100 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks.
[0201] The computing unit 1101 may be a variety of general and / or special processing components with processing and computing capabilities. Some examples of the computing unit 1101 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various dedicated artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, digital signal processors (DSPs), and any appropriate processors, controllers, microcontrollers, etc. The computing unit 1101 performs the various methods and processes described above, such as a multi-model combination development method. For example, in some embodiments, the quantization-aware training method may be implemented as a computer software program, which is tangibly included in a machine-readable medium, such as a storage unit 1108. In some embodiments, part or all of the computer program may be loaded and / or installed on the device 1100 via the ROM 1102 and / or the communication unit 1109. When the computer program is loaded into the RAM 1103 and executed by the computing unit 1101, one or more steps of the quantitative multi-model combination development method described above may be performed. Alternatively, in other embodiments, the computing unit 1101 may be configured to execute the multi-model combination development method in any other appropriate manner (eg, by means of firmware).
[0202] Various implementations of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), load programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various implementations can include: being implemented in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.
[0203] The program code for implementing the method of the present disclosure may be written in any combination of one or more programming languages. These program codes may be provided to a processor or controller of a general-purpose computer, a special-purpose computer, or other programmable data processing device, so that the program code, when executed by the processor or controller, enables the functions / operations specified in the flow chart and / or block diagram to be implemented. The program code may be executed entirely on the machine, partially on the machine, partially on the machine and partially on a remote machine as a stand-alone software package, or entirely on a remote machine or server.
[0204] In the context of the present disclosure, a machine-readable medium may be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, device, or equipment. A machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or equipment, or any suitable combination of the foregoing. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
[0205] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user can provide input to the computer. Other types of devices can also be used to provide interaction with the user; for example, the feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including acoustic input, voice input, or tactile input).
[0206] The systems and techniques described herein may be implemented in a computing system that includes back-end components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes front-end components (e.g., a user computer with a graphical user interface or a web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such back-end components, middleware components, or front-end components. The components of the system may be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: a local area network (LAN), a wide area network (WAN), and the Internet.
[0207] A computer system may include a client and a server. The client and the server are generally remote from each other and usually interact through a communication network. The relationship of client and server is generated by computer programs running on respective computers and having a client-server relationship with each other. The server may be a cloud server, a server of a distributed system, or a server combined with a blockchain.
[0208] It should be understood that the various forms of processes shown above can be used to reorder, add or delete steps. For example, the steps recorded in this disclosure can be executed in parallel, sequentially or in different orders, as long as the desired results of the technical solutions disclosed in this disclosure can be achieved, and this document does not limit this.
[0209] The above specific implementations do not constitute a limitation on the protection scope of the present disclosure. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions can be made according to design requirements and other factors. Any modification, equivalent substitution and improvement made within the principles of the present disclosure shall be included in the protection scope of the present disclosure.
Claims
1. A multi-model combination development platform, comprising: A component set, including multiple candidate components, each candidate component encapsulates a corresponding data processing operation; The multiple candidate components have a unified application development interface API to support building a processing flow based on at least one neural network model by defining association relationships between input interfaces and output interfaces between different target components in the multiple candidate components; The at least one neural network model is determined based on the plurality of target components; A driver, used for scheduling the plurality of target components to process data in sequence according to the processing flow; A data pipeline is used to provide data to the multiple target components and store the data involved in the processing flow.
2. The platform according to claim 1, wherein: The input streams and output streams of the multiple candidate components are pipeline objects, wherein the pipeline object of the input stream is used to obtain the input stream from the data pipeline, and the pipeline object of the output stream is used to store the output stream in the data pipeline.
3. The platform according to claim 1, wherein: The driver is used to construct a directed acyclic graph based on the processing flow, in which the nodes are the multiple target components and the edges represent data flows transmitted between different target components; The driver schedules the plurality of target components to process data in sequence according to the processing flow based on the directed acyclic graph.
4. The platform according to any one of claims 1 to 3, wherein: The multiple candidate components include at least one of the following types of components: Basic components encapsulate the smallest unit of data processing operations; The prediction model component encapsulates multiple models to complete specific tasks; The model production line component is used to call multiple prediction model components in a preset execution order.
5. The platform according to claim 4, wherein: The basic components include a plurality of pre-processing components and / or a plurality of post-processing components, wherein: The preprocessing component is used to perform preprocessing operations on input data; The post-processing component is used to perform post-processing operations on the input data.
6. The platform according to any one of claims 1 to 5, wherein: The data pipeline is also used to clear unnecessary data in the remaining processing flow from the data pipeline based on the processing progress of the processing flow.
7. The platform according to any one of claims 1 to 6, further comprising: Data sampler, supporting multiple input data types; The data sampler is used to sample the input data of the target object to obtain at least one batch of data, and input the data to the components in the processing flow in batches until the sampling is completed.
8. The platform according to any one of claims 1 to 7, further comprising: A result wrapper is used to provide at least one specific operation on the output data of the processing flow.
9. A multi-model combination development method, comprising: In response to the association relationship between the input interface and the output interface of the plurality of target components defined in a coded manner, determining the connection relationship between the plurality of target components; wherein the plurality of target components belong to components among the plurality of candidate components provided by the multi-model combination development platform, and the plurality of candidate components have a unified application development interface API; In response to the operation of adding the multiple target components to the driver provided by the multi-model combination development platform, a processing flow based on at least one neural network model is built based on the driver; the at least one neural network model is determined based on the multiple target components.
10. The method according to claim 9, wherein: The step of determining the connection relationship between the plurality of target components in response to the association relationship between the input interfaces and the output interfaces between the plurality of target components defined in an encoding manner comprises: In response to an operation of assigning component names of the plurality of target components to a plurality of custom component names in an encoding manner, determining a mapping relationship between the plurality of custom component names and the plurality of target components; For any target component name among the multiple custom component names, in response to the operation of assigning the output stream of at least one custom component name among the multiple custom component names to the input stream of the target component name, the connection relationship between the target component corresponding to the target component name and the target component of the at least one custom component name is determined.
11. The method according to claim 9, wherein: The input streams and output streams of the multiple target components are pipeline objects, wherein the pipeline object of the input stream is used to obtain the input stream from the data pipeline, and the pipeline object of the output stream is used to store the output stream in the data pipeline.
12. The method according to any one of claims 9 to 11, further comprising: In response to the operation of running the processing flow, constructing a directed acyclic graph based on the processing flow through the driver, in which nodes are the multiple target components and edges represent data flows between different target components; The driver schedules the multiple target components to process data in sequence according to the directed acyclic graph.
13. The method according to claim 12, further comprising: Monitoring the processing progress of the processing flow based on the directed acyclic graph; Determining the remaining processing flow based on the processing progress; When there is data to be cleaned up in the data pipeline that is not needed in the remaining processing flow, the data to be cleaned up is cleared from the data pipeline.
14. The method according to claim 12, further comprising: The input data of the target object is sampled by the data sampler provided by the multi-model combination development platform to obtain at least one batch of data, and the data is input to the components in the processing flow in batches until the sampling is completed.
15. The method according to any one of claims 9 to 12, further comprising: In response to associating a result wrapper with output data of the process flow in an encoding manner, a specific operation to be performed on the output data is determined.
16. The method according to claim 15, wherein: The specific operation includes at least one of the following: Access the output data, print the output data, persistently store the output data, visualize the output data, and serialize the output data.
17. The method according to any one of claims 9 to 16, wherein: The multiple candidate components include at least one of the following types of components: Basic components encapsulate the smallest unit of data processing operations; The prediction model component encapsulates multiple models to complete specific tasks; The model production line component is used to call multiple prediction model components in a preset execution order.
18. The method according to claim 17, wherein: The basic components include a plurality of pre-processing components and / or a plurality of post-processing components, wherein: The preprocessing component is used to perform preprocessing operations on input data; The post-processing component is used to perform post-processing operations on the input data.
19. A multi-model combination development device, comprising: A determination module, configured to determine a connection relationship between multiple target components in response to an association relationship between input interfaces and output interfaces between multiple target components defined in a coded manner; wherein the multiple target components are components among multiple candidate components provided by a multi-model combination development platform, and the multiple candidate components have a unified application development interface API; A building module is used to respond to the operation of adding the multiple target components to the driver provided by the multi-model combination development platform, and to build a processing flow based on at least one neural network model based on the driver; the at least one neural network model is determined based on the multiple target components.
20. The device according to claim 19, wherein The determining module comprises: a relationship determination unit, configured to determine a mapping relationship between the plurality of custom component names and the plurality of target components in response to an operation of assigning component names of the plurality of target components to the plurality of custom component names in an encoding manner; A connection unit is used to determine, for any target component name among the multiple custom component names, a connection relationship between a target component corresponding to the target component name and the target component of the at least one custom component name in response to an operation of assigning an output stream of at least one custom component name among the multiple custom component names to an input stream of the target component name.
21. The device according to claim 19, wherein The input streams and output streams of the multiple target components are pipeline objects, wherein the pipeline object of the input stream is used to obtain the input stream from the data pipeline, and the pipeline object of the output stream is used to store the output stream in the data pipeline.
22. The apparatus according to any one of claims 19 to 21, further comprising a processing module, configured to: In response to the operation of running the processing flow, constructing a directed acyclic graph based on the processing flow through the driver, in which nodes are the multiple target components and edges represent data flows between different target components; The driver schedules the multiple target components to process data in sequence according to the directed acyclic graph.
23. The apparatus according to claim 22, further comprising a clearing module, configured to: Monitoring the processing progress of the processing flow based on the directed acyclic graph; Determining the remaining processing flow based on the processing progress; When there is data to be cleaned up in the data pipeline that is not needed in the remaining processing flow, the data to be cleaned up is cleared from the data pipeline.
24. The apparatus according to claim 22, further comprising a sampling module, configured to: The input data of the target object is sampled by the data sampler provided by the multi-model combination development platform to obtain at least one batch of data, and the data is input to the components in the processing flow in batches until the sampling is completed.
25. The device according to any one of claims 19 to 22, further comprising an operation module, configured to: In response to associating a result wrapper with output data of the process flow in an encoding manner, a specific operation to be performed on the output data is determined.
26. The device according to claim 25, wherein The specific operation includes at least one of the following: Access the output data, print the output data, persistently store the output data, visualize the output data, and serialize the output data.
27. The device according to any one of claims 19 to 26, wherein: The multiple candidate components include at least one of the following types of components: Basic components encapsulate the smallest unit of data processing operations; The prediction model component encapsulates multiple models to complete specific tasks; The model production line component is used to call multiple prediction model components in a preset execution order.
28. The device according to claim 27, wherein The basic components include a plurality of pre-processing components and / or a plurality of post-processing components, wherein: The preprocessing component is used to perform preprocessing operations on input data; The post-processing component is used to perform post-processing operations on the input data.
29. An electronic device comprising: at least one processor; as well as a memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the method according to any one of claims 9 to 18.
30. A non-transitory computer-readable storage medium storing computer instructions, wherein: The computer instructions are used to cause the computer to execute the method according to any one of claims 9-18.
31. A computer program product comprising a computer program, which, when executed by a processor, implements the method according to any one of claims 9 to 18.
Citation Information
Patent Citations
Machine learning method and device based on assembly line, electronic equipment and storage medium
CN115904359A
Back-end extensible framework and method for deep learning model parsing, optimization and deployment
CN116306812A
Private computing job processing method and device, equipment, medium and product
CN117633876A
Artificial intelligence model construction method and device, equipment and readable storage medium
CN118377555A
Configurable algorithm component packaging and combinatorial modeling method
CN118428457A