WO2022075668A1 - 인공지능 모델을 분산 처리하는 시스템 및 그 동작 방법 - Google Patents

인공지능 모델을 분산 처리하는 시스템 및 그 동작 방법 Download PDF

Info

Publication number
WO2022075668A1
WO2022075668A1 PCT/KR2021/013527 KR2021013527W WO2022075668A1 WO 2022075668 A1 WO2022075668 A1 WO 2022075668A1 KR 2021013527 W KR2021013527 W KR 2021013527W WO 2022075668 A1 WO2022075668 A1 WO 2022075668A1
Authority
WO
WIPO (PCT)
Prior art keywords
electronic device
model
processing
artificial intelligence
models
Prior art date
Application number
PCT/KR2021/013527
Other languages
English (en)
French (fr)
Inventor
박성제
Original Assignee
삼성전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자 주식회사 filed Critical 삼성전자 주식회사
Priority to CN202180068484.1A priority Critical patent/CN116324808A/zh
Priority to EP21877920.5A priority patent/EP4209966A4/en
Publication of WO2022075668A1 publication Critical patent/WO2022075668A1/ko
Priority to US18/131,723 priority patent/US20230244953A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/098Distributed learning, e.g. federated learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means

Definitions

  • the present disclosure relates to a system for distributed processing of an artificial intelligence model using a plurality of devices and an operating method thereof.
  • various data may be processed based on an artificial intelligence model provided in the electronic device without data transmission/reception with a cloud server.
  • the electronic device may perform various operations according to an artificial intelligence model included in the electronic device and a hardware configuration of the electronic device in real time without using a cloud server. Therefore, according to the on-device AI technology, the user-related data collected from the electronic device is not transmitted to the outside and is operated by itself, so there is an advantage in terms of protection of user's personal information and data processing speed.
  • the problem to be solved by the present disclosure is to solve the above-described problem, and to provide a system for distributed processing of an artificial intelligence model.
  • Another object of the present invention is to provide a computer-readable recording medium in which a program for executing the method in a computer is recorded.
  • the technical problem to be solved is not limited to the technical problems as described above, and other technical problems may exist.
  • a method for distributed processing of an artificial intelligence model in a first electronic device may be provided.
  • the method may include: acquiring performance information of a second electronic device to which the artificial intelligence model is to be distributed; obtaining a plurality of divided models in which the artificial intelligence model is divided; estimating a processing time required for each of the plurality of segmentation models to be processed by the second electronic device based on the performance information; determining, from among the plurality of division models, at least one division model to request processing from the second electronic device, based on the predicted processing time; and distributing the artificial intelligence model by requesting the second electronic device to process the determined at least one segmented model.
  • the plurality of segmented models may be obtained by segmenting the artificial intelligence model based on the performance information.
  • the obtaining of the plurality of division models may include: identifying at least one layer among a plurality of layers constituting the artificial intelligence model as a layer for division; and obtaining the plurality of segmentation models each including the identified layer as an output layer.
  • the layer for division is at least one of a size of data output from each layer, a data transmission rate between the first electronic device and the second electronic device, and whether the layer can be accelerated by the second electronic device. Based on , it can be identified.
  • the method of distributed processing an artificial intelligence model in the first electronic device may include: receiving, from the second electronic device, a processing result for the at least one segmented model; and updating the performance information of the second electronic device based on the information on the time required for the second electronic device to process the at least one partition model included in the processing result.
  • the first electronic device may sequentially process the plurality of split models including the at least one split model requested to be processed by the second electronic device.
  • the processing result may be sequentially processed from the division model receiving the input.
  • a method for distributed processing of an artificial intelligence model in a second electronic device may be provided.
  • the method may include a request for processing to the second electronic device based on a processing time of the second electronic device for a plurality of divided models into which the artificial intelligence model is divided, predicted based on performance information of the second electronic device receiving, from the first electronic device, a processing request for the at least one segmentation model as the at least one segmentation model to be used is determined; processing the at least one segmentation model; and transmitting a result of processing the at least one segmented model to the first electronic device, thereby distributing the artificial intelligence model.
  • the processing time of the second electronic device is, in addition to the time required for the second electronic device to process the plurality of divided models, the second electronic device is transferred from the first electronic device to the at least one divided model.
  • the method may further include a time estimated for a time required for receiving a request for processing for , and a time required for the first electronic device to receive a processing result for the at least one segmentation model from the second electronic device. .
  • the performance information of the second electronic device may include at least one of hardware information included in the second electronic device and information about a state of the second electronic device related to the arithmetic processing capability of the second electronic device. .
  • the second electronic device Upon receiving the processing request, sequentially converts the divided models of the artificial intelligence model, including the divided model for which the processing request is not received from the first electronic device, from the at least one divided model. can be processed
  • the processing is performed based on the processing request It can be processed sequentially from the requested segmentation model.
  • the second electronic device When receiving, from the first electronic device, a processing request for a segmented model for which the processing result is most recently provided to the first electronic device or a segmented model processed before the segmentation model is received, the second electronic device is the most recent may transmit the processing result of the segmentation model transmitted to the first electronic device back to the first electronic device.
  • a system for distributed processing of an artificial intelligence model using a plurality of electronic devices is configured to obtain performance information of a second electronic device in which the artificial intelligence model is to be distributed, obtain a plurality of partitioned models in which the artificial intelligence model is partitioned, and based on the performance information, the plurality of predicting a processing time required for each of the division models to be processed by the second electronic device, and requesting the second electronic device to process from among the plurality of division models based on the predicted processing time; a first electronic device for distributed processing of the artificial intelligence model by determining at least one segmentation model and requesting the second electronic device to process the determined at least one segmentation model; and at least one to be requested to be processed by the second electronic device based on the processing time of the second electronic device for the plurality of divided models into which the artificial intelligence model is divided, predicted based on performance information of the second electronic device As the partition model of is determined, a processing request for the at least one partition model is received from the
  • a method of distributed processing an artificial intelligence model It is possible to provide a computer-readable recording medium in which a program for executing the program is recorded.
  • the method may include: acquiring performance information of a second electronic device to which the artificial intelligence model is to be distributed; obtaining a plurality of divided models in which the artificial intelligence model is divided; estimating a processing time required for each of the plurality of segmentation models to be processed by the second electronic device based on the performance information; determining, from among the plurality of division models, at least one division model to request processing from the second electronic device, based on the predicted processing time; and distributing the artificial intelligence model by requesting the second electronic device to process the determined at least one segmented model.
  • a computer-readable recording medium in which a program for executing a method for distributed processing of an artificial intelligence model in a second electronic device is recorded.
  • the method may include a request for processing to the second electronic device based on a processing time of the second electronic device for a plurality of divided models into which the artificial intelligence model is divided, predicted based on performance information of the second electronic device receiving, from the first electronic device, a processing request for the at least one segmentation model as the at least one segmentation model to be used is determined; processing the at least one segmentation model; and transmitting a result of processing the at least one segmented model to the first electronic device, thereby distributing the artificial intelligence model.
  • the electronic device may include: a memory for storing the artificial intelligence model;
  • the artificial intelligence model acquires performance information of a second electronic device to be distributed, obtains a plurality of split models in which the artificial intelligence model is split, and based on the performance information, each of the plurality of split models is , predicts a processing time required to be processed by the second electronic device, and requests the second electronic device to process from among the plurality of partition models based on the predicted processing time, at least one partition at least one processor for determining a model; and a communication unit that requests the second electronic device to process the determined at least one divided model in order to distributedly process the artificial intelligence model.
  • the first electronic device sequentially processes the plurality of partition models, and the at least one partition model is the result obtained as the plurality of partition models are sequentially processed by the first electronic device, and Among the results of processing the at least one segmented model by the second electronic device, the artificial intelligence model may be distributed based on the processing result first obtained by the first electronic device.
  • a second electronic device for distributed processing of an artificial intelligence model.
  • the electronic device is configured to receive information from the first electronic device based on a processing time of the second electronic device for a plurality of divided models into which the artificial intelligence model is divided, predicted based on the performance information of the second electronic device.
  • a communication unit for receiving a processing request for at least one partition model among the plurality of partition models; a memory for storing the at least one segmentation model; and at least one processor that processes the at least one segmentation model and distributes the artificial intelligence model by controlling the communication unit to transmit a result of processing the at least one segmentation model to the first electronic device.
  • the second electronic device When receiving, from the first electronic device, a processing request for a segmented model for which the processing result is most recently provided to the first electronic device or a segmented model processed before the segmentation model is received, the second electronic device is the most recent may transmit the processing result of the segmentation model transmitted to the first electronic device back to the first electronic device.
  • FIG. 1 is a flowchart illustrating a method of distributed processing an artificial intelligence model by a first electronic device and a second electronic device according to an embodiment of the present disclosure.
  • FIG. 2 is a block diagram illustrating internal configurations of a first electronic device and a second electronic device according to an embodiment of the present disclosure
  • FIG. 3 is a block diagram illustrating an internal configuration of a first electronic device according to an embodiment of the present disclosure.
  • FIG. 4 is a block diagram illustrating an internal configuration of a second electronic device according to an embodiment of the present disclosure.
  • FIG. 5 is a flowchart illustrating a method of distributed processing an artificial intelligence model in a first electronic device according to an embodiment of the present disclosure.
  • FIG. 6 is a flowchart illustrating a method for distributed processing of an artificial intelligence model by a second electronic device according to an embodiment of the present disclosure.
  • FIG. 7 is a diagram illustrating an example of distributed processing of an artificial intelligence model in a first electronic device and a second electronic device according to an embodiment of the present disclosure.
  • FIG. 8 is a diagram illustrating an example of distributed processing of an artificial intelligence model in consideration of feedback in a first electronic device and a second electronic device according to an embodiment of the present disclosure.
  • FIG. 9 is a diagram illustrating an example of a case in which data transmission fails when an artificial intelligence model is distributed in a first electronic device and a second electronic device according to an embodiment of the present disclosure
  • FIG. 10 is a diagram illustrating an example of a case in which data transmission fails when an artificial intelligence model is distributed in a first electronic device and a second electronic device according to an embodiment of the present disclosure
  • FIG. 11 is a diagram illustrating an example of a case in which data transmission fails when distributed processing of an artificial intelligence model in a first electronic device and a second electronic device according to an embodiment of the present disclosure
  • FIG. 12 is a diagram illustrating an example of distributed processing of an artificial intelligence model in a first electronic device, a second electronic device, and a third electronic device according to an embodiment of the present disclosure.
  • the processor may consist of one or a plurality of processors.
  • one or more processors may be a general-purpose processor such as a CPU, an AP, a digital signal processor (DSP), or the like, a graphics-only processor such as a GPU, a VPU (Vision Processing Unit), or an artificial intelligence-only processor such as an NPU.
  • DSP digital signal processor
  • One or a plurality of processors control to process input data according to a predefined operation rule or artificial intelligence model stored in the memory.
  • the AI-only processor may be designed with a hardware structure specialized for processing a specific AI model.
  • a predefined action rule or artificial intelligence model is characterized in that it is created through learning.
  • being made through learning means that a basic artificial intelligence model is learned using a plurality of learning data by a learning algorithm, so that a predefined action rule or artificial intelligence model set to perform a desired characteristic (or purpose) is created means burden.
  • Such learning may be performed in the device itself on which artificial intelligence according to the present disclosure is performed, or may be performed through a separate server and/or system.
  • Examples of the learning algorithm include, but are not limited to, supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning.
  • the artificial intelligence model may be composed of a plurality of neural network layers.
  • Each of the plurality of neural network layers has a plurality of weight values, and a neural network operation is performed through an operation between the operation result of a previous layer and the plurality of weights.
  • the plurality of weights of the plurality of neural network layers may be optimized by the learning result of the artificial intelligence model. For example, a plurality of weights may be updated so that a loss value or a cost value obtained from the artificial intelligence model during the learning process is reduced or minimized.
  • the artificial neural network may include a deep neural network (DNN), for example, a Convolutional Neural Network (CNN), a Deep Neural Network (DNN), a Recurrent Neural Network (RNN), a Restricted Boltzmann Machine (RBM), There may be a Deep Belief Network (DBN), a Bidirectional Recurrent Deep Neural Network (BRDNN), or a Deep Q-Networks, but is not limited thereto.
  • DNN Deep Neural Network
  • DNN Deep Belief Network
  • BBDNN Bidirectional Recurrent Deep Neural Network
  • Deep Q-Networks Deep Q-Networks
  • FIG. 1 is a flowchart illustrating a method of distributed processing an artificial intelligence model by a first electronic device 1000 and a second electronic device 2000 according to an embodiment of the present disclosure.
  • a system 3000 for distributed processing of an artificial intelligence model may include a first electronic device 1000 and a second electronic device 2000 .
  • the first electronic device 1000 is a device capable of performing various operations by processing an artificial intelligence model.
  • the first electronic device 1000 may provide various services to a user by processing an artificial intelligence model according to a user's input and performing an operation.
  • the second electronic device 2000 In response to a request from the first electronic device 1000 , the second electronic device 2000 according to an embodiment processes a part of the artificial intelligence model instead of the first electronic device 1000 , and transmits the processing result to the first electronic device 1000 . may be transmitted to the device 1000 .
  • the first electronic device 1000 according to an embodiment may process an artificial intelligence model based on data received from the second electronic device 2000 .
  • the artificial intelligence model according to an embodiment may be distributed and processed by the second electronic device 2000 as well as the first electronic device 1000 .
  • the first electronic device 1000 and the second electronic device 2000 may be implemented in various forms.
  • the first electronic device 1000 and the second electronic device 2000 described herein may include a digital camera, a smart phone, a laptop computer, a tablet PC, an electronic book terminal, There may be a terminal for digital broadcasting, Personal Digital Assistants (PDA), Portable Multimedia Player (PMP), navigation, MP3 player, vehicle, TV, refrigerator, robot vacuum cleaner, smart speaker, etc., but is not limited thereto.
  • PDA Personal Digital Assistants
  • PMP Portable Multimedia Player
  • navigation MP3 player
  • vehicle TV, refrigerator, robot vacuum cleaner, smart speaker, etc.
  • the first electronic device 1000 and the second electronic device 2000 described herein may be wearable devices that can be worn by a user.
  • a wearable device is an accessory-type device (e.g., watch, ring, wristband, ankle band, necklace, eyeglasses, contact lens), a head-mounted-device (HMD), a fabric or clothing-integrated device (e.g., electronic clothing), a body attachable device (eg, a skin pad), or a bioimplantable device (eg, an implantable circuit).
  • HMD head-mounted-device
  • a fabric or clothing-integrated device e.g., electronic clothing
  • a body attachable device eg, a skin pad
  • a bioimplantable device eg, an implantable circuit
  • the artificial intelligence model that may be processed by the system 3000 according to an embodiment may include various types of models that may be processed inside the first electronic device 1000 according to on-device AI technology.
  • the artificial intelligence model may include various types of models such as CNN, RNN, and DNN.
  • the artificial intelligence model according to an embodiment may be a combination of a plurality of artificial intelligence models (ex. CNN+CNN).
  • the AI model is not limited to the above-described example, and may include various types of models for performing various operations.
  • the first electronic device 1000 identifies the second electronic device 2000 for distributed processing of the artificial intelligence model, and uses the identified second electronic device 2000 to perform the artificial intelligence model. can be distributed.
  • the first electronic device 1000 according to an embodiment may distribute the artificial intelligence model by requesting the identified second electronic device 2000 to process a part of the artificial intelligence model.
  • the first electronic device 1000 may perform an operation of distributed processing the artificial intelligence model using the second electronic device 2000 according to steps 110 to 155 below.
  • the first electronic device 1000 may acquire an artificial intelligence model to be distributed according to an embodiment.
  • the artificial intelligence model according to an embodiment may be an artificial intelligence model that may be divided into a plurality of divided models to be distributed and processed by the second electronic device 2000 .
  • the artificial intelligence model may be an artificial intelligence model that is composed of a plurality of layers and can be divided into layers. It is not limited to the above-described example, and the artificial intelligence model may be divided in various ways.
  • the first electronic device 1000 may identify the second electronic device 2000 for distributed processing of the artificial intelligence model.
  • the second electronic device 2000 may be identified from among devices that share an internal network that may be restricted from external access with the first electronic device 1000 or exist in a physically close location with the first electronic device 1000 .
  • the second electronic device 2000 is located in the house and is connected to the home network in the same way as the first electronic device 1000 .
  • It can be identified from among home appliances (eg, TVs, refrigerators, washing machines, robot vacuums) and electronic devices (eg, desktop computers, smart speakers, smartphones, and tablets) connected to the network.
  • the second electronic device 2000 may be identified from among devices having the ability to process a part of the artificial intelligence model faster than the first electronic device 1000 .
  • the device including the GPU is the AI model A part of it may be identified as the second electronic device 2000 for distributed processing.
  • the device having the ability to process a part of the artificial intelligence model faster than that of the first electronic device 1000 is the second device It may be identified as the electronic device 2000 .
  • a device suitable for distributed processing of an artificial intelligence model may be identified as the second electronic device 2000 according to various criteria, without being limited to the above-described example.
  • the first electronic device 1000 may acquire performance information of the second electronic device 2000 .
  • the first electronic device 1000 receives the performance information of the second electronic device 2000 from the second electronic device 2000 by requesting the second electronic device 2000 to receive the performance information of the second electronic device 2000 .
  • (2000) performance information can be obtained.
  • the first electronic device 1000 may acquire the performance information of the second electronic device 2000 from another external device (eg, a server device) storing the performance information of the second electronic device 2000 . there is.
  • the first electronic device 1000 may store performance information of the second electronic device 2000 in advance in a memory, and obtain performance information of the second electronic device 2000 from the memory.
  • the first electronic device 1000 may acquire performance information of the second electronic device 2000 in various ways.
  • the performance information of the second electronic device 2000 is information related to the ability of the second electronic device 2000 to process each division model, for example, the second electronic device 2000 .
  • performance of the processor eg, CPU, GPU, etc.
  • the above-described example is not limited, and the performance information of the second electronic device 2000 may include various information related to the processing speed, performance, state, etc. of the second electronic device 2000 that processes the artificial intelligence model.
  • the first electronic device 1000 may acquire a plurality of partitioned models by partitioning the artificial intelligence model based on the performance information of the second electronic device 2000 .
  • the split model may be obtained by splitting the artificial intelligence model in units of layers.
  • a layer according to an embodiment may include at least one node, and may output calculated data according to bias and weight values assigned to each node.
  • a split model including at least one of the first to tenth layers may be obtained.
  • the artificial intelligence model according to an embodiment is configured by combining a plurality of artificial intelligence models, a split model including at least one layer among the layers included in the plurality of artificial intelligence models may be obtained.
  • the segmentation model according to an embodiment is not limited to the above-described example, and may be obtained as the artificial intelligence model is divided into various units.
  • each layer constituting the artificial intelligence model can be accelerated by the second electronic device 2000 according to the performance information of the second electronic device 2000. For example, from among the layers constituting the artificial intelligence model, a layer may be identified according to whether the second electronic device 2000 can accelerate processing, and the artificial intelligence model is determined based on the identified layer. By partitioning, a partitioning model can be obtained. For example, a segmentation model including at least one identified layer may be obtained.
  • the segmentation model according to an embodiment is not limited to the performance information of the second electronic device 2000 and may be obtained according to the size of data output from each layer. For example, among each layer constituting the artificial intelligence model, according to the order in which the size of the output data is small, as many layers as a preset ratio may be identified, and the AI model is divided based on the identified layer, A segmentation model may be obtained. For example, at least one segmentation model in which at least one identified layer is included as an output layer of each segmentation model may be obtained.
  • the amount of data transmitted from the first electronic device 1000 to the second electronic device 2000 is minimized as it is obtained so that the size of data output from each partition model is minimized. can Accordingly, as the delay in data transmission is minimized, the distributed processing of the artificial intelligence model according to an embodiment can be performed more quickly.
  • the segmentation model according to an embodiment is not limited to the above-described example, and may be obtained from an artificial intelligence model according to various methods.
  • the first electronic device 1000 may predict a time required for each segmentation model to be processed by the second electronic device 2000 .
  • the time required to process each partition model may be predicted by the second electronic device 2000 .
  • the second electronic device 2000 receives the processing result. Accordingly, it may take time not only to process each partition model, but also to transmit/receive data between the first electronic device 1000 and the second electronic device 2000 through the network.
  • step 130 in addition to the time each segmented model is processed by the second electronic device 2000 , the first electronic device 1000 and the second electronic device 2000 are connected through the network. , the time it takes for data to be transmitted and received can be further predicted.
  • data for requesting processing of the segmentation model from the first electronic device 1000 to the second electronic device 2000 is A time required for transmission and a time required for transmission of the processing result of the segmentation model from the second electronic device 2000 to the first electronic device 1000 may be further predicted.
  • the time taken for data transmission/reception is can be predicted.
  • the first electronic device 1000 performs the following operation 140 on the basis of a value obtained by adding a time taken to process each segmented model and a time taken for data transmission and reception by the second electronic device 2000 . , it is possible to determine a partitioning model to request processing from the second electronic device 2000 .
  • the first electronic device 1000 may determine at least one partition model to request processing from the second electronic device 2000 based on the predicted time in operation 130 .
  • the first electronic device 1000 compares, by the first electronic device 1000, a predicted value with respect to a time required for each segmentation model to be processed and the predicted time value in step 130 , At least one segmentation model to request processing from the second electronic device 2000 may be determined.
  • the first electronic device 1000 selects, among a plurality of partition models, a partition model whose processing time predicted in operation 130 is shorter than the processing time predicted for the first electronic device 1000 , It may be determined as a partition model to request processing from the second electronic device 2000 .
  • the time taken for each division model to be processed by the first electronic device 1000 is the same as that of the second electronic device 2000, the processor (eg, CPU) of the first electronic device 1000 . , GPU, etc.) may be predicted based on performance information about the first electronic device 1000 including the number of processes currently being processed, and the like.
  • the first electronic device 1000 may request the second electronic device 2000 to process at least one segmentation model according to various methods based on the processing time predicted in step 130 . can decide
  • the first electronic device 1000 may transmit data for requesting processing on the segmentation model determined in operation 135 to the second electronic device 2000 .
  • the data transmitted to the second electronic device 2000 in operation 140 may include data required for the second electronic device 2000 to process the segmentation model determined in operation 135 .
  • the data may include data to be input to the segmentation model determined in step 135 .
  • the data may further include information for obtaining the partition model determined in step 135 in the second electronic device 2000 .
  • Data to be input to the segmentation model may be obtained from data output from a preceding segmentation model among a plurality of segmentation models.
  • the remaining partition models that are not requested to be processed by the second electronic device 2000 may be processed by the first electronic device 1000 .
  • each division model may be sequentially processed based on data output from the previously processed division model according to the processing order of each division model.
  • the input data for the segmentation model requested by the second electronic device 2000 may be obtained from the output data of the segmentation model previously processed by the first electronic device 1000 .
  • the data input to the artificial intelligence model according to the user input is the second electronic device 2000 . It can be obtained as input data for the segmentation model requested by .
  • the partition model which is processed prior to at least one partition model requested by the second electronic device 2000 , must be processed first by the first electronic device 1000 before being transferred to the second electronic device 2000 .
  • Input data to be transferred may be obtained. Accordingly, after the first electronic device 1000 processes the partition model in the order of processing earlier than the at least one partition model requested by the second electronic device 2000 , the processing request according to the operation of step 140 is transmitted. can
  • a processing request for each segmentation model may be transmitted one by one.
  • Information for acquiring the partition model in the second electronic device 2000 may include identification information indicating the partition model.
  • the identification information may include model data constituting the division model or information for acquiring data constituting the division model from the outside.
  • the above-described example is not limited, and the second electronic device 2000 may acquire the segmentation model requested to be processed in operation 140 according to various methods.
  • the second electronic device 2000 may process at least one segmentation model according to the request of the first electronic device 1000 received in operation 140 . Whenever a request from the first electronic device 1000 is received in operation 140 , the second electronic device 2000 according to an embodiment may process the segmentation model and transmit the result in operation 150 .
  • the second electronic device 2000 performs the split model processing as soon as it receives a request from the first electronic device 1000 . It is preferable to perform Accordingly, in step 140 , before the request is received from the first electronic device 1000 , the second electronic device 2000 may previously acquire model data for configuring at least one segmentation model, which is determined in step 135 . can For example, in operation 135 , as the first electronic device 1000 determines the at least one partition model, the first electronic device 1000 performs the determined at least one partition model in the second electronic device 2000 . The information for obtaining ? may be transmitted to the second electronic device 2000 in advance. Without being limited to the above-described example, in step 140 , before a processing request for each partition model is received from the first electronic device 1000 , the second electronic device 2000 pre-sets the partition model according to various methods. can be obtained
  • the second electronic device 2000 may transmit a result of processing the segmentation model to the first electronic device 1000 .
  • the second electronic device 2000 may transmit information about the time required to process the segmentation model to the first electronic device 1000 together.
  • the information about the processing time transmitted from the second electronic device 2000 may be used to update the performance information of the second electronic device 2000 in the first electronic device 1000 .
  • the first electronic device 1000 updates the performance information of the second electronic device 2000 whenever information on the processing time transmitted from the second electronic device 2000 is received in step 150 . can do. Also, the first electronic device 1000 may re-perform operations 130 and 135 based on the updated performance information with respect to the unprocessed segmentation model. Accordingly, the first electronic device 1000 may determine again whether to request the second electronic device 2000 to process the segmentation model according to the performance information of the second electronic device 2000 updated in real time.
  • the first electronic device 1000 may process the artificial intelligence model based on the result of processing the divided model received in operation 150 .
  • the divided model is processed by the second electronic device 2000 , which is predicted to have a faster processing time compared to the first electronic device 1000 . Accordingly, the processing time of the artificial intelligence model can be shortened.
  • the resource of the first electronic device 1000 is not limited to the resource of the first electronic device 1000 , and since the resource of the second electronic device 2000 can be additionally used, the resource of the first electronic device 1000 , for example For example, it is possible to save the battery and the amount of calculation.
  • the first electronic device 1000 is not limited to one second electronic device 2000, but may also identify a plurality of second electronic devices and use it for distributed processing of the artificial intelligence model. According to an embodiment, the first electronic device 1000 transmits a processing request for a plurality of split models by predicting a processing time for each split model based on performance information of each of the plurality of second electronic devices. may be transmitted to second electronic devices.
  • FIG. 2 is a block diagram illustrating internal configurations of the first electronic device 1000 and the second electronic device 2000 according to an embodiment of the present disclosure.
  • FIG. 3 is a block diagram illustrating an internal configuration of the first electronic device 1000 according to an embodiment of the present disclosure.
  • FIG. 4 is a block diagram illustrating an internal configuration of the second electronic device 2000 according to an embodiment of the present disclosure.
  • the first electronic device 1000 and the second electronic device 2000 may include processors 1300 and 2300 , communication units 1500 and 2500 , and memories 1700 and 2700 .
  • the first electronic device 1000 or the second electronic device 2000 may be implemented with more components than those shown in FIG. 2 , and the first electronic device 1000 or the second electronic device 2000 may have fewer components than those shown in FIG. 2 .
  • the device 1000 or the second electronic device 2000 may be implemented.
  • the first electronic device 1000 includes a user other than the processor 1300 , the communication unit 1500 , and the memory 1700 . It may further include an input unit 1100 , an output unit 1200 , a sensing unit 1400 , and an A/V input unit 1600 .
  • the second electronic device 2000 includes a user input unit ( 2100 ), an output unit 2200 , a sensing unit 2400 , and an A/V input unit 2600 may be further included.
  • the user input units 1100 and 2100 mean a means for a user to input data for controlling the first electronic device 1000 or the second electronic device 2000 .
  • the user input units 1100 and 2100 include a key pad, a dome switch, a touch pad (contact capacitive method, pressure resistance film method, infrared sensing method, surface ultrasonic conduction method, Integral tension measurement method, piezo effect method, etc.), a jog wheel, a jog switch, etc. may be used, but are not limited thereto.
  • the user input unit 1100 of the first electronic device 1000 may receive a user input including a request for processing an artificial intelligence model to perform an operation.
  • a user input including an action request is received through the user input unit 1100 , distributed processing of the artificial intelligence model by the first electronic device and the second electronic device may be performed.
  • the user input unit 2100 of the second electronic device 2000 may receive a user input related to an operation of distributed processing an artificial intelligence model.
  • the user input unit 2100 may receive a user input for performing distributed processing of the artificial intelligence model according to the request of the first electronic device 1000 .
  • the distributed processing of the artificial intelligence model by the second electronic device 2000 may be performed according to the request of the first electronic device 1000 without being limited to the above-described example, without a user input.
  • the output units 1200 and 2200 may output an audio signal, a video signal, or a vibration signal, and the output units 1200 and 2200 include the display units 1210 and 2210, the sound output units 1220 and 2220, and the vibration. Motors 1230 and 2230 may be included.
  • the output units 1200 and 2200 may output a result of performing distributed processing of the artificial intelligence model by the first electronic device 1000 and the second electronic device 2000 .
  • the display units 1210 and 2210 display and output information processed by the first electronic device 1000 or the second electronic device 2000 .
  • the display unit 1210 of the first electronic device 1000 may display a result of performing distributed processing of the artificial intelligence model by the first electronic device 1000 and the second electronic device 2000 .
  • the display unit 2210 of the second electronic device 2000 may display information related to distributed processing of the artificial intelligence model performed by the second electronic device 2000 .
  • the display units 1201 and 2201 of the first electronic device 1000 and the second electronic device 2000 may display information indicating that distributed processing of the AI model is currently in progress.
  • the display units 1201 and 2201 display the amount of current consumed by the first electronic device 1000 or the second electronic device 2000 in relation to the distributed processing operation currently being performed, the time required for processing, and the currently connected electronic device.
  • Information such as devices can be displayed. Not limited to the above example, various types of information related to distributed processing of the artificial intelligence model may be displayed on the display units 1201 and 2201 .
  • the displays 1210 and 2210 may be used as input devices in addition to output devices.
  • the display units 1210 and 2210 include a liquid crystal display, a thin film transistor-liquid crystal display, an organic light-emitting diode, a flexible display, and a three-dimensional (3D) display. It may include at least one of a display (3D display) and an electrophoretic display (electrophoretic display).
  • the first electronic device 1000 or the second electronic device 2000 may include two or more display units 1210 and 2210 . may be
  • the sound output units 1220 and 2220 output audio data received from the communication units 1500 and 2500 or stored in the memories 1700 and 2700 .
  • the vibration motors 1230 and 2230 may output a vibration signal. Also, the vibration motor 1230 may output a vibration signal when a touch is input to the touch screen.
  • the sound output units 1220 and 2220 and the vibration motors 1230 and 2230 provide information related to a distributed processing operation of an artificial intelligence model by the first electronic device 1000 and the second electronic device 2000 .
  • the processors 1300 and 2300 generally control the overall operation of the first electronic device 1000 or the second electronic device 2000 .
  • the processors 1300 and 2300 execute programs stored in the memories 1700 and 2700, and thus the user input units 1100 and 2200, the output units 1200 and 2200, the sensing units 1400 and 2400, and the communication unit. (1500, 2500), the A/V input unit (1600, 2600), etc. can be controlled in general.
  • the first electronic device 1000 and the second electronic device 2000 may include at least one processor 1300 and 2300 .
  • the first electronic device 1000 may include various types of processors, such as a central processing unit (CPU), a graphics processing unit (GPU), and a neural processing unit (NPU).
  • CPU central processing unit
  • GPU graphics processing unit
  • NPU neural processing unit
  • the processors 1300 and 2300 may be configured to process instructions of a computer program by performing basic arithmetic, logic, and input/output operations.
  • the command may be provided to the processors 1300 and 2300 from the memories 1700 and 2700 or may be received through the communication units 1500 and 2500 and provided to the processors 1300 and 2300 .
  • the processors 1300 and 2300 may be configured to execute instructions according to program codes stored in a recording device such as a memory.
  • the processor 1300 of the first electronic device 1000 divides the artificial intelligence model, obtains a plurality of divided models, and identifies the second electronic device 2000 on which at least one division model is to be processed. can do.
  • the artificial intelligence model may be divided based on performance information of the second electronic device 2000 to which the artificial intelligence model is to be distributed.
  • the processor 1300 identifies at least one layer among a plurality of layers constituting the artificial intelligence model as a layer for partitioning, and obtains a plurality of partitioning models each including the identified layer as an output layer.
  • the AI model can be partitioned.
  • the processor 1300 may predict a processing time required for each division model to be processed by the second electronic device 2000 based on the performance information of the second electronic device 2000 . Also, based on the predicted processing time, at least one partition model for requesting processing from the second electronic device 2000 may be determined. The processor 1300 according to an embodiment may distribute the artificial intelligence model by requesting the second electronic device 2000 to process the determined at least one segmented model.
  • the processor 1300 may, when a processing result of at least one division model is received from the second electronic device 2000 , the second electronic device 2000 included in the processing result may perform at least one division Performance information of the second electronic device 2000 may be updated based on the information about the time taken to process the model.
  • the processor 2300 of the second electronic device 2000 receives, from the first electronic device 1000, a processing request for at least one split model among the split models of the distributed artificial intelligence model. Upon reception, the at least one segmentation model may be processed. According to an embodiment, the processing request for the division model of the first electronic device 1000 is a processing time of the second electronic device 2000 for each division model based on the performance information of the second electronic device 2000 . As predicted, it may be transmitted to the second electronic device 2000 .
  • the processor 2300 controls the communication unit 1500 to transmit a result of processing the at least one segmentation model to the first electronic device 1000 , so that in the second electronic device 2000, the artificial Intelligent models can be distributed.
  • the sensing units 1400 and 2400 detect the states of the first electronic device 1000 and the second electronic device 2000 or the states around the first electronic device 1000 and the second electronic device 2000, and detect information may be transmitted to the processors 1300 and 2300 .
  • the sensing units 1400 and 2400 include geomagnetic sensors 1410 and 2410, acceleration sensors 1420 and 2420, temperature/humidity sensors 1430 and 2430, and infrared sensors 1440 and 2440. , gyroscope sensors 1450, 2450, position sensors (eg, GPS) 1460, 2460, barometric pressure sensors 1470, 2470, proximity sensors 1480, 2480, and RGB sensors 1490, 2490 ), but is not limited thereto.
  • the sensing units 1400 and 2400 may detect various types of sensing information that may be used to process an artificial intelligence model in the first electronic device 1000 and the second electronic device 2000 .
  • information sensed by the sensing unit 1400 of the first electronic device 1000 may be used as input information of the artificial intelligence model.
  • the information sensed by the sensing units 1400 and 2400 is not limited to the above-described example, and the artificial intelligence model is processed, and may be used in various ways.
  • the communication units 1500 and 2500 may include one or more components that enable communication between the first electronic device 1000 and the second electronic device 2000 or with another external device (not shown).
  • the communication units 1500 and 2500 may include short-distance communication units 1510 and 2510 , mobile communication units 1520 and 2520 , and broadcast receiving units 1530 and 2530 .
  • Short-range wireless communication unit (1510, 2510) is a Bluetooth communication unit, BLE (Bluetooth Low Energy) communication unit, short-range wireless communication unit (Near Field Communication unit), WLAN (Wi-Fi) communication unit, Zigbee (Zigbee) communication unit, It may include, but is not limited to, an infrared (IrDA) communication unit, a Wi-Fi Direct (WFD) communication unit, an ultra wideband (UWB) communication unit, an Ant+ communication unit, and the like.
  • IrDA infrared
  • WFD Wi-Fi Direct
  • UWB ultra wideband
  • the mobile communication units 1520 and 2520 transmit and receive wireless signals to and from at least one of a base station, an external terminal, and a server on a mobile communication network.
  • the wireless signal may include various types of data according to transmission and reception of a voice call signal, a video call signal, or a text/multimedia message.
  • the broadcast receivers 1530 and 2530 receive a broadcast signal and/or broadcast-related information from the outside through a broadcast channel.
  • the broadcast channel may include a satellite channel and a terrestrial channel.
  • the first electronic device 1000 may not include the broadcast receiver 1530 .
  • the communication unit 1500 of the first electronic device 1000 may transmit/receive data to/from the second electronic device 2000 for distributed processing of the artificial intelligence model.
  • the communication unit 1500 may receive performance information of the second electronic device 2000 from the second electronic device 2000 .
  • the communication unit 1500 may transmit, to the second electronic device 2000 , a processing request for at least one divided model among the divided models of the artificial intelligence model.
  • the communication unit 1500 may transmit/receive data required for distributed processing of the artificial intelligence model according to an embodiment.
  • the communication unit 2500 of the second electronic device 2000 may transmit/receive data to/from the first electronic device 1000 for distributed processing of the artificial intelligence model.
  • the communication unit 2500 may transmit performance information of the second electronic device 2000 to the first electronic device 1000 .
  • the communication unit 2500 may receive, from the first electronic device 1000 , a processing request for at least one divided model among the divided models of the artificial intelligence model.
  • the communication unit 2500 may transmit/receive data required for distributed processing of the artificial intelligence model according to an embodiment.
  • the A/V (Audio/Video) input units 1600 and 2600 are for inputting an audio signal or a video signal, and may include cameras 1610 and 2610 and microphones 1620 and 2620 .
  • the cameras 1610 and 2610 may obtain an image frame such as a still image or a moving picture through an image sensor in a video call mode or a shooting mode.
  • the image captured through the image sensor may be processed through the processors 1300 and 2300 or a separate image processing unit (not shown).
  • the microphones 1620 and 2620 receive an external sound signal and process it as electrical voice data.
  • the A/V input units 1600 and 2600 may obtain various types of data that can be used to process an artificial intelligence model in the first electronic device 1000 and the second electronic device 2000 .
  • audio data or image data acquired by the A/V input unit 1600 of the first electronic device 1000 may be used as input information of the artificial intelligence model.
  • the data obtained by the A/V input units 1600 and 2600 is not limited to the above-described example, and the artificial intelligence model is processed, and may be used in various ways.
  • the memories 1700 and 2700 may store programs for processing and controlling the processors 1300 and 2300 , and may be input to the first electronic device 1000 or the second electronic device 2000 or the first electronic device 1000 . ) or data output from the second electronic device 2000 may be stored.
  • the memory 1700 of the first electronic device 1000 may store an artificial intelligence model that is distributed and processed by the first electronic device 1000 and the second electronic device 2000 . Also, the memory 1700 may store at least one segmented model into which the artificial intelligence model is segmented. In addition, the memory 1700 may store data such as engines, algorithms, programs, etc. that may be used to process artificial intelligence models.
  • the memory 2700 of the second electronic device 2000 may store at least one segmented model of the artificial intelligence model processed by the second electronic device 2000 .
  • the second electronic device 2000 may perform distributed processing of the artificial intelligence model by processing at least one segmented model stored in the memory 2700 according to the processing request of the first electronic device 1000 . there is.
  • the memories 1700 and 2700 are not limited to the above-described examples, and may store various types of data required to process the artificial intelligence model.
  • the memories 1700 and 2700 include a flash memory type, a hard disk type, a multimedia card micro type, and a card type memory (eg, SD or XD memory).
  • RAM Random Access Memory
  • SRAM Static Random Access Memory
  • ROM Read-Only Memory
  • EEPROM Electrically Erasable Programmable Read-Only Memory
  • PROM Programmable Read-Only Memory
  • magnetic memory It may include at least one type of storage medium among a magnetic disk and an optical disk.
  • Programs stored in the memories 1700 and 2700 can be classified into a plurality of modules according to their functions, for example, the UI modules 1710 and 2710, the touch screen modules 1720 and 2720, the notification module 1730, 2730) and the like.
  • the UI modules 1710 and 2710 may provide specialized UIs, GUIs, and the like that interwork with the first electronic device 1000 and the second electronic device 2000 for each application.
  • the touch screen modules 1720 and 2720 may detect a touch gesture on the user's touch screen and transmit information about the touch gesture to the processors 1300 and 2300 .
  • the touch screen modules 1720 and 2720 according to some embodiments may recognize and analyze a touch code.
  • the touch screen modules 1720 and 2720 may be configured as separate hardware including a controller.
  • Various sensors may be provided inside or near the touch screen to detect a touch or a proximity touch of the touch screen.
  • a sensor for detecting a touch of a touch screen there is a tactile sensor.
  • a tactile sensor refers to a sensor that senses a touch of a specific object to the extent or higher than that of a human being.
  • the tactile sensor may sense various information such as the roughness of the contact surface, the hardness of the contact object, and the temperature of the contact point.
  • the user's touch gesture may include tap, touch & hold, double tap, drag, pan, flick, drag and drop, swipe, and the like.
  • the notification modules 1730 and 2730 may generate a signal for notifying the occurrence of an event in the first electronic device 1000 and the second electronic device 2000 .
  • FIG. 5 is a flowchart illustrating a method for distributed processing of an artificial intelligence model in the first electronic device 1000 according to an embodiment of the present disclosure.
  • the first electronic device 1000 may process the artificial intelligence model more quickly by using the second electronic device 2000 .
  • the first electronic device 1000 performs distributed processing of an artificial intelligence model using the second electronic device 2000 , the second electronic device 2000 .
  • performance information can be obtained.
  • the first electronic device 1000 provides performance information of the second electronic device 2000 to the second electronic device 2000 in order to distributedly process the artificial intelligence model using the second electronic device 2000 .
  • performance information of the second electronic device 2000 may be acquired.
  • the first electronic device 1000 may acquire performance information of the second electronic device 2000 from another external device.
  • the first electronic device 1000 may divide the artificial intelligence model to obtain a plurality of divided models.
  • At least one layer among a plurality of layers constituting the artificial intelligence model is identified as a layer for partitioning, and a plurality of partition models each including the identified layer as an output layer is obtained, so that artificial intelligence A model may be divided into a plurality of division models.
  • the layer for dividing the artificial intelligence model includes a size of data output from each layer, a data transmission speed between the first electronic device 1000 and the second electronic device 2000 , and a second electronic device (2000) may be identified based on at least one of whether the layer can be accelerated.
  • the artificial intelligence model may be divided according to the size of data output from each layer among a plurality of layers constituting the artificial intelligence model. For example, the top N% of layers having the smallest size of output data may be identified, and the AI model may be divided based on the identified layer. As an example, if the total number of layers included in the AI model is 100 and N is preset to 20, the AI model is set so that the top 20 layers with the smallest size of output data become the output layers of each split model. can be divided.
  • each layer may be identified as an output layer of each segmentation model based on a weight determined for each layer according to an operation order of each layer. For example, if the total number of layers included in the AI model is 100 and N is preset to 20, the top 20 A layer may be identified as an output layer of each segmentation model. According to an embodiment, the AI model may be divided such that the identified layer becomes an output layer of each division model.
  • the weight determined for each layer according to the operation order may be determined to have a smaller value with respect to the layer located at the front in the operation processing order. Accordingly, the weight value may be determined so that the layer positioned at the front in the operation processing order is more likely to be identified as the output layer. For example, when there are 102 layers in total, among 100 layers excluding the first layer and the last layer, the layer processed in the first order may have a weight value of 100, and the layer processed in the 100th order may have a weight value of 100. .
  • the weights determined according to the operation order may be set differently according to the order of each layer, but the present invention is not limited thereto, and all weights may be set to the same value.
  • the artificial intelligence model may be transmitted within a preset time so that data for segmentation processing of the artificial intelligence model may be performed.
  • the intelligence model may be partitioned. For example, when the data transmission time between the first electronic device 1000 and the second electronic device 2000 for distributed processing of the artificial intelligence model is limited to within 0.1 seconds in a network capable of transmitting 100 MB per second, each The output layer of each segmentation model may be identified so that the total sum of the output data of the layer is 10 MB.
  • the layers for partitioning may be identified until the total sum of the output data of each identified layer is 10MB, and the identified layer is the output layer of each partitioning model. As much as possible, the AI model can be partitioned.
  • the artificial intelligence model may be divided based on the performance information of the second electronic device 2000 .
  • the artificial intelligence model may be divided according to whether it is a layer that can be accelerated by the second electronic device 2000 among a plurality of layers constituting the artificial intelligence model.
  • the AI model can be divided based on the identified layer. Whether the layer can be accelerated may be identified according to whether the layer can be processed faster in the second electronic device 2000 than in the first electronic device 1000 .
  • the second electronic device 2000 accelerates from the first layer to the 25th processed layer. Whether it is a layer that can be processed is identified, and the AI model can be partitioned so that the identified layer becomes an output layer of each partitioned model.
  • At least one layer among a plurality of layers may be identified as an output layer of each partition model.
  • S(m) represents layers identified as an output layer of each segmentation model.
  • Sort (A) may indicate at least one layer identified as a layer that can be quickly processed by the second electronic device 2000 within the upper R% range.
  • Sort (S0) may indicate at least one layer identified as an upper N% layer having the smallest size of output data.
  • Sort (B x t) may indicate at least one identified layer so that data transmission for segmentation processing of the artificial intelligence model can be performed within a preset time.
  • C and D may be preset values so that the artificial intelligence model can be distributed.
  • the method is not limited to the method according to Equation 1, and according to Equation 2 below, at least one layer among a plurality of layers may be identified as an output layer of each partition model.
  • Equation 2 S(m) represents layers identified as an output layer of each segmentation model.
  • At least one layer may be identified, respectively.
  • Layers respectively identified in Sort(A), Sort(SO), and Sort(B x t) may be divided into at least one group according to the number of duplicates identified in each Sort.
  • the first group may include layers identified in all three Sorts
  • the second group may include layers identified in two Sorts among the three Sorts
  • the third group Layers identified only in one Sort can be included.
  • At least one layer may be classified into a various number of groups.
  • each group may be sorted in an order in which the number of duplicates is identified in each Sort. For example, the first group having the greatest number of duplicate identifications may be arranged in the order of the second group and the third group.
  • At least one layer may be aligned according to the weights of a, b, and c.
  • at least one layer may be sorted based on a value obtained by multiplying a value used for sorting each layer in each Sort by weights of a, b, and c.
  • the layers identified in Sort(S0) or Sort(B x t) may be sorted based on the size of the output data of each layer and the value b or c respectively calculated (eg, multiplication).
  • Sort(A) as layers are identified according to whether or not accelerated processing is performed, the layers identified in Sort(A) have the same rank, so at least one layer is can be sorted.
  • Sort(A) when layers are identified by sorting each layer according to the acceleration processing speed, the speed at which each layer is accelerated by the second electronic device 2000 (or, The reciprocal value of speed) and a may be sorted based on the calculated value.
  • a calculated value may be obtained based on the weight value of .
  • At least one layer may be arranged in an order of decreasing values obtained based on the above-described weight values, but the present invention is not limited thereto. can be sorted.
  • the layers identified as duplicates in Sort(A) and Sort(S0) are based on a value obtained by multiplying the size of output data of the layer by b and a value obtained by adding a, Within 2 groups, they can be sorted. It is not limited to the above-described example, and layers may be arranged in the same group based on values obtained by various methods based on the weight values.
  • the top N% layer among the plurality of layers constituting the artificial intelligence model is a layer for partitioning, and finally can be identified.
  • 100 layers constituting the AI model can be sorted in order based on Sort(A), Sort(S0), and Sort(B x t) and their respective weight values, a, b, c. and the upper N layers may be finally identified.
  • Equation 2 the values of N, a, b, and c may be preset values so that the artificial intelligence model can be distributed.
  • the artificial intelligence model may be divided based on a layer at an appropriate location for division for distributed processing according to the characteristics of each layer constituting the AI model, without being limited to the above example.
  • the first electronic device 1000 takes the time required for each division model to be processed by the second electronic device 2000 based on the performance information of the second electronic device 2000 , The processing time can be predicted.
  • the processing time includes not only the time for each segmented model to be processed by the second electronic device 2000 , but also the time when the second electronic device 2000 receives at least one segmented model from the first electronic device 1000 .
  • the time predicted with respect to the time required to receive a processing request for can be predicted, including
  • the time it takes to transmit the result processed by each segmentation model may be predicted based on various information related to the network, such as the transmission speed of the network and the average data transmission/reception amount up to the last N hours.
  • the performance information of the second electronic device 2000 includes hardware information included in the second electronic device 2000 and the second electronic device 2000 related to the arithmetic processing capability of the second electronic device 2000 .
  • the performance information may include available memory, available storage space, remaining battery capacity, performance information and state information (eg, usage rate) of arithmetic processing units (eg, CPU, NPU, GPU) provided in the second electronic device 2000 . , operation mode, operation speed, whether it is in an operable state), and the number of processors currently being processed by the second electronic device 2000 .
  • the first electronic device 1000 may determine a division model to request processing from the second electronic device 2000 based on the processing time determined in operation 530 .
  • Steps 530 and 540 may be performed for each divided model whenever the first electronic device 1000 processes each of the divided models constituting the artificial intelligence model.
  • the first electronic device 1000 determines that when a processing time predicted for the current partition model is shorter than a processing time required for processing by the first electronic device 1000 , the current partition model , may be determined as a division model to request processing from the second electronic device 2000 .
  • the first electronic device 1000 may perform the distributed processing of the artificial intelligence model by requesting the second electronic device 2000 to process the divided model determined in operation 540. there is.
  • the operation of processing the current partitioning model may be performed in the first electronic device 1000 .
  • the second electronic device 2000 does not receive the processing request of the first electronic device 1000 or due to a change in state of the network or the second electronic device 2000 . Due to this, the processing result of the segmentation model is received later than the predicted processing time, or due to a change in the state of the first electronic device 1000 , faster than the second electronic device 2000 , by the first electronic device 1000 .
  • a segmentation model can be processed.
  • the processing is performed by the second electronic device 2000 so that the artificial intelligence model can be stably processed.
  • a partition model requesting . may also be simultaneously processed by the first electronic device 1000 .
  • FIG. 6 is a flowchart illustrating a method of distributed processing an artificial intelligence model by the second electronic device 2000 according to an embodiment of the present disclosure.
  • the first electronic device 1000 identifies the second electronic device 2000 for distributed processing of the artificial intelligence model
  • the first electronic device 1000 and the second electronic device 2000 can be networked together.
  • the second electronic device 2000 performs a process for the at least one partition model before receiving a processing request from the first electronic device 1000 to the at least one partition model.
  • Model data can be acquired in advance.
  • the second electronic device 2000 obtains identification information about an artificial intelligence model distributedly processed from the first electronic device 1000 and obtains model data of the artificial intelligence model, thereby model data can be obtained.
  • the second electronic device 2000 may quickly start processing the partition model.
  • the second electronic device 2000 may previously acquire model data for at least one segmented model to be processed by the second electronic device 2000 according to various methods.
  • the second electronic device 2000 receives a processing request for at least one segmentation model from the first electronic device 1000 , and in operation 620 , processing The request may process the received at least one segmentation model.
  • the at least one division model requested to be processed by the first electronic device 1000 is transmitted to the second electronic device 2000 for each division model based on the performance information of the second electronic device 2000 . It can be determined by predicting the processing time by
  • the performance information of the second electronic device 2000 includes hardware information included in the second electronic device 2000 and the second electronic device 2000 related to the arithmetic processing capability of the second electronic device 2000 . may include at least one of information about the state of
  • the processing time according to an embodiment is not only the time for each segmented model to be processed by the second electronic device 2000 , but also the time when the second electronic device 2000 receives at least one data from the first electronic device 1000 .
  • Estimated time for a time required for receiving a request for processing for a segmentation model and a time required for the first electronic device 1000 to receive a processing result for at least one segmentation model from the second electronic device 2000 It can be predicted by further including.
  • the second electronic device 2000 may transmit a result of processing at least one segmentation model in operation 620 to the first electronic device 1000 .
  • the second electronic device 2000 processes the split model requested to be processed by the first electronic device 1000 , and then shows the split model in the following order; Even though it is not a segmented model requested to be processed by the first electronic device 1000 , an operation of sequentially processing may be performed.
  • the first electronic device 1000 may not receive the processing result of the second electronic device 2000 or due to a change in the state of the network or the second electronic device 2000 . Due to this, the split model is processed faster than the predicted processing time, or the split model is processed by the first electronic device 1000 more slowly than the second electronic device 2000 due to a change in the state of the first electronic device 1000 . This can be dealt with. According to an embodiment, even when the network environment and the state of the first electronic device 1000 or the second electronic device 2000 change, the processing is performed by the second electronic device 2000 so that the artificial intelligence model can be stably processed.
  • the unsolicited segmentation model may also be sequentially processed by the second electronic device 2000 .
  • FIG. 7 is a diagram illustrating an example of distributed processing of an artificial intelligence model in the first electronic device 1000 and the second electronic device 2000 according to an embodiment of the present disclosure.
  • reference numeral 700 denotes an example in which the artificial intelligence model 700 distributed by the first electronic device 1000 and the second electronic device 2000 is divided.
  • layers 2, 3, 5, and 9 may be identified as output layers of the split model.
  • the size of data output from each layer, the data transmission speed, and whether the layer is a layer capable of fast calculation by the second electronic device 2000 , etc. may be identified as an output layer of the segmentation model.
  • the artificial intelligence model 700 includes a split model 1 701 including layers 1 and 2, a split model 2 702 including layers 3, a split model 3 703 including layers 4 and 5, It can be partitioned into a partition model 4 704 including layers 6, 7, 8, and 9.
  • the first electronic device 1000 identifies the second electronic device 2000 to request the distributed processing before performing the distributed processing of the artificial intelligence model in step 710, and for each division model, It may be determined whether to request processing from the second electronic device 2000 .
  • the determination of whether to request a process from the second electronic device 2000 is determined by sequentially processing each partition model in the first electronic device 1000, so that the order in which each partition model is processed is determined. It can be done in advance. Accordingly, according to an embodiment, a processing request is transmitted to the second electronic device 2000 as soon as input information for each segmentation model is obtained, so that a fast processing result may be received by the first electronic device 1000 .
  • the determination of whether to request a process from the second electronic device 2000 may be performed by the first electronic device 1000 at various points in time without being limited to the above-described example.
  • the first electronic device 1000 may start processing the partition model 1 701 including layers 1 and 2 . After processing the partition model 1 701, the first electronic device 1000 determines that the partition model 2 702 including the layer 3 is a partition model to be requested to be processed by the second electronic device 2000. At 720, a processing request may be sent.
  • the processing request transmitted in operation 720 may include information necessary for the division model 2 702 to be processed by the second electronic device 2000 .
  • the processing request may include identification information indicating the division model 2 702 and information about the processing result of the division model 1 701 as information to be input to the division model 2 702 .
  • the above-described example is not limited, and the processing request may include various types of information that may be used to process the split model 2 702 in the second electronic device 2000 .
  • the second electronic device 2000 may start processing the split model 2 702 in operation 730 .
  • the second electronic device 2000 may transmit information about the processing result of the second split model 702 to the first electronic device 1000 .
  • the information on the processing result of the divided model 2 (702) transmitted in step 740 includes identification information indicating the second division model (702), output information of the division model 2 (702), and the division model 2 (702) 2 It may include information about a time taken for processing by the electronic device 2000 .
  • the first electronic device 1000 may update the performance information of the second electronic device 2000 by determining the operation speed of the second electronic device 2000 based on the time-related information. can Accordingly, the first electronic device 1000 according to an embodiment transmits the unprocessed segmentation model to the second electronic device 2000 based on the updated performance information of the second electronic device 2000 . You can decide whether to send a processing request or not.
  • the information on the processing result of the divided model 2 702 may include various types of information that may be used for distributed processing of the artificial intelligence model in the first electronic device 1000 without being limited to the above-described example. .
  • the first electronic device 1000 performs the division model 1 to the division model 4 (701, 701; 702, 703, and 704) may be sequentially processed.
  • the first electronic device 1000 according to an embodiment receives a processing result from the second electronic device 2000 for a divided model that has not yet been processed while sequentially processing a plurality of divided models , it is possible to sequentially process the received processing result from the divided model that receives the input.
  • the first electronic device 1000 may process the partition model 3 703 including the layers 4 and 5 based on the first received output information of the partition model 2 702 .
  • the divided model 3 703 is not processed. Based on a result of processing the division model 2 702 by the second electronic device 2000 rather than the start time 740 - 1 , the time point 740 - 2 at which the division model 3 703 starts to be processed This could be faster.
  • each divided model may be processed based on the result of processing the division model 2 702 by the second electronic device 2000, so distributed processing of the artificial intelligence model can be accelerated.
  • a processing request for the partition model 4 704 may be transmitted to the second electronic device 2000 .
  • the processing request for the partition model 4 704 may be transmitted based on the output information of the partition model 3 703 after the partition model 3 703 is processed.
  • the second electronic device 2000 Similarly to the first electronic device 1000 , the second electronic device 2000 according to an embodiment also processes the split model 2 702 , and then shows the split model 3 703 and the split model 4 704 . It can be processed sequentially.
  • the second electronic device 2000 includes the at least one partitioned model in the artificial intelligence model upon receiving a processing request for at least one partitioned model from the first electronic device 1000 .
  • the partitioned models can be processed sequentially.
  • the second electronic device 2000 when a processing request is received from the first electronic device 1000 with respect to a partitioned model that has not yet been processed while the partitioned models are sequentially processed, the second electronic device 2000
  • the apparatus 2000 may sequentially process from the requested segmentation model on the basis of the processing request.
  • the processing has not yet started from the first electronic device 1000 .
  • the second electronic device 2000 based on input information of the divided model 4 704 included in the processing request, ) can be dealt with.
  • the split model 4 Based on the processing request received from the first electronic device 1000 , the time point 750 - 2 at which the segmentation model 4 704 is processed may be earlier than the time point 750 - 1 at which the process 704 starts.
  • the partition model 4 704 has already In the case of processing in the electronic device 2000 , the second electronic device 2000 may discard the processing request received from the first electronic device 1000 without using it.
  • the segmentation models displayed on the right side are, respectively, when input information of the segmentation model included in the processing request received from the first electronic device 1000 is not used.
  • the division models are displayed according to the processing time points, and the division models displayed on the left are displayed according to the processing time points of each division model based on the processing request received from the first electronic device 1000 .
  • each of the divided models may be processed, so that distributed processing of the artificial intelligence model may be accelerated.
  • the second electronic device 2000 may transmit the processing result of the partition model 4 704 to the first electronic device 1000 by processing the partition model 4 704 in operation 760 .
  • output information on the division model 4 704 is first received from the second electronic device 2000 .
  • the first electronic device 1000 may acquire first received output information of the segmented model 4 704 as output information of the artificial intelligence model.
  • the divided model 4 704 is processed earlier than the time points 760 - 1 and 760 - 2 when the processing is completed.
  • the output information of the segmented model 4 704 may be acquired more quickly in the first electronic device 1000 .
  • FIG 8 is a diagram illustrating an example of distributed processing of an artificial intelligence model in consideration of feedback in the first electronic device 1000 and the second electronic device 2000 according to an embodiment.
  • reference numeral 800 denotes an example in which the artificial intelligence model 800 distributed by the first electronic device 1000 and the second electronic device 2000 is divided.
  • layers 2, 3, 5, and 9 may be identified as output layers of the segmentation model.
  • layers 1 and 6 related to an operation in which output information of a layer is input as feedback information may be additionally identified.
  • Layer 1 may be identified in advance as a layer that receives output information of layer 6 as feedback information. For example, when a plurality of input information is sequentially input to the artificial intelligence model 800 and can be processed, the output information of the layer 6 obtained as the current input information is processed, the input information of the next order is the layer When processed by 1, it may be input to layer 1 as feedback information.
  • the first electronic device 1000 and the second electronic device 2000 may identify layers 1 and 6 related to feedback in advance, and output information of the layer 6 may be input to the layer 1 as feedback information. so that it can work.
  • the artificial intelligence model 800 includes a split model 1 including layers 1 and 2, a split model 2 including layers 3, a split model 3 including layers 4 and 5, and layers 6, 7, 8, and 9 It can be divided into a partitioning model 4 including:
  • the first electronic device 1000 identifies the second electronic device 2000 to request the distributed processing before performing the distributed processing of the artificial intelligence model in step 810, and for each division model, It may be determined whether to request processing from the second electronic device 2000 .
  • the first electronic device 1000 may start processing the partition model 1 801 including layers 1 and 2 . After processing the partition model 1 801, the first electronic device 1000 determines that the partition model 2 802 including the layer 3 is the partition model to be requested to be processed by the second electronic device 2000. At 820 , a processing request may be sent.
  • the second electronic device 2000 may start processing the split model 2 802 in operation 830 .
  • the obtained processing result of the partition model 2 802 may be transmitted to the first electronic device 1000 .
  • the second time point 840 - 1 at which the partition model 3 803 is processed without using the second electronic device 2000 .
  • a time point 840 - 2 at which the segmentation model 3 803 is processed may be earlier.
  • a processing request for the partition model 4 804 may be transmitted to the second electronic device 2000 .
  • the second electronic device 2000 does not use the processing request of the first electronic device 1000 , and the division model 4 804 According to the processing request of the first electronic device 1000 , the time point 850 - 2 at which the segmentation model 4 804 is processed may be earlier than the time point 850 - 1 at which the processing starts. Accordingly, the second electronic device 2000 according to an embodiment starts to process the division model 4 804 from an earlier point in time in response to the processing request of the first electronic device 1000 , thereby distributing the artificial intelligence model. Processing can be accelerated.
  • the second electronic device 2000 acquires the output information of the layer 6 related to the feedback, in operation 860 - 1 , the layer 6
  • the output information may be transmitted to the first electronic device 1000 .
  • the first electronic device 1000 when the output information of the layer 6 is first obtained from the first electronic device 1000, in operation 860-2, as the input information of the layer 1, the output of the layer 6 information can be conveyed.
  • the output information of the layer 6 when the output information of the layer 6 is first received from the second electronic device 2000 , the output information of the layer 6 may be transmitted as input information of the layer 1 in operation 870 - 1 .
  • the first electronic device 1000 according to an embodiment generates an artificial intelligence model for the input data of the next order based on the first received output information among the output information obtained in steps 860-1 and 860-2, respectively. It can be processed sequentially from layer 1.
  • the second electronic device 2000 may transmit the output information of the partition model 4 804 to the first electronic device 1000 in operation 870 by processing the partition model 4 804 .
  • the processing result of the division model 4 is obtained in the first electronic device 1000 without using the second electronic device 2000 .
  • the processing result of the segmentation model 4 804 may be obtained faster than the time points 870 - 1 and 870 - 2 . Accordingly, according to an embodiment, as the processing result received from the second electronic device 2000 is received by the first electronic device 1000 , the distributed processing of the artificial intelligence model may be accelerated.
  • FIG. 9 is a diagram illustrating an example of a case in which data transmission fails when an artificial intelligence model is distributed in the first electronic device 1000 and the second electronic device 2000 according to an embodiment.
  • distributed processing of the artificial intelligence model 700 may be performed based on a plurality of divided models.
  • the first electronic device 1000 may start processing the partition model 1 701 including layers 1 and 2 . After processing the partition model 1 701, the first electronic device 1000 determines that the partition model 2 702 including the layer 3 is a partition model to be requested to be processed by the second electronic device 2000. At 920 , a processing request may be sent.
  • step 920 when the transmission of the processing request fails, the second electronic device 2000 returns to the first electronic device ( As the processing request of 1000 is not received, the second electronic device 2000 may not process the split model 2 702 .
  • the first electronic device 1000 separately from the operation of transmitting the processing request for the partition model 2 to the second electronic device 2000 , the first electronic device 1000 processes the partition model 1 701 and then sequentially
  • the partition model 2 702 can be processed as As the first electronic device 1000 according to an embodiment does not receive output information of the split model 2 702 from the second electronic device 2000 until the process of the split model 2 702 is completed, , after the processing of the division model 2 is completed, the division model 3 703 may be sequentially processed. Also, the first electronic device 1000 processes the divided model 3 703 in the second electronic device 2000 separately from the operation of processing the divided model 3 703 in the first electronic device 1000 . Upon determining the segmentation model to be requested, in step 930 , a processing request may be transmitted.
  • the second electronic device 2000 may perform processing on the partition model 3 703 including layers 4 and 5 in operation 940 . there is.
  • the second electronic device 2000 may transmit output information on the divided model 3 to the first electronic device 1000 .
  • the second electronic device 2000 may sequentially process a plurality of segmented models of the artificial intelligence model, including the requested segmentation model. Accordingly, in the first electronic device 1000 , even when the processing result for the partition model is not received from the second electronic device 2000 or is received late, the first electronic device 1000 may Based on the processing result, the AI model can be processed quickly.
  • FIG. 10 is a diagram illustrating an example of a case in which data transmission fails when distributed processing of an artificial intelligence model in the first electronic device 1000 and the second electronic device 2000 according to an embodiment.
  • distributed processing of the artificial intelligence model 700 may be performed based on a plurality of divided models.
  • the first electronic device 1000 may start processing the partition model 1 701 including the layers 1 and 2 . After processing the partition model 1 701, the first electronic device 1000 determines that the partition model 2 702 including the layer 3 is a partition model to be requested to be processed by the second electronic device 2000. At 1020 , it may send a processing request.
  • the second electronic device 2000 may sequentially process the split model 2 702 .
  • the second electronic device 2000 may transmit the processing result of the division model 2 702 to the first electronic device 1000 .
  • the first electronic device 1000 is the segmentation model 3 based on the processing result of the segmentation model 2 702 processed by the first electronic device 1000 without output information of the segmentation model 2 702 processed by the second electronic device 2000 . (703) can be processed sequentially.
  • the first electronic device 1000 sequentially performs the processing on the split model 2 702 in the first electronic device 1000 separately from the processing request transmitted in step 1020 .
  • the transmission of step 1040 fails and the first electronic device 1000 does not receive the processing result of the segmentation model 2 702 from the second electronic device 2000 , the first electronic device 1000 Based on the processing result of the processed division model 2 702 , the division model 3 703 may be sequentially processed.
  • the first electronic device 1000 executes the partition model 3 703 based on the performance information of the second electronic device 2000 separately from the operation of sequentially processing the partition model 3 703 .
  • a processing request for the partition model 3 703 may be transmitted to the second electronic device 2000 based on the predicted processing time.
  • the second electronic device 2000 may transmit the processing result of the segmentation model 3 703 to the first electronic device 1000 .
  • the second electronic device in the first electronic device 1000 without using the second electronic device 2000 , the second electronic device is earlier than the time point 1060-1 at which the division model 4 740 starts to be processed.
  • the division model 4 704 may be processed from an earlier time point 1060 - 2 .
  • the second electronic device 2000 processes the partition model 3 703 even for the partition model 4 704 for which the processing request of the first electronic device 1000 is not received, and then sequentially can be processed with
  • the transmission of step 1060 according to an embodiment fails due to a network condition or the second electronic device 2000 can process the split model 4 704 faster than the first electronic device 1000
  • the second electronic device 2000 may sequentially process the split model 4 704 , which is the split model for which the processing request of the first electronic device 1000 is not received, as the split model 3 703 is completed. there is.
  • the second electronic device 2000 may transmit output information on the segmentation model 4 704 to the first electronic device 1000 .
  • the divided model 4 704 is processed earlier than the time points 1070-1 and 1070-2 when the processing is completed. , based on the processing result of the division model 4 704 processed by the second electronic device 2000 , output information of the division model 4 704 may be more rapidly obtained in the first electronic device 1000 .
  • FIG. 11 is a diagram illustrating an example of a case in which data transmission fails when an artificial intelligence model is distributed in the first electronic device 1000 and the second electronic device 2000 according to an embodiment.
  • distributed processing of the artificial intelligence model 700 may be performed based on a plurality of divided models.
  • the first electronic device 1000 may start processing the partition model 1 701 including the layers 1 and 2 . After processing the partition model 1 701, the first electronic device 1000 determines that the partition model 2 702 including the layer 3 is a partition model to be requested to be processed by the second electronic device 2000. At 1120 , a processing request may be sent.
  • the second electronic device 2000 may sequentially process the split model 2 702 .
  • the second electronic device 2000 may transmit output information of the partition model 2 702 to the first electronic device 1000 as the processing of the partition model 2 702 is completed.
  • the second electronic device 2000 may sequentially process the divided model 3 703 for which the processing request of the first electronic device 1000 is not received.
  • the second electronic device 2000 when a processing request for the partition model 3 703 is received before the processing for the partition model 2 702 is completed, the second electronic device 2000 transmits the partition model 3 ( 703), from the received processing request, before the processing on the split model 2 is completed, faster processing is possible.
  • the processing request for the divided model 3 703 is not received until the processing of the divided model 2 702 is completed, the second electronic device 2000 performs the processing of the divided model 2 702 is completed.
  • the partition model 3 703 can be processed later.
  • the second electronic device 2000 When the processing of the divided model 3 703 is completed, the second electronic device 2000 according to an embodiment transmits the output information of the divided model 3 703 to the first electronic device 1000 in operation 1150 . can be transmitted
  • the first electronic device 1000 when the transmission of output information of the partition model 3 703 fails, the first electronic device 1000 ) does not receive the output information of the divided model 3 703 processed by the second electronic device 2000 , and the first electronic device 1000 converts the divided model 2 702 into the second electronic device 2000 .
  • a processing request for the partition model 3 703 may be transmitted to the second electronic device 2000 .
  • the second electronic device 2000 provides a processing request for the partition model 3 703 from the first electronic device 1000 even though output information on the partition model 3 703 is provided. Upon receiving , it may be determined that the output information for the segmentation model 3 703 is not provided to the first electronic device 1000 . Accordingly, in operation 1170 , the second electronic device 2000 may transmit output information on the partition model 3 703 back to the first electronic device 1000 .
  • the second electronic device 2000 is not used and the first electronic device At 1000 , the divided model 4 704 is processed by the first electronic device 1000 from a time point 1170 - 2 that is earlier than a time point 1170-1 at which the division model 4 704 starts to be processed.
  • the processing of the division model 4 704 in the first electronic device 1000 may be completed at an earlier time point 1180 - 2 .
  • the second electronic device 2000 transmits, to the first electronic device 1000, output information of the divided model 4 704 , which is a result of processing the divided model 4 704 , at a time point 1180 - 3 . can be transmitted However, when the first electronic device 1000 receives the output information of the divided model 4 704 is later than the time when the divided model 4 704 is processed in the first electronic device 1000 is completed ( 1180 - 2 ). Accordingly, the first electronic device 1000 may discard the output information of the divided model 4 704 received from the second electronic device 2000 without using it.
  • FIG. 12 is a diagram illustrating an example of distributed processing of an artificial intelligence model in the first electronic device 1000 , the second electronic device 2000 , and the third electronic device 2000-1 according to an embodiment.
  • distributed processing of the artificial intelligence model 700 may be performed based on a plurality of divided models.
  • the first electronic device 1000 may start processing the partition model 1 701 including the layers 1 and 2 . After processing the partition model 1 701, the first electronic device 1000 determines that the partition model 2 702 including the layer 3 is a partition model to be requested to be processed by the second electronic device 2000. At 1202 , a processing request may be sent.
  • the second electronic device 2000 may sequentially process the split model 2 702 .
  • the second electronic device 2000 may transmit output information of the partition model 2 702 to the first electronic device 1000 as the processing of the partition model 2 702 is completed.
  • output information on the split model 2 702 is first received from the second electronic device 2000 .
  • the first electronic device 1000 may process the partition model 3 703 including the layers 4 and 5 in operation 1205 based on the first received output information of the partition model 2 702 .
  • the second electronic device 2000 does not use the second electronic device 2000, and the split model 3 703 is processed by the second electronic device 2000 rather than the time point 1205 - 1 when it starts to be processed. Based on the result of processing 2 ( 702 ), a time point ( 1205 - 2 ) at which the segmentation model 3 ( 703 ) starts to be processed may be earlier.
  • step 1206 when information indicating that the distributed processing for the artificial intelligence model 700 transmitted from the second electronic device 2000 is terminated is received by the first electronic device 1000 in step 1206 , the first electronic device 1000 ) may identify the third electronic device 2000 - 1 for distributed processing the artificial intelligence model 700 in operation 1207 .
  • the second electronic device 2000 according to an embodiment is the second electronic device Based on the user input received in 2000 , information indicating that the distributed processing for the artificial intelligence model 700 is terminated may be transmitted to the first electronic device 1000 .
  • information indicating that the distributed processing on the artificial intelligence model 700 is terminated 1 may be transmitted to the electronic device 1000 .
  • information indicating that the distributed processing for the artificial intelligence model 700 is terminated may be transmitted from the second electronic device 2000 to the first electronic device 1000 .
  • the first electronic device 1000 processes the partition model 4 704 in the third electronic device 2000-1 based on the identified performance information of the third electronic device 2000-1 As it is determined to make a request, in operation 1208 , a processing request for the partition model 4 704 may be transmitted to the third electronic device 2000 - 1 .
  • the processing request for the partition model 4 704 may include input information on the partition model 4 704 obtained based on the processing result of the partition model 3 703 .
  • the information indicating that the distributed processing for the artificial intelligence model 700 transmitted from the second electronic device 2000 is terminated is transmitted to the first electronic device ( Before being received by the first electronic device 1000 , it may be identified by the first electronic device 1000 in advance.
  • the first electronic device 1000 identifies the third electronic device 2000 - 1 in advance in case the distributed processing by the second electronic device 2000 may be terminated. , as the distributed processing by the second electronic device 2000 ends, the distributed processing by the third electronic device 2000 - 1 may be started faster.
  • the third electronic device 2000 - 1 may be identified together when the second electronic device 2000 is identified, but after the second electronic device 2000 is identified, the second electronic device ( 2000) while distributed processing is being performed. Without being limited to the above-described example, the third electronic device 2000 - 1 may be identified by the first electronic device 1000 at various viewpoints.
  • the first electronic device 1000 divides the artificial intelligence model 700 into a plurality of partition models based on the identified performance information of the third electronic device 2000-1, and divides the plurality of partitions. It may be determined whether to transmit a processing request to the third electronic device 2000 - 1 with respect to at least one split model among the models.
  • the segmentation of the artificial intelligence model 700 is different from the segmentation model used in the distributed processing operation by the second electronic device 2000 based on the performance information of the third electronic device 2000-1. Based on it, it can be done.
  • the artificial intelligence model ( 700) may be divided into a plurality of division models.
  • the above-described performance information of the third electronic device 2000 - 1 is not limited, and the artificial intelligence model 700 may be divided into a plurality of division models based on various pieces of information.
  • the division of the artificial intelligence model 700 based on the performance information of the third electronic device 2000 - 1 is the artificial intelligence model 700 based on the performance information of the second electronic device 2000 .
  • the division of the artificial intelligence model 700 based on the performance information of the third electronic device 2000 - 1 may be performed by the first electronic device 1000 at various points in time, without being limited to the above-described example.
  • the determination of whether to transmit the processing request to the third electronic device 2000 - 1 for each division model is the artificial intelligence model 700 transmitted from the second electronic device 2000 in operation 1206 . This may be performed as information indicating that the distributed processing for . is received by the first electronic device 1000 is received.
  • the present invention is not limited thereto, and the determination of whether to transmit a processing request to the third electronic device 2000 - 1 for each division model according to an embodiment is the performance information of the third electronic device 2000 - 1 After the division of the artificial intelligence model 700 based on .
  • the determination of whether to transmit the processing request to the third electronic device 2000 - 1 for each division model is based on the time when the determination is performed, the first electronic device 1000 ), it may be performed for a segmentation model including a layer that has not yet been processed or a layer for which a processing result has not yet been obtained.
  • the determination is not limited to the above example, and the determination may be performed with respect to the segmentation model identified based on various time points.
  • the third electronic device 2000 - 1 may transmit the output information of the divided model 4 704 to the first electronic device 1000 in operation 1209 by processing the divided model 4 704 . there is.
  • output information on the divided model 4 704 is obtained from the third electronic device 2000 - 1
  • the first electronic device 1000 may acquire the previously received output information of the segmented model 4 704 as output information of the artificial intelligence model.
  • the first electronic device 1000 does not use the third electronic device 2000-1, and the processing time points 1209-1 and 1209-2 of the division model 4 704 are completed. ), the output information of the segmentation model 4 704 may be acquired more quickly from the first electronic device 1000 at a time point 1209 - 3 earlier than .
  • the device-readable storage medium may be provided in the form of a non-transitory storage medium.
  • 'non-transitory storage medium' is a tangible device and only means that it does not contain a signal (eg, electromagnetic wave). It does not distinguish the case where it is stored as
  • the 'non-transitory storage medium' may include a buffer in which data is temporarily stored.
  • the method according to various embodiments disclosed in this document may be included in a computer program product (computer program product) and provided.
  • Computer program products may be traded between sellers and buyers as commodities.
  • the computer program product is distributed in the form of a device-readable storage medium (eg compact disc read only memory (CD-ROM)), or through an application store (eg Play StoreTM) or on two user devices (eg, It can be distributed online (eg download or upload), directly between smartphones (eg smartphones).
  • a portion of the computer program product eg, a downloadable app
  • a machine-readable storage medium such as a memory of a manufacturer's server, a server of an application store, or a relay server. It may be temporarily stored or temporarily created.
  • unit may be a hardware component such as a processor or circuit, and/or a software component executed by a hardware component such as a processor.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Debugging And Monitoring (AREA)
  • Information Transfer Between Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

인공지능 모델이 분산 처리될, 제2 전자 장치의 성능 정보를 획득하고, 인공지능 모델이 분할된, 복수 개의 분할 모델을 획득하고, 성능 정보에 기초하여, 복수 개의 분할 모델 각각이, 제2 전자 장치에 의해, 처리되는데 소요되는, 처리 시간을 예측하고, 예측된 처리 시간에 기초하여, 복수 개의 분할 모델 중에서, 제2 전자 장치에 처리를 요청할, 적어도 하나의 분할 모델을 결정하고, 적어도 하나의 분할 모델에 대한 처리를 제2 전자 장치에 요청하는, 제1 전자 장치에서, 인공지능 모델을 분산 처리하는 방법이 제공된다.

Description

인공지능 모델을 분산 처리하는 시스템 및 그 동작 방법
본 개시는, 복수 개의 장치를 이용하여, 인공지능 모델을 분산 처리하는 시스템 및 그 동작 방법에 관한 것이다.
온 디바이스(on-device) AI 기술에 따라서, 클라우드 서버와의 데이터 송수신 없이, 전자 장치에 구비된 인공지능 모델에 기초하여 다양한 데이터들이 처리될 수 있다. 예를 들면, 전자 장치는 클라우드 서버를 이용할 필요없이, 실시간으로 전자 장치에 포함된 인공지능 모델과 전자 장치의 하드웨어 구성에 의하여 다양한 동작이 수행될 수 있다. 따라서, 온 디바이스 AI 기술에 의하면, 전자 장치에서 수집된 사용자와 관련된 데이터를 외부로 전달하지 않고, 스스로 운용하므로, 사용자의 개인 정보 보호 및 데이터 처리 속도 면에서, 장점이 존재한다.
그러나, 온 디바이스 AI 기술에 따라서, 전자 장치 내에서 인공지능 모델이 처리되는 경우, 전자 장치에 구비된 하드웨어에 따라 처리 성능이 제한되는 문제점이 존재한다.
따라서, 사용자의 개인 정보 보호 및 데이터 처리 속도 면에서의 온 디바이스 AI 기술의 장점을 유지하면서, 전자 장치의 하드웨어에 따른 처리 성능의 제한을 최소화할 수 있는, 인공지능 모델의 처리 방법이 필요하다.
본 개시가 해결하고자 하는 과제는 전술한 문제를 해결하기 위한 것으로서, 인공지능 모델을 분산 처리하는 시스템을 제공하기 위한 것이다.
또한, 상기 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는 데 있다. 해결하려는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
본 개시의 일 측면에 따르면, 제1 전자 장치에서 인공지능 모델을 분산 처리하는 방법을 제공할 수 있다. 상기 방법은, 상기 인공지능 모델이 분산 처리될, 제2 전자 장치의 성능 정보를 획득하는 단계; 상기 인공지능 모델이 분할된, 복수 개의 분할 모델을 획득하는 단계; 상기 성능 정보에 기초하여, 상기 복수 개의 분할 모델 각각이, 상기 제2 전자 장치에 의해, 처리되는데 소요되는, 처리 시간을 예측하는 단계; 상기 예측된 처리 시간에 기초하여, 상기 복수 개의 분할 모델 중에서, 상기 제2 전자 장치에 처리를 요청할, 적어도 하나의 분할 모델을 결정하는 단계; 및 상기 결정된 적어도 하나의 분할 모델에 대한 처리를 상기 제2 전자 장치에 요청함으로써, 상기 인공지능 모델을 분산 처리하는 단계를 포함할 수 있다.
상기 복수 개의 분할 모델은, 상기 성능 정보에 기초하여, 상기 인공지능 모델이 분할됨으로써, 획득되는 것일 수 있다.
상기 복수 개의 분할 모델을 획득하는 단계는, 상기 인공지능 모델을 구성하는 복수 개의 레이어 중 적어도 하나의 레이어를 분할을 위한 레이어로 식별하는 단계; 및 상기 식별된 레이어를 출력 레이어로서 각각 포함하는 상기 복수 개의 분할 모델을 획득하는 단계를 포함할 수 있다.
상기 분할을 위한 레이어는, 각 레이어에서 출력되는 데이터의 크기, 상기 제1 전자 장치 및 상기 제2 전자 장치 간의 데이터 전송 속도 및 상기 제2 전자 장치에 의해 가속 처리될 수 있는 레이어인지 여부 중 적어도 하나에 기초하여, 식별될 수 있다.
상기 제1 전자 장치에서 인공지능 모델을 분산 처리하는 상기 방법은, 상기 제2 전자 장치로부터, 상기 적어도 하나의 분할 모델에 대한 처리 결과를 수신하는 단계; 및 상기 처리 결과에 포함된, 상기 제2 전자 장치가 상기 적어도 하나의 분할 모델을 처리하는데 소요된 시간에 관한 정보에 기초하여, 상기 제2 전자 장치의 성능 정보를 갱신하는 단계를 더 포함할 수 있다.
상기 제1 전자 장치는, 상기 제2 전자 장치로 처리 요청된 상기 적어도 하나의 분할 모델을 포함한, 상기 복수 개의 분할 모델을 순차적으로 처리할 수 있다.
상기 제1 전자 장치에서, 상기 복수 개의 분할 모델이 처리되는 중에, 아직 처리 완료되지 않은 분할 모델에 대하여, 상기 제2 전자 장치로부터 처리 결과가 수신되는 경우, 상기 수신된 처리 결과에 기초하여, 상기 복수 개의 분할 모델 중 상기 처리 결과를 입력 받는 분할 모델부터 순차적으로 처리될 수 있다.
본 개시의 일 측면에 따르면, 제2 전자 장치에서 인공지능 모델을 분산 처리하는 방법을 제공할 수 있다. 상기 방법은, 제2 전자 장치의 성능 정보에 기초하여 예측된, 상기 인공지능 모델이 분할된 복수 개의 분할 모델에 대한 상기 제2 전자 장치의 처리 시간에 기초하여, 상기 제2 전자 장치로 처리 요청될 적어도 하나의 분할 모델이 결정됨에 따라서, 상기 제1 전자 장치로부터, 상기 적어도 하나의 분할 모델에 대한 처리 요청을 수신하는 단계; 상기 적어도 하나의 분할 모델을 처리하는 단계; 및 상기 적어도 하나의 분할 모델을 처리한 결과를 상기 제1 전자 장치로 전송함으로써, 상기 인공지능 모델을 분산 처리하는 단계를 포함할 수 있다.
상기 제2 전자 장치의 처리 시간은, 상기 제2 전자 장치가 상기 복수 개의 분할 모델을 처리하는데 소요되는 시간에 더해, 상기 제2 전자 장치가 상기 제1 전자 장치로부터, 상기 적어도 하나의 분할 모델에 대한 처리 요청을 수신하는데 소요되는 시간 및 상기 제1 전자 장치가, 상기 제2 전자 장치로부터 상기 적어도 하나의 분할 모델에 대한 처리 결과를 수신하는데 소요되는 시간에 대해 예측된 시간을 더 포함할 수 있다.
상기 제2 전자 장치의 성능 정보는, 상기 제2 전자 장치가 구비한 하드웨어 정보 및 상기 제2 전자 장치의 연산 처리 능력과 관련된 상기 제2 전자 장치의 상태에 관한 정보 중 적어도 하나를 포함할 수 있다.
상기 제2 전자 장치는, 상기 처리 요청을 수신함에 따라, 상기 적어도 하나의 분할 모델부터, 상기 제1 전자 장치로부터 처리 요청이 수신되지 않은 분할 모델을 포함한, 상기 인공지능 모델의 분할 모델들을 순차적으로 처리할 수 있다.
상기 제2 전자 장치에서, 순차적으로 상기 분할 모델들이 처리되는 중에, 아직 처리가 시작 되지 않은 분할 모델에 대하여, 상기 제1 전자 장치로부터 처리 요청이 수신되는 경우, 상기 처리 요청에 기초하여, 상기 처리 요청된 분할 모델부터 순차적으로 처리될 수 있다.
상기 제2 전자 장치는, 상기 제1 전자 장치에 가장 최근에 처리 결과가 제공된 분할 모델 또는, 상기 분할 모델보다 앞서 처리되는 분할 모델에 대한 처리 요청을 상기 제1 전자 장치로부터 수신하는 경우, 가장 최근에 상기 제1 전자 장치로 전송된 분할 모델의 처리 결과를 다시 상기 제1 전자 장치로 전송할 수 있다.
본 개시의 일 측면에 따르면, 인공지능 모델을 복수 개의 전자 장치를 이용하여 분산 처리하는 시스템을 제공할 수 있다. 상기 시스템은, 상기 인공지능 모델이 분산 처리될, 제2 전자 장치의 성능 정보를 획득하고, 상기 인공지능 모델이 분할된, 복수 개의 분할 모델을 획득하고, 상기 성능 정보에 기초하여, 상기 복수 개의 분할 모델 각각이, 상기 제2 전자 장치에 의해, 처리되는데 소요되는, 처리 시간을 예측하고, 상기 예측된 처리 시간에 기초하여, 상기 복수 개의 분할 모델 중에서, 상기 제2 전자 장치에 처리를 요청할, 적어도 하나의 분할 모델을 결정하고, 상기 결정된 적어도 하나의 분할 모델에 대한 처리를 상기 제2 전자 장치에 요청함으로써, 상기 인공지능 모델을 분산 처리하는, 제1 전자 장치; 및 제2 전자 장치의 성능 정보에 기초하여 예측된, 상기 인공지능 모델이 분할된 복수 개의 분할 모델에 대한 상기 제2 전자 장치의 처리 시간에 기초하여, 상기 제2 전자 장치로 처리 요청될 적어도 하나의 분할 모델이 결정됨에 따라서, 상기 제1 전자 장치로부터, 상기 적어도 하나의 분할 모델에 대한 처리 요청을 수신하고, 상기 적어도 하나의 분할 모델을 처리하고, 상기 적어도 하나의 분할 모델을 처리한 결과를 상기 제1 전자 장치로 전송함으로써, 상기 인공지능 모델을 분산 처리하는, 제2 전자 장치를 포함할 수 있다.본 개시의 일 측면에 따르면, 제1 전자 장치에서, 인공지능 모델을 분산 처리하는 방법을 실행시키기 위한 프로그램이 기록된 컴퓨터 판독 가능 기록매체를 제공할 수 있다. 상기 방법은, 상기 인공지능 모델이 분산 처리될, 제2 전자 장치의 성능 정보를 획득하는 단계; 상기 인공지능 모델이 분할된, 복수 개의 분할 모델을 획득하는 단계; 상기 성능 정보에 기초하여, 상기 복수 개의 분할 모델 각각이, 상기 제2 전자 장치에 의해, 처리되는데 소요되는, 처리 시간을 예측하는 단계; 상기 예측된 처리 시간에 기초하여, 상기 복수 개의 분할 모델 중에서, 상기 제2 전자 장치에 처리를 요청할, 적어도 하나의 분할 모델을 결정하는 단계; 및 상기 결정된 적어도 하나의 분할 모델에 대한 처리를 상기 제2 전자 장치에 요청함으로써, 상기 인공지능 모델을 분산 처리하는 단계를 포함할 수 있다.
본 개시의 일 측면에 따르면, 제2 전자 장치에서 인공지능 모델을 분산 처리하는 방법을 실행시키기 위한 프로그램이 기록된 컴퓨터 판독 가능 기록매체를 제공할 수 있다. 상기 방법은, 제2 전자 장치의 성능 정보에 기초하여 예측된, 상기 인공지능 모델이 분할된 복수 개의 분할 모델에 대한 상기 제2 전자 장치의 처리 시간에 기초하여, 상기 제2 전자 장치로 처리 요청될 적어도 하나의 분할 모델이 결정됨에 따라서, 상기 제1 전자 장치로부터, 상기 적어도 하나의 분할 모델에 대한 처리 요청을 수신하는 단계; 상기 적어도 하나의 분할 모델을 처리하는 단계; 및 상기 적어도 하나의 분할 모델을 처리한 결과를 상기 제1 전자 장치로 전송함으로써, 상기 인공지능 모델을 분산 처리하는 단계를 포함할 수 있다.
본 개시의 일 측면에 따르면, 인공지능 모델을 분산 처리하는 제1 전자 장치를 제공할 수 있다. 상기 전자 장치는, 상기 인공지능 모델을 저장하는 메모리; 상기 인공지능 모델이 분산 처리될, 제2 전자 장치의 성능 정보를 획득하고, 상기 인공지능 모델이 분할된, 복수 개의 분할 모델을 획득하고, 상기 성능 정보에 기초하여, 상기 복수 개의 분할 모델 각각이, 상기 제2 전자 장치에 의해, 처리되는데 소요되는, 처리 시간을 예측하고, 상기 예측된 처리 시간에 기초하여, 상기 복수 개의 분할 모델 중에서, 상기 제2 전자 장치에 처리를 요청할, 적어도 하나의 분할 모델을 결정하는, 적어도 하나의 프로세서; 및 상기 인공지능 모델을 분산 처리하기 위해, 상기 결정된 적어도 하나의 분할 모델에 대한 처리를 상기 제2 전자 장치에 요청하는, 통신부를 포함할 수 있다.
상기 제1 전자 장치는, 상기 복수 개의 분할 모델을 순차적으로 처리하고, 상기 적어도 하나의 분할 모델이, 상기 제1 전자 장치에 의해 상기 복수 개의 분할 모델이 순차적으로 처리됨에 따라서, 획득된 결과 및 상기 제2 전자 장치에 의해 상기 적어도 하나의 분할 모델이 처리된 결과 중, 상기 제1 전자 장치에서 먼저 획득된 처리 결과에 기초하여, 상기 인공지능 모델이 분산 처리될 수 있다.
본 개시의 일 측면에 따르면, 인공지능 모델을 분산 처리하는 제2 전자 장치를 제공할 수 있다. 상기 전자 장치는, 상기 제2 전자 장치의 성능 정보에 기초하여 예측된, 상기 인공지능 모델이 분할된 복수 개의 분할 모델에 대한 상기 제2 전자 장치의 처리 시간에 기초하여, 상기 제1 전자 장치로부터, 상기 복수 개의 분할 모델 중 적어도 하나의 분할 모델에 대한 처리 요청을 수신하는 통신부; 상기 적어도 하나의 분할 모델을 저장하는 메모리; 및 상기 적어도 하나의 분할 모델을 처리하고, 상기 적어도 하나의 분할 모델을 처리한 결과를 상기 제1 전자 장치로 전송하도록 상기 통신부를 제어함으로써, 상기 인공지능 모델을 분산 처리하는, 적어도 하나의 프로세서를 포함할 수 있다.
상기 제2 전자 장치는, 상기 제1 전자 장치에 가장 최근에 처리 결과가 제공된 분할 모델 또는, 상기 분할 모델보다 앞서 처리되는 분할 모델에 대한 처리 요청을 상기 제1 전자 장치로부터 수신하는 경우, 가장 최근에 상기 제1 전자 장치로 전송된 분할 모델의 처리 결과를 다시 상기 제1 전자 장치로 전송할 수 있다.
전술한 내용 및 다른 양태, 특징, 및 본 개시의 특정 실시예의 이점은, 후술하는 상세한 설명과 그에 수반하는 도면들을 함께 고려하면 더욱 명백해질 것이다.
도 1은 본 개시의 일 실시 예에 의한 제1 전자 장치 및 제2 전자 장치에 의해, 인공지능 모델을 분산 처리하는 방법을 나타낸 순서도이다.
도 2 는 본 개시의 일 실시 예에 의한 제1 전자 장치 및 제2 전자 장치의 내부 구성을 설명하기 위한 블록도이다.
도 3은 본 개시의 일 실시 예에 의한 제1 전자 장치의 내부 구성을 설명하기 위한 블록도이다.
도 4는 본 개시의 일 실시 예에 의한 제2 전자 장치의 내부 구성을 설명하기 위한 블록도이다.
도 5는 본 개시의 일 실시 예에 의한 제1 전자 장치에서 인공지능 모델을 분산 처리하는 방법을 나타낸 순서도이다.
도 6은 본 개시의 일 실시 예에 의한 제2 전자 장치에 의해 인공지능 모델을 분산 처리하는 방법을 나타낸 순서도이다.
도 7은 본 개시의 일 실시 예에 의한 제1 전자 장치 및 제2 전자 장치에서 인공지능 모델을 분산 처리하는 일 예를 나타낸 도면이다.
도 8은 본 개시의 일 실시 예에 의한 제1 전자 장치 및 제2 전자 장치에서 피드백을 고려하여 인공지능 모델을 분산 처리하는 일 예를 나타낸 도면이다.
도 9는 본 개시의 일 실시 예에 의한 제1 전자 장치 및 제2 전자 장치에서 인공지능 모델을 분산 처리할 때 데이터 전송이 실패하는 경우의 일 예를 나타낸 도면이다.
도 10은 본 개시의 일 실시 예에 의한 제1 전자 장치 및 제2 전자 장치에서 인공지능 모델을 분산 처리할 때 데이터 전송이 실패하는 경우의 일 예를 나타낸 도면이다.
도 11은 본 개시의 일 실시 예에 의한 제1 전자 장치 및 제2 전자 장치에서 인공지능 모델을 분산 처리할 때 데이터 전송이 실패하는 경우의 일 예를 나타낸 도면이다.
도 12는 본 개시의 일 실시 예에 의한 제1 전자 장치, 제2 전자 장치 및 제3 전자 장치에서 인공지능 모델을 분산 처리하는 일 예를 나타낸 도면이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
본 개시에 따른 인공지능과 관련된 기능은 프로세서와 메모리를 통해 동작된다. 프로세서는 하나 또는 복수의 프로세서로 구성될 수 있다. 이때, 하나 또는 복수의 프로세서는 CPU, AP, DSP(Digital Signal Processor) 등과 같은 범용 프로세서, GPU, VPU(Vision Processing Unit)와 같은 그래픽 전용 프로세서 또는 NPU와 같은 인공지능 전용 프로세서일 수 있다. 하나 또는 복수의 프로세서는, 메모리에 저장된 기 정의된 동작 규칙 또는 인공지능 모델에 따라, 입력 데이터를 처리하도록 제어한다. 또는, 하나 또는 복수의 프로세서가 인공지능 전용 프로세서인 경우, 인공지능 전용 프로세서는, 특정 인공지능 모델의 처리에 특화된 하드웨어 구조로 설계될 수 있다.
기 정의된 동작 규칙 또는 인공지능 모델은 학습을 통해 만들어진 것을 특징으로 한다. 여기서, 학습을 통해 만들어진다는 것은, 기본 인공지능 모델이 학습 알고리즘에 의하여 다수의 학습 데이터들을 이용하여 학습됨으로써, 원하는 특성(또는, 목적)을 수행하도록 설정된 기 정의된 동작 규칙 또는 인공지능 모델이 만들어짐을 의미한다. 이러한 학습은 본 개시에 따른 인공지능이 수행되는 기기 자체에서 이루어질 수도 있고, 별도의 서버 및/또는 시스템을 통해 이루어 질 수도 있다. 학습 알고리즘의 예로는, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)이 있으나, 전술한 예에 한정되지 않는다.
인공지능 모델은, 복수의 신경망 레이어들로 구성될 수 있다. 복수의 신경망 레이어들 각각은 복수의 가중치들(weight values)을 갖고 있으며, 이전(previous) 레이어의 연산 결과와 복수의 가중치들 간의 연산을 통해 신경망 연산을 수행한다. 복수의 신경망 레이어들이 갖고 있는 복수의 가중치들은 인공지능 모델의 학습 결과에 의해 최적화될 수 있다. 예를 들어, 학습 과정 동안 인공지능 모델에서 획득한 로스(loss) 값 또는 코스트(cost) 값이 감소 또는 최소화되도록 복수의 가중치들이 갱신될 수 있다. 인공 신경망은 심층 신경망(DNN:Deep Neural Network)를 포함할 수 있으며, 예를 들어, CNN (Convolutional Neural Network), DNN (Deep Neural Network), RNN (Recurrent Neural Network), RBM (Restricted Boltzmann Machine), DBN (Deep Belief Network), BRDNN(Bidirectional Recurrent Deep Neural Network) 또는 심층 Q-네트워크 (Deep Q-Networks) 등이 있으나, 전술한 예에 한정되지 않는다.
이하 첨부된 도면을 참고하여 본 발명을 상세히 설명하기로 한다.
도 1은 본 개시의 일 실시 예에 의한 제1 전자 장치(1000) 및 제2 전자 장치(2000)에 의해, 인공지능 모델을 분산 처리하는 방법을 나타낸 순서도이다.
도 1을 참조하면, 일 실시 예에 의한 인공지능 모델을 분산 처리하는 시스템(3000)은, 제1 전자 장치(1000) 및 제2 전자 장치(2000)를 포함할 수 있다.
일 실시 예에 의한 제1 전자 장치(1000)는, 인공지능 모델을 처리하여, 다양한 동작을 수행할 수 있는 장치이다. 예를 들어, 제1 전자 장치(1000)는, 사용자의 입력에 따라 인공지능 모델을 처리하여 동작을 수행함으로써, 사용자에게 다양한 서비스를 제공할 수 있다.
일 실시 예에 의한 제2 전자 장치(2000)는, 제1 전자 장치(1000)의 요청에 따라서, 인공지능 모델의 일부를, 제1 전자 장치(1000) 대신 처리하고, 처리 결과를 제1 전자 장치(1000)에 전달할 수 있다. 일 실시 예에 의한 제1 전자 장치(1000)는, 제2 전자 장치(2000)로부터 수신된 데이터에 기초하여, 인공지능 모델을 처리할 수 있다.
따라서, 일 실시 예에 의한 인공지능 모델은, 제1 전자 장치(1000)뿐만 아니라, 제2 전자 장치(2000)에 의해, 분산 처리될 수 있다.
일 실시 예에 의한 제1 전자 장치(1000) 및 제2 전자 장치(2000)는, 다양한 형태로 구현될 수 있다. 예를 들어, 본 명세서에서 기술되는 제1 전자 장치(1000) 및 제2 전자 장치(2000)는, 디지털 카메라, 스마트 폰(smart phone), 노트북 컴퓨터(laptop computer), 태블릿 PC, 전자북 단말기, 디지털방송용 단말기, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 네비게이션, MP3 플레이어, 차량(vehicle), TV, 냉장고, 로봇 청소기, 스마트 스피커 등이 있을 수 있으나, 이에 한정되는 것은 아니다. 본 명세서에서 기술되는 제1 전자 장치(1000) 및 제2 전자 장치(2000)는 사용자에 의해 착용될 수 있는 장치(wearable device)일 수 있다. 웨어러블 디바이스는 액세서리 형 장치(예컨대, 시계, 반지, 팔목 밴드, 발목 밴드, 목걸이, 안경, 콘택트 렌즈), 머리 착용형 장치(head-mounted-device(HMD)), 직물 또는 의류 일체형 장치(예: 전자 의복), 신체 부착형 장치(예컨대, 스킨 패드(skin pad)), 또는 생체 이식형 장치(예: implantable circuit) 중 적어도 하나를 포함할 수 있으나, 이에 한정되는 것은 아니다.
일 실시 예에 의한 시스템(3000)에서 처리될 수 있는, 인공지능 모델은, 온 디바이스 AI 기술에 따라서, 제1 전자 장치(1000) 내부에서 처리될 수 있는, 다양한 종류의 모델을 포함할 수 있다. 예를 들면, 인공지능 모델은, CNN, RNN, DNN 등의 다양한 종류의 모델을 포함할 수 있다. 또한, 일 실시 예에 의한 인공지능 모델은, 복수 개의 인공지능 모델들의 결합(ex. CNN+CNN)일 수도 있다. 상술한 예에 한하지 않고, 인공지능 모델은, 다양한 동작을 수행하기 위한, 다양한 종류의 모델을 포함할 수 있다.
일 실시 예에 의한 제1 전자 장치(1000)는, 인공지능 모델을 분산 처리하기 위한, 제2 전자 장치(2000)를 식별하고, 식별된 제2 전자 장치(2000)를 이용하여, 인공지능 모델을 분산 처리할 수 있다. 일 실시 예에 의한 제1 전자 장치(1000)는, 식별된 제2 전자 장치(2000)에 인공지능 모델의 일부에 대한 처리를 요청함으로써, 인공지능 모델을 분산 처리할 수 있다.
일 실시 예에 의한 제1 전자 장치(1000)는, 이하 단계 110 내지 155에 따라서, 제2 전자 장치(2000)를 이용하여, 인공지능 모델을 분산 처리하는 동작을 수행할 수 있다.
단계 110에서, 일 실시 예에 의한 제1 전자 장치(1000)는, 일 실시 예에 따라서 분산 처리될 인공지능 모델을 획득할 수 있다. 일 실시 예에 의한 인공지능 모델은, 제2 전자 장치(2000)에 의해 분산 처리될 수 있도록, 복수 개의 분할 모델들로 분할될 수 있는, 인공지능 모델일 수 있다. 예를 들면, 인공지능 모델은, 복수 개의 레이어로 구성되어, 레이어 단위로 분할될 수 있는 인공지능 모델일 수 있다. 상술한 예에 한하지 않고, 인공지능 모델은, 다양하게 분할될 수 있다.
단계 115에서, 일 실시 예에 의한 제1 전자 장치(1000)는, 인공지능 모델을 분산 처리하기 위한 제2 전자 장치(2000)를 식별할 수 있다.
예를 들면, 제1 전자 장치(1000)와, 외부의 접근이 제한될 수 있는, 내부의 네트워크를 공유하거나, 물리적으로 가까운 위치에 존재하는 장치들 중에서, 제2 전자 장치(2000)가 식별될 수 있다. 일 예로, 제1 전자 장치(1000)가 집안에 위치하며, 홈 네트워크에 연결되어 있는 경우, 제2 전자 장치(2000)는, 제1 전자 장치(1000)와 동일하게, 집안에 위치하면서, 홈 네트워크에 연결된, 가전 제품(ex. TV, 냉장고, 세탁기, 로봇청소기)이나, 전자 장치(ex. 데스크탑 컴퓨터, 스마트 스피커, 스마트폰, 태블릿) 중에서 식별될 수 있다.
또한, 일 실시 예에 의한 제2 전자 장치(2000)는, 인공지능 모델의 일부를 제1 전자 장치(1000)보다 더 빠르게 처리할 수 있는 능력을 가진 장치 중에서 식별될 수 있다. 예를 들어, 제1 전자 장치(1000)에서 처리되는 인공지능 모델 중 일부가 특정한 하드웨어 장치, 예를 들어, GPU에 의하여 가속 처리될 수 있는 경우, GPU를 포함하고 있는 장치가, 상기 인공지능 모델 중 일부를 분산 처리할 제2 전자 장치(2000)로 식별될 수 있다. 또 다른 예로, 현재 처리 중인 프로세스의 연산량이 제1 전자 장치(1000)에 비해 더 적어, 인공지능 모델의 일부를 제1 전자 장치(1000)보다 더 빠르게 처리할 수 있는 능력을 가진 장치가 제2 전자 장치(2000)로 식별될 수 있다.
상술한 예에 한하지 않고, 다양한 기준에 따라서, 인공지능 모델을 분산 처리하는데 적합한 장치가 제2 전자 장치(2000)로 식별될 수 있다.
단계 120에서, 제1 전자 장치(1000)는, 제2 전자 장치(2000)의 성능 정보를 획득할 수 있다. 예를 들면, 제1 전자 장치(1000)는, 제2 전자 장치(2000)의 성능 정보를, 제2 전자 장치(2000)에 요청하여 제2 전자 장치(2000)로부터 수신함으로써, 제2 전자 장치(2000)의 성능 정보를 획득할 수 있다. 또 다른 예로, 제1 전자 장치(1000)는, 제2 전자 장치(2000)의 성능 정보를 저장한 다른 외부 장치(ex. 서버 장치)로부터 제2 전자 장치(2000)의 성능 정보를 획득할 수도 있다. 또 다른 예로, 제1 전자 장치(1000)는, 제2 전자 장치(2000)의 성능 정보를 메모리에 미리 저장해두고, 메모리로부터 제2 전자 장치(2000)의 성능 정보를 획득할 수도 있다.
상술한 예에 한하지 않고, 제1 전자 장치(1000)는, 제2 전자 장치(2000)의 성능 정보를 다양한 방법으로 획득할 수 있다.
일 실시 예에 의한 제2 전자 장치(2000)의 성능 정보는, 제2 전자 장치(2000)가 각 분할 모델을 처리할 수 있는 능력과 관련된 정보로서, 예를 들면, 제2 전자 장치(2000)의 프로세서(ex. CPU, GPU 등)의 성능, 현재 처리 중인 프로세스 개수, 처리 속도, 배터리 잔량, 메모리 크기 등을 포함할 수 있다. 상술한 예에 한하지 않고, 제2 전자 장치(2000)의 성능 정보는, 인공지능 모델을 처리하는 제2 전자 장치(2000)의 처리 속도, 성능, 상태 등과 관련된 다양한 정보를 포함할 수 있다.단계 125에서, 제1 전자 장치(1000)는, 제2 전자 장치(2000)의 성능 정보에 기초하여, 인공지능 모델을 분할함으로써, 복수 개의 분할 모델을 획득할 수 있다.
일 실시 예에 의한 인공지능 모델이 복수 개의 레이어들로 구성된 경우, 분할 모델은, 레이어 단위로 인공지능 모델이 분할됨으로써, 획득될 수 있다. 일 실시 예에 의한 레이어는, 적어도 하나의 노드를 포함할 수 있고, 각 노드에 할당된, 바이어스 및 가중치 값에 따라, 연산된 데이터를 출력할 수 있다.
예를 들어, 인공지능 모델이, 제1 레이어 내지 제10 레이어를 포함하는 경우, 제1 레이어 내지 제10 레이어 중 적어도 하나를 포함하는, 분할 모델이 획득될 수 있다.
또한, 일 실시 예에 의한 인공지능 모델이, 복수 개의 인공지능 모델의 결합으로 구성된 경우, 복수 개의 인공지능 모델에 포함된 레이어들 중 적어도 하나의 레이어를 포함하는, 분할 모델이 획득될 수도 있다.
일 실시 예에 의한 분할 모델은, 상술한 예에 한하지 않고, 인공지능 모델이 다양한 단위로 분할됨에 따라서, 획득될 수 있다.
일 실시 예에 의한 분할 모델은, 인공지능 모델을 구성하는 각 레이어가, 제2 전자 장치(2000)의 성능 정보에 따라서, 제2 전자 장치(2000)에 의해 가속 처리될 수 있는지 여부에 따라서, 획득될 수 있다. 예를 들면, 인공지능 모델을 구성하는 각각의 레이어 중에서, 제2 전자 장치(2000)에 의해 가속 처리될 수 있는지 여부에 따라서, 레이어가 식별될 수 있고, 식별된 레이어를 기준으로 인공지능 모델이 분할됨으로써, 분할 모델이 획득될 수 있다. 예를 들면, 적어도 하나의 식별된 레이어를 포함하는 분할 모델이 획득될 수 있다.
또한, 일 실시 예에 의한 분할 모델은, 제2 전자 장치(2000)의 성능 정보에 한하지 않고, 각 레이어에서 출력되는 데이터의 크기에 따라서, 획득될 수도 있다. 예를 들면, 인공지능 모델을 구성하는 각각의 레이어 중에서, 출력 데이터의 크기가 작은 순서에 따라, 미리 설정된 비율만큼의 레이어가 식별될 수 있고, 식별된 레이어를 기준으로 인공지능 모델이 분할됨으로써, 분할 모델이 획득될 수 있다. 예를 들면, 적어도 하나의 식별된 레이어가 각각의 분할 모델의 출력 레이어로 포함된 적어도 하나의 분할 모델이 획득될 수 있다.
일 실시 예에 의한 분할 모델은, 각 분할 모델에서 출력되는 데이터의 크기가 최소화되도록, 획득됨에 따라서, 제1 전자 장치(1000)에서 제2 전자 장치(2000)로 전송되는 데이터의 양이 최소화될 수 있다. 따라서, 데이터 전송 시의 지연이 최소화됨에 따라, 일 실시 예에 의한 인공지능 모델의 분산 처리가 더욱 빠르게 수행될 수 있다.
일 실시 예에 의한 분할 모델은, 상술한 예에 한하지 않고, 다양한 방법에 따라서, 인공지능 모델로부터 획득될 수 있다.
단계 130에서, 일 실시 예에 의한 제1 전자 장치(1000)는, 제2 전자 장치(2000)에 의해, 각각의 분할 모델이 처리되는데 소요되는 시간을 예측할 수 있다.
일 실시 예에 의하면, 제2 전자 장치(2000)의 성능 정보에 기초하여, 제2 전자 장치(2000)에 의해, 각각의 분할 모델이 처리되는데 소요되는 시간이 예측될 수 있다.
다만, 일 실시 예에 의한 제1 전자 장치(1000)가, 제2 전자 장치(2000)에 인공지능 모델에 대한 분산 처리를 요청한 후, 처리 결과를 수신하기까지, 제2 전자 장치(2000)에 의해, 각각의 분할 모델이 처리되는데 소요되는 시간뿐만 아니라, 네트워크를 통해, 제1 전자 장치(1000)와 제2 전자 장치(2000)간 데이터가 송수신되는 데에도 시간이 소요될 수 있다.
따라서, 일 실시 예에 의하면, 단계 130에서, 제2 전자 장치(2000)에 의해 각 분할 모델이 처리되는 시간에 더하여, 제1 전자 장치(1000) 및 제2 전자 장치(2000)간 네트워크를 통해, 데이터가 송수신되는데 걸리는 시간이 더 예측될 수 있다. 예를 들면, 제2 전자 장치(2000)에 의해 각 분할 모델이 처리되는 시간에 더하여, 제1 전자 장치(1000)에서, 제2 전자 장치(2000)로 분할 모델의 처리를 요청하기 위한 데이터가 전송되는데 소요되는 시간 및 제2 전자 장치(2000)에서, 제1 전자 장치(1000)로, 분할 모델의 처리 결과가 전송되는데 소요되는 시간이 더 예측될 수 있다. 일 실시 예에 의하면, 제1 전자 장치(1000) 및 제2 전자 장치(2000) 간 데이터가 송수신되는 네트워크의 현재 상태와, 송수신되는 데이터의 크기 중 적어도 하나에 기초하여, 데이터 송수신에 걸리는 시간이 예측될 수 있다.
일 실시 예에 의한 제1 전자 장치(1000)는, 제2 전자 장치(2000)에 의해, 각각의 분할 모델이 처리되는데 소요되는 시간 및 데이터 송수신에 걸리는 시간을 더한 값을 기준으로, 이하 단계 140에서, 제2 전자 장치(2000)에 처리를 요청할 분할 모델을 결정할 수 있다.
단계 135에서, 일 실시 예에 의한 제1 전자 장치(1000)는 단계 130에서, 예측된 시간에 기초하여, 제2 전자 장치(2000)에 처리를 요청할 적어도 하나의 분할 모델을 결정할 수 있다.
일 실시 예에 의한 제1 전자 장치(1000)는, 제1 전자 장치(1000)에 의하여, 각 분할 모델이 처리되는데 소요되는 시간에 대한 예측값과, 단계 130에서, 예측된 시간 값을 비교함으로써, 제2 전자 장치(2000)에 처리를 요청할 적어도 하나의 분할 모델을 결정할 수 있다. 일 실시 예에 의한 제1 전자 장치(1000)는, 복수 개의 분할 모델들 중에서, 제1 전자 장치(1000)에 대해 예측된 처리 시간보다, 단계 130에서 예측된 처리 시간이 더 짧은 분할 모델을, 제2 전자 장치(2000)에 처리를 요청할 분할 모델로 결정할 수 있다.
일 실시 예에 의한 제1 전자 장치(1000)에 의하여, 각 분할 모델이 처리되는데 소요되는 시간은, 제2 전자 장치(2000)와 동일하게, 제1 전자 장치(1000)의 프로세서(ex. CPU, GPU 등)의 성능, 현재 처리 중인 프로세스 개수 등을 포함하는, 제1 전자 장치(1000)에 대한 성능 정보에 기초하여, 예측될 수 있다.
상술한 예에 한하지 않고, 제1 전자 장치(1000)는, 단계 130에서 예측된 처리 시간에 기초한, 다양한 방법에 따라서, 제2 전자 장치(2000)에 처리를 요청할, 적어도 하나의 분할 모델을 결정할 수 있다.
단계 140에서, 일 실시 예에 의한 제1 전자 장치(1000)는, 단계 135에서 결정된 분할 모델에 대한 처리를 요청하기 위한 데이터를 제2 전자 장치(2000)로 전송할 수 있다.
일 실시 예에 의한 단계 140에서 제2 전자 장치(2000)로 전송되는 데이터는, 제2 전자 장치(2000)가 단계 135에서 결정된 분할 모델을 처리하는데 필요한 데이터를 포함할 수 있다. 예를 들면, 상기 데이터는, 상기 단계 135에서 결정된 분할 모델에 입력될 데이터를 포함할 수 있다. 또한, 상기 데이터는, 제2 전자 장치(2000)에서 상기 단계 135에서 결정된 분할 모델을 획득하기 위한 정보를 더 포함할 수 있다.
일 실시 예에 의한 분할 모델에 입력될 데이터는, 복수 개의 분할 모델 중 선행하는 분할 모델에서 출력된 데이터로부터 획득될 수 있다. 일 실시 예에 의하면, 복수 개의 분할 모델들 중에서, 제2 전자 장치(2000)로 처리 요청되지 않는, 나머지 분할 모델들은, 제1 전자 장치(1000)에 의해 처리될 수 있다. 또한, 일 실시 예에 의한 복수 개의 분할 모델들은, 각 분할 모델들의 처리 순서에 따라, 먼저 처리된 분할 모델에서 출력된 데이터에 기초하여, 각각의 분할 모델들이 순차적으로 처리될 수 있다.
따라서, 일 실시 예에 의한, 제2 전자 장치(2000)로 요청되는 분할 모델에 대한 입력 데이터는, 제1 전자 장치(1000)에서 먼저 처리된 분할 모델의 출력 데이터로부터, 획득될 수 있다. 다만, 제2 전자 장치(2000)로 처리 요청되는 분할 모델이 복수 개의 분할 모델들 중 가장 먼저 처리되는 경우에는, 사용자 입력에 따라서, 인공지능 모델에 입력되는 데이터가, 제2 전자 장치(2000)로 요청되는 분할 모델에 대한 입력 데이터로서 획득될 수 있다.
일 실시 예에 의하면, 제2 전자 장치(2000)에 요청되는 적어도 하나의 분할 모델보다 우선하여 처리되는, 분할 모델이 제1 전자 장치(1000)에서 먼저 처리되어야, 제2 전자 장치(2000)로 전달될 입력 데이터가 획득될 수 있다. 따라서, 제2 전자 장치(2000)로 요청되는 적어도 하나의 분할 모델보다 앞선 처리 순서의, 분할 모델이 제1 전자 장치(1000)에서 먼저 처리된 후, 단계 140의 동작에 따른 처리 요청이 전송될 수 있다.
일 실시 예에 의한 복수 개의 분할 모델들은 순차적으로 처리되므로, 각각의 분할 모델이 처리될 순서가 될 때마다, 단계 140에서, 각 분할 모델에 대한 처리 요청이 하나씩 전송될 수 있다.
일 실시 예에 의한 제2 전자 장치(2000)에서 분할 모델을 획득하기 위한 정보는, 분할 모델을 나타내는 식별 정보를 포함할 수 있다. 예를 들면, 상기 식별 정보는, 상기 분할 모델을 구성하는, 모델 데이터를 포함하거나, 상기 분할 모델을 구성하는 데이터를 외부로부터 획득하기 위한 정보를 포함할 수 있다. 상술한 예에 한하지 않고, 제2 전자 장치(2000)는 다양한 방법에 따라서, 단계 140에서 처리 요청받은 분할 모델을 획득할 수 있다.
단계 145에서, 제2 전자 장치(2000)는, 단계 140에서 수신된 제1 전자 장치(1000)의 요청에 따라서, 적어도 하나의 분할 모델을 처리할 수 있다. 일 실시 예에 의한 제2 전자 장치(2000)는, 단계 140에서, 제1 전자 장치(1000)의 요청이 수신될 때마다, 분할 모델을 처리하고, 그 결과를 단계 150에서, 전송할 수 있다.
일 실시 예에 의한 인공지능 모델의 분산 처리는, 빠른 처리를 위한 것이므로, 제2 전자 장치(2000)는, 단계 140에서, 제1 전자 장치(1000)로부터 요청을 받자마자, 분할 모델의 처리를 수행함이 바람직하다. 따라서, 제2 전자 장치(2000)는, 단계 140에서, 제1 전자 장치(1000)로부터 요청이 수신되기 전에, 단계 135에서 결정되는, 적어도 하나의 분할 모델을 구성하기 위한 모델 데이터를 미리 획득할 수 있다. 예를 들면, 단계 135에서, 제1 전자 장치(1000)가 적어도 하나의 분할 모델을 결정함에 따라, 제1 전자 장치(1000)는 제2 전자 장치(2000)에서, 상기 결정된 적어도 하나의 분할 모델을 획득하기 위한 정보를 제2 전자 장치(2000)로 미리 전송할 수 있다. 상술한 예에 한하지 않고, 제2 전자 장치(2000)는, 단계 140에서, 제1 전자 장치(1000)로부터 각 분할 모델에 대한 처리 요청이 수신되기 전에, 다양한 방법에 따라서, 분할 모델을 미리 획득해 둘 수 있다.
단계 150에서, 제2 전자 장치(2000)는, 분할 모델을 처리한 결과를 제1 전자 장치(1000)로 전송할 수 있다. 이때, 제2 전자 장치(2000)는, 분할 모델을 처리하는데 소요된 시간에 관한 정보를 함께 제1 전자 장치(1000)로 전송할 수 있다. 제2 전자 장치(2000)로부터 전달된 처리 시간에 대한 정보는, 제1 전자 장치(1000)에서, 제2 전자 장치(2000)의 성능 정보를 갱신하는데 이용될 수 있다.
일 실시 예에 의한 제1 전자 장치(1000)는, 단계 150에서 제2 전자 장치(2000)로부터 전달된 처리 시간에 대한 정보가 수신될 때마다, 제2 전자 장치(2000)의 성능 정보를 갱신할 수 있다. 또한, 제1 전자 장치(1000)는, 아직 처리되지 않은 분할 모델에 대하여, 갱신된 성능 정보에 기초하여, 단계 130 및 단계 135의 동작을 다시 수행할 수 있다. 따라서, 제1 전자 장치(1000)는, 실시간으로 갱신되는 제2 전자 장치(2000)의 성능 정보에 따라서, 제2 전자 장치(2000)에 분할 모델의 처리를 요청할 지 여부를 다시 결정할 수 있다.
단계 155에서, 일 실시 예에 의한 제1 전자 장치(1000)는 단계 150에서 수신된 분할 모델을 처리한 결과에 기초하여, 인공지능 모델을 처리할 수 있다. 일 실시 예에 의하면, 인공지능 모델이 분할된 분할 모델들 중에서, 제1 전자 장치(1000)에 비해, 처리 시간이 더 빠를 것으로 예측되는, 제2 전자 장치(2000)에 의하여, 분할 모델이 처리됨에 따라, 인공지능 모델의 처리 시간이 단축될 수 있다. 또한, 인공지능 모델을 처리하는데, 제1 전자 장치(1000)의 자원에 한하지 않고, 제2 전자 장치(2000)의 자원을 추가적으로 이용할 수 있으므로, 제1 전자 장치(1000)의 자원, 예를 들면, 배터리, 연산량 등을 절약할 수 있다.
일 실시 예에 의한 제1 전자 장치(1000)는, 하나의 제2 전자 장치(2000)에 한하지 않고, 복수 개의 제2 전자 장치들을 식별하여, 인공지능 모델을 분산 처리하는데 이용할 수도 있다. 일 실시 예에 의하면, 제1 전자 장치(1000)는, 복수 개의 제2 전자 장치들 각각의 성능 정보에 기초하여, 각 분할 모델에 대한 처리 시간을 예측함으로써, 분할 모델에 대한 처리 요청을 복수 개의 제2 전자 장치들로 전송할 수 있다.
도 2는 본 개시의 일 실시 예에 의한 제1 전자 장치(1000) 및 제2 전자 장치(2000)의 내부 구성을 설명하기 위한 블록도이다.
도 3은 본 개시의 일 실시 예에 의한 제1 전자 장치(1000)의 내부 구성을 설명하기 위한 블록도이다.
도 4는 본 개시의 일 실시 예에 의한 제2 전자 장치(2000)의 내부 구성을 설명하기 위한 블록도이다.
도 2를 참조하면, 제1 전자 장치(1000) 및 제2 전자 장치(2000)는, 프로세서(1300, 2300), 통신부(1500, 2500) 및 메모리(1700, 2700)를 포함할 수 있다. 그러나, 도 2에 도시된 구성 요소 모두가 제1 전자 장치(1000) 또는 제2 전자 장치(2000)의 필수 구성 요소인 것은 아니다. 도 2에 도시된 구성 요소보다 많은 구성 요소에 의해 제1 전자 장치(1000) 또는 제2 전자 장치(2000)가 구현될 수도 있고, 도 2에 도시된 구성 요소보다 적은 구성 요소에 의해 제1 전자 장치(1000) 또는 제2 전자 장치(2000)가 구현될 수도 있다.
예를 들면, 제1 전자 장치(1000)는 도 3에 도시된 바와 같이, 일 실시예에 따른 제1 전자 장치(1000)는, 프로세서(1300), 통신부(1500) 및 메모리(1700) 이외에 사용자 입력부(1100), 출력부(1200), 센싱부(1400), 및 A/V 입력부(1600)를 더 포함할 수도 있다.
또한, 제2 전자 장치(2000)는 도 4에 도시된 바와 같이, 일 실시예에 따른 제2 전자 장치(2000)는, 프로세서(2300), 통신부(2500) 및 메모리(2700) 이외에 사용자 입력부(2100), 출력부(2200), 센싱부(2400), 및 A/V 입력부(2600)를 더 포함할 수도 있다.
사용자 입력부(1100, 2100)는, 사용자가 제1 전자 장치(1000) 또는 제2 전자 장치(2000)를 제어하기 위한 데이터를 입력하는 수단을 의미한다. 예를 들어, 사용자 입력부(1100, 2100)에는 키 패드(key pad), 돔 스위치 (dome switch), 터치 패드(접촉식 정전 용량 방식, 압력식 저항막 방식, 적외선 감지 방식, 표면 초음파 전도 방식, 적분식 장력 측정 방식, 피에조 효과 방식 등), 조그 휠, 조그 스위치 등이 있을 수 있으나 이에 한정되는 것은 아니다.
일 실시 예에 의하면, 제1 전자 장치(1000)의 사용자 입력부(1100)는, 인공지능 모델을 처리하여 동작을 수행하기 위한 요청을 포함하는, 사용자의 입력을 수신할 수 있다. 일 실시 예에 의하면, 동작 요청을 포함하는 사용자의 입력이 사용자 입력부(1100)를 통해 수신됨에 따라서, 제1 전자 장치 및 제2 전자 장치에 의한 인공지능 모델의 분산 처리가 수행될 수 있다.
또한, 제2 전자 장치(2000)의 사용자 입력부(2100)는, 인공지능 모델을 분산 처리하는 동작과 관련된 사용자 입력을 수신할 수 있다. 예를 들면, 사용자 입력부(2100)는, 제1 전자 장치(1000)의 요청에 따라, 인공지능 모델의 분산 처리를 수행하기 위한, 사용자 입력을 수신할 수 있다. 상술한 예에 한하지 않고, 제2 전자 장치(2000)에 의한 인공지능 모델의 분산 처리는, 사용자 입력 없이도, 제1 전자 장치(1000)의 요청에 따라서, 수행될 수 있다.
출력부(1200, 2200)는, 오디오 신호 또는 비디오 신호 또는 진동 신호를 출력할 수 있으며, 출력부(1200, 2200)는 디스플레이부(1210, 2210), 음향 출력부(1220, 2220), 및 진동 모터(1230, 2230)를 포함할 수 있다.
일 실시 예에 의한 출력부(1200, 2200)는, 제1 전자 장치(1000) 및 제2 전자 장치(2000)에 의한 인공지능 모델의 분산 처리가 수행된 결과를 출력할 수 있다.
디스플레이부(1210, 2210)는 제1 전자 장치(1000) 또는 제2 전자 장치(2000)에서 처리되는 정보를 표시 출력한다. 일 실시 예에 의하면, 제1 전자 장치(1000)의 디스플레이부(1210)는 제1 전자 장치(1000) 및 제2 전자 장치(2000)에 의한 인공지능 모델의 분산 처리가 수행된 결과를 표시할 수 있다. 또한, 제2 전자 장치(2000)의 디스플레이부(2210)는, 제2 전자 장치(2000)에서 수행되는 인공지능 모델의 분산 처리와 관련된 정보를 표시할 수 있다.
예를 들어, 제1 전자 장치(1000) 및 제2 전자 장치(2000)의 디스플레이부(1201, 2201)는, 현재 인공지능 모델의 분산 처리가 진행되고 있음을 나타내는 정보를 표시할 수 있다. 또한, 디스플레이부(1201, 2201)는, 현재 수행 중인 분산 처리 동작과 관련하여, 제1 전자 장치(1000) 또는 제2 전자 장치(2000)에서 소모되는 전류량, 처리에 소요된 시간, 현재 연결된 전자 장치 등의 정보를 표시할 수 있다. 상술한 예에 한하지 않고, 인공지능 모델의 분산 처리와 관련한 다양한 종류의 정보들이 디스플레이부(1201, 2201)에 표시될 수 있다.
한편, 디스플레이부(1210, 2210)와 터치패드가 레이어 구조를 이루어 터치 스크린으로 구성되는 경우, 디스플레이부(1210, 2210)는 출력 장치 이외에 입력 장치로도 사용될 수 있다. 디스플레이부(1210, 2210)는 액정 디스플레이(liquid crystal display), 박막 트랜지스터 액정 디스플레이(thin film transistor-liquid crystal display), 유기 발광 다이오드(organic light-emitting diode), 플렉시블 디스플레이(flexible display), 3차원 디스플레이(3D display), 전기영동 디스플레이(electrophoretic display) 중에서 적어도 하나를 포함할 수 있다. 그리고 제1 전자 장치(1000) 또는 제2 전자 장치(2000)의 구현 형태에 따라 제1 전자 장치(1000) 또는 제2 전자 장치(2000)는 디스플레이부(1210, 2210)를 2개 이상 포함할 수도 있다.
음향 출력부(1220, 2220)는 통신부(1500, 2500)로부터 수신되거나 메모리(1700, 2700)에 저장된 오디오 데이터를 출력한다.
진동 모터(1230, 2230)는 진동 신호를 출력할 수 있다. 또한, 진동 모터(1230)는 터치스크린에 터치가 입력되는 경우 진동 신호를 출력할 수도 있다.
일 실시 예에 의한 음향 출력부(1220, 2220) 및 진동 모터(1230, 2230)는, 제1 전자 장치(1000) 및 제2 전자 장치(2000)에 의한 인공지능 모델의 분산 처리 동작과 관련된 정보를 다양한 형태(ex. 음성, 진동 신호 등)로 출력할 수 있다.
프로세서(1300, 2300)는, 통상적으로 제1 전자 장치(1000) 또는 제2 전자 장치(2000)의 전반적인 동작을 제어한다. 예를 들어, 프로세서(1300, 2300)는, 메모리(1700, 2700)에 저장된 프로그램들을 실행함으로써, 사용자 입력부(1100, 2200), 출력부(1200, 2200), 센싱부(1400, 2400), 통신부(1500, 2500), A/V 입력부(1600, 2600) 등을 전반적으로 제어할 수 있다.
제1 전자 장치(1000) 및 제2 전자 장치(2000)는 적어도 하나의 프로세서(1300, 2300)를 포함할 수 있다. 예를 들면, 제1 전자 장치(1000)는 CPU(Central Processing Unit), GPU(Graphics Processing Unit), NPU(Neural Processing Unit) 등의 다양한 종류의 프로세서를 포함할 수 있다.
프로세서(1300, 2300)는 기본적인 산술, 로직 및 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 명령은 메모리(1700, 2700)로부터 프로세서(1300, 2300)에 제공되거나, 통신부(1500, 2500)를 통해 수신되어 프로세서(1300, 2300)로 제공될 수 있다. 예를 들면 프로세서(1300, 2300)는 메모리와 같은 기록 장치에 저장된 프로그램 코드에 따라 명령을 실행하도록 구성될 수 있다.
일 실시 예에 의한 제1 전자 장치(1000)의 프로세서(1300)는 인공지능 모델을 분할하여, 복수 개의 분할 모델을 획득하고, 적어도 하나의 분할 모델이 처리될 제2 전자 장치(2000)를 식별할 수 있다. 일 실시 예에 의하면, 인공지능 모델이 분산 처리될, 제2 전자 장치(2000)의 성능 정보에 기초하여, 인공지능 모델이 분할될 수 있다.
예를 들면, 프로세서(1300)는, 인공지능 모델을 구성하는 복수 개의 레이어 중 적어도 하나의 레이어를 분할을 위한 레이어로 식별하고, 식별된 레이어를 출력 레이어로서 각각 포함하는 복수 개의 분할 모델을 획득함으로써, 인공지능 모델을 분할할 수 있다.
일 실시 예에 의한 프로세서(1300)는, 제2 전자 장치(2000)의 성능 정보에 기초하여, 각 분할 모델이 제2 전자 장치(2000)에 의해 처리되는데 소요되는 처리 시간을 예측할 수 있다. 또한, 상기 예측된 처리 시간에 기초하여, 제2 전자 장치(2000)에 처리를 요청할, 적어도 하나의 분할 모델이 결정될 수 있다. 일 실시 예에 의한 프로세서(1300)는, 상기 결정된 적어도 하나의 분할 모델의 처리를 제2 전자 장치(2000)에 요청함으로써, 인공지능 모델을 분산 처리할 수 있다.
일 실시 예에 의한 프로세서(1300)는, 제2 전자 장치(2000)로부터 적어도 하나의 분할 모델의 처리 결과가 수신되면, 상기 처리 결과에 포함된, 제2 전자 장치(2000)가 적어도 하나의 분할 모델을 처리하는데 소요된 시간에 관한 정보에 기초하여, 제2 전자 장치(2000)의 성능 정보를 갱신할 수 있다.
또한, 일 실시 예에 의한 제2 전자 장치(2000)의 프로세서(2300)는, 제1 전자 장치(1000)로부터, 분산처리되는 인공지능 모델의 분할 모델 중 적어도 하나의 분할 모델에 대한 처리 요청을 수신함에 따라, 상기 적어도 하나의 분할 모델을 처리할 수 있다. 일 실시 예에 의한 제1 전자 장치(1000)의 분할 모델에 대한 처리 요청은, 제2 전자 장치(2000)의 성능 정보에 기초하여, 각 분할 모델에 대한 제2 전자 장치(2000)의 처리 시간이 예측됨에 따라서, 제2 전자 장치(2000)로 전송될 수 있다.
일 실시 예에 의한 프로세서(2300)는, 적어도 하나의 분할 모델이 처리된 결과를 제1 전자 장치(1000)로 전송하도록, 통신부(1500)를 제어함으로써, 제2 전자 장치(2000)에서, 인공지능 모델이 분산 처리될 수 있다.
센싱부(1400, 2400)는, 제1 전자 장치(1000) 및 제2 전자 장치(2000)의 상태 또는 제1 전자 장치(1000) 및 제2 전자 장치(2000) 주변의 상태를 감지하고, 감지된 정보를 프로세서(1300, 2300)로 전달할 수 있다.
센싱부(1400, 2400)는, 지자기 센서(Geomagnetic sensor)(1410, 2410), 가속도 센서(Acceleration sensor)(1420, 2420), 온/습도 센서(1430, 2430), 적외선 센서(1440, 2440), 자이로스코프 센서(1450, 2450), 위치 센서(예컨대, GPS)(1460, 2460), 기압 센서(1470, 2470), 근접 센서(1480, 2480), 및 RGB 센서(illuminance sensor)(1490, 2490) 중 적어도 하나를 포함할 수 있으나, 이에 한정되는 것은 아니다.
일 실시 예에 의한 센싱부(1400, 2400)는, 제1 전자 장치(1000) 및 제2 전자 장치(2000)에서, 인공지능 모델이 처리되는데 이용될 수 있는 다양한 종류의 센싱 정보를 감지할 수 있다. 예를 들면, 제1 전자 장치(1000)의 센싱부(1400)에 의해 감지된 정보는, 인공지능 모델의 입력 정보로서 이용될 수 있다. 상술한 예에 한하지 않고, 센싱부(1400, 2400)에 의해 감지된 정보는, 인공지능 모델이 처리되는데, 다양한 방법으로 이용될 수 있다.
통신부(1500, 2500)는, 제1 전자 장치(1000) 및 제2 전자 장치(2000) 간의 통신 또는, 다른 외부 장치(미도시)와 통신을 하게 하는 하나 이상의 구성요소를 포함할 수 있다. 예를 들어, 통신부(1500, 2500)는, 근거리 통신부(1510, 2510), 이동 통신부(1520, 2520), 방송 수신부(1530, 2530)를 포함할 수 있다.
근거리 통신부(short-range wireless communication unit)(1510, 2510)는, 블루투스 통신부, BLE(Bluetooth Low Energy) 통신부, 근거리 무선 통신부(Near Field Communication unit), WLAN(와이파이) 통신부, 지그비(Zigbee) 통신부, 적외선(IrDA, infrared Data Association) 통신부, WFD(Wi-Fi Direct) 통신부, UWB(ultra wideband) 통신부, Ant+ 통신부 등을 포함할 수 있으나, 이에 한정되는 것은 아니다.
이동 통신부(1520, 2520)는, 이동 통신망 상에서 기지국, 외부의 단말, 서버 중 적어도 하나와 무선 신호를 송수신한다. 여기에서, 무선 신호는, 음성 호 신호, 화상 통화 호 신호 또는 문자/멀티미디어 메시지 송수신에 따른 다양한 형태의 데이터를 포함할 수 있다.
방송 수신부(1530, 2530)는, 방송 채널을 통하여 외부로부터 방송 신호 및/또는 방송 관련된 정보를 수신한다. 방송 채널은 위성 채널, 지상파 채널을 포함할 수 있다. 구현 예에 따라서 제1 전자 장치(1000)가 방송 수신부(1530)를 포함하지 않을 수도 있다.
일 실시 예에 의한, 제1 전자 장치(1000)의 통신부(1500)는 인공지능 모델을 분산 처리하기 위한 제2 전자 장치(2000)와 데이터를 송수신할 수 있다. 예를 들면, 통신부(1500)는, 제2 전자 장치(2000)로부터 제2 전자 장치(2000)의 성능 정보를 수신할 수 있다. 또한, 통신부(1500)는, 제2 전자 장치(2000)로, 인공지능 모델이 분할된 모델 중, 적어도 하나의 분할 모델에 대한 처리 요청을 전송할 수 있다. 상술한 예에 한하지 않고, 통신부(1500)는, 일 실시 예에 의한 인공지능 모델을 분산 처리하는데 필요한 데이터를 송수신할 수 있다.
또한, 일 실시 예에 의한 제2 전자 장치(2000)의 통신부(2500)는, 인공지능 모델을 분산 처리하기 위한 제1 전자 장치(1000)와 데이터를 송수신할 수 있다. 예를 들면, 통신부(2500)는, 제1 전자 장치(1000)로 제2 전자 장치(2000)의 성능 정보를 전송할 수 있다. 또한, 통신부(2500)는, 제1 전자 장치(1000)로부터, 인공지능 모델이 분할된 모델 중, 적어도 하나의 분할 모델에 대한 처리 요청을 수신할 수 있다. 상술한 예에 한하지 않고, 통신부(2500)는, 일 실시 예에 의한 인공지능 모델을 분산 처리하는데 필요한 데이터를 송수신할 수 있다.
A/V(Audio/Video) 입력부(1600, 2600)는 오디오 신호 또는 비디오 신호 입력을 위한 것으로, 이에는 카메라(1610, 2610)와 마이크로폰(1620, 2620) 등이 포함될 수 있다. 카메라(1610, 2610)는 화상 통화모드 또는 촬영 모드에서 이미지 센서를 통해 정지영상 또는 동영상 등의 화상 프레임을 얻을 수 있다. 이미지 센서를 통해 캡쳐된 이미지는 프로세서(1300, 2300) 또는 별도의 이미지 처리부(미도시)를 통해 처리될 수 있다.
마이크로폰(1620, 2620)은, 외부의 음향 신호를 입력 받아 전기적인 음성 데이터로 처리한다.
일 실시 예에 의한 A/V 입력부(1600, 2600)는, 제1 전자 장치(1000) 및 제2 전자 장치(2000)에서, 인공지능 모델이 처리되는데 이용될 수 있는 다양한 종류의 데이터를 획득할 수 있다. 예를 들면, 제1 전자 장치(1000)의 A/V 입력부(1600)에 의해 획득된 음성 데이터 또는 영상 데이터는, 인공지능 모델의 입력 정보로서 이용될 수 있다. 상술한 예에 한하지 않고, A/V 입력부(1600, 2600)에 의해 획득된 데이터는, 인공지능 모델이 처리되는데, 다양한 방법으로 이용될 수 있다.
메모리(1700, 2700)는, 프로세서(1300, 2300)의 처리 및 제어를 위한 프로그램을 저장할 수 있고, 제1 전자 장치(1000) 또는 제2 전자 장치(2000)로 입력되거나 제1 전자 장치(1000) 또는 제2 전자 장치(2000)로부터 출력되는 데이터를 저장할 수도 있다.
일 실시 예에 의한 제1 전자 장치(1000)의 메모리(1700)는 제1 전자 장치(1000) 및 제2 전자 장치(2000)에서 분산 처리되는, 인공지능 모델을 저장할 수 있다. 또한, 메모리(1700)는, 인공지능 모델이 분할된, 적어도 하나의 분할 모델을 저장할 수 있다. 또한, 메모리(1700)는, 인공지능 모델을 처리하는데 이용될 수 있는, 엔진, 알고리즘, 프로그램 등의 데이터를 저장할 수 있다.
일 실시 예에 의한 제2 전자 장치(2000)의 메모리(2700)는, 제2 전자 장치(2000)에서, 처리되는, 인공지능 모델의, 적어도 하나의 분할 모델을 저장할 수 있다. 일 실시 예에 의한 제2 전자 장치(2000)는, 제1 전자 장치(1000)의 처리 요청에 따라서, 메모리(2700)에 저장된 적어도 하나의 분할 모델을 처리함으로써, 인공지능 모델을 분산 처리할 수 있다.
일 실시 예에 의한 메모리(1700, 2700)는, 상술한 예에 한하지 않고, 인공지능 모델을 처리하는데 필요한, 다양한 종류의 데이터를 저장할 수 있다.
메모리(1700, 2700)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(RAM, Random Access Memory) SRAM(Static Random Access Memory), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다.
메모리(1700, 2700)에 저장된 프로그램들은 그 기능에 따라 복수 개의 모듈들로 분류할 수 있는데, 예를 들어, UI 모듈(1710, 2710), 터치 스크린 모듈(1720, 2720), 알림 모듈(1730, 2730) 등으로 분류될 수 있다.
UI 모듈(1710, 2710)은, 애플리케이션 별로 제1 전자 장치(1000) 및 제2 전자 장치(2000)와 연동되는 특화된 UI, GUI 등을 제공할 수 있다. 터치 스크린 모듈(1720, 2720)은 사용자의 터치 스크린 상의 터치 제스처를 감지하고, 터치 제스처에 관한 정보를 프로세서(1300, 2300)로 전달할 수 있다. 일부 실시예에 따른 터치 스크린 모듈(1720, 2720)은 터치 코드를 인식하고 분석할 수 있다. 터치 스크린 모듈(1720, 2720)은 컨트롤러를 포함하는 별도의 하드웨어로 구성될 수도 있다.
터치스크린의 터치 또는 근접 터치를 감지하기 위해 터치스크린의 내부 또는 근처에 다양한 센서가 구비될 수 있다. 터치스크린의 터치를 감지하기 위한 센서의 일례로 촉각 센서가 있다. 촉각 센서는 사람이 느끼는 정도로 또는 그 이상으로 특정 물체의 접촉을 감지하는 센서를 말한다. 촉각 센서는 접촉면의 거칠기, 접촉 물체의 단단함, 접촉 지점의 온도 등의 다양한 정보를 감지할 수 있다.
사용자의 터치 제스처에는 탭, 터치&홀드, 더블 탭, 드래그, 패닝, 플릭, 드래그 앤드 드롭, 스와이프 등이 있을 수 있다.
알림 모듈(1730, 2730)은 제1 전자 장치(1000) 및 제2 전자 장치(2000)의 이벤트 발생을 알리기 위한 신호를 발생할 수 있다.
도 5는 본 개시의 일 실시 예에 의한 제1 전자 장치(1000)에서 인공지능 모델을 분산 처리하는 방법을 나타낸 순서도이다.
일 실시 예에 의하면, 사용자 입력에 따라, 인공지능 모델이 처리될 때, 제1 전자 장치(1000)는, 제2 전자 장치(2000)를 이용하여, 더 빠르게 인공지능 모델을 처리할 수 있다.
도 5를 참조하면, 단계 510에서, 일 실시 예에 의한 제1 전자 장치(1000)는, 제2 전자 장치(2000)를 이용하여 인공지능 모델을 분산 처리하기 위해, 제2 전자 장치(2000)의 성능 정보를 획득할 수 있다. 일 실시 예에 의한 제1 전자 장치(1000)는 제2 전자 장치(2000)를 이용하여 인공지능 모델을 분산 처리하기 위하여, 제2 전자 장치(2000)에 제2 전자 장치(2000)의 성능 정보를 요청함으로써, 제2 전자 장치(2000)의 성능 정보를 획득할 수 있다. 상술한 예에 한하지 않고, 제1 전자 장치(1000)는, 다른 외부 장치로부터 제2 전자 장치(2000)의 성능 정보를 획득할 수도 있다.
단계 520에서, 일 실시 예에 의한 제1 전자 장치(1000)는, 인공지능 모델을 분할하여, 복수 개의 분할 모델을 획득할 수 있다.
일 실시 예에 의하면, 인공지능 모델을 구성하는 복수 개의 레이어 중 적어도 하나의 레이어가 분할을 위한 레이어로 식별되고, 식별된 레이어를 출력 레이어로서 각각 포함하는, 복수 개의 분할 모델이 획득됨으로써, 인공지능 모델이 복수 개의 분할 모델로 분할될 수 있다.
또한, 일 실시 예에 의한 인공지능 모델을 분할하기 위한 레이어는, 각 레이어에서 출력되는 데이터의 크기, 제1 전자 장치(1000) 및 제2 전자 장치(2000) 간의 데이터 전송 속도 및 제2 전자 장치(2000)에 의해 가속 처리될 수 있는 레이어인지 여부 중 적어도 하나에 기초하여, 식별될 수 있다.
일 실시 예에 의하면, 인공지능 모델을 구성하는 복수 개의 레이어 중 각 레이어에서 출력되는 데이터의 크기에 따라서, 인공지능 모델이 분할될 수 있다. 예를 들면, 출력 데이터의 크기가 가장 작은 상위 N%의 레이어들이 식별되고, 식별된 레이어를 기준으로 인공지능 모델이 분할될 수 있다. 일 예로, 인공지능 모델에 포함된, 전체 레이어 개수가 100개이고, N이 20으로 미리 설정된 경우, 출력 데이터의 크기가 가장 작은 상위 20개의 레이어가 각 분할 모델의 출력 레이어가 되도록, 인공지능 모델이 분할될 수 있다.
또 다른 예로, 각 레이어의 연산 순서에 따라서, 각 레이어에 대해 결정된 가중치에 기초하여, 각각의 레이어가, 각 분할 모델의 출력 레이어로서 식별될 수 있다. 예를 들어, 인공지능 모델에 포함된, 전체 레이어 개수가 100개이고, N이 20으로 미리 설정된 경우, 각 레이어의 출력 데이터의 크기와 각 레이어의 연산 순서에 따라 결정된 가중치의 곱이 가장 작은 상위 20개의 레이어가 각 분할 모델의 출력 레이어로서 식별될 수 있다. 일 실시 예에 의하면, 상기 식별된 레이어가 각 분할 모델의 출력 레이어가 되도록, 인공지능 모델이 분할될 수 있다.
연산 순서에 따라 각 레이어에 대하여 결정되는 가중치는, 연산 처리 순서상 앞쪽에 위치한 레이어에 대해, 더 작은 값을 가지도록 결정될 수 있다. 따라서, 연산 처리 순서 상 앞쪽에 위치한 레이어일수록, 출력 레이어로서 식별될 가능성이 크도록, 가중치 값이 결정될 수 있다. 예를 들어 전체 102개의 레이어가 있을 때, 첫번째 레이어와 가장 마지막 레이어를 제외한 100개의 레이어 중에서, 1번째 순서로 처리되는 레이어는 1, 100번째 순서로 처리되는 레이어는 100 의 가중치 값을 가질 수 있다. 연산 순서에 따라 결정되는 가중치는 각 레이어의 순서 에 따라 다르게 설정 될 수 있으나, 이에 한하지 않고, 모두 같은 값으로 설정될 수 도 있다.
일 실시 예에 의하면, 제1 전자 장치(1000) 및 제2 전자 장치(2000) 간의 데이터 전송 속도에 따라서, 미리 설정된 시간 안에, 인공지능 모델의 분할 처리를 위한 데이터 전송이 수행될 수 있도록, 인공지능 모델이 분할될 수도 있다. 예를 들면, 초당 100MB를 전송할 수 있는 네트워크에서, 0.1초 이내로, 인공지능 모델의 분산 처리를 위한 제1 전자 장치(1000) 및 제2 전자 장치(2000) 간의 데이터 전송 시간이 제한되는 경우, 각 레이어의 출력 데이터들의 총 합이 10MB가 되도록, 각 분할 모델의 출력 레이어가 식별될 수 있다. 일 예로, 출력 데이터의 크기가 작은 레이어 순서대로, 각각 식별된 레이어의 출력 데이터의 총 합이 10MB가 될 때까지 분할을 위한 레이어가 식별될 수 있고, 식별된 레이어가 각 분할 모델의 출력 레이어가 되도록, 인공지능 모델이 분할될 수 있다.
일 실시 예에 의한 인공지능 모델은, 제2 전자 장치(2000)의 성능 정보에 기초하여, 분할될 수 있다. 예를 들면, 인공지능 모델을 구성하는 복수 개의 레이어 중 제2 전자 장치(2000)에 의해 가속 처리될 수 있는 레이어인지 여부에 따라서, 인공지능 모델이 분할될 수 있다.
일 실시 예에 의하면, 인공지능 모델을 구성하는 복수 개의 레이어가 차례대로 처리되는 경우, 상위 R%의 범위 내에서, 제2 전자 장치(2000)에 의해 가속 처리될 수 있는 레이어인지 여부가 식별되고, 식별된 레이어를 기준으로 인공지능 모델이 분할될 수 있다. 가속 처리될 수 있는 레이어인지 여부는, 제1 전자 장치(1000)에 비해 제2 전자 장치(2000)에서 더 빠르게 처리될 수 있는 레이어인지에 따라서, 식별될 수 있다.
예를 들어, 인공지능 모델에 포함된, 전체 레이어 개수가 100개이고, R이 25로 미리 설정된 경우, 맨 처음에 처리되는 레이어부터 25번째 처리되는 레이어 중에서, 제2 전자 장치(2000)에 의해 가속 처리될 수 있는 레이어인지 여부가 식별되고, 식별된 레이어가 각 분할 모델의 출력 레이어가 되도록 인공지능 모델이 분할될 수 있다.
일 실시 예에 의하면, 이하 수학식 1에 따라서, 복수 개의 레이어 중 적어도 하나의 레이어가, 각 분할 모델의 출력 레이어로서 식별될 수 있다.
[수학식 1]
Figure PCTKR2021013527-appb-img-000001
Figure PCTKR2021013527-appb-img-000002
수학식 1에서, S(m)은, 각 분할 모델의 출력 레이어로서 식별된 레이어들을 나타낸다. 또한, Sort (A)는, 상위 R%의 범위 내에서, 제2 전자 장치(2000)에 의해 빠르게 처리될 수 있는 레이어로서 식별된, 적어도 하나의 레이어를 나타낼 수 있다. 또한, Sort (S0)는, 출력 데이터의 크기가 가장 작은 상위 N%의 레이어로서 식별된, 적어도 하나의 레이어를 나타낼 수 있다. 또한, Sort (B x t)는, 미리 설정된 시간 안에, 인공지능 모델의 분할 처리를 위한 데이터 전송이 수행될 수 있도록, 식별된 적어도 하나의 레이어를 나타낼 수 있다. 또한, C 및 D는, 인공지능 모델이 분산 처리될 수 있도록, 미리 설정된 값일 수 있다.
일 실시 예에 의하면, 수학식 1에 따른 방법에 한하지 않고, 이하 수학식 2에 따라서, 복수 개의 레이어 중 적어도 하나의 레이어가, 각 분할 모델의 출력 레이어로서 식별될 수도 있다.
[수학식 2]
Figure PCTKR2021013527-appb-img-000003
수학식 2에서, S(m)은 각 분할 모델의 출력 레이어로서 식별된 레이어들을 나타낸다.
수학식 2에 의하면, 앞서 수학식 1과 관련하여 언급된, Sort(A), Sort(SO) 및, Sort(B x t)에서, 각각 적어도 하나의 레이어가 식별될 수 있다. Sort(A), Sort(SO) 및, Sort(B x t)에서 각각 식별되는 레이어들은, 각각의 Sort에서 중복으로 식별되는 횟수에 따라, 적어도 하나의 그룹으로 나뉘어질 수 있다. 예를 들어, 제1 그룹은, 3개의 Sort에서 모두 식별되는 레이어를 포함할 수 있고, 제2 그룹은, 3개의 Sort 중 2개의 Sort에서 식별되는 레이어를 포함할 수 있고, 제3 그룹은, 1개의 Sort에서만 식별되는 레이어를 포함할 수 있다.
상술한 3개의 Sort 에 한하지 않고, 레이어를 식별하기 위한 적어도 하나의 Sort에 기초하여, 레이어가 식별됨에 따라, 적어도 하나의 레이어가 다양한 개수의 그룹으로 분류될 수 있다.
일 실시 예에 의하면, 각각의 Sort에서 중복으로 식별되는 횟수가 많은 순서대로, 각각의 그룹이 정렬될 수 있다. 예를 들면, 중복 식별되는 횟수가 가장 많은 제1 그룹부터, 제2 그룹 및 제3 그룹의 순서대로 정렬될 수 있다.
일 실시 예에 의하면, 각 그룹내에서는, a, b, 및 c 의 가중치에 따라서, 적어도 하나의 레이어가 정렬될 수 있다. 일 실시 예에 의하면, 각각의 레이어들이 각 Sort에서 정렬되는데 이용된 값과 a, b, 및 c의 가중치를 곱한 값에 기초하여, 적어도 하나의 레이어가 정렬될 수 있다. 예를 들면, Sort(S0) 또는 Sort(B x t)에서 식별된 레이어는, 각 레이어의 출력 데이터의 크기와 b 또는 c가 각각 연산된 값(ex. 곱셈)에 기초하여, 정렬될 수 있다. 다만, Sort(A)에서는, 가속 처리 여부에 따라 레이어가 식별됨에 따라, Sort(A)에서 식별된 레이어들은 동일한 순위를 가지므로, 다른 값과의 연산 없이 a값에 기초하여, 적어도 하나의 레이어가 정렬될 수 있다. 이에 한하지 않고, Sort(A)에서, 가속 처리되는 속도에 따라, 각 레이어들이 정렬됨으로써, 레이어가 식별되는 경우에는, 각 레이어가 제2 전자 장치(2000)에 의해 가속처리되는 속도(또는, 속도의 역수값) 및 a가 연산된 값에 기초하여, 정렬될 수도 있다.
일 실시 예에 의하면, 제2 전자 장치(2000)에 의한 가속 처리되는 속도가 빠르거나, 출력 데이터가 작은 레이어일수록, 각 그룹 내에서, 높은 순위로 정렬될 수 있도록, 상기 a, b, c 등의 가중치 값에 기초하여 연산된 값이 획득될 수 있다.
또한, 일 실시 예에 의하면, 상술한 가중치 값에 기초하여 획득된 값이 작은 순서대로, 적어도 하나의 레이어가 정렬될 수 있으나, 이에 한하지 않고, 다양한 방법 및 기준에 따라서, 적어도 하나의 레이어가 정렬될 수 있다.
일 예로, 제2 그룹의 레이어 중, Sort(A) 및 Sort(S0)에서 중복으로 식별된 레이어는, 상기 레이어의 출력 데이터의 크기와 b를 곱한 값과, a를 더한 값에 기초하여, 제2 그룹 내에서, 정렬될 수 있다. 상술한 예에 한하지 않고, 가중치 값에 기초하여 다양한 방법으로 획득된 값에 기초하여, 동일 그룹 내에서 레이어가 정렬될 수 있다.
일 실시 예에 의하면, 상기 수학식 2에 따라서, 적어도 하나의 레이어가 정렬된 순서에 기초하여, 인공지능 모델을 구성하는 복수 개의 레이어 중 상위 N%의 레이어가, 분할을 위한 레이어로서, 최종적으로 식별될 수 있다. 예를 들어, 인공지능 모델을 구성하는 100개의 레이어들은, Sort(A), Sort(S0) 및 Sort(B x t) 및 각각의 가중치 값인, a, b, c에 기초하여, 순서대로 정렬될 수 있고, 상위 N개의 레이어가 최종적으로 식별될 수 있다.
상기 수학식 2에서, N, a, b, c 의 값은, 인공지능 모델이 분산 처리될 수 있도록, 미리 설정된 값일 수 있다.
상술한 예에 한하지 않고, 인공지능 모델을 구성하는 각 레이어의 특성에 따라서, 분산 처리를 위한 분할이 적절한 위치의 레이어를 기준으로 하여, 인공지능 모델이 분할될 수 있다.
단계 530에서, 일 실시 예에 의한 제1 전자 장치(1000)는, 제2 전자 장치(2000)의 성능 정보에 기초하여, 각 분할 모델이 제2 전자 장치(2000)에 의해 처리되는데 소요되는, 처리 시간을 예측할 수 있다.
일 실시 예에 의한 처리 시간은, 제2 전자 장치(2000)에 의해 각 분할 모델이 처리되는 시간뿐만 아니라, 제2 전자 장치(2000)가 제1 전자 장치(1000)로부터, 적어도 하나의 분할 모델에 대한 처리 요청을 수신하는데 소요되는 시간 및 제1 전자 장치(1000)가, 제2 전자 장치(2000)로부터 적어도 하나의 분할 모델에 대한 처리 결과를 수신하는데 소요되는 시간에 대해 예측된 시간을 더 포함하여 예측될 수 있다.
일 실시 예에 의한 각 분할 모델이 처리된 결과가 전송되는데 소요되는 시간은, 네트워크의 전송 속도, 직전 N 시간까지의 평균 데이터 송수신 양 등의 네트워크와 관련된 다양한 정보에 기초하여, 예측될 수 있다.
일 실시 예에 의한 제2 전자 장치(2000)의 성능 정보는, 제2 전자 장치(2000)가 구비한 하드웨어 정보 및 제2 전자 장치(2000)의 연산 처리 능력과 관련된 제2 전자 장치(2000)의 상태에 관한 정보 중 적어도 하나를 포함할 수 있다. 예를 들면, 성능 정보는, 가용 메모리, 가용 저장공간, 배터리 잔량, 제2 전자 장치(2000)에 구비된 연산 처리 장치(ex. CPU, NPU, GPU)의 성능 정보 및 상태 정보(ex. 사용률, 동작 모드, 연산 속도, 동작 가능한 상태인지 여부), 현재 제2 전자 장치(2000)에서 처리 중인 프로세서의 개수 등을 포함할 수 있다.
단계 540에서, 일 실시 예에 의한 제1 전자 장치(1000)는 단계 530에서, 결정된 처리 시간에 기초하여, 제2 전자 장치(2000)에 처리를 요청할 분할 모델을 결정할 수 있다.
일 실시 예에 의한 단계 530 및 단계 540은, 제1 전자 장치(1000)에서, 인공지능 모델을 구성하는 각각의 분할 모델을 처리할 때마다, 각 분할 모델에 대하여 수행될 수 있다. 일 실시 예에 의한 제1 전자 장치(1000)는, 단계 530에서, 현재 분할 모델에 대하여 예측되는 처리 시간이 제1 전자 장치(1000)에서 처리되는 경우 소요되는 처리 시간보다 짧은 경우, 현재 분할 모델에 대하여, 제2 전자 장치(2000)에 처리를 요청할 분할 모델로 결정할 수 있다.
단계 550에서, 일 실시 예에 의한 제1 전자 장치(1000)는, 단계 540에서 결정된 분할 모델에 대해 제2 전자 장치(2000)에 처리 요청함으로써, 인공지능 모델을 분산 처리하는 동작을 수행할 수 있다.
일 실시 예에 의하면 현재의 분할 모델이 제2 전자 장치(2000)에 처리를 요청할 분할 모델로 결정되더라도, 제1 전자 장치(1000)에서, 현재의 분할 모델을 처리하는 동작이 수행될 수 있다. 일 실시 예에 의하면, 네트워크 환경에 따라서, 제2 전자 장치(2000)에서, 제1 전자 장치(1000)의 처리 요청을 수신받지 못하거나, 네트워크, 또는 제2 전자 장치(2000)의 상태 변화로 인해, 예측된 처리 시간보다 더 늦게 분할 모델의 처리 결과가 수신되거나, 제1 전자 장치(1000)의 상태 변화로 인해, 제2 전자 장치(2000)보다 빠르게, 제1 전자 장치(1000)에 의해 분할 모델이 처리될 수 있다. 일 실시 예에 의하면, 네트워크 환경, 제1 전자 장치(1000) 또는 제2 전자 장치(2000)의 상태가 변화하더라도, 안정적으로 인공지능 모델의 처리가 가능하도록, 제2 전자 장치(2000)로 처리를 요청하는 분할 모델도 제1 전자 장치(1000)에서 동시에 처리될 수 있다.
도 6은 본 개시의 일 실시 예에 의한 제2 전자 장치(2000)에 의해 인공지능 모델을 분산 처리하는 방법을 나타낸 순서도이다.
일 실시 예에 의하면, 제1 전자 장치(1000)가 인공지능 모델의 분산 처리를 위한 제2 전자 장치(2000)를 식별함에 따라, 제1 전자 장치(1000) 및 제2 전자 장치(2000)가 서로 네트워크로 연결될 수 있다.
또한, 일 실시 예에 의한 제2 전자 장치(2000)는, 이하 단계 610에서, 제1 전자 장치(1000)로부터 적어도 하나의 분할 모델에 처리 요청을 수신하기 전에, 상기 적어도 하나의 분할 모델에 대한 모델 데이터를 미리 획득할 수 있다. 예를 들면, 제2 전자 장치(2000)는 제1 전자 장치(1000)로부터 분산 처리되는 인공지능 모델에 관한 식별 정보를 획득하여, 인공지능 모델의 모델 데이터를 획득함으로써, 적어도 하나의 분할 모델의 모델 데이터를 획득할 수 있다.
따라서, 제2 전자 장치(2000)는, 제1 전자 장치(1000)로부터 분할 모델에 대한 처리 요청을 수신하자마자, 분할 모델에 대한 처리를 빠르게 시작할 수 있다. 상술한 예에 한하지 않고, 제2 전자 장치(2000)는, 다양한 방법에 따라서, 제2 전자 장치(2000)로 처리 요청될 적어도 하나의 분할 모델에 대한 모델 데이터를 미리 획득해 둘 수 있다.
도 6을 참조하면, 단계 610에서, 일 실시 예에 의한 제2 전자 장치(2000)는 제1 전자 장치(1000)로부터 적어도 하나의 분할 모델에 대한 처리 요청을 수신함에 따라서, 단계 620에서, 처리 요청이 수신된 적어도 하나의 분할 모델을 처리할 수 있다. 일 실시 예에 의한 제1 전자 장치(1000)로부터 처리 요청되는 적어도 하나의 분할 모델은, 제2 전자 장치(2000)의 성능 정보에 기초하여, 각 분할 모델에 대한 제2 전자 장치(2000)에 의한 처리 시간이 예측됨으로써, 결정될 수 있다.
일 실시 예에 의한 제2 전자 장치(2000)의 성능 정보는, 제2 전자 장치(2000)가 구비한 하드웨어 정보 및 제2 전자 장치(2000)의 연산 처리 능력과 관련된 제2 전자 장치(2000)의 상태에 관한 정보 중 적어도 하나를 포함할 수 있다.
또한, 일 실시 예에 의한 처리 시간은, 제2 전자 장치(2000)에 의해 각 분할 모델이 처리되는 시간뿐만 아니라, 제2 전자 장치(2000)가 제1 전자 장치(1000)로부터, 적어도 하나의 분할 모델에 대한 처리 요청을 수신하는데 소요되는 시간 및 제1 전자 장치(1000)가, 제2 전자 장치(2000)로부터 적어도 하나의 분할 모델에 대한 처리 결과를 수신하는데 소요되는 시간에 대해 예측된 시간을 더 포함하여 예측될 수 있다.
단계 630에서, 일 실시 예에 의한 제2 전자 장치(2000)는, 단계 620에서 적어도 하나의 분할 모델이 처리된 결과를 제1 전자 장치(1000)로 전송할 수 있다.
일 실시 예에 의한 제2 전자 장치(2000)는, 제1 전자 장치(1000)와 동일하게, 제1 전자 장치(1000)로부터 처리 요청된 분할 모델을 처리한 후, 다음 순서의 분할 모델도, 제1 전자 장치(1000)로부터 처리 요청된 분할 모델이 아님에도, 순차적으로 처리하는 동작을 수행할 수 있다.
일 실시 예에 의하면, 네트워크 환경에 따라서, 제1 전자 장치(1000)에서, 제2 전자 장치(2000)의 처리 결과를 수신받지 못하거나, 네트워크, 또는 제2 전자 장치(2000)의 상태 변화로 인해, 예측된 처리 시간보다 더 빠르게 분할 모델이 처리되거나, 제1 전자 장치(1000)의 상태 변화로 인해, 제2 전자 장치(2000)보다 더 느리게, 제1 전자 장치(1000)에 의해 분할 모델이 처리될 수 있다. 일 실시 예에 의하면, 네트워크 환경, 제1 전자 장치(1000) 또는 제2 전자 장치(2000)의 상태가 변화하더라도, 안정적으로 인공지능 모델의 처리가 가능하도록, 제2 전자 장치(2000)로 처리 요청되지 않은 분할 모델도 제2 전자 장치(2000)에서 순차적으로 처리될 수 있다.
도 7은 본 개시의 일 실시 예에 의한 제1 전자 장치(1000) 및 제2 전자 장치(2000)에서 인공지능 모델을 분산 처리하는 일 예를 나타낸 도면이다.
도 7을 참조하면, 700은, 제1 전자 장치(1000) 및 제2 전자 장치(2000)에서 분산처리되는 인공지능 모델(700)이 분할된 일 예를 나타낸다. 일 실시 예에 의하면, 인공지능 모델(700)을 구성하는, 레이어 1 내지 레이어 9 중에서, 레이어 2, 3, 5, 9가 분할 모델의 출력 레이어로서 식별될 수 있다. 일 실시 예에 의하면, 인공지능 모델(700)을 구성하는 레이어들 중에서, 각 레이어에서 출력되는 데이터의 크기, 데이터 전송 속도 및 제2 전자 장치(2000)에 의해 빠른 연산이 가능한 레이어인지 여부 등의 여러 기준에 따라서, 적어도 하나의 레이어가 분할 모델의 출력 레이어로서 식별될 수 있다.
일 실시 예에 의한 인공지능 모델(700)은, 레이어 1, 2를 포함한 분할 모델 1(701), 레이어 3을 포함한 분할 모델 2(702), 레이어 4, 5를 포함한 분할 모델 3(703), 레이어 6, 7, 8, 9를 포함한 분할 모델 4(704)로 분할될 수 있다.
일 실시 예에 의한 제1 전자 장치(1000)는, 단계 710에서, 인공지능 모델의 분산 처리를 수행하기 전에, 분산 처리를 요청할 제2 전자 장치(2000)를 식별하고, 각각의 분할 모델 별로, 제2 전자 장치(2000)에 처리를 요청할지 여부를 결정할 수 있다.
일 실시 예에 의한 제2 전자 장치(2000)에 처리를 요청할지 여부의 결정은, 제1 전자 장치(1000)에서, 순차적으로 각각의 분할 모델이 처리됨에 따라서, 각 분할 모델이 처리될 순서가 되기 전에, 미리 수행될 수 있다. 따라서, 일 실시 예에 의하면, 각 분할 모델에 대한 입력 정보가 획득되자 마자 제2 전자 장치(2000)로 처리 요청이 전송됨으로써, 빠른 처리 결과가 제1 전자 장치(1000)에서 수신될 수 있다. 상술한 예에 한하지 않고, 제2 전자 장치(2000)에 처리를 요청할지 여부의 결정은, 제1 전자 장치(1000)에 의해, 다양한 시점에서, 수행될 수 있다.
단계 710에서, 제1 전자 장치(1000)는, 레이어 1, 2를 포함하는, 분할 모델 1(701)을 처리하기 시작할 수 있다. 제1 전자 장치(1000)는, 분할 모델 1(701)을 처리한 후, 레이어 3을 포함한 분할 모델 2(702)는 제2 전자 장치(2000)에 처리 요청될 분할 모델로 결정함에 따라서, 단계 720에서, 처리 요청을 전송할 수 있다.
단계 720에서 전송되는 처리 요청은, 분할 모델 2(702)가 제2 전자 장치(2000)에서 처리되는데 필요한 정보를 포함할 수 있다. 예를 들면, 상기 처리 요청은, 분할 모델 2(702)를 나타내는 식별 정보 및 분할 모델 2(702)에 입력될 정보로서, 분할 모델 1(701)의 처리 결과에 관한 정보를 포함할 수 있다. 상술한 예에 한하지 않고, 상기 처리 요청은, 분할 모델 2(702)가 제2 전자 장치(2000)에서 처리되는데 이용될 수 있는 다양한 종류의 정보를 포함할 수 있다.
일 실시 예에 의한 제2 전자 장치(2000)는, 제1 전자 장치(1000)로부터 처리 요청을 수신함에 따라, 단계 730에서, 분할 모델 2(702)를 처리하기 시작할 수 있다.
단계 740에서, 제2 전자 장치(2000)는, 분할 모델 2(702)를 처리함에 따라, 분할 모델 2(702)의 처리 결과에 관한 정보를, 제1 전자 장치(1000)로 전송할 수 있다.
단계 740에서 전송되는 분할 모델 2(702)의 처리 결과에 관한 정보는, 분할 모델 2(702)를 나타내는 식별 정보, 분할 모델 2(702)의 출력 정보, 및 상기 분할 모델 2(702)가 제2 전자 장치(2000)에 의해 처리되는데 소요된 시간에 관한 정보를 포함할 수 있다.
일 실시 예에 의한 제1 전자 장치(1000)는, 상기 시간에 관한 정보에 기초하여, 제2 전자 장치(2000)의 연산 속도를 판단함으로써, 제2 전자 장치(2000)의 성능 정보를 갱신할 수 있다. 따라서, 일 실시 예에 의한 제1 전자 장치(1000)는, 아직 처리되지 않은 분할 모델에 대하여, 상기 갱신된 제2 전자 장치(2000)의 성능 정보에 기초하여, 제2 전자 장치(2000)로 처리 요청을 전송할 지 여부를 결정할 수 있다.
상술한 예에 한하지 않고, 분할 모델 2(702)의 처리 결과에 관한 정보는, 제1 전자 장치(1000)에서 인공지능 모델이 분산 처리되는데 이용될 수 있는 다양한 종류의 정보를 포함할 수 있다.
일 실시 예에 의한 제1 전자 장치(1000)는, 단계 720에서, 분할 모델 2에 대한 처리 요청을 전송하는 동작과는 별개로, 인공지능 모델을 구성하는 분할 모델 1 내지 분할 모델 4(701, 702, 703, 704)를 순차적으로 처리할 수 있다. 일 실시 예에 의한 제1 전자 장치(1000)는, 복수 개의 분할 모델을 순차적으로 처리하는 중에, 아직 처리가 완료되지 않은 분할 모델에 대하여, 제2 전자 장치(2000)로부터 처리 결과를 수신하는 경우, 상기 수신된 처리 결과를 입력 받는 분할 모델부터 순차적으로 처리할 수 있다.
예를 들어, 제1 전자 장치(1000)에 의해 분할 모델 2(702)의 출력 정보가 획득되기 전에, 제2 전자 장치(2000)로부터 분할 모델 2(702)에 대한 출력 정보가 먼저 수신되는 경우, 제1 전자 장치(1000)는 먼저 수신된 분할 모델 2(702)의 출력 정보에 기초하여, 레이어 4, 5를 포함하는 분할 모델 3(703)을 처리할 수 있다.
따라서, 일 실시 예에 의하면, 제2 전자 장치(2000)의 연산 처리 능력에 따라서, 제2 전자 장치(2000)를 이용하지 않고 인공지능 모델을 처리하는 경우, 분할 모델 3(703)이 처리되기 시작하는 시점(740-1)보다, 제2 전자 장치(2000)에 의해 분할 모델 2(702)가 처리된 결과에 기초하여, 분할 모델 3(703)이 처리되기 시작하는 시점(740-2)이 더 빠를 수 있다.
도 7에서, 제1 전자 장치(1000)를 기준으로, 왼쪽에 표시된 분할 모델들은, 제2 전자 장치(2000)를 이용하지 않는 경우에, 각 분할 모델들이 처리되는 시점에 따라 표시된 것이고, 오른쪽에 표시된 분할 모델들은, 제2 전자 장치(2000)에 의해 분할 모델 2(702)가 처리된 결과에 기초하여, 각 분할 모델들이 처리되는 시점에 따라 표시된 것이다. 일 실시 예에 의하면, 오른쪽에 표시된 바와 같이, 제2 전자 장치(2000)에 의해 분할 모델 2(702)가 처리된 결과에 기초하여, 각 분할 모델들이 처리될 수 있으므로, 인공지능 모델의 분산 처리가 가속화될 수 있다.
이하 도 8 내지 도 12에서도, 각 전자 장치에서 처리되는 분할 모델들은, 도 7과 동일하게 각 분할 모델들이 처리되는 시점에 따라 표시되었다.
일 실시 예에 의한 제1 전자 장치(1000)는, 레이어 6, 7, 8, 9를 포함하는 분할 모델 4(704)에 대해, 제2 전자 장치(2000)로 처리 요청할 것을 결정함에 따라서, 단계 750에서, 제2 전자 장치(2000)로 분할 모델 4(704)에 대한 처리 요청을 전송할 수 있다. 일 실시 예에 의한 분할 모델 4(704)에 대한 처리 요청은, 분할 모델 3(703)이 처리된 후, 분할 모델 3(703)의 출력 정보에 기초하여, 전송될 수 있다.
일 실시 예에 의한 제2 전자 장치(2000)도, 제1 전자 장치(1000)와 동일하게, 분할 모델 2(702)를 처리한 후, 분할 모델 3(703) 및 분할 모델 4(704)도 순차적으로 처리할 수 있다. 일 실시 예에 의한 제2 전자 장치(2000)는, 제1 전자 장치(1000)로부터 적어도 하나의 분할 모델에 대하여, 처리 요청을 수신함에 따라, 상기 적어도 하나의 분할 모델부터, 인공지능 모델에 포함된 분할 모델들을 순차적으로 처리할 수 있다. 또한, 제2 전자 장치(2000)에서, 순차적으로 상기 분할 모델들이 처리되는 중에, 아직 처리가 시작 되지 않은 분할 모델에 대하여, 제1 전자 장치(1000)로부터 처리 요청이 수신되는 경우, 제2 전자 장치(2000)는 상기 처리 요청에 기초하여, 상기 처리 요청된 분할 모델부터 순차적으로 처리할 수 있다.
예를 들면, 제2 전자 장치(2000)는, 제2 전자 장치(2000)에 의해 분할 모델 3(703)의 출력 정보가 획득되기 전에, 제1 전자 장치(1000)로부터, 아직 처리가 시작되지 않은 분할 모델 4(704)에 대한 처리 요청이 먼저 수신되는 경우, 제2 전자 장치(2000)는, 처리 요청에 포함된, 분할 모델 4(704)의 입력 정보에 기초하여, 분할 모델 4(704)를 처리할 수 있다.
따라서, 일 실시 예에 의하면, 제1 전자 장치(1000)의 연산 처리 능력에 따라서, 제2 전자 장치(2000)에서, 제1 전자 장치(1000)로부터 처리 요청을 이용하지 않는 경우, 분할 모델 4(704)가 처리되기 시작하는 시점(750-1)보다, 제1 전자 장치(1000)로부터 수신된 처리 요청에 기초하여, 분할 모델 4(704)가 처리되는 시점(750-2)이 더 빠를 수 있다. 반면에, 제2 전자 장치(2000)의 연산 처리 능력에 따라서, 제1 전자 장치(1000)로부터 분할 모델 4(704)에 대한 처리 요청을 수신하기 전에, 분할 모델 4(704)가 이미 제2 전자 장치(2000)에서, 처리 중인 경우, 제2 전자 장치(2000)는, 제1 전자 장치(1000)로부터 수신된 처리 요청을 이용하지 않고 버릴 수 있다.
도 7에서, 제2 전자 장치(2000)를 기준으로, 오른쪽에 표시된 분할 모델들은, 제1 전자 장치(1000)로부터 수신된 처리 요청에 포함된 분할 모델의 입력 정보를 이용하지 않는 경우에, 각 분할 모델들이 처리되는 시점에 따라 표시된 것이고, 왼쪽에 표시된 분할 모델들은, 제1 전자 장치(1000)로부터 수신된 처리 요청에 기초하여, 각 분할 모델들이 처리되는 시점에 따라 표시된 것이다. 일 실시 예에 의하면, 왼쪽에 표시된 바와 같이, 제1 전자 장치(1000)로부터 수신된 처리 요청에 기초하여, 각 분할 모델들이 처리될 수 있으므로, 인공지능 모델의 분산 처리가 가속화될 수 있다.
이하 도 8 내지 도 12에서도, 각 전자 장치에서 처리되는 분할 모델들은, 도 7과 동일하게 각 분할 모델들이 처리되는 시점에 따라 표시되었다.
일 실시 예에 의한 제2 전자 장치(2000)는, 분할 모델 4(704)를 처리함으로써, 단계 760에서, 분할 모델 4(704)의 처리 결과를 제1 전자 장치(1000)로 전송할 수 있다.
일 실시 예에 의하면, 제1 전자 장치(1000)에 의해 분할 모델 4(704)의 처리 결과가 획득되기 전에, 제2 전자 장치(2000)로부터 분할 모델 4(704)에 대한 출력 정보가 먼저 수신되는 경우, 제1 전자 장치(1000)는 먼저 수신된 분할 모델 4(704)의 출력 정보를 인공지능 모델의 출력 정보로서 획득할 수 있다.
따라서, 일 실시 예에 의하면, 제2 전자 장치(2000)를 이용하지 않고, 제1 전자 장치(1000)에서, 분할 모델 4(704)가 처리 완료되는 시점(760-1, 760-2)보다, 제2 전자 장치(2000)에 의해 분할 모델 4(704)가 빠르게 처리됨에 따라서, 제1 전자 장치(1000)에서 분할 모델 4(704)의 출력 정보가 더 빠르게 획득될 수 있다.
도 8은 일 실시 예에 의한 제1 전자 장치(1000) 및 제2 전자 장치(2000)에서 피드백을 고려하여 인공지능 모델을 분산 처리하는 일 예를 나타낸 도면이다.
도 8을 참조하면, 800은, 제1 전자 장치(1000) 및 제2 전자 장치(2000)에서 분산처리되는 인공지능 모델(800)이 분할된 일 예를 나타낸다. 일 실시 예에 의하면, 인공지능 모델(800)을 구성하는, 레이어 1 내지 레이어 9 중에서, 레이어 2, 3, 5, 9가 분할 모델의 출력 레이어로서 식별될 수 있다.
도 8의 인공지능 모델(800)은, 도 7의 인공지능 모델(700)과는 달리, 레이어의 출력 정보가 피드백 정보로서 입력되는 동작과 관련된, 레이어 1 및 6이 추가적으로 식별될 수 있다.
일 실시 예에 의한 레이어 1은, 레이어 6의 출력 정보를 피드백 정보로서 수신받는 레이어로서 미리 식별될 수 있다. 예를 들어, 인공지능 모델(800)에 복수의 입력 정보들이 순차적으로 입력되어 처리될 수 있는 경우, 현재의 입력 정보가 처리됨에 따라 획득된 레이어 6의 출력 정보는, 다음 순서의 입력 정보가 레이어 1에 의해 처리될 때, 피드백 정보로서 레이어 1에 입력될 수 있다.
일 실시 예에 의한 제1 전자 장치(1000) 및 제2 전자 장치(2000)는, 피드백과 관련된 레이어 1 및 6을 미리 식별해두고, 레이어 6의 출력 정보가 레이어 1로 피드백 정보로서 입력될 수 있도록, 동작할 수 있다.
일 실시 예에 의한 인공지능 모델(800)은, 레이어 1, 2를 포함한 분할 모델 1, 레이어 3을 포함한 분할 모델 2, 레이어 4, 5를 포함한 분할 모델 3, 레이어 6, 7, 8, 9를 포함한 분할 모델 4로 분할될 수 있다.
일 실시 예에 의한 제1 전자 장치(1000)는, 단계 810에서, 인공지능 모델의 분산 처리를 수행하기 전에, 분산 처리를 요청할 제2 전자 장치(2000)를 식별하고, 각각의 분할 모델 별로, 제2 전자 장치(2000)에 처리를 요청할지 여부를 결정할 수 있다.
단계 810에서, 제1 전자 장치(1000)는, 레이어 1, 2를 포함하는, 분할 모델 1(801)을 처리하기 시작할 수 있다. 제1 전자 장치(1000)는, 분할 모델 1(801)을 처리한 후, 레이어 3을 포함한 분할 모델 2(802)는 제2 전자 장치(2000)에 처리 요청될 분할 모델로 결정함에 따라서, 단계 820에서, 처리 요청을 전송할 수 있다.
일 실시 예에 의한 제2 전자 장치(2000)는, 제1 전자 장치(1000)로부터 처리 요청을 수신함에 따라, 단계 830에서, 분할 모델 2(802)를 처리하기 시작할 수 있다.
단계 840에서, 제2 전자 장치(2000)는, 분할 모델 2(802)를 처리함에 따라, 획득된 분할 모델 2(802)의 처리 결과를, 제1 전자 장치(1000)로 전송할 수 있다.
일 실시 예에 의하면, 제2 전자 장치(2000)의 연산 처리 능력에 따라서, 제2 전자 장치(2000)를 이용하지 않고 분할 모델 3(803)이 처리되는 시점(840-1)보다, 제2 전자 장치(2000)로부터 수신된 처리 결과에 기초하여, 분할 모델 3(803)이 처리되는 시점(840-2)이 더 빠를 수 있다.
일 실시 예에 의한 제1 전자 장치(1000)는, 레이어 6, 7, 8, 9를 포함하는 분할 모델 4(804)에 대해, 제2 전자 장치(2000)로 처리 요청할 것을 결정함에 따라서, 단계 850에서, 제2 전자 장치(2000)로 분할 모델 4(804)에 대한 처리 요청을 전송할 수 있다.
일 실시 예에 의하면, 제1 전자 장치(1000)의 연산 처리 능력에 따라, 제2 전자 장치(2000)에서, 제1 전자 장치(1000)의 처리 요청을 이용하지 않고, 분할 모델 4(804)가 처리되기 시작하는 시점(850-1)보다, 제1 전자 장치(1000)의 처리 요청에 따라, 분할 모델 4(804)가 처리되는 시점(850-2)이 더 빠를 수 있다. 따라서, 일 실시 예에 의한 제2 전자 장치(2000)는, 제1 전자 장치(1000)의 처리 요청에 따라, 더 빠른 시점부터 분할 모델 4(804)를 처리하기 시작함으로써, 인공지능 모델의 분산 처리가 가속화될 수 있다.
또한, 일 실시 예에 의한 제2 전자 장치(2000)는, 분할 모델 4(804)를 처리하는 동작 중에, 피드백과 관련된 레이어 6의 출력 정보가 획득됨에 따라서, 단계 860-1에서, 레이어 6의 출력 정보를 제1 전자 장치(1000)로 전송할 수 있다. 일 실시 예에 의한 제1 전자 장치(1000)는, 제1 전자 장치(1000)에서 레이어 6의 출력 정보가 먼저 획득되는 경우, 단계 860-2에서, 레이어 1의 입력 정보로서, 레이어 6의 출력 정보를 전달할 수 있다. 반면에, 제2 전자 장치(2000)로부터 레이어 6의 출력 정보가 먼저 수신되는 경우, 단계 870-1에서, 레이어 1의 입력 정보로서, 레이어 6의 출력 정보를 전달할 수 있다. 일 실시 예에 의한 제1 전자 장치(1000)는, 단계 860-1 및 단계 860-2에서 각각 획득되는 출력 정보 중 먼저 수신된 출력 정보에 기초하여, 다음 순서의 입력 데이터에 대한 인공지능 모델을 레이어 1부터 순차적으로 처리할 수 있다.
일 실시 예에 의한 제2 전자 장치(2000)는, 분할 모델 4(804)를 처리함으로써, 단계 870에서, 분할 모델 4(804)의 출력 정보를 제1 전자 장치(1000)로 전송할 수 있다.
일 실시 예에 의하면, 제2 전자 장치(2000)의 연산 처리 능력에 따라서, 제2 전자 장치(2000)를 이용하지 않고, 제1 전자 장치(1000)에서, 분할 모델 4의 처리 결과가 획득되는 시점(870-1, 870-2)보다, 제2 전자 장치(2000)로부터 수신된 처리 결과에 기초하여, 분할 모델 4(804)의 처리 결과가 더 빠르게 획득될 수 있다. 따라서, 일 실시 예에 의하면, 제2 전자 장치(2000)로부터 수신된 처리 결과가 제1 전자 장치(1000)에서 수신됨에 따라, 인공지능 모델의 분산 처리가 가속화될 수 있다.
도 9는 일 실시 예에 의한 제1 전자 장치(1000) 및 제2 전자 장치(2000)에서 인공지능 모델을 분산 처리할 때 데이터 전송이 실패하는 경우의 일 예를 나타낸 도면이다.
도 9를 참조하면, 도 7의 인공지능 모델(700)과 동일하게, 분할된 복수 개의 분할 모델에 기초하여, 인공지능 모델(700)의 분산 처리가 수행될 수 있다.
단계 910에서, 제1 전자 장치(1000)는, 레이어 1, 2를 포함하는, 분할 모델 1(701)을 처리하기 시작할 수 있다. 제1 전자 장치(1000)는, 분할 모델 1(701)을 처리한 후, 레이어 3을 포함한 분할 모델 2(702)는 제2 전자 장치(2000)에 처리 요청될 분할 모델로 결정함에 따라서, 단계 920에서, 처리 요청을 전송할 수 있다.
그러나, 제1 전자 장치(1000) 및 제2 전자 장치(2000)간 네트워크의 문제로 인해, 단계 920에서, 처리 요청의 전송이 실패하는 경우, 제2 전자 장치(2000)가 제1 전자 장치(1000)의 처리 요청을 수신하지 못함에 따라, 제2 전자 장치(2000)에서 분할 모델 2(702)에 대한 처리가 수행되지 않을 수 있다.
일 실시 예에 의하면, 제2 전자 장치(2000)로 분할 모델 2에 대한 처리 요청이 전송되는 동작과는 별개로, 제1 전자 장치(1000)는, 분할 모델 1(701)을 처리한 후 순차적으로 분할 모델 2(702)를 처리할 수 있다. 일 실시 예에 의한 제1 전자 장치(1000)는, 분할 모델 2(702)의 처리가 완료될 때까지 제2 전자 장치(2000)로부터 분할 모델 2(702)의 출력 정보가 수신되지 않음에 따라, 분할 모델 2의 처리가 완료된 후, 분할 모델 3(703)을 순차적으로 처리할 수 있다. 또한, 제1 전자 장치(1000)는, 제1 전자 장치(1000)에서 분할 모델 3(703)을 처리하는 동작과는 별개로, 분할 모델 3(703)을 제2 전자 장치(2000)에 처리 요청될 분할 모델로 결정함에 따라서, 단계 930에서, 처리 요청을 전송할 수 있다.
일 실시 예에 의한 제2 전자 장치(2000)는, 단계 930에서 전송된 처리 요청을 수신함에 따라, 단계 940에서, 레이어 4, 5를 포함하는 분할 모델 3(703)에 대하여 처리를 수행할 수 있다. 일 실시 예에 의한 제2 전자 장치(2000)는, 분할 모델 3(703)의 처리가 완료되면, 분할 모델 3에 대한 출력 정보를 제1 전자 장치(1000)로 전송할 수 있다.
일 실시 예에 의한 제1 전자 장치(1000)는, 네트워크를 통한 처리 요청의 전송이 실패하거나, 제2 전자 장치(2000)에 의해 분할 모델이 처리되는 시간이 제1 전자 장치(1000)에 의해 예측된 시간보다 상당히 더 늦어지게 되는 경우를 대비하여, 제2 전자 장치(2000)로 처리 요청된 분할 모델을 포함한, 인공지능 모델의 복수 개의 분할 모델들을 순차적으로 처리할 수 있다. 따라서, 제1 전자 장치(1000)에서, 제2 전자 장치(2000)로부터 분할 모델에 대한 처리 결과가 수신되지 않거나 늦게 수신되는 경우에도, 제1 전자 장치(1000)에 의해 먼저 처리된 분할 모델의 처리 결과에 기초하여, 인공지능 모델이 빠르게 처리될 수 있다.
도 10은 일 실시 예에 의한 제1 전자 장치(1000) 및 제2 전자 장치(2000)에서 인공지능 모델을 분산 처리할 때 데이터 전송이 실패하는 경우의 일 예를 나타낸 도면이다.
도 10을 참조하면, 도 7의 인공지능 모델(700)과 동일하게, 분할된 복수 개의 분할 모델에 기초하여, 인공지능 모델(700)의 분산 처리가 수행될 수 있다.
단계 1010에서, 제1 전자 장치(1000)는, 레이어 1, 2를 포함하는, 분할 모델 1(701)을 처리하기 시작할 수 있다. 제1 전자 장치(1000)는, 분할 모델 1(701)을 처리한 후, 레이어 3을 포함한 분할 모델 2(702)는 제2 전자 장치(2000)에 처리 요청될 분할 모델로 결정함에 따라서, 단계 1020에서, 처리 요청을 전송할 수 있다.
단계 1030에서, 제2 전자 장치(2000)는, 단계 1020에서 전송된 처리 요청을 수신함에 따라서, 분할 모델 2(702)부터 순차적으로 처리할 수 있다. 단계 1040에서, 제2 전자 장치(2000)는, 분할 모델 2(702)의 처리가 완료됨에 따라, 분할 모델 2(702)의 처리 결과를 제1 전자 장치(1000)로 전송할 수 있다.
그러나, 제1 전자 장치(1000) 및 제2 전자 장치(2000)간 네트워크의 문제로 인해, 단계 1040에서, 분할 모델 2(702)의 처리 결과의 전송이 실패하는 경우, 제1 전자 장치(1000)는, 제2 전자 장치(2000)에서 처리된 분할 모델 2(702)의 출력 정보 없이, 제1 전자 장치(1000)에서 처리된 분할 모델 2(702)의 처리 결과에 기초하여, 분할 모델 3(703)을 순차적으로 처리할 수 있다.
일 실시 예에 의하면, 제1 전자 장치(1000)는, 단계 1020에서 전송되는 처리 요청과는 별개로, 제1 전자 장치(1000)에서, 분할 모델 2(702)에 대한 처리를 순차적으로 수행할 수 있다. 따라서, 단계 1040의 전송이 실패하여, 제1 전자 장치(1000)가 제2 전자 장치(2000)로부터 분할 모델 2(702)의 처리 결과를 수신하지 못하는 경우에도, 제1 전자 장치(1000)에서 처리된 분할 모델 2(702)의 처리 결과에 기초하여 분할 모델 3(703)을 순차적으로 처리할 수 있다.
단계 1050에서, 제1 전자 장치(1000)는, 순차적으로 분할 모델 3(703)을 처리하는 동작과는 별개로, 제2 전자 장치(2000)의 성능 정보에 기초하여 분할 모델 3(703)에 대해 예측된 처리 시간에 기초하여, 제2 전자 장치(2000)로 분할 모델 3(703)에 대한 처리 요청을 전송할 수 있다.
또한, 단계 1060에서, 제2 전자 장치(2000)는 분할 모델 3(703)의 처리 결과를 제1 전자 장치(1000)로 전송할 수 있다. 일 실시 예에 의하면, 제2 전자 장치(2000)를 이용하지 않고, 제1 전자 장치(1000)에서, 분할 모델 4(740)가 처리되기 시작하는 시점(1060-1)보다, 제2 전자 장치(2000)로부터 수신된 분할 모델 3(703)의 처리 결과에 기초하여, 더 빠른 시점(1060-2)부터 분할 모델 4(704)가 처리될 수 있다.
일 실시 예에 의한 제2 전자 장치(2000)는, 제1 전자 장치(1000)의 처리 요청이 수신되지 않은 분할 모델 4(704)에 대하여도, 분할 모델 3(703)을 처리한 후, 순차적으로 처리할 수 있다. 일 실시 예에 의한 단계 1060의 전송이 네트워크 상태로 인해 실패하거나, 제1 전자 장치(1000)보다 제2 전자 장치(2000)에서 분할 모델 4(704)를 더 빨리 처리할 수 있는 경우를 대비하여, 제2 전자 장치(2000)는, 제1 전자 장치(1000의 처리 요청이 수신되지 않은 분할 모델인, 분할 모델 4(704)도 분할 모델 3(703)이 처리 완료됨에 따라 순차적으로 처리할 수 있다.
일 실시 예에 의한 제2 전자 장치(2000)는, 단계 1070에서, 분할 모델 4(704)에 대한 출력 정보를 제1 전자 장치(1000)로 전송할 수 있다.
따라서, 일 실시 예에 의하면, 제2 전자 장치(2000)를 이용하지 않고, 제1 전자 장치(1000)에서, 분할 모델 4(704)가 처리 완료되는 시점(1070-1, 1070-2)보다, 제2 전자 장치(2000)에 의해 처리된 분할 모델 4(704)의 처리 결과에 기초하여, 제1 전자 장치(1000)에서 분할 모델 4(704)의 출력 정보가 더 빠르게 획득될 수 있다.
도 11은 일 실시 예에 의한 제1 전자 장치(1000) 및 제2 전자 장치(2000)에서 인공지능 모델을 분산 처리할 때 데이터 전송이 실패하는 경우의 일 예를 나타낸 도면이다.
도 11을 참조하면, 도 7의 인공지능 모델(700)과 동일하게, 분할된 복수 개의 분할 모델에 기초하여, 인공지능 모델(700)의 분산 처리가 수행될 수 있다.
단계 1010에서, 제1 전자 장치(1000)는, 레이어 1, 2를 포함하는, 분할 모델 1(701)을 처리하기 시작할 수 있다. 제1 전자 장치(1000)는, 분할 모델 1(701)을 처리한 후, 레이어 3을 포함한 분할 모델 2(702)는 제2 전자 장치(2000)에 처리 요청될 분할 모델로 결정함에 따라서, 단계 1120에서, 처리 요청을 전송할 수 있다.
단계 1130에서, 제2 전자 장치(2000)는, 단계 1120에서 전송된 처리 요청을 수신함에 따라서, 분할 모델 2(702)부터 순차적으로 처리할 수 있다. 단계 1140에서, 제2 전자 장치(2000)는, 분할 모델 2(702)의 처리가 완료됨에 따라, 분할 모델 2(702)의 출력 정보를 제1 전자 장치(1000)로 전송할 수 있다.
또한, 제2 전자 장치(2000)는, 제1 전자 장치(1000)의 처리 요청이 수신되지 않은 분할 모델 3(703)도 순차적으로 처리할 수 있다. 제2 전자 장치(2000)에서, 분할 모델 3(703)에 대한 처리 요청이 분할 모델 2(702)에 대한 처리가 완료되기 전에 수신되는 경우, 제2 전자 장치(2000)는, 분할 모델 3(703)에 대한 입력 정보를, 상기 수신된 처리 요청으로부터, 분할 모델 2에 대한 처리가 완료되기 전에 먼저 획득할 수 있으므로, 더 빠른 처리가 가능하다. 그러나, 분할 모델 2(702)에 대한 처리가 완료되기까지, 분할 모델 3(703)에 대한 처리 요청이 수신되지 않는 경우, 제2 전자 장치(2000)는, 분할 모델 2(702)가 처리 완료된 후에 분할 모델 3(703)를 처리할 수 있다.
일 실시 예에 의한 제2 전자 장치(2000)는, 분할 모델 3(703)에 대한 처리가 완료되면, 제1 전자 장치(1000)로, 단계 1150에서, 분할 모델 3(703)의 출력 정보를 전송할 수 있다.
그러나, 제1 전자 장치(1000) 및 제2 전자 장치(2000)간 네트워크의 문제로 인해, 단계 1150에서, 분할 모델 3(703)의 출력 정보의 전송이 실패하는 경우, 제1 전자 장치(1000)는, 제2 전자 장치(2000)에서 처리된 분할 모델 3(703)의 출력 정보를 제공받지 못하고, 제1 전자 장치(1000)는, 분할 모델 2(702)를 제2 전자 장치(2000)보다 늦게 처리 완료함에 따라, 단계 1160에서, 제2 전자 장치(2000)로, 분할 모델 3(703)에 대한 처리 요청을 전송할 수 있다.
일 실시 예에 의한 제2 전자 장치(2000)는, 단계 1150에서, 분할 모델 3(703)에 대한 출력 정보를 제공하였음에도, 제1 전자 장치(1000)로부터 분할 모델 3(703)에 대한 처리 요청을 수신함에 따라서, 분할 모델 3(703)에 대한 출력 정보가 제1 전자 장치(1000)에 제공되지 않은 것으로 판단할 수 있다. 따라서, 단계 1170에서, 제2 전자 장치(2000)는, 분할 모델 3(703)에 대한 출력 정보를 다시 제1 전자 장치(1000)로 전송할 수 있다.
일 실시 예에 의하면, 단계 1170에서, 분할 모델 3(703)에 대한 출력 정보가 다시 제1 전자 장치(1000)로 전송됨에 따라, 제2 전자 장치(2000)를 이용하지 않고, 제1 전자 장치(1000)에서, 분할 모델 4(704)가 처리되기 시작하는 시점(1170-1)보다, 더 빠른 시점(1170-2)부터, 분할 모델 4(704)가 제1 전자 장치(1000)에서 처리될 수 있다.
또한, 일 실시 예에 의하면, 제2 전자 장치(2000)를 이용하지 않고, 제1 전자 장치(1000)에서, 분할 모델 4(704)가 처리 완료되는 시점(1180-1)보다, 단계 1170에서, 전송된 분할 모델 3(703)에 대한 출력 정보에 기초하여, 제1 전자 장치(1000)에서 분할 모델 4(704)가 더 빠른 시점(1180-2)에서 처리 완료될 수 있다.
일 실시 예에 의한 제2 전자 장치(2000)는, 1180-3 시점에서, 분할 모델 4(704)가 처리된 결과인, 분할 모델 4(704)의 출력 정보를 제1 전자 장치(1000)로 전송할 수 있다. 다만, 제1 전자 장치(1000)에서 분할 모델 4(704)의 출력 정보가 수신된 시점이, 제1 전자 장치(1000)에서 분할 모델 4(704)가 처리 완료된 시점(1180-2)보다 늦음에 따라서, 제1 전자 장치(1000)는, 제2 전자 장치(2000)로부터 수신된 분할 모델 4(704)의 출력 정보를 이용하지 않고 버릴 수 있다.
도 12는 일 실시 예에 의한 제1 전자 장치(1000), 제2 전자 장치(2000) 및 제3 전자 장치(2000-1)에서 인공지능 모델을 분산 처리하는 일 예를 나타낸 도면이다.
도 12를 참조하면, 도 7의 인공지능 모델(700)과 동일하게, 분할된 복수 개의 분할 모델에 기초하여, 인공지능 모델(700)의 분산 처리가 수행될 수 있다.
단계 1201에서, 제1 전자 장치(1000)는, 레이어 1, 2를 포함하는, 분할 모델 1(701)을 처리하기 시작할 수 있다. 제1 전자 장치(1000)는, 분할 모델 1(701)을 처리한 후, 레이어 3을 포함한 분할 모델 2(702)는 제2 전자 장치(2000)에 처리 요청될 분할 모델로 결정함에 따라서, 단계 1202에서, 처리 요청을 전송할 수 있다.
단계 1203에서, 제2 전자 장치(2000)는, 단계 1202에서 전송된 처리 요청을 수신함에 따라서, 분할 모델 2(702)부터 순차적으로 처리할 수 있다. 단계 1204에서, 제2 전자 장치(2000)는, 분할 모델 2(702)의 처리가 완료됨에 따라, 분할 모델 2(702)의 출력 정보를 제1 전자 장치(1000)로 전송할 수 있다.
일 실시 예에 의하면, 제1 전자 장치(1000)에 의해 분할 모델 2(702)의 출력 정보가 획득되기 전에, 제2 전자 장치(2000)로부터 분할 모델 2(702)에 대한 출력 정보가 먼저 수신되는 경우, 제1 전자 장치(1000)는 먼저 수신된 분할 모델 2(702)의 출력 정보에 기초하여, 단계 1205에서, 레이어 4, 5를 포함하는 분할 모델 3(703)을 처리할 수 있다.
따라서, 일 실시 예에 의하면, 제2 전자 장치(2000)를 이용하지 않고, 분할 모델 3(703)이 처리되기 시작하는 시점(1205-1)보다, 제2 전자 장치(2000)에 의해 분할 모델 2(702)가 처리된 결과에 기초하여, 분할 모델 3(703)이 처리되기 시작하는 시점(1205-2)이 더 빠를 수 있다.
다만, 단계 1206에서, 제2 전자 장치(2000)로부터 전송된 인공지능 모델(700)에 대한 분산 처리가 종료됨을 나타내는 정보가 제1 전자 장치(1000)에서 수신되는 경우, 제1 전자 장치(1000)는, 단계 1207에서, 인공지능 모델(700)을 분산 처리하기 위한 제3 전자 장치(2000-1)를 식별할 수 있다.일 실시 예에 의한 제2 전자 장치(2000)는 제2 전자 장치(2000)에서 수신된 사용자 입력에 기초하여, 인공지능 모델(700)에 대한 분산 처리가 종료됨을 나타내는 정보가 제1 전자 장치(1000)로 전송될 수 있다. 또는, 제2 전자 장치(2000)의 상태가 인공지능 모델(700)에 대한 분산 처리를 수행하기에 적합하지 않도록 변화됨에 따라, 인공지능 모델(700)에 대한 분산 처리가 종료됨을 나타내는 정보가 제1 전자 장치(1000)로 전송될 수 있다. 상술한 예에 한하지 않고, 다양한 경우에, 인공지능 모델(700)에 대한 분산 처리가 종료됨을 나타내는 정보가 제2 전자 장치(2000)에서 제1 전자 장치(1000)로 전송될 수 있다.
일 실시 예에 의한 제1 전자 장치(1000)는 식별된 제3 전자 장치(2000-1)의 성능 정보에 기초하여, 제3 전자 장치(2000-1)에 분할 모델 4(704)에 대한 처리 요청할 것을 결정함에 따라서, 단계 1208에서, 분할 모델 4(704)에 대한 처리 요청을 제3 전자 장치(2000-1)로 전송할 수 있다. 일 실시 예에 의한 분할 모델 4(704)에 대한 처리 요청은, 분할 모델 3(703)의 처리 결과에 기초하여 획득된, 분할 모델 4(704)에 대한 입력 정보를 포함할 수 있다.
일 실시 예에 의한 제3 전자 장치(2000-1)는, 단계 1206에서 제2 전자 장치(2000)로부터 전송된 인공지능 모델(700)에 대한 분산 처리가 종료됨을 나타내는 정보가 제1 전자 장치(1000)에서 수신되기 전에, 미리 제1 전자 장치(1000)에 의해 식별될 수 있다. 일 실시 예에 의한 제1 전자 장치(1000)는, 제2 전자 장치(2000)에 의한 분산 처리가 종료될 수 있는 경우를 대비하여, 미리 제3 전자 장치(2000-1)을 식별해 둠으로써, 제2 전자 장치(2000)에 의한 분산 처리가 종료됨에 따라, 제3 전자 장치(2000-1)에 의한 분산 처리가 더 빠르게 시작될 수 있다. 일 실시 예에 의한 제3 전자 장치(2000-1)는, 제2 전자 장치(2000)가 식별될 때 함께 식별될 수 있으나, 제2 전자 장치(2000)가 식별된 이후, 제2 전자 장치(2000)에 의해 분산 처리가 수행중인 동안에, 식별될 수도 있다. 상술한 예에 한하지 않고, 제3 전자 장치(2000-1)는, 다양한 시점에서, 제1 전자 장치(1000)에 의해 식별될 수 있다.
일 실시 예에 의한 제1 전자 장치(1000)는, 식별된 제3 전자 장치(2000-1)의 성능 정보에 기초하여, 인공지능 모델(700)을 복수 개의 분할 모델로 분할하고, 복수 개의 분할 모델 중 적어도 하나의 분할 모델에 대해, 제3 전자 장치(2000-1)에 처리 요청을 전달할지 여부를 결정할 수 있다.
일 실시 예에 의한, 인공지능 모델(700)의 분할은, 제2 전자 장치(2000)에 의한 분산 처리 동작에서 이용되는 분할 모델과는 다르게, 제3 전자 장치(2000-1)의 성능 정보에 기초하여, 수행될 수 있다. 일 실시 예에 의하면, 제3 전자 장치(2000-1)에 의한 인공지능 모델(700)의 분산 처리에 적합하도록, 제3 전자 장치(2000-1)의 성능 정보에 기초하여, 인공지능 모델(700)이 복수 개의 분할 모델로 분할될 수 있다. 상술한 제3 전자 장치(2000-1)의 성능 정보에 한하지 않고, 인공지능 모델(700)은, 다양한 정보에 기초하여, 복수 개의 분할 모델로 분할될 수 있다. 일 실시 예에 의한 제3 전자 장치(2000-1)의 성능 정보에 기초한, 인공지능 모델(700)의 분할은, 제2 전자 장치(2000)의 성능 정보에 기초하여, 인공지능 모델(700)이 분할될 때 함께 수행될 수 있으나, 이에 한하지 않고, 제2 전자 장치(2000)에 의해 분산 처리가 수행중인 동안에, 수행될 수도 있다. 상술한 예에 한하지 않고, 제3 전자 장치(2000-1)의 성능 정보에 기초한, 인공지능 모델(700)의 분할은 다양한 시점에서, 제1 전자 장치(1000)에 의해 수행될 수 있다.
일 실시 예에 의한 각 분할 모델에 대한 제3 전자 장치(2000-1)에 대한 처리 요청을 전달할지 여부의 결정은, 단계 1206에서 제2 전자 장치(2000)로부터 전송된 인공지능 모델(700)에 대한 분산 처리가 종료됨을 나타내는 정보가 제1 전자 장치(1000)에서 수신됨에 따라서 수행될 수 있다. 다만, 이에 한하지 않고, 일 실시 예에 의한 각 분할 모델에 대한 제3 전자 장치(2000-1)에 대한 처리 요청을 전달할지 여부의 결정은, 제3 전자 장치(2000-1)의 성능 정보에 기초한, 인공지능 모델(700)의 분할이 수행된 후, 제2 전자 장치(2000)에 의해 분산 처리가 수행중인 동안에, 수행될 수도 있다.
또한, 일 실시 예에 의하면, 각 분할 모델에 대한 제3 전자 장치(2000-1)에 대한 처리 요청을 전달할지 여부의 결정은, 상기 결정이 수행되는 시점을 기준으로, 제1 전자 장치(1000)에서, 아직 처리되지 않은 레이어 또는 아직 처리 결과가 획득되지 않은 레이어를 포함하는 분할 모델에 대하여, 수행될 수 있다. 상술한 예에 한하지 않고, 상기 결정은, 다양한 시점을 기준으로 식별된 분할 모델에 대해, 수행될 수도 있다.
일 실시 예에 의한 제3 전자 장치(2000-1)는, 분할 모델 4(704)를 처리함으로써, 단계 1209에서, 분할 모델 4(704)의 출력 정보를 제1 전자 장치(1000)로 전송할 수 있다.
일 실시 예에 의하면, 제1 전자 장치(1000)에 의해 분할 모델 4(704)의 출력 정보가 획득되기 전에, 제3 전자 장치(2000-1)로부터 분할 모델 4(704)에 대한 출력 정보가 먼저 수신되는 경우, 제1 전자 장치(1000)는 먼저 수신된 분할 모델 4(704)의 출력 정보를 인공지능 모델의 출력 정보로서 획득할 수 있다.
따라서, 일 실시 예에 의하면, 제3 전자 장치(2000-1)를 이용하지 않고, 제1 전자 장치(1000)에서, 분할 모델 4(704)가 처리 완료되는 시점(1209-1, 1209-2)보다, 더 빠른 시점(1209-3)에서, 제1 전자 장치(1000)에서 분할 모델 4(704)의 출력 정보가 더 빠르게 획득될 수 있다.
일 실시 예에 의하면, 사용자의 개인 정보 보호 및 데이터 처리 속도 면에서의 온 디바이스 AI 기술의 장점을 유지하면서, 전자 장치의 하드웨어에 따른 처리 성능의 제한을 최소화할 수 있다.
기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적 저장매체'는 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다. 예로, '비일시적 저장매체'는 데이터가 임시적으로 저장되는 버퍼를 포함할 수 있다.
일 실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두개의 사용자 장치들(예: 스마트폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품(예: 다운로더블 앱(downloadable app))의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
또한, 본 명세서에서, “부”는 프로세서 또는 회로와 같은 하드웨어 구성(hardware component), 및/또는 프로세서와 같은 하드웨어 구성에 의해 실행되는 소프트웨어 구성(software component)일 수 있다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.

Claims (15)

  1. 제1 전자 장치에서, 인공지능 모델을 분산 처리하는 방법에 있어서,
    상기 인공지능 모델이 분산 처리될, 제2 전자 장치의 성능 정보를 획득하는 단계;
    상기 인공지능 모델이 분할된, 복수 개의 분할 모델을 획득하는 단계;
    상기 성능 정보에 기초하여, 상기 복수 개의 분할 모델 각각이, 상기 제2 전자 장치에 의해, 처리되는데 소요되는, 처리 시간을 예측하는 단계;
    상기 예측된 처리 시간에 기초하여, 상기 복수 개의 분할 모델 중에서, 상기 제2 전자 장치에 처리를 요청할, 적어도 하나의 분할 모델을 결정하는 단계; 및
    상기 결정된 적어도 하나의 분할 모델에 대한 처리를 상기 제2 전자 장치에 요청함으로써, 상기 인공지능 모델을 분산 처리하는 단계를 포함하는, 방법.
  2. 제1항에 있어서, 상기 복수 개의 분할 모델은,
    상기 성능 정보에 기초하여, 상기 인공지능 모델이 분할됨으로써, 획득되는, 방법.
  3. 제1항에 있어서, 상기 복수 개의 분할 모델을 획득하는 단계는
    상기 인공지능 모델을 구성하는 복수 개의 레이어 중 적어도 하나의 레이어를 분할을 위한 레이어로 식별하는 단계; 및
    상기 식별된 레이어를 출력 레이어로서 각각 포함하는 상기 복수 개의 분할 모델을 획득하는 단계를 포함하는, 방법.
  4. 제1항에 있어서,
    상기 제1 전자 장치는, 상기 제2 전자 장치로 처리 요청된 상기 적어도 하나의 분할 모델을 포함한, 상기 복수 개의 분할 모델을 순차적으로 처리하는, 방법.
  5. 제4항에 있어서,
    상기 제1 전자 장치에서, 상기 복수 개의 분할 모델이 처리되는 중에, 아직 처리 완료되지 않은 분할 모델에 대하여, 상기 제2 전자 장치로부터 처리 결과가 수신되는 경우, 상기 수신된 처리 결과에 기초하여, 상기 복수 개의 분할 모델 중 상기 처리 결과를 입력 받는 분할 모델부터 순차적으로 처리되는, 방법.
  6. 제2 전자 장치에서, 인공지능 모델을 분산 처리하는 방법에 있어서,
    제2 전자 장치의 성능 정보에 기초하여 예측된, 상기 인공지능 모델이 분할된 복수 개의 분할 모델에 대한 상기 제2 전자 장치의 처리 시간에 기초하여, 상기 제2 전자 장치로 처리 요청될 적어도 하나의 분할 모델이 결정됨에 따라서, 제1 전자 장치로부터, 상기 적어도 하나의 분할 모델에 대한 처리 요청을 수신하는 단계;
    상기 적어도 하나의 분할 모델을 처리하는 단계; 및
    상기 적어도 하나의 분할 모델을 처리한 결과를 상기 제1 전자 장치로 전송함으로써, 상기 인공지능 모델을 분산 처리하는 단계를 포함하는, 방법.
  7. 제6항에 있어서, 상기 제2 전자 장치는
    상기 처리 요청을 수신함에 따라, 상기 적어도 하나의 분할 모델부터, 상기 제1 전자 장치로부터 처리 요청이 수신되지 않은 분할 모델을 포함한, 상기 인공지능 모델의 분할 모델들을 순차적으로 처리하는, 방법.
  8. 제7항에 있어서, 상기 제2 전자 장치에서, 순차적으로 상기 분할 모델들이 처리되는 중에, 아직 처리가 시작 되지 않은 분할 모델에 대하여, 상기 제1 전자 장치로부터 처리 요청이 수신되는 경우, 상기 처리 요청에 기초하여, 상기 처리 요청된 분할 모델부터 순차적으로 처리되는, 방법.
  9. 제6항에 있어서, 상기 제2 전자 장치는
    상기 제1 전자 장치에 가장 최근에 처리 결과가 제공된 분할 모델 또는, 상기 분할 모델보다 앞서 처리되는 분할 모델에 대한 처리 요청을 상기 제1 전자 장치로부터 수신하는 경우, 가장 최근에 상기 제1 전자 장치로 전송된 분할 모델의 처리 결과를 다시 상기 제1 전자 장치로 전송하는, 방법.
  10. 인공지능 모델을 복수 개의 전자 장치를 이용하여 분산 처리하는 시스템에 있어서,
    상기 인공지능 모델이 분산 처리될, 제2 전자 장치의 성능 정보를 획득하고, 상기 인공지능 모델이 분할된, 복수 개의 분할 모델을 획득하고, 상기 성능 정보에 기초하여, 상기 복수 개의 분할 모델 각각이, 상기 제2 전자 장치에 의해, 처리되는데 소요되는, 처리 시간을 예측하고, 상기 예측된 처리 시간에 기초하여, 상기 복수 개의 분할 모델 중에서, 상기 제2 전자 장치에 처리를 요청할, 적어도 하나의 분할 모델을 결정하고, 상기 결정된 적어도 하나의 분할 모델에 대한 처리를 상기 제2 전자 장치에 요청함으로써, 상기 인공지능 모델을 분산 처리하는, 제1 전자 장치; 및
    제2 전자 장치의 성능 정보에 기초하여 예측된, 상기 인공지능 모델이 분할된 복수 개의 분할 모델에 대한 상기 제2 전자 장치의 처리 시간에 기초하여, 상기 제2 전자 장치로 처리 요청될 적어도 하나의 분할 모델이 결정됨에 따라서, 상기 제1 전자 장치로부터, 상기 적어도 하나의 분할 모델에 대한 처리 요청을 수신하고, 상기 적어도 하나의 분할 모델을 처리하고, 상기 적어도 하나의 분할 모델을 처리한 결과를 상기 제1 전자 장치로 전송함으로써, 상기 인공지능 모델을 분산 처리하는, 제2 전자 장치를 포함하는, 시스템.
  11. 인공지능 모델을 분산 처리하는 제1 전자 장치에 있어서,
    상기 인공지능 모델을 저장하는 메모리;
    상기 인공지능 모델이 분산 처리될, 제2 전자 장치의 성능 정보를 획득하고,
    상기 인공지능 모델이 분할된, 복수 개의 분할 모델을 획득하고,
    상기 성능 정보에 기초하여, 상기 복수 개의 분할 모델 각각이, 상기 제2 전자 장치에 의해, 처리되는데 소요되는, 처리 시간을 예측하고,
    상기 예측된 처리 시간에 기초하여, 상기 복수 개의 분할 모델 중에서, 상기 제2 전자 장치에 처리를 요청할, 적어도 하나의 분할 모델을 결정하는, 적어도 하나의 프로세서; 및
    상기 인공지능 모델을 분산 처리하기 위해, 상기 결정된 적어도 하나의 분할 모델에 대한 처리를 상기 제2 전자 장치에 요청하는, 통신부를 포함하는, 제1 전자 장치.
  12. 제11항에 있어서, 상기 제1 전자 장치는, 상기 복수 개의 분할 모델을 순차적으로 처리하고,
    상기 적어도 하나의 분할 모델이, 상기 제1 전자 장치에 의해 상기 복수 개의 분할 모델이 순차적으로 처리됨에 따라서, 획득된 결과 및 상기 제2 전자 장치에 의해 상기 적어도 하나의 분할 모델이 처리된 결과 중, 상기 제1 전자 장치에서 먼저 획득된 처리 결과에 기초하여, 상기 인공지능 모델이 분산 처리되는, 제1 전자 장치.
  13. 인공지능 모델을 분산 처리하는 제2 전자 장치에 있어서,
    상기 제2 전자 장치의 성능 정보에 기초하여 예측된, 상기 인공지능 모델이 분할된 복수 개의 분할 모델에 대한 상기 제2 전자 장치의 처리 시간에 기초하여, 제1 전자 장치로부터, 상기 복수 개의 분할 모델 중 적어도 하나의 분할 모델에 대한 처리 요청을 수신하는 통신부;
    상기 적어도 하나의 분할 모델을 저장하는 메모리; 및
    상기 적어도 하나의 분할 모델을 처리하고, 상기 적어도 하나의 분할 모델을 처리한 결과를 상기 제1 전자 장치로 전송하도록 상기 통신부를 제어함으로써, 상기 인공지능 모델을 분산 처리하는, 적어도 하나의 프로세서를 포함하는, 제2 전자 장치.
  14. 제13항에 있어서, 상기 제2 전자 장치는
    상기 제1 전자 장치에 가장 최근에 처리 결과가 제공된 분할 모델 또는, 상기 분할 모델보다 앞서 처리되는 분할 모델에 대한 처리 요청을 상기 제1 전자 장치로부터 수신하는 경우, 가장 최근에 상기 제1 전자 장치로 전송된 분할 모델의 처리 결과를 다시 상기 제1 전자 장치로 전송하는, 제2 전자 장치.
  15. 제1항 내지 제5항 중 어느 한 항의 방법을 구현하기 위한 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록 매체.
PCT/KR2021/013527 2020-10-06 2021-10-01 인공지능 모델을 분산 처리하는 시스템 및 그 동작 방법 WO2022075668A1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202180068484.1A CN116324808A (zh) 2020-10-06 2021-10-01 人工智能模型分布式处理系统及其操作方法
EP21877920.5A EP4209966A4 (en) 2020-10-06 2021-10-01 DISTRIBUTED PROCESSING SYSTEM FOR ARTIFICIAL INTELLIGENCE MODEL AND METHOD FOR OPERATION THEREOF
US18/131,723 US20230244953A1 (en) 2020-10-06 2023-04-06 Artificial intelligence model distributed processing system, and method for operating same

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2020-0128876 2020-10-06
KR1020200128876A KR20220045800A (ko) 2020-10-06 2020-10-06 인공지능 모델을 분산 처리하는 시스템 및 그 동작 방법

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/131,723 Continuation US20230244953A1 (en) 2020-10-06 2023-04-06 Artificial intelligence model distributed processing system, and method for operating same

Publications (1)

Publication Number Publication Date
WO2022075668A1 true WO2022075668A1 (ko) 2022-04-14

Family

ID=81125841

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2021/013527 WO2022075668A1 (ko) 2020-10-06 2021-10-01 인공지능 모델을 분산 처리하는 시스템 및 그 동작 방법

Country Status (5)

Country Link
US (1) US20230244953A1 (ko)
EP (1) EP4209966A4 (ko)
KR (1) KR20220045800A (ko)
CN (1) CN116324808A (ko)
WO (1) WO2022075668A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4328800A1 (en) * 2022-08-22 2024-02-28 Tata Consultancy Services Limited Method and system for latency optimized heterogeneous deployment of convolutional neural network

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220351020A1 (en) * 2021-04-30 2022-11-03 International Business Machines Corporation Deploying parallelizable deep learning models by adapting to the computing devices
WO2024063437A1 (ko) * 2022-09-22 2024-03-28 쿠팡 주식회사 인공지능 모델을 관리하기 위한 방법 및 장치
KR102713480B1 (ko) * 2022-09-22 2024-10-07 쿠팡 주식회사 정보 처리 방법 및 전자 장치
CN116781147B (zh) * 2023-08-09 2023-10-27 银河航天(北京)通信技术有限公司 基于卫星通信分布式运算系统的人工智能方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008003709A (ja) * 2006-06-20 2008-01-10 Mitsubishi Electric Corp 管理装置及びタスク管理方法及びプログラム
KR20190113928A (ko) * 2017-03-24 2019-10-08 구글 엘엘씨 강화 학습을 통한 디바이스 배치 최적화
US20200042362A1 (en) * 2018-08-03 2020-02-06 EMC IP Holding Company LLC Self-adaptive batch dataset partitioning for distributed deep learning using hybrid set of accelerators
KR20200023239A (ko) * 2018-08-23 2020-03-04 삼성전자주식회사 복수의 프로세서를 이용하여 신경망 모델을 처리하는 전자 장치 및 그 동작 방법
US20200111030A1 (en) * 2018-10-05 2020-04-09 Cisco Technology, Inc. Distributed random forest training with a predictor trained to balance tasks

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008003709A (ja) * 2006-06-20 2008-01-10 Mitsubishi Electric Corp 管理装置及びタスク管理方法及びプログラム
KR20190113928A (ko) * 2017-03-24 2019-10-08 구글 엘엘씨 강화 학습을 통한 디바이스 배치 최적화
US20200042362A1 (en) * 2018-08-03 2020-02-06 EMC IP Holding Company LLC Self-adaptive batch dataset partitioning for distributed deep learning using hybrid set of accelerators
KR20200023239A (ko) * 2018-08-23 2020-03-04 삼성전자주식회사 복수의 프로세서를 이용하여 신경망 모델을 처리하는 전자 장치 및 그 동작 방법
US20200111030A1 (en) * 2018-10-05 2020-04-09 Cisco Technology, Inc. Distributed random forest training with a predictor trained to balance tasks

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP4209966A4 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4328800A1 (en) * 2022-08-22 2024-02-28 Tata Consultancy Services Limited Method and system for latency optimized heterogeneous deployment of convolutional neural network

Also Published As

Publication number Publication date
CN116324808A (zh) 2023-06-23
US20230244953A1 (en) 2023-08-03
EP4209966A1 (en) 2023-07-12
KR20220045800A (ko) 2022-04-13
EP4209966A4 (en) 2024-02-21

Similar Documents

Publication Publication Date Title
WO2022075668A1 (ko) 인공지능 모델을 분산 처리하는 시스템 및 그 동작 방법
WO2019132518A1 (en) Image acquisition device and method of controlling the same
WO2016104922A1 (ko) 웨어러블 전자기기
WO2018128362A1 (en) Electronic apparatus and method of operating the same
WO2019107945A1 (en) Method of providing service based on location of sound source and speech recognition device therefor
WO2016064132A1 (en) Wearable device and method of transmitting content
EP3545436A1 (en) Electronic apparatus and method of operating the same
WO2016108660A1 (en) Method and device for controlling home device
WO2021045447A1 (en) Apparatus and method for providing voice assistant service
WO2019240562A1 (en) Electronic device and operating method thereof for outputting response to user input, by using application
WO2019225961A1 (en) Electronic device for outputting response to speech input by using application and operation method thereof
WO2020209693A1 (ko) 인공지능 모델을 갱신하는 전자 장치, 서버 및 그 동작 방법
WO2019124963A1 (ko) 음성 인식 장치 및 방법
WO2015122590A1 (en) Electronic device and method for controlling the same
WO2016089075A1 (en) Wearable device and method of transmitting message from the same
WO2017171137A1 (ko) 보청장치, 휴대장치 및 그 제어방법
WO2021029457A1 (ko) 사용자에게 정보를 제공하는 인공 지능 서버 및 그 방법
WO2020040599A1 (en) Electronic device and operating method thereof of processing neural network model by using plurality of processors
WO2021075752A1 (en) Method for providing screen using foldable display and electronic device for supporting same
WO2022158692A1 (ko) 포스 터치를 식별하는 전자 장치 및 그 동작 방법
WO2022102886A1 (en) Electronic device for distributed processing of artificial intelligence model and operation method of the electronic device
WO2021167210A1 (ko) 서버, 전자 장치 및 그들의 제어 방법
WO2018124464A1 (ko) 전자 장치 및 전자 장치의 검색 서비스 제공 방법
WO2020159318A1 (ko) 적어도 하나의 그래픽 엘리먼트를 표시하는 전자장치 및 그 제어 방법
WO2020045858A1 (en) Electronic apparatus and method of controlling the same

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21877920

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021877920

Country of ref document: EP

Effective date: 20230404

NENP Non-entry into the national phase

Ref country code: DE