Method, device and program product for managing artificial intelligence applications

By deploying the complete version of the artificial intelligence application on the server device and updating it in real time, a streamlined version suitable for the terminal device is solved, and the accuracy and processing capabilities of the application are improved.

CN114265601BActive Publication Date: 2025-06-06EMC IP HLDG CO LLC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202010973307.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-09-16
Publication Date
2025-06-06
Estimated Expiration
2040-09-16

AI Technical Summary

Technical Problem

The prior art is difficult to effectively maintain and update artificial intelligence applications at terminal devices, resulting in users having to wait for version updates for a long time.

Method used

By deploying a full version of an artificial intelligence application at the server device and using input data to update and compress the version in real time, a streamlined version is generated suitable for terminal devices, and the streamlined version is quickly updated as the characteristics of the input data change.

Benefits of technology

It realizes rapid update of artificial intelligence applications without affecting the performance of terminal devices, improves application accuracy and processing capabilities, and reduces version update time.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114265601B_ABST
    Figure CN114265601B_ABST
Patent Text Reader

Abstract

The present disclosure relates to methods, devices and program products for managing artificial intelligence applications. In one method, input data to be processed by an artificial intelligence application is received. A first version of the artificial intelligence application is updated using the input data to generate a second version, which is deployed at a server device. The second version of the artificial intelligence application is compressed to generate a third version of the artificial intelligence application. The third version of the artificial intelligence application is deployed to a terminal device to replace a fourth version of the artificial intelligence application deployed at the terminal device, the fourth version of the artificial intelligence application being used to process input data received at the terminal device. Corresponding devices and computer program products are provided. By deploying a full version of the artificial intelligence application at the server device and a streamlined version on the terminal device side, the streamlined version can be quickly updated as the characteristics of the input data change, thereby avoiding performance degradation of the artificial intelligence application due to changes in the input characteristics.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Various implementations of the present disclosure relate to artificial intelligence, and more particularly, to methods, devices, and computer program products for managing artificial intelligence applications at a server device and at a terminal device. Background Art

[0002] With the development of artificial intelligence technology, artificial intelligence technology has involved many areas of people's lives. For example, an artificial intelligence application for processing motion data can be deployed at a terminal device (such as a smartphone) to determine the number of steps and trajectory of the user carrying the terminal device. For another example, an artificial intelligence application for image processing can be deployed at the terminal device to remove jitter and noise in images taken by a smartphone. It will be understood that the storage capacity and computing power of the terminal device are limited. At this time, how to maintain and update the artificial intelligence application at the terminal device in a timely manner has become a research hotspot. Summary of the invention

[0003] Therefore, it is expected that a technical solution for managing artificial intelligence applications in a more efficient manner can be developed and implemented. It is expected that the technical solution can maintain and update artificial intelligence applications in a more convenient and efficient manner.

[0004] According to a first aspect of the present disclosure, a method for managing an artificial intelligence application is provided. In the method, input data to be processed by the artificial intelligence application is received. A first version of the artificial intelligence application is updated using the input data to generate a second version of the artificial intelligence application, and the first version of the artificial intelligence application is deployed at a server device. The second version of the artificial intelligence application is compressed to generate a third version of the artificial intelligence application. The third version of the artificial intelligence application is deployed to a terminal device to replace a fourth version of the artificial intelligence application deployed at the terminal device, and the fourth version of the artificial intelligence application is used to process the input data received at the terminal device.

[0005] According to a second aspect of the present disclosure, an electronic device is provided, comprising: at least one processor; a volatile memory; and a memory coupled to the at least one processor, the memory having instructions stored therein, which, when executed by the at least one processor, cause the device to execute a method according to the first aspect of the present disclosure.

[0006] According to a third aspect of the present disclosure, there is provided a computer program product, which is tangibly stored on a non-transitory computer-readable medium and comprises machine-executable instructions for executing the method according to the first aspect of the present disclosure.

[0007] According to a fourth aspect of the present disclosure, a method for managing an artificial intelligence application is provided. In the method, input data is processed using a fourth version of the artificial intelligence application deployed at a terminal device to provide output data. The input data is transmitted to a server device deployed with a first version of the artificial intelligence application, so as to update the first version of the artificial intelligence application to a second version of the artificial intelligence application using the input data. A third version of the artificial intelligence application is received from the server device, the third version of the artificial intelligence application being obtained based on compressing the second version of the artificial intelligence application. The third version of the artificial intelligence application is deployed to the terminal device to replace the fourth version of the artificial intelligence application.

[0008] According to a fifth aspect of the present disclosure, there is provided an electronic device, comprising: at least one processor; a volatile memory; and a memory coupled to the at least one processor, the memory having instructions stored therein, which, when executed by the at least one processor, cause the device to execute a method according to the fourth aspect of the present disclosure.

[0009] According to a sixth aspect of the present disclosure, there is provided a computer program product, which is tangibly stored on a non-transitory computer-readable medium and includes machine-executable instructions for executing the method according to the fourth aspect of the present disclosure. BRIEF DESCRIPTION OF THE DRAWINGS

[0010] The features, advantages and other aspects of various implementations of the present disclosure will become more apparent with reference to the following detailed description in conjunction with the accompanying drawings, which illustrate several implementations of the present disclosure in an exemplary and non-limiting manner. In the accompanying drawings:

[0011] Figure 1 A block diagram schematically illustrates an application environment in which an exemplary implementation of the present disclosure may be implemented;

[0012] Figure 2 A block diagram schematically illustrates a process for managing artificial intelligence applications according to an exemplary implementation of the present disclosure;

[0013] Figure 3 A flowchart of a method for managing artificial intelligence applications according to an exemplary implementation of the present disclosure is schematically shown;

[0014] Figure 4 A block diagram schematically illustrates a process of managing an artificial intelligence application at a server device according to an exemplary implementation of the present disclosure;

[0015] Figure 5 A flowchart of a method for managing artificial intelligence applications according to an exemplary implementation of the present disclosure is schematically shown;

[0016] Figure 6 A block diagram schematically illustrates an interaction process between a terminal device and a server device according to an exemplary implementation of the present disclosure;

[0017] Figure 7 A block diagram schematically illustrates a process for generating different versions of an artificial intelligence application according to an exemplary implementation of the present disclosure;

[0018] Figure 8 A block diagram schematically illustrates a process of managing an artificial intelligence application based on a dual version according to an exemplary implementation of the present disclosure; and

[0019] Fig. 9 A block diagram of a device for managing artificial intelligence applications according to an exemplary implementation of the present disclosure is schematically shown. DETAILED DESCRIPTION

[0020] The preferred implementations of the present disclosure will be described in more detail below with reference to the accompanying drawings. Although the preferred implementations of the present disclosure are shown in the accompanying drawings, it should be understood that the present disclosure can be implemented in various forms and should not be limited by the implementations set forth herein. On the contrary, these implementations are provided to make the present disclosure more thorough and complete, and to fully convey the scope of the present disclosure to those skilled in the art.

[0021] As used herein, the term "including" and its variations mean open inclusion, i.e., "including but not limited to". Unless otherwise stated, the term "or" means "and / or". The term "based on" means "based at least in part on". The terms "an example implementation" and "an implementation" mean "at least one example implementation". The term "another implementation" means "at least one additional implementation". The terms "first", "second", etc. may refer to different or the same objects. Other explicit and implicit definitions may also be included below.

[0022] For the sake of ease of description, the following will be described using a pedometer application deployed on a terminal device as a specific example of an artificial intelligence application. Assuming that the pedometer application can process walking data from the user, when the user starts running, the output result of the pedometer application has a large deviation. At this time, the version of the pedometer application should be updated.

[0023] Since the computing power and storage capacity of terminal devices are relatively small, the scale of artificial intelligence applications used on terminal devices is usually small. At present, a method for deploying artificial intelligence applications to terminal devices has been proposed. For example, a trained model can be obtained based on methods such as decision trees and logistic regression. Then, the trained model can be rewritten using C language or other languages, and the final target program can be deployed to the terminal device. For another example, a server device with an image processing unit (GPU) can be used to obtain a trained model. Then, the model is converted to a small artificial intelligence application by means of manual compression and pruning. However, the above methods all involve a long development cycle, which results in a long version update time for artificial intelligence applications on terminal devices. At this time, users have to wait for a long time for version updates.

[0024] In order to solve the above defects, the implementation method of the present disclosure provides a technical solution for managing artificial intelligence applications. Figure 1 An application environment according to an exemplary implementation of the present disclosure is described. Figure 1 A block diagram 100 schematically illustrates an application environment in which an exemplary implementation of the present disclosure may be implemented. Figure 1 As shown, the terminal device 110 may be, for example, a smart phone or a smart bracelet, and an artificial intelligence application 140 (e.g., a pedometer application) may be run on the terminal device 110. When the user carries the terminal device 110 and exercises, the motion sensor in the terminal device 110 will collect input data 130. The artificial intelligence application 140 may process the input data 130 and output output data such as the number of exercise steps and trajectory.

[0025] According to an exemplary implementation of the present disclosure, the server device 120 can monitor the input data 130 in real time and determine whether the artificial intelligence application 140 needs to be updated. When it is determined that an update is required, the input data 130 can be used to update the existing artificial intelligence application. Specifically, assuming that the artificial intelligence application 140 is developed for processing walking data, when the user starts running, the artificial intelligence application 140 will not be able to correctly detect the number of steps and trajectory, etc. At this time, by monitoring the running status of the input data 130 and the artificial intelligence application 140 in real time, the update requirement can be quickly discovered so that the update can be performed and an artificial intelligence application that can process running data can be provided.

[0026] In the following, we will refer to Figure 2 More details of the present disclosure are described. Figure 2 A block diagram 200 of a process for managing artificial intelligence applications according to an exemplary implementation of the present disclosure is schematically shown. Figure 2As shown, different versions can be provided on the server device 120 and the terminal device 110, that is, a full version of the artificial intelligence application 210 and a simplified version of the artificial intelligence application 220. Here, the full version of the artificial intelligence application 210 runs on the server side and can process various complex input data. The simplified version of the artificial intelligence application 220 runs on the terminal side and can process relatively simple input data.

[0027] When it is found that the simplified version of the artificial intelligence application 220 cannot correctly process the input data 130, the full version of the artificial intelligence application 210 can be updated based on the input data 130. Then, the updated full version can be compressed to obtain an updated simplified version. Further, the updated simplified version can be used to replace the artificial intelligence application 220 at the terminal device 110. By deploying the full version of the artificial intelligence application at the server device and the simplified version on the terminal device side, the simplified version can be quickly updated as the characteristics of the input data change, avoiding the performance degradation of the artificial intelligence application due to changes in the input characteristics. Using the exemplary implementation of the present disclosure, the artificial intelligence application 220 can be updated in real time, thereby improving the accuracy and other performance of the artificial intelligence application.

[0028] In the following, we will refer to Figure 3 More details of exemplary implementations according to the present disclosure are described. Figure 3 A flow chart of a method 300 for managing an artificial intelligence application according to an exemplary implementation of the present disclosure is schematically shown. The above method 300 can be implemented at a server device 120. At block 310, input data 130 to be processed by the artificial intelligence application is received. The input data 130 can be collected from a sensor at the terminal device 110. For example, the input data 130 can be received in real time. In this way, the input data 130 and the running status of the artificial intelligence application 220 can be continuously monitored.

[0029] Alternatively and / or additionally, the input data 130 may be received at a predetermined frequency; for another example, the terminal device 110 may first process the input data 130, and only send the input data 130 to the server device 120 when a change is found in the input data 130. In this way, the bandwidth requirement for transmitting the input data 130 may be reduced, and the additional overhead caused by the terminal device 110 and the server device 120 for sending and receiving the input data 130 may be reduced.

[0030] According to an exemplary implementation of the present disclosure, the update process may be initiated at a predetermined time interval. According to an exemplary implementation of the present disclosure, the update process may be initiated in response to an update request for updating the artificial intelligence application. Using the exemplary implementation of the present disclosure, the latest full version may be continuously generated at the server device 120 for use in updating the streamlined version at the terminal device 110.

[0031] At block 320, the first version of the artificial intelligence application is updated using the input data 130 to generate a second version of the artificial intelligence application. Here, the first version of the artificial intelligence application is deployed at the server device. For example, the first version may be as follows: Figure 2 A completed version of artificial intelligence application 210 is shown.

[0032] In the following, we will refer to Figure 4 Describe how to manage versions of artificial intelligence applications. Figure 4 A block diagram 400 of a process for managing an artificial intelligence application at a server device 120 according to an exemplary implementation of the present disclosure is schematically shown. The artificial intelligence application here may be a pedometer application, and the first version 410 and the second version 420 may be complete versions. Specifically, the first version 210 may be trained 430 with input data 130 to generate 432 the second version 410. With the exemplary implementation of the present disclosure, the first version 410 at the server device 120 may be continuously trained with newly received input data 130. In this way, the complete version at the server device 120 may be made more suitable for processing the newly received input data 130.

[0033] According to an exemplary implementation of the present disclosure, a trigger condition can be set for the above training process. Specifically, the change of the input data 130 can be detected. If it is determined that the change of the input data 130 is higher than a predetermined threshold, the training process is started. In the example of the pedometer application, if the input data 130 indicates that the user switches from a walking state to a running state, the training process can be started. According to an exemplary implementation of the present disclosure, the artificial intelligence application can be updated based on a variety of training technologies that have been developed and / or will be developed in the future. By using the input data 130 to train the first version 210 of the artificial intelligence application, a second version 410 of the artificial intelligence application can be obtained.

[0034] It will be understood that due to the limitations of the computing power and storage capacity of the terminal device 110, the second version 420 cannot be directly deployed at the terminal device 110. Figure 3At box 330, the second version 420 of the artificial intelligence application is compressed to generate 442 a third version 430 of the artificial intelligence application. The third version 430 here is a simplified version of the artificial intelligence application. According to the exemplary implementation of the present disclosure, the second version can be compressed 444 to the third version 420 based on a variety of methods. It will be understood that the second version 420 is a complete version, and thus may occupy a large storage space and occupy higher computing resources. In order to generate a simplified version suitable for deployment at the terminal device 110, redundant parameters in the second version 420 of the artificial intelligence application can be deleted. For example, intermediate data in the second version 420 that is not related to the final output result can be deleted, and so on.

[0035] According to an exemplary implementation of the present disclosure, redundant branches in the second version 420 of the artificial intelligence application can be pruned. It will be appreciated that the second version 420 may include branches for handling certain abnormal situations. Considering the limitations of the storage capacity and computing power of the terminal device, these rarely used redundant branches can be removed to reduce the storage space and computing power required for the third version 430.

[0036] According to the exemplary implementation of the present disclosure, the processing of the artificial intelligence application can be simplified according to the format of the input data 130. It will be understood that the full version of the artificial intelligence application can be suitable for processing complex input data including multiple signals. For example, the full version can process global positioning signal data, accelerometer data, gyroscope data, geomagnetic sensor data, etc. However, the terminal device 110 may not have a geomagnetic sensor, in which case the part of the full version related to processing geomagnetic data is invalid, and thus this part of the function can be removed.

[0037] According to an exemplary implementation of the present disclosure, the precision of the parameters in the second version 420 of the artificial intelligence application can be reduced. For example, assume that all parameters are represented by 32 bits during the training process at the server device 120. Since the terminal device 110 has only a relatively low processing capability and a relatively small storage space, the parameters in the artificial intelligence application can be represented by 16 bits or other relatively low precision.

[0038] By using the exemplary implementation of the present disclosure, although the accuracy of the artificial intelligence application will be reduced at this time, the compressed third version 430 has been converted into a streamlined version suitable for deployment on the terminal device 110. For example, the size of the artificial intelligence application can be reduced from hundreds of megabytes to several megabytes to be suitable for the storage capacity and processing capacity of the terminal device 110.

[0039] At block 340, the third version 430 of the artificial intelligence application is deployed to the terminal device 110 to replace the fourth version of the artificial intelligence application deployed at the terminal device. It will be understood that the fourth version of the artificial intelligence application refers to the artificial intelligence application originally deployed in the terminal device 110 for processing input data received at the terminal device (e.g., Figure 2 Utilizing the exemplary implementation of the present disclosure, the third version 430 is a streamlined version obtained by training based on the latest received input data 130. The streamlined version is used to replace the outdated version in the terminal device 110 that can no longer provide accurate output, which can greatly improve the accuracy of the process of processing the input data 130.

[0040] It will be appreciated that the training process will take a certain amount of time. During the training process, the first version 410 at the server device 120 may be used to process the input data 130 to avoid interruption of data processing. Although the first version 210 may not output completely accurate results at this time, relative to the performance of the fourth version at the terminal device 110, the first version 410 has higher accuracy and is suitable for processing more diverse input data. Further, the results obtained at the server device 120 can be sent to the terminal device 110 to solve the problem of low accuracy of the fourth version.

[0041] According to the exemplary implementation of the present disclosure, as the training process proceeds, the latest second version 420 can be continuously obtained. At this time, the second version 420 can be used to process the input data 130. As the training process progresses, the complete version obtained by training will be more and more suitable for processing the input data 130. The processing results can be continuously sent to the terminal device 110.

[0042] See above Figure 3 and Figure 4 Describe the process performed at the server device 120, hereinafter, refer to Figure 5 The process performed at the terminal device 110 is described. Figure 5 A flow chart of a method 500 for managing an artificial intelligence application according to an exemplary implementation of the present disclosure is schematically shown. According to an exemplary implementation of the present disclosure, the method 500 may be executed at a terminal device 110. At block 510, the input data 130 is processed using a fourth version of the artificial intelligence application deployed at the terminal device 110 to provide output data. The fourth version here may be, for example, a simplified version of a pedometer application for processing motion data.

[0043] According to an exemplary implementation of the present disclosure, a change in the input data 130 may be detected. If it is determined that the change in the input data 130 is below a predetermined threshold, it indicates that the fourth version may continue to be used. At this point, the fourth version of the artificial intelligence application may be used to process the input data 130. If the change in the input data 130 is above a predetermined threshold, it indicates that the fourth version is no longer suitable for processing the current input data 130, and an update process may be initiated.

[0044] At block 520, the input data 130 is transmitted to the server device 120 on which the first version of the artificial intelligence application is deployed, so as to update the first version 410 of the artificial intelligence application to the second version 420 of the artificial intelligence application using the input data 130. Specifically, the server device 120 may perform the update process based on the method 300 described above, and the specific details are not repeated here.

[0045] According to an exemplary implementation of the present disclosure, when it is found that the change of the input data 130 exceeds a predetermined threshold, the input data 130 can be sent to the server device 120 to start the update process. According to an exemplary implementation of the present disclosure, the update process can be started at a predetermined time interval. According to an exemplary implementation of the present disclosure, the update process can be started in response to an update request for updating the artificial intelligence application. Using the exemplary implementation of the present disclosure, the simplified version at the terminal device 110 can be continuously updated so that the simplified version is more suitable for processing the input data 130.

[0046] After the third version 430 has been obtained, at box 530, the third version 430 of the artificial intelligence application is received from the server device 120, and the third version 430 of the artificial intelligence application is obtained based on the compressed second version 420 of the artificial intelligence application. At box 540, the third version 430 of the artificial intelligence application is deployed to the terminal device 110 to replace the fourth version of the artificial intelligence application.

[0047] According to an exemplary implementation of the present disclosure, since the change in the input data 130 is too large, and the original simplified version at the terminal device 110 can no longer obtain accurate output data. At this time, the input data 130 can be processed by the complete version at the server device 120. Although the update of the complete version has not been completed at this time, relative to the simplified version at the terminal device 110, the complete version can process more complex input data, so the accuracy of the output data can be higher than the output data obtained at the terminal device 110. The terminal device 110 can receive the output data from the server device 120. According to the exemplary implementation of the present disclosure, it is not limited based on which version at the server device 110 to obtain the output data, but the output data can be obtained by processing the input data 130 using the first version 410 or the second version 420 of the artificial intelligence application.

[0048] Figure 6 A block diagram 600 schematically shows an interaction process between a terminal device 110 and a server device 120 according to an exemplary implementation of the present disclosure. Figure 6 As shown, the terminal device 110 can detect 610 a change in input data. If it is determined 612 that the change in the input data is below a predetermined threshold, the terminal device 110 processes the input data using a local reduced version to generate 614 output data. If it is determined 616 that the change in the input data is above a predetermined threshold, the terminal device 110 sends 618 the input data to the server device 120. The server device 120 receives the input data and updates 620 the local full version using the received input data. Subsequently, the server device 120 generates 622 an updated reduced version and returns 624 the updated reduced version to the terminal device 110.

[0049] The specific steps for starting the update process have been described above. According to the degree to which the AI ​​application is updated, the update process can be divided into two types: online update and full update. Figure 7 Describes more details about the version update. Figure 7 A block diagram 700 schematically illustrates a process for generating different versions of an artificial intelligence application according to an exemplary implementation of the present disclosure. Figure 7 As shown, at the terminal device 110, the input data can continuously form a data stream 710. In the example of a pedometer application, the data stream 710 mainly includes the user's walking data, and can also include a small amount of running data. The terminal device 110 can monitor the changes of each input data in the data stream 710, and encapsulate the data involving a large change (e.g., running data) into a data packet 712.

[0050] The terminal device 110 may send 730 a data packet to the server device 120. Assuming that the server device 120 has version 720 (version number V1.3.5), the server device 120 may update version 720 to version 722 (i.e., version number V1.3.6) using the received data packet 712. The update here only involves small-scale training, so it can be considered that the update only involves online update of the version, and does not involve retraining the machine learning model. The server device 120 may generate a simplified version corresponding to version 722, and return 732 the simplified version to the terminal device 110.

[0051] Then, the terminal device 110 can use the received updated simplified version to process the input data. If the input data changes dramatically, for example, the user changes from walking to running, the terminal device 110 can encapsulate the running-related data into a data packet 714 and send 734 the data packet 714 to the server device 120. The server device 120 can use the received data packet 714 to retrain the machine learning model, and after the full update, a version 724 (version number V2.0) can be obtained. Further, the server device 120 can generate a simplified version corresponding to version 724, and return 736 the simplified version to the terminal device 110.

[0052] By using the exemplary implementation of the present disclosure, the artificial intelligence application at the terminal device 110 can be updated in a small or large amount. During the update process performed by the server device 120, the terminal device 110 can continue to use the original artificial intelligence application to process input data. In this way, the continuous operation of the terminal device 110 can be ensured, and the seamless connection between various versions can be ensured.

[0053] An example of initiating an update process based on a change in the input data 130 has been described above. According to an exemplary implementation of the present disclosure, whether to initiate an update process can be determined based on the difference between the output data from the simplified version and the full version. Assuming that the user step length determined based on the simplified version is 0.8 meters, while the user step length determined based on the full version is 1 meter, the difference between the two 1-0.8=0.2 meters exceeds a threshold ratio (e.g., 10%), then it can be considered that the simplified version at the terminal device 110 is no longer suitable for processing the input data 130, and the update process should be initiated.

[0054] Figure 8 A block diagram 800 of a process for managing an artificial intelligence application based on a dual version according to an exemplary implementation of the present disclosure is schematically shown. Figure 8As shown, in order to more effectively monitor the performance of the artificial intelligence application 220 at the terminal device 110, an artificial intelligence application 810 identical to the artificial intelligence application 220 can be deployed at the server device 120. At this time, two identical streamlined versions run at the server device 120 and the terminal device 110, respectively. The performance of the artificial intelligence application 220 can be determined based on the output data of the artificial intelligence application 810. Using the exemplary implementation of the present disclosure, various operating states of the artificial intelligence application at the terminal device 110 can be directly obtained at the server device 120. On the one hand, the transmission bandwidth requirement between the server device 120 and the terminal device 110 can be reduced, and on the other hand, the delay caused by the transmission can be avoided to improve the monitoring efficiency.

[0055] According to an exemplary implementation of the present disclosure, at the server device 120, the input data 130 may be processed using the artificial intelligence applications 810 and 210, respectively, to obtain output data. If the difference between the two output data is found to be higher than a predetermined threshold, the update process described above may be initiated. Using the exemplary implementation of the present disclosure, the update process at the terminal device 110 may be managed at the server device 120. In this way, the artificial intelligence application 220 at the terminal device 110 may be automatically updated without interfering with the normal operation of the terminal device 110.

[0056] According to the exemplary implementation of the present disclosure, the terminal device 110 and the server device 120 may constitute an application system. At this time, the terminal device 110 may run on the edge side of the application system, and the server device 120 may run on the cloud side of the application system. Using the exemplary implementation of the present disclosure, artificial intelligence applications that provide edge computing may be managed in a simple and effective manner, thereby improving the processing capability of the entire application system.

[0057] See above for Figures 2 to 8 An example of a method according to the present disclosure is described in detail, and the implementation of the corresponding device will be described below. According to an exemplary implementation of the present disclosure, a device for managing artificial intelligence applications is provided. The device can be implemented at a server device and includes: a receiving module configured to receive input data to be processed by an artificial intelligence application; an update module configured to update a first version of the artificial intelligence application using the input data to generate a second version of the artificial intelligence application, and the first version of the artificial intelligence application is deployed at the server device; a compression module configured to compress the second version of the artificial intelligence application to generate a third version of the artificial intelligence application; and a deployment module configured to deploy the third version of the artificial intelligence application to the terminal device to replace the fourth version of the artificial intelligence application deployed at the terminal device, and the fourth version of the artificial intelligence application is used to process the input data received at the terminal device.

[0058] According to an exemplary implementation of the present disclosure, a device for managing artificial intelligence applications is provided. The device can be implemented at a terminal device and includes: a processing module configured to process input data using a fourth version of an artificial intelligence application deployed at the terminal device to provide output data; a transmission module configured to transmit input data to a server device deployed with a first version of the artificial intelligence application, so as to update the first version of the artificial intelligence application to the second version of the artificial intelligence application using the input data; a receiving module configured to receive a third version of the artificial intelligence application from the server device, the third version of the artificial intelligence application being obtained based on the compression of the second version of the artificial intelligence application; and a deployment module configured to deploy the third version of the artificial intelligence application to the terminal device to replace the fourth version of the artificial intelligence application. According to an exemplary implementation of the present disclosure, the device further includes a module for executing other steps in the method described above.

[0059] It will be understood that the above only describes the technical solution for managing artificial intelligence applications using a pedometer application as an example. According to an exemplary implementation of the present disclosure, the artificial intelligence application may be, for example, an application for performing image processing. An application for processing photos taken during the day may be deployed on a terminal device such as a smartphone. Assuming that the user starts taking photos at night, the input data changes and the process for updating the artificial intelligence application described above may be initiated.

[0060] Fig. 9 A block diagram of a device 900 for managing artificial intelligence applications according to an exemplary implementation of the present disclosure is schematically shown. As shown, the device 900 includes a central processing unit (CPU) 901, which can perform various appropriate actions and processes according to computer program instructions stored in a read-only memory (ROM) 902 or computer program instructions loaded from a storage unit 908 to a random access memory (RAM) 903. In RAM 903, various programs and data required for the operation of the device 900 can also be stored. CPU 901, ROM 902, and RAM 903 are connected to each other via a bus 904. An input / output (I / O) interface 905 is also connected to the bus 904.

[0061] A number of components in the device 900 are connected to the I / O interface 905, including: an input unit 906, such as a keyboard, a mouse, etc.; an output unit 907, such as various types of displays, speakers, etc.; a storage unit 908, such as a disk, an optical disk, etc.; and a communication unit 909, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 909 allows the device 900 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks.

[0062] The various processes and processing described above, such as methods 300 and 500, may be performed by the processing unit 901. For example, in some implementations, methods 300 and 500 may be implemented as computer software programs, which are tangibly contained in a machine-readable medium, such as a storage unit 908. In some implementations, part or all of the computer program may be loaded and / or installed on the device 900 via the ROM 902 and / or the communication unit 909. When the computer program is loaded into the RAM 903 and executed by the CPU 901, one or more steps of the methods 300 and 500 described above may be performed. Alternatively, in other implementations, the CPU 901 may also be configured in any other appropriate manner to implement the above-described processes / methods.

[0063] According to an exemplary implementation of the present disclosure, an electronic device is provided, comprising: at least one processor; a volatile memory; and a memory coupled to the at least one processor, the memory having instructions stored therein, the instructions causing the device to perform an action for managing an artificial intelligence application when executed by the at least one processor. The action comprises: receiving input data to be processed by the artificial intelligence application; updating a first version of the artificial intelligence application using the input data to generate a second version of the artificial intelligence application, the first version of the artificial intelligence application being deployed at a server device; compressing the second version of the artificial intelligence application to generate a third version of the artificial intelligence application; and deploying the third version of the artificial intelligence application to a terminal device to replace a fourth version of the artificial intelligence application deployed at the terminal device, the fourth version of the artificial intelligence application being used to process the input data received at the terminal device.

[0064] According to an exemplary implementation of the present disclosure, generating a second version of an artificial intelligence application includes: updating a first version of the artificial intelligence application using input data to generate a second version of the artificial intelligence application in response to at least any one of the following: a change in the input data is higher than a predetermined threshold; a predetermined time interval is reached; and an update request for updating the artificial intelligence application.

[0065] According to an exemplary implementation of the present disclosure, generating a second version of the artificial intelligence application includes: using input data to train a first version of the artificial intelligence application to obtain the second version of the artificial intelligence application.

[0066] According to an exemplary implementation of the present disclosure, generating a third version of an artificial intelligence application includes at least any one of the following: deleting redundant parameters in the second version of the artificial intelligence application; pruning redundant branches in the second version of the artificial intelligence application; and reducing the precision of parameters in the second version of the artificial intelligence application.

[0067] According to an exemplary implementation of the present disclosure, the action further includes: deploying a third version of the artificial intelligence application at the server device; processing input data using the third version of the artificial intelligence application to obtain output data; and determining the performance of a fourth version of the artificial intelligence application based on the output data.

[0068] According to an exemplary implementation of the present disclosure, the action further includes: processing the input data using the second version of the artificial intelligence application to obtain output data; and sending the output data to the terminal device.

[0069] According to an exemplary implementation of the present disclosure, this action is implemented at a server device.

[0070] According to an exemplary implementation of the present disclosure, the first version and the second version of the artificial intelligence application are complete versions of the artificial intelligence application, and the third version and the fourth version of the artificial intelligence application are streamlined versions of the artificial intelligence application.

[0071] According to an exemplary implementation of the present disclosure, an electronic device is provided, comprising: at least one processor; a volatile memory; and a memory coupled to the at least one processor, the memory having instructions stored therein, the instructions causing the device to perform an action for managing an artificial intelligence application when executed by the at least one processor. The action comprises: processing input data using a fourth version of the artificial intelligence application deployed at a terminal device to provide output data; transmitting input data to a server device deployed with a first version of the artificial intelligence application, for updating the first version of the artificial intelligence application to a second version of the artificial intelligence application using the input data; receiving a third version of the artificial intelligence application from the server device, the third version of the artificial intelligence application being obtained based on compressing the second version of the artificial intelligence application; and deploying the third version of the artificial intelligence application to the terminal device to replace the fourth version of the artificial intelligence application.

[0072] According to an exemplary implementation of the present disclosure, processing input data using the fourth version of the artificial intelligence application includes: detecting changes in the input data; and processing the input data using the fourth version of the artificial intelligence application based on determining that the change in the input data is lower than a predetermined threshold.

[0073] According to an exemplary implementation of the present disclosure, transmitting input data to a server device includes: transmitting input data to the server device in response to at least any one of the following: a change in the input data is higher than a predetermined threshold: a predetermined time interval is reached; and an update request for updating an artificial intelligence application.

[0074] According to an exemplary implementation of the present disclosure, the action further includes: receiving output data from the server device, where the output data is obtained by processing the input data using the second version of the artificial intelligence application.

[0075] According to an exemplary implementation of the present disclosure, this action is implemented at the terminal device.

[0076] According to an exemplary implementation of the present disclosure, the first version and the second version of the artificial intelligence application are complete versions of the artificial intelligence application, and the third version and the fourth version of the artificial intelligence application are streamlined versions of the artificial intelligence application.

[0077] According to an exemplary implementation of the present disclosure, a computer program product is provided, which is tangibly stored on a non-transitory computer-readable medium and includes machine-executable instructions for executing a method according to the present disclosure.

[0078] According to an exemplary implementation of the present disclosure, a computer-readable medium is provided. The computer-readable medium stores machine-executable instructions, and when the machine-executable instructions are executed by at least one processor, the at least one processor implements the method according to the present disclosure.

[0079] The present disclosure may be a method, an apparatus, a system and / or a computer program product. The computer program product may include a computer-readable storage medium carrying computer-readable program instructions for executing various aspects of the present disclosure.

[0080] A computer-readable storage medium may be a tangible device that can hold and store instructions used by an instruction execution device. A computer-readable storage medium may be, for example, but not limited to, an electrical storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. More specific examples of computer-readable storage media (a non-exhaustive list) include: 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), a static random access memory (SRAM), a portable compact disk read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanical encoding device, such as a punch card or a raised structure in a groove on which instructions are stored, and any suitable combination of the foregoing. As used herein, a computer-readable storage medium is not to be interpreted as a transient signal per se, such as a radio wave or other freely propagating electromagnetic wave, an electromagnetic wave propagating through a waveguide or other transmission medium (e.g., a light pulse through a fiber optic cable), or an electrical signal transmitted through a wire.

[0081] The computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to each computing / processing device, or downloaded to an external computer or external storage device via a network, such as the Internet, a local area network, a wide area network, and / or a wireless network. The network can include copper transmission cables, optical fiber transmissions, wireless transmissions, routers, firewalls, switches, gateway computers, and / or edge servers. The network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards the computer-readable program instructions for storage in the computer-readable storage medium in each computing / processing device.

[0082] The computer program instructions for performing the operation of the present disclosure may be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state setting data, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages, such as Smalltalk, C++, etc., and conventional procedural programming languages, such as "C" language or similar programming languages. Computer-readable program instructions may be executed entirely on a user's computer, partially on a user's computer, as an independent software package, partially on a user's computer, partially on a remote computer, or entirely on a remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., using an Internet service provider to connect via the Internet). In some implementations, an electronic circuit, such as a programmable logic circuit, a field programmable gate array (FPGA), or a programmable logic array (PLA), may be customized by utilizing the state information of the computer-readable program instructions, and the electronic circuit may execute the computer-readable program instructions, thereby realizing various aspects of the present disclosure.

[0083] Various aspects of the present disclosure are described herein with reference to the flowcharts and / or block diagrams of the methods, devices (systems) and computer program products implemented according to the present disclosure. It should be understood that each box in the flowchart and / or block diagram and the combination of each box in the flowchart and / or block diagram can be implemented by computer-readable program instructions.

[0084] These computer-readable program instructions can be provided to a processing unit of a general-purpose computer, a special-purpose computer, or other programmable data processing device, thereby producing a machine, so that when these instructions are executed by the processing unit of the computer or other programmable data processing device, a device that implements the functions / actions specified in one or more boxes in the flowchart and / or block diagram is generated. These computer-readable program instructions can also be stored in a computer-readable storage medium, and these instructions cause the computer, programmable data processing device, and / or other equipment to work in a specific manner, so that the computer-readable medium storing the instructions includes a manufactured product, which includes instructions for implementing various aspects of the functions / actions specified in one or more boxes in the flowchart and / or block diagram.

[0085] Computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device so that a series of operating steps are performed on the computer, other programmable data processing apparatus, or other device to produce a computer-implemented process, thereby causing the instructions executed on the computer, other programmable data processing apparatus, or other device to implement the functions / actions specified in one or more boxes in the flowchart and / or block diagram.

[0086] The flow chart and block diagram in the accompanying drawings show the possible architecture, function and operation of the system, method and computer program product according to multiple implementations of the present disclosure. In this regard, each square box in the flow chart or block diagram can represent a part of a module, program segment or instruction, and a part of a module, program segment or instruction includes one or more executable instructions for realizing the logical function of the specification. In some implementations as replacements, the function marked in the square box can also occur in a sequence different from that marked in the accompanying drawings. For example, two continuous square boxes can actually be executed substantially in parallel, and they can sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each square box in the block diagram and / or flow chart, and the combination of the square boxes in the block diagram and / or flow chart can be realized by a special hardware-based system that performs the function or action of the specification, or can be realized by a combination of special hardware and computer instructions.

[0087] The above descriptions of various implementations of the present disclosure are exemplary, non-exhaustive, and not limited to the disclosed implementations. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described implementations. The selection of terms used herein is intended to best explain the principles of the implementations, practical applications, or improvements to the technology in the marketplace, or to enable other persons of ordinary skill in the art to understand the implementations disclosed herein.

Claims

1. A method for managing artificial intelligence applications, include: collecting input data to be processed by the artificial intelligence application at a terminal device; updating a first version of the artificial intelligence application using the input data to generate a second version of the artificial intelligence application, the first version of the artificial intelligence application being deployed at a server device associated with the terminal device; compressing the second version of the artificial intelligence application to generate a third version of the artificial intelligence application; as well as deploying the third version of the artificial intelligence application to the terminal device to replace the fourth version of the artificial intelligence application at the terminal device; Updating the first version of the artificial intelligence application using the input data includes: In response, at least in part, to detecting that a change in input data collected at the terminal device relative to previous input data utilized in previous training of the artificial intelligence application is greater than a predetermined threshold, updating the first version of the artificial intelligence application by training the first version of the artificial intelligence application using at least a portion of the input data to generate the second version of the artificial intelligence application; as well as Wherein at least the first version of the artificial intelligence application is a complete version of the artificial intelligence application deployed on the server device, and at least the third version of the artificial intelligence application deployed on the terminal device is a streamlined version of the artificial intelligence application relative to the complete version of the artificial intelligence application deployed on the server device.

2. The method of claim 1 , wherein updating the first version of the artificial intelligence application using the input data to generate the second version of the artificial intelligence application is further performed in response to at least part of any of the following: Arrival of a predetermined time interval; and An update request for updating the artificial intelligence application.

3. The method according to claim 1, wherein the second version of the artificial intelligence application is generated include: The first version of the artificial intelligence application is trained using the input data to obtain the second version of the artificial intelligence application.

4. The method of claim 1, wherein generating the third version of the artificial intelligence application comprises at least any one of the following: deleting redundant parameters in the second version of the artificial intelligence application; Pruning redundant branches in the second version of the artificial intelligence application; and Reducing the precision of a parameter in the second version of the artificial intelligence application.

5. The method according to claim 1, further comprising: include: deploying the third version of the artificial intelligence application at the server device; processing the input data using the third version of the artificial intelligence application to obtain output data; as well as A performance of the fourth version of the artificial intelligence application is determined based on the output data.

6. The method according to claim 1, further comprising: include: processing the input data using the second version of the artificial intelligence application to obtain output data; as well as The output data is sent to the terminal device. The method of claim 1 , wherein the method is implemented at the server device.

8. The method of claim 1, wherein the second version of the artificial intelligence application is a complete version of the artificial intelligence application, and the fourth version of the artificial intelligence application is a streamlined version of the artificial intelligence application relative to the complete version of the artificial intelligence application deployed on the server device.

9. The method according to claim 1, include: In response to detecting that the change in the input data is less than the predetermined threshold, the input data is processed using the fourth version of the artificial intelligence application at the terminal device.

10. The method of claim 1, wherein said collecting said input data is performed by one or more sensors at said terminal device.

11. A method for managing artificial intelligence applications, include: collecting input data at the terminal device; transmitting the input data to a server device on which the first version of the artificial intelligence application is deployed, so as to update the first version of the artificial intelligence application to a second version of the artificial intelligence application using the input data, the server device being associated with the terminal device; receiving a third version of the artificial intelligence application from the server device, wherein the third version of the artificial intelligence application is obtained based on compressing the second version of the artificial intelligence application; as well as deploying the third version of the artificial intelligence application to the terminal device to replace the fourth version of the artificial intelligence application at the terminal device; Wherein transmitting the input data to the server device comprises: In response, at least in part, to detecting that a change in input data collected at the terminal device relative to previous input data utilized in previous training of the artificial intelligence application is greater than a predetermined threshold, transmitting the input data to the server device to allow the server device to update the first version of the artificial intelligence application by training the first version of the artificial intelligence application using at least a portion of the input data to generate the second version of the artificial intelligence application; as well as Wherein at least the first version of the artificial intelligence application is a complete version of the artificial intelligence application deployed on the server device, and at least the third version of the artificial intelligence application deployed on the terminal device is a streamlined version of the artificial intelligence application relative to the complete version of the artificial intelligence application deployed on the server device.

12. The method according to claim 11, further comprising: include: In response to detecting that a change in input data collected by the terminal device relative to previous input data utilized in previous training of the artificial intelligence application is less than the predetermined threshold, the input data is processed using the fourth version of the artificial intelligence application.

13. The method of claim 12, wherein the input data is transmitted to the server device include: In response to at least part of any of the following, transmitting the input data to the server device: Arrival of a predetermined time interval; as well as An update request for updating the artificial intelligence application.

14. The method according to claim 11, further comprising: include: Output data is received from the server device, where the output data is obtained by processing the input data using the second version of the artificial intelligence application. The method according to claim 11 , wherein the method is implemented at the terminal device.

16. The method of claim 11, wherein the second version of the artificial intelligence application is a complete version of the artificial intelligence application, and the fourth version of the artificial intelligence application is a streamlined version of the artificial intelligence application relative to the complete version of the artificial intelligence application deployed on the server device.

17. The method of claim 11, wherein the collecting the input data is performed by one or more sensors at the terminal device.

18. An electronic device, include: at least one processor; Volatile memory; as well as A memory coupled to the at least one processor, the memory having instructions stored therein, the instructions, when executed by the at least one processor, causing the device to perform a method for managing artificial intelligence applications, the method comprising: collecting input data to be processed by the artificial intelligence application at a terminal device; updating a first version of the artificial intelligence application using the input data to generate a second version of the artificial intelligence application, the first version of the artificial intelligence application being deployed at a server device associated with the terminal device; compressing the second version of the artificial intelligence application to generate a third version of the artificial intelligence application; and deploying the third version of the artificial intelligence application to the terminal device to replace the fourth version of the artificial intelligence application at the terminal device; Updating the first version of the artificial intelligence application using the input data includes: In response at least in part to detecting that a change in input data collected at the terminal device relative to previous input data utilized in previous training of the artificial intelligence application is greater than a predetermined threshold, updating the first version of the artificial intelligence application by training the first version of the artificial intelligence application using at least a portion of the input data to generate the second version of the artificial intelligence application; and Wherein at least the first version of the artificial intelligence application is a complete version of the artificial intelligence application deployed on the server device, and at least the third version of the artificial intelligence application deployed on the terminal device is a streamlined version of the artificial intelligence application relative to the complete version of the artificial intelligence application deployed on the server device.

19. The electronic device of claim 18, wherein updating the first version of the artificial intelligence application using the input data to generate the second version of the artificial intelligence application is further performed in response to at least part of any of the following: Arrival of a predetermined time interval; and An update request for updating the artificial intelligence application.

20. The electronic device according to claim 18, wherein the second version of the artificial intelligence application is generated include: The first version of the artificial intelligence application is trained using the input data to obtain the second version of the artificial intelligence application.

Citation Information

Patent Citations

  • Artificial intelligence service system and method for realizing artificial intelligence service system

    CN108667850A

  • System for iteratively training artificial intelligence using cloud-based metrics

    CN109313586A