WO2023243896A1 - 인공신경망의 추론 분산 비율 결정 전자 장치 및 그 동작 방법 - Google Patents
인공신경망의 추론 분산 비율 결정 전자 장치 및 그 동작 방법 Download PDFInfo
- Publication number
- WO2023243896A1 WO2023243896A1 PCT/KR2023/007112 KR2023007112W WO2023243896A1 WO 2023243896 A1 WO2023243896 A1 WO 2023243896A1 KR 2023007112 W KR2023007112 W KR 2023007112W WO 2023243896 A1 WO2023243896 A1 WO 2023243896A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- state information
- devices
- inference
- electronic device
- neural network
- Prior art date
Links
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 132
- 238000000034 method Methods 0.000 title claims description 71
- 238000012545 processing Methods 0.000 claims description 14
- 238000012360 testing method Methods 0.000 claims description 10
- 230000008569 process Effects 0.000 description 45
- 238000004891 communication Methods 0.000 description 30
- 230000006870 function Effects 0.000 description 20
- 238000010586 diagram Methods 0.000 description 14
- 238000004590 computer program Methods 0.000 description 11
- 238000004364 calculation method Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 4
- 230000001413 cellular effect Effects 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 230000010267 cellular communication Effects 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 101100264195 Caenorhabditis elegans app-1 gene Proteins 0.000 description 1
- 241001465754 Metazoa Species 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/289—Intermediate processing functionally located close to the data consumer application, e.g. in same machine, in same home or in same sub-network
Definitions
- the present disclosure relates to an electronic device and a method of operating the same that determine an inference distribution ratio for an artificial neural network between a plurality of devices by predicting state information of a plurality of devices.
- Artificial neural networks are computing systems inspired by the neural networks of the human or animal brain and implemented with computer hardware or software, and are used in various fields by using classification and inference of artificial neural networks.
- the artificial neural network is distributed so that the inference process can be performed on multiple devices.
- the artificial neural network is divided according to the performance of each device, and the inference process of the artificial neural network can be distributed and performed in each device according to the split ratio.
- An electronic device includes a memory storing a state inference model and at least one instruction; Transmitter and receiver; and at least one processor executing the at least one instruction, wherein the at least one processor acquires first state information at a first time from each of the plurality of devices through the transceiver, and transmits the first state information.
- the inference distribution ratio of the artificial neural network for each of the plurality of devices is determined, and the electronic device is determined among the plurality of devices based on the network status of the plurality of devices.
- the first state information and the second state information include the utilization rate of the center processing unit (CPU) of each of the plurality of devices, the utilization rate of the graphic processing unit (GPU), the temperature of the CPU, the temperature of the GPU, and the application being executed. It may include at least one of the number and elapsed time.
- the second state information includes elapsed time
- the at least one processor normalizes the reciprocal of the elapsed time for each of the plurality of devices, and calculates the reciprocal of the normalized elapsed time to the elapsed time for each of the plurality of devices. It can be determined by the inference variance ratio of the artificial neural network.
- the at least one processor 120 further obtains third state information including at least one of whether a predetermined application is running, whether the screen is on, and whether the camera is running at the first time point, and uses the state inference model to The second state information can be obtained by further inputting 3 state information.
- the at least one processor may transmit the determined inference distribution ratio and the inference starting point of the artificial neural network to each of the plurality of devices through the transceiver.
- the at least one processor may divide the artificial neural network according to the determined inference distribution ratio and transmit the divided artificial neural network to each of the plurality of devices corresponding to the inference distribution ratio through a transceiver.
- the state inference model may be regression-trained by inputting state information for learning at a third time point and state information for correct answers at a fourth time point after a predetermined time interval from the third time point.
- the network state is the amount of network I/O (input/output) packets of each device based on test information received by the first device from each of the plurality of devices excluding the first device, and the first device is the amount of network I/O (input/output) packets of each device. It may be randomly selected from among the devices.
- the electronic device may select at least one candidate device whose network I/O packet amount is less than or equal to a predetermined packet amount among the plurality of devices, and may be one candidate device connected to a wired network among the at least one candidate device.
- the electronic device may be a candidate device with the highest GPU throughput among the at least one candidate device.
- a method performed by an electronic device includes obtaining first state information at a first time from each of a plurality of devices including the electronic device; Inputting the first state information into a state inference model to obtain second state information of each of the plurality of devices at a second time point after a predetermined time interval from the first time point; and determining an inference distribution ratio of the artificial neural network for each of the plurality of devices based on the obtained second state information of each device, wherein the electronic device determines the inference distribution ratio of the artificial neural network for each of the plurality of devices based on the obtained second state information of each device. It is determined from among the plurality of devices.
- the first state information and the second state information include the utilization rate of the center processing unit (CPU) of each of the plurality of devices, the utilization rate of the GPU, the temperature of the CPU, the temperature of the GPU, the number of running applications, and the elapsed time. It may include at least one of (elapsed time).
- the second state information includes elapsed time, and determining the inference variance ratio includes normalizing the reciprocal of the elapsed time for each of the plurality of devices; and determining the reciprocal of the normalized elapsed time as the inference variance ratio of the artificial neural network for each of the plurality of devices.
- Obtaining the second state information includes obtaining third state information including at least one of whether a predetermined application is running, whether the screen is on, and whether the camera is running at the first time point, and applying the state inference model to the state inference model. It may include obtaining the second state information by further inputting third state information.
- the method may further include transmitting the determined inference distribution ratio and the inference starting point of the artificial neural network to each of the plurality of devices.
- the method includes dividing the artificial neural network according to the determined inference variance ratio; And it may further include transmitting the divided artificial neural network to each of the plurality of devices corresponding to the inference distribution ratio.
- the state inference model may be regression-trained by inputting state information for learning at a third time point and state information for correct answers at a fourth time point after a predetermined time interval from the third time point.
- the network state is the amount of network I/O (input/output) packets of each device based on test information received by the first device from each of the plurality of devices excluding the first device, and the first device is the amount of network I/O (input/output) packets of each device. It may be randomly selected from among the devices.
- the electronic device may be a candidate device with the highest GPU throughput among the at least one candidate device.
- a non-transitory computer-readable recording medium for storing computer-readable program codes or instructions executable by a processor to perform a method, wherein the method includes a plurality of devices including electronic devices.
- Figure 1 shows the connection status of a plurality of devices according to an embodiment.
- Figure 2 shows an artificial neural network divided into a plurality of devices for segmented inference of an artificial neural network according to an embodiment.
- FIG. 3 is an exemplary diagram illustrating functions of an electronic device according to an embodiment.
- FIG. 4 is a diagram illustrating an operation in which an electronic device receives first state information and infers second state information, according to an embodiment.
- FIG. 5 is an exemplary diagram illustrating an operation of an electronic device inferring second state information by receiving first state information and additional information, according to an embodiment.
- FIG. 6 is an exemplary diagram illustrating an operation in which part of an artificial neural network is transmitted to at least one device according to a determined inference rate and each device performs inference of the artificial neural network.
- FIG. 7 is an exemplary diagram for selecting an electronic device that determines the artificial neural network inference rate from among a plurality of devices.
- Figure 8 is a block diagram showing the configuration of an electronic device according to an embodiment.
- Figure 9 is a block diagram showing the configuration of each device according to an embodiment.
- Figure 10 is a flowchart showing a method of determining the inference variance ratio of an artificial neural network by an electronic device according to an embodiment.
- Figure 11 is a flowchart showing a method of determining the inference variance ratio of an artificial neural network according to an embodiment.
- the expression “at least one of a, b, or c” refers to only a, only b, only c, both a and b, both a and c, both b and c, or all a, b, and c.
- ... unit and “... module” used in this specification refer to a unit that processes at least one function or operation, which is implemented as hardware or software or as a combination of hardware and software. It can be implemented.
- Controller may refer to any device, system, or part thereof that controls at least one operation.
- the controller may be implemented as hardware, a combination of hardware and software, or firmware. Functions associated with a particular controller may be localized or remote, centralized or distributed.
- Computer-readable program code may include various types of computer code, including source code, object code, and executable code.
- Computer-readable media means read only memory (ROM), random access memory (RAM), hard disk drive (HDD), compact disc (CD), digital video disc (DVD), or various types of memory, It may include various types of media that can be accessed by a computer.
- computer-readable media may be provided in the form of non-transitory storage media.
- a 'non-transitory storage medium' is a tangible device and may exclude wired, wireless, optical, or other communication links that transmit transient electrical or other signals. Meanwhile, this 'non-transitory storage medium' does not distinguish between cases where data is semi-permanently stored in the storage medium and cases where data is stored temporarily.
- a 'non-transitory storage medium' may include a buffer where data is temporarily stored.
- Computer-readable media can be any available media that can be accessed by a computer and can include both volatile and non-volatile media, removable and non-removable media. Computer-readable media includes media on which data can be permanently stored and media on which data can be stored and later overwritten, such as rewritable optical disks or erasable memory devices.
- Computer program products are commodities and can be traded between sellers and buyers.
- the computer program product may be distributed in the form of a machine-readable storage medium (e.g. compact disc read only memory (CD-ROM)) or through an application store (e.g. Play Store TM ) or both. It may be distributed (e.g., downloaded or uploaded) directly between user devices (e.g., smartphones) or online.
- at least a portion of the computer program product e.g., a downloadable app
- a device-readable storage medium such as the memory of a manufacturer's server, an application store's server, or a relay server. It can be at least temporarily stored or created temporarily.
- Each component described later in this specification may additionally perform some or all of the functions performed by other components in addition to its main function, and some of the main functions of each component may be performed entirely by other components. there is.
- 'machine learning' or 'machine learning' is a field of artificial intelligence and refers to an algorithm that can learn from data and execute actions that are not individually specified in code through experience.
- the term 'artificial neural network' is a computing system created by imitating a human neural network learned through machine learning. When information is input to the artificial neural network through learning, the result of the input can be output.
- the term 'device' may refer to an electronic device that performs an operation using electronic signals.
- the term 'device' may be used interchangeably with 'electronic device'.
- Learned artificial neural networks are used in various fields because they can perform classification and inference to obtain answers to given problems.
- a large number of hardware resources may be used in the inference of an artificial neural network, when the subject performing the inference of the artificial neural network is a single device, an excessive amount of calculation may be required for the single device.
- a distributed inference system including a plurality of devices may be provided so that the artificial neural network can be divided and distributed inference can be performed.
- Figure 1 shows the connection status of a plurality of devices according to an embodiment.
- the distributed inference system may include an electronic device 100, a first device 200, a second device 300, and a third device 400.
- Figure 1 is merely an example, and may include additional devices or may not include some devices depending on network conditions. It is not limited to this.
- the electronic device 100, the first device 200, the second device 300, and the third device 400 may be devices capable of performing network communication with each other, and each device is a part of an artificial neural network. Or it can be used to infer the whole.
- the electronic device 100 is described as determining the inference variance ratio of the artificial neural network, but this is only an example, and in addition to the electronic device 100, the first device 200, the second device 300, and the third device One device among the devices 400 may determine the inference variance ratio of the artificial neural network. It is not limited to this.
- the electronic device 100, the first device 200, the second device 300, and the third device 400 may form a network using known wired or wireless communication.
- how each device communicates can be a local area network (such as Bluetooth, WiFi direct, or infrared data association (IrDA)) or a far area network (such as a cellular network, the Internet, or a computer network (such as a LAN or WAN)).
- a local area network such as Bluetooth, WiFi direct, or infrared data association (IrDA)
- a far area network such as a cellular network, the Internet, or a computer network (such as a LAN or WAN)
- devices can communicate with each other.
- Figure 2 shows an artificial neural network divided into a plurality of devices for segmented inference of an artificial neural network according to an embodiment.
- the artificial neural network 10 may be a multi-perceptron with multiple hidden layers between the input layer and the output layer. Additionally, the artificial neural network 10 may be a known artificial neural network model, such as a recurrent neural network (RNN), a convolutional neural network (CNN), or a deep neural network (DNN). In this specification, for convenience of explanation, the artificial neural network 10 is described as a deep neural network, but it is not limited thereto.
- RNN recurrent neural network
- CNN convolutional neural network
- DNN deep neural network
- a deep neural network may be an artificial neural network that includes multiple hidden layers between the input layer and the output layer. Additionally, deep neural networks can learn a variety of nonlinear relationships, including multiple hidden layers.
- the artificial neural network 10 may be a pre-trained model as an artificial neural network model for inference, and the process of inputting input information into the artificial neural network 10 to infer the result is performed at an inference ratio determined by the electronic device 100. Accordingly, the artificial neural network 10 may be divided into a plurality of divided processes.
- the electronic device 100 determines the division ratio of the first device 200 to be 15%, the division ratio of the second device 300 to 15%, and the division of the third device 400. Assume that the ratio is determined to be 35% and the division ratio of the electronic device 100 is determined to be 35%. In this case, the electronic device 100 may divide the entire artificial neural network in order according to each division ratio and assign an inference process to each device. Accordingly, the first process 11 corresponding to the first 15% of the artificial neural network 10 is assigned to the first device 200, and the first process 11 of the artificial neural network 10 is assigned to the second device 300.
- the second process (13) corresponding to the subsequent 15% is allocated, and the third device 400 is assigned the third process (15) corresponding to 35% of the second process (13) of the artificial neural network (10). is assigned, and the fourth process 17, which is the remaining inference process of the artificial neural network 10, may be allocated to the electronic device 100.
- each device When the inference process of the divided artificial neural network 10 is distributed to each device, each device performs the inference process in the order of the first device 200, the second device 300, the third device 400, and the electronic device 100.
- the inference process of the entire artificial neural network 10 can be performed by performing .
- the first device 200 when an input value is input to the first device 200, the first device 200 performs the first process 11 and transmits the first intermediate result value of the entire inference process to the second device 300. can do.
- the second device 300 uses the received first intermediate result value as an input to the second process 13 and sends the second intermediate result value, which is a result of performing the second process 13, to the third device 400. ) can be sent to.
- the third device 400 uses the received second intermediate result value as an input to the third process 15 and transmits the third intermediate result value that is the result of performing the third process 13 to the electronic device 100. can do.
- the electronic device 100 may use the received third intermediate result value as an input to the fourth process 17 and output the inference result of the entire artificial neural network 10.
- the inference variance ratio of the artificial neural network 10 of the electronic device 100 may be determined to be larger for devices with better computational performance depending on the computational performance ratio of the CPU or GPU included in each device. Additionally, the inference distribution ratio of each device may be determined according to the current CPU or GPU usage so that a larger inference distribution ratio is allocated to devices with less usage.
- the inference distribution ratio is determined based on the calculation performance ratio, there is a problem that the user's share of the CPU or GPU using the device is not taken into consideration.
- the distribution ratio is determined based on CPU or GPU usage, the state of the device varies depending on whether the application used by the user is running, whether the camera is used, etc., so after the inference distribution ratio is determined, the device's CPU or GPU usage Depending on the situation, it may not be distributed accurately.
- the electronic device 100 uses a state prediction model to infer the state of each device at the time of performing the inference process using the artificial neural network 10 by using the state information of each device as input. You can. Since the inference distribution ratio is determined according to the inferred state of each device, the inference distribution ratio of each device can be more accurately determined dynamically according to the usage of each device.
- FIG. 3 is an exemplary diagram illustrating functions of an electronic device according to an embodiment.
- the electronic device 100 of FIG. 2 includes a state inference unit 121 and an inference ratio calculation unit 123.
- the functions included in the electronic device 100 are not limited to this.
- the electronic device 100 may omit some components and may additionally include components that perform other functions.
- the electronic device 100 according to one embodiment may further include a camera unit, a display unit, etc.
- the state inference unit 121 is an artificial neural network model that is separate from the artificial neural network 10 of FIG. 2.
- the state inference model is learned to predict the state information of the device after the input point. It can be included.
- the state inference model can be implemented as a recurrent neural network.
- the state inference model performs regression learning by inputting state information for learning at a predetermined third time point and state information for correct answer at a fourth time point after a predetermined time interval from the third time point. It may have happened.
- the state inference model uses the learning state information as input, calculates a loss function by viewing the inferred state information and the state information for the correct answer as a ground truth, and is learned so that the output value of the calculated loss function is reduced. You can.
- the state inference unit 121 may receive the first state information of each device at a first predetermined time point received from a plurality of devices connected to a network for distributed inference of the artificial neural network 10. Additionally, the state inference model can use the first state information of each device as input to infer the second state information of each device at a second time point, which is a predetermined time interval from the first time point.
- the state inference unit 121 may additionally receive state information of each device before the first time point and infer second state information of each device at the second time point.
- the first state information and the second state information of each device may be state information related to the computable amount of each device for inference using an artificial neural network.
- the first state information and the second state information according to an embodiment include the utilization rate of the center processing unit (CPU) of each device, the utilization rate of the graphic processing unit (GPU), the temperature of the CPU, the temperature of the GPU, and the running status. It may include at least one of the number of applications and elapsed time.
- the elapsed time is the number of instructions that can be processed in unit time and may mean the reciprocal of FLOPS (floating-point operations per second), a unit representing the computer's operation speed. Additionally, in this specification, elapsed time may refer to the expected calculation time per block of a deep neural network model. In other words, the elapsed time can be a standard indicating the degree to which the device can process the artificial neural network 10 of FIG. 2.
- the state inference unit 121 may infer the elapsed time at a second point in time by inputting first state information of a given device, or may infer the elapsed time from a second point in time by inputting first state information of a given device, or use the second state information to determine the elapsed time by inputting first state information of a given device. ), the utilization rate of the GPU (graphic processing unit), the temperature of the CPU, the temperature of the GPU, and the number of running applications, and use the inferred second state information to calculate the elapsed time at the second point in time. You may.
- the state inference unit 121 may additionally receive third state information including at least one of whether a predetermined application is running, whether the screen is on, and whether the camera is running, in addition to the first state information.
- third state information including at least one of whether a predetermined application is running, whether the screen is on, and whether the camera is running, in addition to the first state information.
- the state inference model included in the state inference unit 121 is state information for learning including at least one of whether a predetermined application is running, whether the screen is on, and whether the camera is running at a predetermined third time point, and the correct answer at a fourth time point. It can be learned by receiving dragon status information.
- the inference ratio calculation unit 123 may receive the second state information of each device from the state inference unit 121 and calculate the inference distribution ratio of the artificial neural network 10 of FIG. 2.
- the inference rate calculation unit 123 may normalize the reciprocal of the elapsed time of each device as shown in Equation 1 below. Additionally, the reciprocal of the normalized elapsed time can be determined as the inference variance ratio (r i ) of the artificial neural network.
- t i may mean the elapsed time of the inferred second time point of the ith device
- n may mean the total number of a plurality of devices.
- the predicted elapsed time of the first device 200 in FIG. 2 is 0.5
- the predicted elapsed time of the second device 300 is 0.4
- the predicted elapsed time of the third device 400 is 0.4
- the predicted elapsed time of the electronic device 100 is 0.1
- the inference variance ratio of the first device 200 is 0.1176
- the inference variance ratios of the second device 300 and the third device 400 are 0.1471.
- the inference variance ratio of the electronic device 100 may be determined to be 0.5882.
- the electronic device 100 may transmit the determined inference variance ratio of each device and the starting point of the inference process of the artificial neural network.
- a plurality of devices may store the entire structure of the artificial neural network 10. For example, if the determined inference variance ratio of the first device 200 is 0.1176, the electronic device 100 may transmit the determined inference variance ratio 0.1176 and the starting point to the first device 200. Additionally, if the determined inference variance ratio of the second device 300 is 0.1471, the electronic device 100 may transmit the determined inference variance ratio 0.1471 and a 11.76% point of the entire artificial neural network 10, which is the starting point. In this way, by assigning the inference distribution ratio and starting point to each device, each device can perform the inference process of the distributed artificial neural network 10.
- FIG. 4 is a diagram illustrating an operation in which an electronic device receives first state information of a first device and infers second state information, according to an embodiment.
- the state inference unit 121 provides first state information 450 at a first time point (T) for the first device 200 of FIG. 2 and a predetermined time point before the first time point (T).
- Status information 430 of (T-1) and status information 410 of the previous time point (T-2) can be input.
- FIG. 4 it is shown that status information about the first device 200 at three points in time is received. However, only the status information 450 at the first time point (T) may be input, and the Only the status information 450 and the status information 430 at a time point (T-1) before the first time point may be input.
- the first status information 450 may include CPU usage, GPU usage, the number of running applications, CPU temperature, GPU temperature, and elapsed time.
- the state inference unit 121 receives state information 410, 430, and 450 at three points in time, and infers the second state information 470 about the first device 200 of FIG. 2 at a second point in time (T+1). can do.
- the second state information 470 inferred here may be CPU usage 50%, GPU usage 65%, number of running applications 23, CPU temperature 58°C, GPU temperature 57°C, and elapsed time 0.65 seconds.
- the state inference unit 121 Infers the state of the first device 200 of FIG. 2 at a time after the second time point (T+1), the inferred second state information 470 is used again as an input. It can be.
- FIG. 5 is an exemplary diagram illustrating an operation of an electronic device inferring second state information by receiving first state information and third state information, according to an embodiment.
- the state inference unit 121 may additionally receive third state information 501 in addition to the input state information 410, 430, and 450 of FIG. 4.
- the third state information 501 received at the first time point T may include whether a specific application (App 1) is running and whether the screen is turned on.
- the pre-trained state inference model can infer more CPU usage and GPU usage from the second state information 470 of FIG. 4, and can also infer higher CPU temperatures and GPU temperatures.
- the state inference unit 121 receives the third state information 501 and calculates the elapsed time of the first device 200 as 0.85 seconds, which is longer than the elapsed time of 0.65 seconds in the second state information 470 of FIG. 4. can be inferred.
- the third state information of the device is explained as including whether a specific application is running and whether the screen is on, but this is only an example, and the third state information may create an environment in which the GPU or CPU may be consumed. It may be status information of a known device. For example, the third state information may further include whether the camera is turned on.
- the state inference unit 121 may infer the second state information by additionally obtaining third state information that can significantly change the CPU or GPU usage of the device in the future. Therefore, various effects may exist, including effects that can be reflected in the inference variance ratio by more accurately predicting that CPU or GPU usage will significantly increase due to the execution of a specific application.
- the artificial neural network 10 may not be stored in a plurality of devices included in the distributed inference system to save storage space.
- the artificial neural network 10 is stored in the electronic device 100, and according to the inference distribution ratio determined by the electronic device 100, the artificial neural network ( Part of 10) can be transmitted.
- FIG. 6 is an exemplary diagram illustrating an operation in which part of an artificial neural network is transmitted to at least one device according to a determined inference rate and each device performs inference of the artificial neural network.
- the electronic device 100 determines the inference variance ratio of the first device 200, the second device 300, the third device 400, and the electronic device 100, and A portion of the artificial neural network of FIG. 2 allocated according to the inference distribution ratio of the device may be transmitted.
- the first device 200, the second device 300, and the third device 400 may not store an artificial neural network for inference, and the electronic device 100 may store the artificial neural network. You can.
- the electronic device 100 can transmit the first process 61 corresponding to 25% of the entire artificial neural network from the beginning to the first device 200. there is.
- the electronic device 100 provides a second device corresponding to 10% of the entire inference process at a 25% point of the entire artificial neural network to the second device 300.
- the process 63 can be transmitted, and if the inference variance ratio of the third device 400 is determined to be 0.25, the third process corresponding to 25% of the total at 35% of the entire artificial neural network is sent to the third device 400. (65) can be transmitted.
- the electronic device 100 can perform an inference process corresponding to 40% of the entire artificial neural network starting at 60% of the entire artificial neural network.
- the first device 200 may perform the first process 61 using the input value of the artificial neural network to perform inference and obtain a first intermediate result value. Subsequently, the first device 200 may transmit the obtained first intermediate result value and status information of the first device 200 at the time of performing the first process 61 to the second device 300.
- the second device 300 may obtain a second intermediate result value by using the received first intermediate result value as an input to the second process 63. Subsequently, the second device 300 displays the obtained second intermediate result value, the status information of the second device 300 at the time of performing the second process 63, and the received status information of the first device 200. It can be transmitted to the third device 400.
- the third device 400 may obtain a third intermediate result value by using the received second intermediate result value as an input to the third process 65. Subsequently, the third device 400 receives the obtained third intermediate result value, the status information of the third device 400 at the time of performing the third process 65, the received first device 200, and the second device. Status information of 300 may be transmitted to electronic device 100.
- the electronic device 100 can obtain the final inference result by using the received third intermediate result value as an input for the remaining process of the artificial neural network, and the electronic device at the time of obtaining the received status information of each device and the final inference result. Based on the state information of (100), the state information of each device at a later time can be inferred and the inference distribution ratio can be reset.
- the electronic device 100 that determines the pre-selected inference distribution ratio among a plurality of devices may be a device that has a better network connection or can perform a larger amount of calculations than other devices.
- the electronic device 100 may be a device determined based on the network status of each device among a plurality of devices.
- the network status may be the amount of network I/O (input/output) packets of each device based on test information received by a first device randomly selected from among a plurality of devices from each device different from the first device.
- the electronic device 100 may select at least one candidate device whose network I/O packet amount is less than or equal to a predetermined packet amount among a plurality of devices, and may be one candidate device connected to a wired network among the at least one candidate device.
- the electronic device 100 may be a candidate device with the highest GPU throughput among at least one candidate device.
- a first device randomly selected among a plurality of devices may select the electronic device 100 that determines the inference variance ratio.
- Figure 7 is an exemplary diagram for selecting an electronic device that determines the inference rate of an artificial neural network from among a plurality of devices.
- a fourth device is used to select an electronic device that determines the inference rate of the artificial neural network. (500) may exist.
- the fourth device 500 may receive test information from each device and measure the amount of network I/O packets of each device based on the received test information.
- the fourth device 500 is at least one candidate device among the electronic device 100, the first device 200, the second device 300, and the third device 400 whose network I/O packet amount is less than or equal to a predetermined packet amount. can be selected. In this case, if the selected candidate device is one electronic device 100, the fourth device 500 may select the electronic device 100 as the electronic device that determines the inference variance ratio of the artificial neural network.
- the fourth device 500 may determine whether a device connected to a wired network exists among the selected candidate devices. If there is a device connected to a wired network among the candidate devices, the fourth device 500 may select the device with the highest GPU throughput among the candidate devices connected to the wired network as the electronic device that determines the inference distribution ratio of the artificial neural network. there is.
- the fourth device 500 may select the device with the highest GPU throughput among the plurality of candidate devices as the electronic device that determines the inference variance ratio of the artificial neural network.
- the electronic device 100 selected from among a plurality of devices is a device with a good network environment for other devices or a device with high GPU throughput, and thus can perform distributed inference of an artificial neural network more stably.
- Figure 8 is a block diagram showing the configuration of an electronic device according to an embodiment.
- the electronic device 100 may include a memory 110, a processor 120, and a transceiver 130.
- the configuration of the electronic device 100 is not limited to that shown in FIG. 8 and may additionally include components not shown in FIG. 8 or some of the components shown in FIG. 8 may be omitted.
- the electronic device 100 may further include an input unit capable of receiving an artificial neural network and input data, and an output unit capable of outputting a result.
- processor 120 may be implemented as a software module stored in the memory 110.
- a software module may be stored in memory 110 and operated by being executed by processor 120.
- the memory 110 is electrically connected to the processor 120 and may store commands or data related to the operation of components included in the electronic device 100. According to various embodiments, the memory 110 performs operations for performing inference of the first state information, third state information, artificial neural network model, and state inference model of each device obtained using the transceiver 130. You can store instructions, etc.
- the memory 110 is configured to use software modules when at least some of the modules included in each part that conceptually divides the functions of the electronic device 100 are implemented as software executed by the processor 120. You can also save instructions to execute.
- the processor 120 is electrically connected to components included in the electronic device 100 and may perform operations or data processing related to control and/or communication of components included in the electronic device 100. According to one embodiment, the processor 120 may load a command or data received from at least one of other components into the memory 110, process the command, and store the resulting data in the memory 110.
- the processor 120 is expressed as operating as a single processor 120, but at least one function that conceptually distinguishes the learning model and the function of the electronic device, which will be described later, is performed by a plurality of processors. It can be implemented as: In this case, the processor 120 does not operate as a single processor 120, but a plurality of processors may be implemented as separate hardware to perform each operation. It is not limited to this.
- the transceiver unit 130 may support establishment of a wired or wireless communication channel between the electronic device 100 and another external electronic device and communication through the established communication channel.
- the transceiver 130 may use a wireless communication module (e.g., a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module) or a wired communication module (e.g., a local area network (LAN)). area network communication module, or power line communication module), and may include a short-range communication network (e.g. Bluetooth, WiFi direct, or IrDA (infrared data association)) or a long-distance communication network (e.g. : Can communicate with external electronic devices through cellular networks, the Internet, or computer networks (e.g. LAN or WAN).
- a wireless communication module e.g., a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module
- GNSS global navigation satellite system
- wired communication module e.g., a local area network (LAN)
- area network communication module, or power line communication module e.g., or power line communication module
- the plurality of devices for distributed inference of the artificial neural network of FIG. 2 may each include components that perform the same functions as the memory 110, processor 120, and transceiver 130 of the electronic device 100 described above. Since the function of each component is the same as described above, detailed description will be omitted.
- Figure 9 is a block diagram showing the configuration of a device for selecting an electronic device according to an embodiment.
- the fourth device 500 may include a memory 510, a processor 520, and a transceiver 530.
- the configuration of the electronic device is not limited to that shown in FIG. 9 and may additionally include components not shown in FIG. 9 or some of the components shown in FIG. 9 may be omitted.
- the memory 510 is electrically connected to the processor 520 and may store commands or data related to the operation of components included in the electronic device. According to various embodiments, the memory 510 includes instructions for operations for determining an electronic device that selects an inference distribution ratio using the network I/O packet amount obtained using the transceiver 530. etc. can be saved.
- the processor 520 is electrically connected to components included in the electronic device and may perform operations or data processing related to control and/or communication of components included in the electronic device. According to one embodiment, the processor 520 may load a command or data received from at least one of other components into the memory 510, process the command, and store the resulting data in the memory 510.
- the processor 520 is expressed as operating as a single processor 520, but at least one function that conceptually distinguishes the learning model and the function of the electronic device, which will be described later, is performed by a plurality of processors. It can be implemented as: In this case, the processor 520 does not operate as a single processor 520, but a plurality of processors may be implemented as separate hardware to perform each operation.
- the transceiver 530 may support establishment of a wired or wireless communication channel between an electronic device and another external electronic device and communication through the established communication channel. According to one embodiment, the transceiver 530 may receive data from another external electronic device through wired or wireless communication, or transmit data to an electronic device including a server that controls another external base station. there is.
- the transceiver 530 may be a wireless communication module (e.g., a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module) or a wired communication module (e.g., a local area network (LAN) ) may include a communication module, or a power line communication module), and may include a short-range communication network (e.g., Bluetooth, WiFi direct, or IrDA (infrared data association)) or a long-distance communication network (e.g., cellular) using the corresponding communication module. It can communicate with external electronic devices through a network, the Internet, or a computer network (e.g., LAN or WAN).
- a wireless communication module e.g., a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module
- GNSS global navigation satellite system
- a wired communication module e.g., a local area network (LAN)
- Figure 10 is a flowchart showing a method of determining the inference variance ratio of an artificial neural network by an electronic device according to an embodiment.
- the electronic device 100 may obtain first state information at a first predetermined time point from a plurality of devices (S1010).
- the first state information may include at least one of the CPU usage rate of each device, GPU usage rate, CPU temperature, GPU temperature, number of running applications, and elapsed time.
- the electronic device 100 may obtain third state information including at least one of whether a predetermined application is running, whether the screen is on, and whether the camera is running at a first point in time.
- the electronic device 100 inputs at least the first state information into a state inference model learned to predict the state information after the input time point, so that the first state information of each device at a second time point after a predetermined time interval from the first time point is input.
- 2 Status information can be obtained (S1020).
- the state inference model may be regression-learned by inputting state information for learning at a predetermined third point in time and state information for correct answers at a fourth point in time after a predetermined time interval from the third point in time.
- the second status information may include at least one of the CPU usage rate, GPU usage rate, CPU temperature, GPU temperature, number of running applications, and elapsed time of each device at the second time point.
- the electronic device 100 may determine the inference variance ratio of the artificial neural network of each device based on the acquired second state information of each device (S1030).
- the electronic device 100 may normalize the reciprocal of the elapsed time of each device, and determine the reciprocal of the normalized elapsed time as the inference variance ratio of the artificial neural network.
- Figure 11 is a flowchart showing a method of selecting an electronic device that determines the inference variance ratio of an artificial neural network according to an embodiment.
- a first device may be randomly selected from among a plurality of devices (S1110).
- the randomly selected first device receives test information from a plurality of devices other than the first device (S1120), determines whether the network I/O packet amount of each device is less than a predetermined packet amount, and determines whether the network I/O packet amount is At least one candidate device whose quantity is less than or equal to a predetermined packet quantity can be selected (S1130).
- the first device determines whether a device connected to the wired network exists among the selected candidate devices (S1140), and if a device connected to the wired network exists (example of S1140), the device connected to the wired network is again selected as a candidate device. You can select (S1150).
- the device with the best GPU performance may be selected as the electronic device that determines the inference distribution ratio of the artificial neural network (S1160).
- the first state information and the second state information include the utilization rate of the center processing unit (CPU) of each device, the utilization rate of the graphic processing unit (GPU), the temperature of the CPU, the temperature of the GPU, the number of applications running, and It may include at least one of elapsed time.
- CPU center processing unit
- GPU graphic processing unit
- It may include at least one of elapsed time.
- the second state information includes elapsed time, and the at least one processor normalizes the reciprocal of the elapsed time for each device, and calculates the reciprocal of the normalized elapsed time to the inference variance ratio of the artificial neural network for each device. can be decided.
- the at least one processor When the instructions are executed, the at least one processor further obtains third state information including at least one of whether a predetermined application is running, whether the screen is on, and whether the camera is running at the first time point, and the state inference model
- the second state information can be obtained by further inputting the third state information.
- the at least one processor may transmit the determined inference distribution ratio and the inference starting point of the artificial neural network to each device through the transceiver.
- the at least one processor may divide the artificial neural network according to the determined inference distribution ratio and transmit the divided artificial neural network to each device corresponding to the inference distribution ratio through a transceiver.
- the state inference model may be regression-learned by inputting state information for learning at a predetermined third time point and state information for correct answer at a fourth time point after a predetermined time interval from the third time point. there is.
- the network status may be the amount of network I/O (input/output) packets of each device based on test information received by a first device randomly selected from among the plurality of devices from each device different from the first device.
- the electronic device may select at least one candidate device whose network I/O packet amount is less than or equal to a predetermined packet amount among the plurality of devices, and may be one candidate device connected to a wired network among the at least one candidate device.
- the electronic device may be a candidate device with the highest GPU throughput among the at least one candidate device.
- a method of determining an inference variance ratio of an artificial neural network includes obtaining first state information at a first predetermined time point from a plurality of devices including the electronic device; Inputting the at least the first state information into a state inference model learned to predict state information after the input time point to obtain second state information of each device at a second time point after a predetermined time interval from the first time point. step; and determining an inference distribution ratio of the artificial neural network of each device based on the obtained second state information of each device, wherein the electronic device It may be decided among the devices.
- the first state information and the second state information include the utilization rate of the center processing unit (CPU) of each device, the utilization rate of the GPU, the temperature of the CPU, the temperature of the GPU, the number of running applications, and the elapsed time. ) may include at least one of
- the second state information includes elapsed time, and determining the inference variance ratio includes normalizing the reciprocal of the elapsed time for each device; And it may include determining the reciprocal of the normalized elapsed time as the inference variance ratio of the artificial neural network.
- Obtaining the first state information further includes acquiring third state information including at least one of whether a predetermined application is running, whether the screen is on, and whether the camera is running at the first time point,
- Obtaining the second state information may include obtaining the second state information by further inputting the third state information into the state inference model.
- the method may further include transmitting the determined inference distribution ratio and the inference starting point of the artificial neural network to each device.
- the method includes dividing the artificial neural network according to the determined inference variance ratio; It may further include transmitting the divided artificial neural network to each device corresponding to the inference distribution ratio.
- the state inference model may be regression-learned by inputting state information for learning at a predetermined third time point and state information for correct answer at a fourth time point after a predetermined time interval from the third time point. there is.
- the network status may be the amount of network I/O (input/output) packets of each device based on test information received by a first device randomly selected from among the plurality of devices from each device different from the first device.
- the electronic device may select at least one candidate device whose network I/O packet amount is less than or equal to a predetermined packet amount among the plurality of devices, and may be one candidate device connected to a wired network among the at least one candidate device.
- the electronic device may be a candidate device with the highest GPU throughput among the at least one candidate device.
- a storage medium that can be read by a device may be provided in the form of a non-transitory storage medium.
- 'non-transitory storage medium' simply means that it is a tangible device and does not contain signals (e.g. electromagnetic waves). This term refers to cases where data is semi-permanently stored in a storage medium and temporary storage media. It does not distinguish between cases where it is stored as .
- a 'non-transitory storage medium' may include a buffer where data is temporarily stored.
- a computer-readable medium may include one or more program codes.
- program codes When one or more program codes are executed in an electronic device, acquiring first state information at a first predetermined time point from a plurality of devices including the electronic device; Inputting the at least the first state information into a state inference model learned to predict state information after the input time point to obtain second state information of each device at a second time point after a predetermined time interval from the first time point. step; and determining an inference distribution ratio of the artificial neural network of each device based on the acquired second state information of each device, wherein the electronic device determines the network state of the plurality of devices. Based on this, it may be decided from among the plurality of devices.
- a recording medium disclosed as a technical means for achieving the above-described technical problem may store a program for executing at least one of the embodiments of the disclosed method.
- Computer program products are commodities and can be traded between sellers and buyers.
- a computer program product may be distributed in the form of a machine-readable storage medium (e.g. compact disc read only memory (CD-ROM)) or through an application store or between two user devices (e.g. smartphones). It may be distributed in person or online (e.g., downloaded or uploaded). In the case of online distribution, at least a portion of the computer program product (e.g., a downloadable app) is stored on a machine-readable storage medium, such as the memory of a manufacturer's server, an application store's server, or a relay server. It can be temporarily stored or created temporarily.
- a machine-readable storage medium such as the memory of a manufacturer's server, an application store's server, or a relay server. It can be temporarily stored or created temporarily.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
상태 추론 모델 및 적어도 하나의 인스트럭션이 저장된 메모리; 송수신부; 및 상기 적어도 하나의 인스트럭션을 실행하는 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는 상기 송수신부를 통해 복수의 디바이스 각각으로부터 제1 시점에서 제1 상태 정보를 획득하고, 상기 제1 상태 정보를 상기 상태 추론 모델에 입력하여 상기 제1 시점으로부터 소정의 시간 간격 이후인 제2 시점의 복수의 디바이스 각각의 제2 상태 정보를 획득하고, 상기 획득된 각 디바이스의 제2 상태 정보에 기초하여, 상기 복수의 디바이스 각각의 상기 인공신경망의 추론 분산 비율을 결정하되, 상기 전자 장치는 상기 복수의 디바이스의 네트워크 상태에 기초하여 상기 복수의 디바이스 중에서 결정되는 전자 장치가 제공된다.
Description
본 개시는, 복수의 디바이스의 상태 정보를 예측하여 복수의 디바이스 사이의 인공신경망에 대한 추론 분산 비율을 결정하는 전자 장치 및 그 동작 방법에 관한 것이다.
인공신경망은 사람 또는 동물 두뇌의 신경망에 착안되어 컴퓨터 하드웨어 또는 소프트웨어로 구현된 컴퓨팅 시스템으로 인공신경망의 분류(classification), 추론(inference) 등을 이용하여 다양한 분야에서 활용되고 있다.
인공신경망의 추론을 수행하는 디바이스의 연산량을 줄이기 위하여 하나의 디바이스가 인공신경망의 추론을 수행하지 않고, 인공신경망이 분산되어 복수의 디바이스에서 추론 과정이 수행될 수 있다.
인공신경망을 분산 추론하기 위해서 각 디바이스의 성능에 따라 인공신경망이 분할되고, 분할 비율에 따라 각 디바이스에서 인공신경망의 추론 과정이 분산 수행될 수 있다.
본 발명의 일 실시예에 따른 전자 장치는 상태 추론 모델 및 적어도 하나의 인스트럭션이 저장된 메모리; 송수신부; 및 상기 적어도 하나의 인스트럭션을 실행하는 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는 상기 송수신부를 통해 복수의 디바이스 각각으로부터 제1 시점에서 제1 상태 정보를 획득하고, 상기 제1 상태 정보를 상기 상태 추론 모델에 입력하여 상기 제1 시점으로부터 소정의 시간 간격 이후인 제2 시점의 복수의 디바이스 각각의 제2 상태 정보를 획득하고, 상기 획득된 각 디바이스의 제2 상태 정보에 기초하여, 상기 복수의 디바이스 각각의 상기 인공신경망의 추론 분산 비율을 결정하되, 상기 전자 장치는 상기 복수의 디바이스의 네트워크 상태에 기초하여 상기 복수의 디바이스 중에서 결정된다.
상기 제1 상태 정보 및 제2 상태 정보는, 상기 복수의 디바이스 각각의 CPU(center processing unit)의 사용률, GPU(graphic processing unit)의 사용률, CPU의 온도, GPU의 온도, 실행 중인 어플리케이션(application)의 개수 및 경과 시간(elapsed time) 중 적어도 하나를 포함할 수 있다.
상기 제2 상태 정보는, 경과 시간을 포함하고, 상기 적어도 하나의 프로세서는, 상기 복수의 디바이스 각각의 상기 경과 시간의 역수를 정규화하고, 상기 정규화된 경과 시간의 역수를 상기 복수의 디바이스 각각의 상기 인공신경망의 추론 분산 비율로 결정할 수 있다.
상기 적어도 하나의 프로세서(120)는, 상기 제1 시점에서 소정의 어플리케이션 실행 여부, 화면 켜짐 여부 및 카메라 실행 여부 중 적어도 하나를 포함하는 제3 상태 정보를 더 획득하고, 상기 상태 추론 모델에 상기 제3 상태 정보를 더 입력하여 상기 제2 상태 정보를 획득할 수 있다.
상기 적어도 하나의 프로세서는, 상기 복수의 디바이스 각각에 상기 결정된 추론 분산 비율 및 상기 인공신경망의 추론 시작점을 상기 송수신부를 통해 전송할 수 있다.
상기 적어도 하나의 프로세서는, 상기 인공신경망을 상기 결정된 추론 분산 비율에 따라 분할하고, 상기 분할된 인공신경망을 상기 추론 분산 비율에 대응되는 상기 복수의 디바이스 각각에 송수신부를 통해 전송할 수 있다.
상기 상태 추론 모델은, 제3 시점의 학습용 상태 정보 및 상기 제3 시점으로부터 소정의 시간 간격 이후인 제4 시점의 정답용 상태 정보를 입력으로 하여, 회귀 (regression) 학습된 것일 수 있다.
상기 네트워크 상태는, 제1 디바이스가 상기 제1 디바이스를 제외한 상기 복수의 디바이스 각각으로부터 수신한 테스트 정보에 의한 각 디바이스의 네트워크 I/O(input/output) 패킷량이고, 상기 제1 디바이스는 상기 복수의 디바이스 중에서 임의로 선정된 것일 수 있다.
상기 전자 장치는, 상기 복수의 디바이스 중에서 네트워크 I/O 패킷량이 소정의 패킷량 이하인 적어도 하나의 후보 디바이스가 선정되고, 상기 적어도 하나의 후보 디바이스 중에서 유선 네트워크로 연결된 하나의 후보 디바이스일 수 있다.
상기 전자 장치는, 상기 적어도 하나의 후보 디바이스 중에서 GPU 처리량이 가장 높은 후보 디바이스일 수 있다.
본 발명의 일 측면에 따른 전자 장치에 의해 수행되는 방법은 상기 전자 장치를 포함하는 복수의 디바이스 각각으로부터 제1 시점의 제1 상태 정보를 획득하는 단계; 상기 제1 상태 정보를 상태 추론 모델에 입력하여 상기 제1 시점으로부터 소정의 시간 간격 이후인 제2 시점의 상기 복수의 디바이스 각각의 제2 상태 정보를 획득하는 단계; 및 상기 획득된 각 디바이스의 제2 상태 정보에 기초하여, 상기 복수의 디바이스 각각의 상기 인공신경망의 추론 분산 비율을 결정하는 단계를 포함하되, 상기 전자 장치는 상기 복수의 디바이스의 네트워크 상태에 기초하여 상기 복수의 디바이스 중에서 결정된다.
상기 제1 상태 정보 및 제2 상태 정보는, 상기 복수의 디바이스 각각의 CPU(center processing unit)의 사용률, GPU의 사용률, CPU의 온도, GPU의 온도, 실행 중인 어플리케이션(application)의 개수 및 경과 시간(elapsed time) 중 적어도 하나를 포함할 수 있다.
상기 제2 상태 정보는, 경과 시간을 포함하고, 상기 추론 분산 비율을 결정하는 단계는, 상기 복수의 디바이스 각각의 상기 경과 시간의 역수를 정규화(normalization)하는 단계; 및 상기 정규화된 경과 시간의 역수를 상기 복수의 디바이스 각각의 상기 인공신경망의 추론 분산 비율로 결정하는 단계를 포함할 수 있다.
상기 제2 상태 정보를 획득하는 단계는, 상기 제1 시점에서 소정의 어플리케이션 실행 여부, 화면 켜짐 여부 및 카메라 실행 여부 중 적어도 하나를 포함하는 제3 상태 정보를 획득하는 단계 및 상기 상태 추론 모델에 상기 제3 상태 정보를 더 입력하여 상기 제2 상태 정보를 획득하는 단계를 포함할 수 있다.
상기 방법은, 상기 복수의 디바이스 각각에 상기 결정된 추론 분산 비율 및 상기 인공신경망의 추론 시작점을 전송하는 단계를 더 포함할 수 있다.
상기 방법은, 상기 인공신경망을 상기 결정된 추론 분산 비율에 따라 분할하는 단계; 및 상기 분할된 인공신경망을 상기 추론 분산 비율에 대응되는 상기 복수의 디바이스 각각에 전송하는 단계를 더 포함할 수 있다.
상기 상태 추론 모델은, 제3 시점의 학습용 상태 정보 및 상기 제3 시점으로부터 소정의 시간 간격 이후인 제4 시점의 정답용 상태 정보를 입력으로 하여, 회귀 (regression) 학습된 것일 수 있다.
상기 네트워크 상태는, 제1 디바이스가 상기 제1 디바이스를 제외한 상기 복수의 디바이스 각각으로부터 수신한 테스트 정보에 의한 각 디바이스의 네트워크 I/O(input/output) 패킷량이고, 상기 제1 디바이스는 상기 복수의 디바이스 중에서 임의로 선정된 것일 수 있다.
상기 전자 장치는, 상기 적어도 하나의 후보 디바이스 중에서 GPU 처리량이 가장 높은 후보 디바이스일 수 있다.
본 발명의 일 측면에 따르면, 방법을 수행하기 위해 프로세서에 의해 실행가능한 컴퓨터 판독가능한 프로그램 코드 또는 명령을 저장하기 위한 비일시적 컴퓨터 판독가능 기록매체로서, 상기 방법은, 전자 장치를 포함하는 복수의 디바이스 각각으로부터 제1 시점의 제1 상태 정보를 획득하는 단계; 상기 제1 상태 정보를 상태 추론 모델에 입력하여 상기 제1 시점으로부터 소정의 시간 간격 이후인 제2 시점의 상기 복수의 디바이스 각각의 제2 상태 정보를 획득하는 단계; 및 상기 획득된 각 디바이스의 제2 상태 정보에 기초하여, 상기 복수의 디바이스 각각의 상기 인공신경망의 추론 분산 비율을 결정하는 단계를 포함하되, 상기 전자 장치는 상기 복수의 디바이스의 네트워크 상태에 기초하여 상기 복수의 디바이스 중에서 결정된 것이다.
본 발명의 특정 실시예의 상기 및 다른 측면, 특징 및 이점은 첨부된 도면과 함께 취해진 다음의 설명으로부터 더욱 명백해질 것이다.
도 1은 일 실시예에 따른 복수의 디바이스의 연결 상태를 나타낸다.
도 2는 일 실시예에 따른 인공신경망의 분할 추론을 위해 복수의 디바이스에 분할된 인공신경망을 나타낸다.
도 3은 일 실시예에 따른 전자 장치의 기능을 나타내는 예시적인 도면이다.
도 4는 일 실시예에 따른 전자 장치가 제1 상태 정보를 입력받아 제2 상태정보를 추론하는 동작을 설명하기 위한 도면이다.
도 5는 일 실시예에 따른 전자 장치가 제1 상태 정보 및 추가 정보를 입력받아 제2 상태정보를 추론하는 동작을 설명하기 위한 예시적인 도면이다.
도 6은 결정된 추론 비율에 따라 인공신경망의 일부를 적어도 하나의 디바이스에 송신하고, 각 디바이스가 인공신경망의 추론을 수행하는 동작을 설명하기 위한 예시적인 도면이다.
도 7은 복수의 디바이스 중에서 인공신경망 추론 비율을 결정하는 전자 장치를 선정하는 예시적인 도면이다.
도 8은 일 실시예에 따른 전자 장치의 구성을 나타내는 블록도이다.
도 9는 일 실시예에 따른 각 디바이스의 구성을 나타내는 블록도이다.
도 10은 일 실시예에 따른 전자 장치에 의한 인공신경망의 추론 분산 비율을 결정하는 방법을 나타내는 순서도이다.
도 11은 일 실시예에 따른 인공신경망의 추론 분산 비율을 결정하는 방법을 나타내는 순서도이다.
본 명세서 전체에서 "a, b 또는 c 중 적어도 하나"라는 표현은 a만, b만, c만, a와 b 모두, a와 c 모두, b와 c 모두 또는 a, b 및 c 모두를 나타낸다.
아래에서는 첨부한 도면을 참조하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 개시의 실시예를 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 개시를 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
본 개시의 실시예들에서 사용되는 용어는 본 개시의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 실시예의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 명세서에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 용어들은 본 명세서에 기재된 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가질 수 있다.
또한, 본 명세서에 기재된 “...부”, “...모듈” 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 “직접적으로 연결” 또는 “물리적으로 연결”되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 “전기적으로 연결”되어 있는 경우도 포함한다. 본 개시에서, “송신(transmit)”, “수신(receive)” 및 “통신(communicate)” 이라는 용어들은 직접 통신 및 간접 통신을 모두 포함한다. 또한 어떤 부분이 어떤 구성요소를 “포함(include, comprise)”한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
본 개시 전체에서, 특별히 반대되는 기재가 없는 한 “또는(or)”은 포괄적(inclusive)이며 배타적(exclusive)이지 않다. 따라서, 명백히 달리 표시되거나 문맥상 달리 표시되지 않는 한, “A 또는 B”는 “A, B, 또는 둘 모두”를 나타낼 수 있다. 본 개시에서, “~중 적어도 하나” 또는 “하나 이상의 ~”라는 문구는, 열거된 항목들 중 하나 이상의 항목들의 서로 다른 조합이 사용될 수도 있고, 열거된 항목들 중 임의의 하나의 항목만이 필요한 경우를 의미할 수도 있다. 예를 들어, “A, B, 및 C 중 적어도 하나”는 다음의 조합들 중 임의의 것을 포함할 수 있다: A, B, C, A 및 B, A 및 C, B 및 C, 또는 A 및 B 및 C.
“제어기(controller, 컨트롤러)”는 적어도 하나의 동작을 제어하는 임의의 디바이스, 시스템 또는 그 부분을 나타낼 수 있다. 제어기는 하드웨어, 하드웨어 및 소프트웨어의 조합, 또는 펌웨어로 구현될 수 있다. 특정 제어기에 연관된 기능은, 국부적 또는 원격의 집중형 또는 분산형일 수 있다.
이하 설명되는 본 개시의 다양한 실시예들은 하나 이상의 컴퓨터 프로그램들에 의해 구현 또는 지원될 수 있고, 컴퓨터 프로그램들은 컴퓨터 판독 가능한 프로그램 코드(code)로부터 형성되고, 컴퓨터로 판독 가능한 매체에 수록될 수 있다. 본 개시에서, “애플리케이션(application)” 및 “프로그램(program)”은 컴퓨터 판독 가능한 프로그램 코드에서의 구현에 적합한 하나 이상의 컴퓨터 프로그램, 소프트웨어 컴포넌트, 명령어 세트, 프로시저(procedure), 함수, 개체(object), 클래스, 인스턴스, 관련 데이터, 또는 그것의 일부를 나타낼 수 있다. “컴퓨터 판독 가능한 프로그램 코드”는, 소스 코드, 목적 코드, 및 실행 가능한 코드를 포함하는 다양한 유형의 컴퓨터 코드를 포함할 수 있다. “컴퓨터 판독 가능한 매체”는, ROM(read only memory), RAM(random access memory), 하드 디스크 드라이브(HDD), CD(compact disc), DVD(digital video disc), 또는 다양한 유형의 메모리와 같이, 컴퓨터에 의해 액세스될 수 있는 다양한 유형의 매체를 포함할 수 있다.
또한, 컴퓨터 판독 가능한 매체는, 비일시적(non-transitory) 저장 매체의 형태로 제공될 수 있다. 여기서, '비일시적 저장 매체'는 실재(tangible)하는 장치이고, 일시적인 전기적 또는 다른 신호들을 전송하는 유선, 무선, 광학적, 또는 다른 통신 링크들을 배제할 수 있다. 한편, 이 '비일시적 저장 매체'는 데이터가 저장 매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다. 예를 들어, '비일시적 저장 매체'는 데이터가 임시적으로 저장되는 버퍼를 포함할 수 있다. 컴퓨터 판독 가능한 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함할 수 있다. 컴퓨터 판독 가능한 매체는, 데이터가 영구적으로 저장될 수 있는 매체와 데이터가 저장되고 나중에 덮어쓰기 될 수 있는 매체, 이를테면 재기입 가능한 광 디스크 또는 소거 가능한 메모리 디바이스를 포함한다.
일 실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예를 들어, compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예를 들어, 플레이 스토어TM)를 통해 또는 두 개의 사용자 장치들(예를 들어, 스마트폰) 간에 직접, 온라인으로 배포(예를 들어, 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품(예를 들어, 다운로더블 앱(downloadable app))의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
기타 특정 단어들 및 문구들에 대한 정의는 본 개시의 전체에 걸쳐 제공될 수 있다. 본 개시가 속하는 기술분야의 통상의 지식을 가진 자는, 다양한 경우들에서, 정의된 단어들 및 문구들이 과거 및 장래의 사용들에도 적용될 수 있음을 이해할 수 있을 것이다.
본 명세서에서 후술하는 각 구성 요소는 자신의 주요 기능 외에 다른 구성 요소가 수행하는 기능의 일부 또는 전부를 추가적으로 수행할 수 있으며, 각 구성 요소의 주요 기능 중 일부는 전적으로 다른 구성 요소에 의해 수행될 수 있다.
본 명세서에서 용어 '기계 학습' 또는 '머신 러닝(machine learning)'은 인공 지능의 한 분야로, 경험을 통해 일일이 코드로 명시하지 않은 동작을 데이터로부터 학습하여 실행할 수 있는 알고리즘을 의미한다.
본 명세서에서 용어 '인공신경망'은 기계 학습에 의해 학습된 인간의 신경망을 모사하여 만들어진 컴퓨팅 시스템으로 학습에 의해 인공신경망에 정보가 입력되면, 입력에 대한 결과가 출력될 수 있다.
본 명세서에서 용어 '디바이스'는 전자적 신호를 이용하여 어떤 동작을 수행하기 위한 전자 장치를 의미할 수 있다. 본 명세서에서 용어 '디바이스'는 '전자 장치'와 혼용하여 사용될 수 있다.
본 명세서에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
학습된 인공신경망은 분류(classification) 및 추론(inference)을 수행하여, 주어진 문제에 대한 답을 얻어 낼 수 있기 때문에 다양한 분야에서 활용되고 있다. 다만, 인공신경망의 추론에 있어 하드웨어 자원이 다수 사용될 수 있기 때문에 인공신경망의 추론을 수행하는 주체가 하나의 디바이스인 경우에, 상기 하나의 디바이스에 과도한 연산량이 요구될 수 있다.
복수의 디바이스가 서로 네트워크 연결되어 있는 경우, 상기 인공신경망을 분할하여 분산 추론할 수 있도록 복수의 디바이스를 포함하는 분산 추론 시스템이 제공될 수 있다.
도 1은 일 실시예에 따른 복수의 디바이스의 연결 상태를 나타낸다.
도 1을 참조하면, 분산 추론 시스템은 전자 장치(100), 제1 디바이스(200), 제2 디바이스(300) 및 제3 디바이스(400)를 포함할 수 있다. 다만, 도 1은 예시적인 것에 불과하며, 네트워크 상황에 따라 추가 디바이스를 더 포함할 수도 있고 일부 디바이스를 포함하지 않을 수도 있다. 이에 한정되지 않는다.
여기서, 전자 장치(100), 제1 디바이스(200), 제2 디바이스(300) 및 제3 디바이스(400)는 서로 각각 네트워크 통신을 수행할 수 있는 장치일 수 있고, 각 장치는 인공신경망의 일부 또는 전체를 추론하는 데 이용될 수 있다.
본 명세서에서는 전자 장치(100)가 인공신경망의 추론 분산 비율을 결정하는 것으로 설명하지만, 이는 예시적인 것에 불과하며 전자 장치(100)이외에 제1 디바이스(200), 제2 디바이스(300) 및 제3 디바이스(400) 중에서 하나의 디바이스가 인공신경망의 추론 분산 비율을 결정할 수도 있다. 이에 한정되지 않는다.
전자 장치(100), 제1 디바이스(200), 제2 디바이스(300) 및 제3 디바이스(400)는 기 공지된 유선 또는 무선 통신을 이용하여 네트워크를 구성할 수 있다. 예를 들어, 각 디바이스가 통신하는 방법은 근거리 통신 네트워크(예: 불루투스, WiFi direct 또는 IrDA(infrared data association)) 또는 원거리 통신 네트워크(예: 셀룰러 네트워크, 인터넷 또는 컴퓨터 네트워크(예: LAN 또는 WAN))를 통하여 디바이스가 서로 통신을 수행할 수 있다.
도 2는 일 실시예에 따른 인공신경망의 분할 추론을 위해 복수의 디바이스에 분할된 인공신경망을 나타낸다.
도 2를 참조하면, 인공신경망(10)은 입력층과 출력층 사이에 다수의 은닉층(hidden layer)가 있는 다중 퍼셉트론(multi-perceptron)일 수 있다. 또한, 인공신경망(10)은 순환 신경망(RNN, recurrent neural network), 콘볼루션 신경망(CNN, convolutional neural network), 심층 신경망(DNN, deep neural network) 등 기 공지된 인공신경망 모델일 수 있다. 본 명세서에서는 설명의 편의를 위하여 인공신경망(10)은 심층 신경망으로 설명하지만, 이에 한정되지 않는다.
심층 신경망은 입력층과 출력층 사이에 다중의 은닉층(hidden layer)을 포함하는 인공 신경망일 수 있다. 또한, 심층 신경망은 다중의 은닉층을 포함하여 다양한 비선형적 관계를 학습할 수 있다
또한, 인공신경망(10)은 추론을 위한 인공신경망 모델로 미리 학습된 모델일 수 있고, 입력 정보를 인공신경망(10)에 입력하여 결과를 추론하기 위한 과정은 전자 장치(100)가 결정한 추론 비율에 따라 인공신경망(10)이 분할된 복수의 과정으로 분할될 수 있다.
예를 들어, 전자 장치(100)가 제1 디바이스(200)의 분할 비율을 15%로 결정하고, 제2 디바이스(300)의 분할 비율을 15%로 결정하고, 제3 디바이스(400)의 분할 비율을 35%로 결정하고, 전자 장치(100)의 분할 비율을 35%로 결정한 경우를 가정한다. 이 경우, 전자 장치(100)는 각 분할 비율에 따라 순서대로 인공신경망 전체를 분할하여 각 디바이스에 추론 과정을 할당할 수 있다. 이에 따라, 제1 디바이스(200)에는 인공신경망(10)의 첫 15%에 해당하는 제1 과정(11)이 할당되고, 제2 디바이스(300)에는 인공신경망(10)의 제1 과정(11) 이후의 15%에 해당하는 제2 과정(13)이 할당되고, 제3 디바이스(400)에는 인공신경망(10)의 제2 과정(13) 이후의 35%에 해당하는 제3 과정(15)이 할당되고, 전자 장치(100)에는 인공신경망(10)의 나머지 추론 과정인 제4 과정(17)이 할당될 수 있다.
분할된 인공신경망(10)의 추론 과정이 각 디바이스에 분산되면 각 디바이스는 제1 디바이스(200), 제2 디바이스(300), 제3 디바이스(400) 및 전자 장치(100)의 순서대로 추론 과정을 수행함으로써 전체 인공신경망(10)의 추론 과정이 수행될 수 있다.
보다 구체적으로, 제1 디바이스(200)에 입력 값이 입력되면 제1 디바이스(200)는 제1 과정(11)을 수행하고 전체 추론 과정의 제1 중간 결과 값을 제2 디바이스(300)에 송신할 수 있다. 이어서, 제2 디바이스(300)는 수신된 제1 중간 결과 값을 제2 과정(13)의 입력으로 하여, 제2 과정(13)을 수행한 결과인 제2 중간 결과값을 제3 디바이스(400)에 송신할 수 있다. 제3 디바이스(400)는 수신된 제2 중간 결과값을 제3 과정(15)의 입력으로 하여, 제3 과정(13)을 수행한 결과인 제3 중간 결과값을 전자 장치(100)에 송신할 수 있다. 마지막으로 전자 장치(100)는 수신된 제3 중간 결과값을 제4 과정(17)의 입력으로 하여, 전체 인공신경망(10)의 추론 결과를 출력할 수 있다.
이와 같이 인공신경망(10)을 분할하여 분할된 추론 과정을 각 디바이스가 분산 처리함으로써 하나의 디바이스에 과도한 자원이 사용되는 것을 방지할 수 있는 효과를 포함하는 다양한 효과가 있을 수 있다.
전자 장치(100)가 인공신경망(10)의 추론 분산 비율은 각 디바이스에 포함된 CPU 또는 GPU의 연산 성능 비율에 따라 연산 성능이 더 좋은 디바이스에 더 큰 추론 분산 비율이 결정될 수 있다. 또한, 추론 분산 비율은 현재 CPU 또는 GPU의 사용량에 따라 사용량이 적은 디바이스에 더 많은 추론 분산 비율이 할당되도록 각 디바이스의 추론 분산 비율이 결정될 수 있다.
다만, 연산 성능 비율에 따라 추론 분산 비율을 결정되는 경우, 사용자가 디바이스를 사용하는 CPU 또는 GPU의 점유율을 고려하지 않는 문제가 있다. 또한, CPU 또는 GPU 사용량에 따라 분배 비율을 결정되는 경우에도 사용자가 이용하는 어플리케이션(application)의 실행 여부, 카메라 사용 여부 등에 따라 디바이스의 상태가 달라지므로 추론 분산 비율이 결정된 이후, 디바이스의 CPU 또는 GPU 사용량에 따라 정확하게 분배되지 않을 수 있다.
일 실시예에 따른 전자 장치(100)는 상태 예측 모델을 이용하여 각 디바이스의 상태 정보를 입력으로 하여, 인공신경망(10)을 이용하여 추론하는 과정을 수행할 시점에서 각 디바이스의 상태를 추론할 수 있다. 추론된 각 디바이스의 상태에 따라 추론 분산 비율을 결정하기 때문에, 각 디바이스의 사용량에 따라 동적(dynamic)으로 각 디바이스의 추론 분산 비율이 보다 정확하게 결정될 수 있다.
이하 도 3, 도 4 및 도 5를 참조하여 동적으로 인공신경망의 추론 분산 비율을 결정하는 전자 장치(100)를 상세하게 설명한다.
도 3은 일 실시예에 따른 전자 장치의 기능을 나타내는 예시적인 도면이다.
도 3을 참조하면, 도 2의 전자 장치(100)는 상태 추론부(121) 및 추론 비율 연산부(123)를 포함할 있다. 다만, 전자 장치(100)에 포함되는 기능은 이에 한정되지 않는다. 전자 장치(100)는 일부 구성을 생략할 수 있고, 다른 기능을 수행하는 구성을 추가로 포함할 수 있다. 예를 들어, 일 실시예에 따른 전자 장치(100)는 카메라부, 디스플레이부등을 더 포함할 수 있다.
여기서, 상태 추론부(121)는 도 2의 인공신경망(10)과는 별개의 인공신경망 모델로 디바이스의 상태 정보를 입력하면 입력된 시점 이후의 디바이스의 상태 정보를 예측하도록 학습된 상태 추론 모델을 포함할 수 있다. 여기서 상태 추론 모델은 순환 신경망으로 구현될 수 있다.
일 실시예에 따른 상태 추론 모델은 소정의 제3 시점의 학습용 상태 정보 및 상기 소정의 제3 시점으로부터 소정의 시간 간격 이후인 제4 시점의 정답용 상태 정보를 입력으로 하여, 회귀 (regression) 학습된 것일 수 있다.
다시 말해, 상태 추론 모델은 학습용 상태 정보를 입력으로 하여 추론된 상태 정보와 정답용 상태 정보를 Ground trugh로 보아 손실 함수를 연산하고, 연산된 손실 함수(loss function)의 출력 값이 줄어들도록 학습될 수 있다.
상태 추론부(121)는 인공신경망(10)을 분산 추론하기 위한 네트워크에 연결된 복수의 디바이스로부터 수신 받은 소정의 제1 시점에서 각 디바이스의 제1 상태 정보를 입력받을 수 있다. 또한, 상태 추론 모델은 각 디바이스의 제1 상태 정보를 입력으로 하여, 제1 시점으로부터 소정의 시간 간격 이후인 제2 시점에서의 각 디바이스의 제2 상태 정보를 추론할 수 있다.
또한, 상태 추론부(121)는 제1 시점 이전의 각 디바이스의 상태 정보를 추가로 입력받아 제2 시점에서의 각 디바이스의 제2 상태 정보를 추론할 수도 있다.
여기서, 각 디바이스의 제1 상태 정보 및 제2 상태 정보는 인공신경망을 이용하여 추론하기 위한 각 디바이스의 연산 가능한 양과 관계가 있는 상태 정보 일 수 있다. 예를 들어, 일 실시예에 따른 제1 상태 정보 및 제2 상태 정보는 각 디바이스의 CPU(center processing unit)의 사용률, GPU(graphic processing unit)의 사용률, CPU의 온도, GPU의 온도, 실행 중인 어플리케이션(application)의 개수 및 경과 시간(elapsed time) 중 적어도 하나를 포함할 수 있다.
여기서, 경과 시간은 단위시간에 처리할 수 있는 명령어수로 컴퓨터의 연산속도를 나타내는 단위인 플롭스(FLOPS, floating-point operations per second)의 역수를 의미할 수 있다. 또한, 본 명세서에서 경과 시간은 심층 신경망 모델의 1 블록당 예상 연산 소요시간을 의미할 수 있다. 즉, 경과 시간은 디바이스가 도2의 인공신경망(10)을 처리할 수 있는 정도를 나타내는 기준이 될 수 있다.
일 실시예에 따른 상태 추론부(121)는 소정의 디바이스의 제1 상태 정보를 입력하여 제2 시점에서 경과 시간을 추론할 수 있고, 또는 제2 상태 정보로 소정의 디바이스의 CPU(center processing unit)의 사용률, GPU(graphic processing unit)의 사용률, CPU의 온도, GPU의 온도 및 실행 중인 어플리케이션(application)의 개수를 추론하여 추론된 제2 상태 정보를 이용하여 제2 시점에서의 경과 시간을 연산할 수도 있다.
또한, 일 실시예에 따른 상태 추론부(121)는 제1 상태 정보 이외에 소정의 어플리케이션 실행 여부, 화면 켜짐 여부 및 카메라 실행 여부 중 적어도 하나를 포함하는 제3 상태 정보를 추가로 입력받을 수 있다. 소정의 어플리케이션이 실행되는 경우, 화면이 켜지게 되는 경우 및 카메라가 실행되는 경우에 디바이스에서 CPU 및 GPU 사용량이 증가할 것으로 예측할 수 있으므로, 이에 대한 입력을 추가로 입력 받아, 제2 시점에서 경과 시간을 추론할 수 있다.
이 경우, 상태 추론부(121)에 포함된 상태 추론 모델은 소정의 제3 시점의 소정의 어플리케이션 실행 여부, 화면 켜짐 여부 및 카메라 실행 여부 중 적어도 하나를 포함하는 학습용 상태 정보 및 제4 시점의 정답용 상태 정보를 입력받아 학습될 수 있다.
추론 비율 연산부(123)는 상태 추론부(121)로부터 각 디바이스의 제2 상태 정보를 입력받아, 도 2의 인공신경망(10)의 추론 분산 비율을 연산할 수 있다. 일 실시예에 따른 추론 비율 연산부(123)는 하기의 수학식 1과 같이 각 디바이스의 경과 시간의 역수를 정규화할 수 있다. 또한, 정규화된 경과 시간의 역수를 상기 인공신경망의 추론 분산 비율(ri)로 결정할 수 있다.
여기서, ti는 i번째 디바이스의 추론된 제2 시점의 경과 시간을 의미할 수 있고, n은 복수의 디바이스 전체 개수를 의미할 수 있다.
예를 들어, 도 2의 제1 디바이스(200)의 예측된 경과 시간이 0.5이고, 제2 디바이스(300)의 예측된 경과 시간이 0.4이고, 제3 디바이스(400)의 예측된 경과 시간이 0.4이고, 전자 장치(100)의 예측된 경과 시간이 0.1인 경우, 제1 디바이스(200)의 추론 분산 비율은 0.1176이고, 제2 디바이스(300) 및 제3 디바이스(400)의 추론 분산 비율은 0.1471이고, 전자 장치(100)의 추론 분산 비율은 0.5882로 결정될 수 있다.
다시 도 2를 참조하면, 일 실시예에 따른 전자 장치(100)는 결정된 각 디바이스의 추론 분산 비율 및 인공신경망의 추론 과정의 시작점을 전달할 수 있다. 이 경우, 복수의 디바이스는 인공신경망(10) 전체 구조를 저장하고 있을 수 있다. 예를 들어, 결정된 제1 디바이스(200)의 추론 분산 비율이 0.1176이면, 전자 장치(100)는 제1 디바이스(200)에 결정된 추론 분산 비율 0.1176과 시작점을 전달할 수 있다. 또한, 결정된 제2 디바이스(300)의 추론 분산 비율이 0.1471이면, 전자 장치(100)는 결정된 추론 분산 비율 0.1471 및 시작점인 전체 인공신경망(10)의 11.76 % 지점을 송신할 수 있다. 이와 같이 각 디바이스에 추론 분산 비율과 시작점을 할당하여, 각 디바이스가 분산된 인공신경망(10)의 추론 과정을 수행할 수 있다.
도 4는 일 실시예에 따른 전자 장치가 제1 디바이스의 제1 상태 정보를 입력받아 제2 상태 정보를 추론하는 동작을 설명하기 위한 도면이다.
도 4를 참조하면, 상태 추론부(121)는 도 2의 제1 디바이스(200)에 대한 제1 시점(T)에서의 제1 상태 정보(450), 제1 시점(T) 이전의 소정 시점(T-1)의 상태 정보(430)와 그 이전 시점(T-2)의 상태 정보(410)를 입력 받을 수 있다. 도 4에서는 3개 시점의 제1 디바이스(200)에 대한 상태 정보를 입력 받는 것으로 도시되어 있으나, 제1 시점(T)의 상태 정보(450) 만을 입력 받을 수도 있고, 제1 시점(T)의 상태 정보(450) 및 제1 시점 이전의 시점(T-1)의 상태 정보(430) 만을 입력 받을 수도 있다.
여기서 제1 상태 정보(450)는 CPU 사용량, GPU 사용량, 실행되는 어플리케이션의 개수, CPU의 온도, GPU의 온도 및 경과 시간(Elapsed time)을 포함할 수 있다.
상태 추론부(121)는 3개 시점의 상태 정보(410,430,450)를 입력 받아, 제2 시점(T+1)에서의 도 2의 제1 디바이스(200)에 대한 제2 상태 정보(470)를 추론할 수 있다. 여기서 추론된 제2 상태 정보(470)는 CPU 사용량 50%, GPU 사용량 65%, 실행되는 어플리케이션의 개수 23개, CPU 온도 58 ℃, GPU 온도 57 ℃ 및 경과 시간 0.65초 일 수 있다.
상태 추론부(121)가 제2 시점(T+1) 이후의 시점에서 도 2의 제1 디바이스(200)에 대한 상태를 추론하는 경우, 추론된 제2 상태 정보(470)가 다시 입력으로 이용될 수 있다.
도 5는 일 실시예에 따른 전자 장치가 제1 상태 정보 및 제3 상태 정보를 입력받아 제2 상태 정보를 추론하는 동작을 설명하기 위한 예시적인 도면이다.
도 5를 참조하면, 상태 추론부(121)는 도 4의 입력된 상태 정보(410,430,450) 이외에 제3 상태 정보(501)를 추가로 입력 받을 수 있다. 제1 시점(T)에서 입력받은 제3 상태 정보(501)는 특정 어플리케이션(App 1)의 실행 여부 및 화면 켜짐 여부를 포함할 수 있다. 이 경우, 미리 학습된 상태 추론 모델은 도 4의 제2 상태 정보(470)에서 보다 더 많은 CPU 사용, GPU 사용을 추론할 수 있으며, 더 높은 CPU 온도 및 GPU 온도도 추론할 수 있다.
또한, 상태 추론부(121)는 제3 상태 정보(501)를 입력 받아, 도 4의 제2 상태 정보(470)의 경과 시간 0.65초 보다 더 긴 제1 디바이스(200)의 경과 시간 0.85초를 추론할 수 있다. 상태 추론부(121)로부터 제2 상태 정보(503)를 전달받은 도 3의 추론 비율 연산부(123)는 추론된 경과 시간을 기초로 상기 수학식 1에 따라 제1 디바이스(200)의 추론 분산 비율을 더 낮게 결정할 수 있다.
도 5에서는 디바이스의 제3 상태 정보가 특정 어플리케이션의 실행 여부 및 화면 켜짐 여부를 포함하는 것으로 설명하였지만 이는 예시적인 것에 불과하며, 제3 상태 정보는 GPU 또는 CPU가 소모될 수 있는 환경이 조성될 수 있는 기 공지된 디바이스의 상태 정보일 수 있다. 예를 들어, 제3 상태 정보는 카메라 켜짐 여부를 더 포함할 수 있다.
상태 추론부(121)가 CPU 또는 GPU 사용량을 포함하는 제1 상태 정보 이외에 이후 디바이스의 CPU 또는 GPU 사용량을 크게 변화시킬 수 있는 제3 상태 정보를 추가로 획득하여 제2 상태 정보를 추론할 수 있기 때문에, 특정 어플리케이션의 실행으로 CPU 또는 GPU 사용량이 크게 늘어날 것을 보다 정확하게 예측하여 추론 분산 비율에 반영될 수 있는 효과를 포함하는 다양한 효과가 존재할 수 있다.
다시 도 2를 참조하면, 일 실시예에 따라 분산 추론 시스템에 포함된 복수의 디바이스의 저장 공간 절약을 위해 복수의 디바이스에 인공신경망(10)이 저장되어 있지 않을 수 있다. 이 경우, 전자 장치(100)에는 인공신경망(10)이 저장되어 있고, 전자 장치(100)가 결정한 추론 분산 비율에 따라, 각 디바이스가 수행할 인공신경망(10)의 추론 과정에 필요한 인공신경망(10)의 일부를 전송할 수 있다.
도 6은 결정된 추론 비율에 따라 인공신경망의 일부를 적어도 하나의 디바이스에 송신하고, 각 디바이스가 인공신경망의 추론을 수행하는 동작을 설명하기 위한 예시적인 도면이다.
도 2 및 도 6을 참조하면, 전자 장치(100)가 제1 디바이스(200), 제2 디바이스(300), 제3 디바이스(400) 및 전자 장치(100)의 추론 분산 비율을 결정하고, 각 디바이스의 추론 분산 비율에 따라 할당된 도 2의 인공신경망 일부를 전송할 수 있다. 이 경우, 제1 디바이스(200), 제2 디바이스(300) 및 제3 디바이스(400)에는 추론을 위한 인공신경망이 저장되어 있지 않을 수 있고, 전자 장치(100)에는 상기 인공신경망이 저장되어 있을 수 있다.
전자 장치(100)는 제1 디바이스(200)의 추론 분산 비율이 0.25로 결정되면, 제1 디바이스(200)에 전체 인공신경망의 처음부터 25%에 해당하는 제1 과정(61)을 송신할 수 있다. 또한, 전자 장치(100)는 제2 디바이스(200)의 추론 분산 비율이 0.1로 결정되면, 제2 디바이스(300)에 전체 인공신경망의 25% 지점에서 전체 추론 과정의 10%에 해당하는 제2 과정(63)을 송신할 수 있고, 제3 디바이스(400)의 추론 분산 비율이 0.25로 결정되면 제3 디바이스(400)에 전체 인공신경망의 35% 지점에서 전체의 25%에 해당하는 제3 과정(65)을 송신할 수 있다. 이 경우, 전자 장치(100)는 전체 인공신경망의 60% 지점에서 시작하는 전체 인공신경망의 40%에 해당하는 추론 과정을 수행할 수 있다.
이하에서는 각 디바이스가 수행할 추론 과정이 송신된 이후에 추론 과정 및 추론 분산 비율 재설정 과정을 설명한다.
제1 디바이스(200)는 추론을 수행할 인공신경망의 입력 값을 입력으로 제1 과정(61)을 수행하고 제1 중간 결과 값을 획득할 수 있다. 이어서, 제1 디바이스(200)는 획득된 제1 중간 결과 값 및 제1 과정(61)을 수행한 시점에서 제1 디바이스(200)의 상태 정보를 제2 디바이스(300)에게 송신할 수 있다.
제2 디바이스(300)는 수신된 제1 중간 결과 값을 제2 과정(63)의 입력으로 하여 제2 중간 결과 값을 획득할 수 있다. 이어서, 제2 디바이스(300)는 획득된 제2 중간 결과 값, 제2 과정(63)을 수행한 시점에서 제2 디바이스(300)의 상태 정보 및 수신받은 제1 디바이스(200)의 상태 정보를 제3 디바이스(400)에게 송신할 수 있다.
제3 디바이스(400)는 수신된 제2 중간 결과 값을 제3 과정(65)의 입력으로 하여 제3 중간 결과 값을 획득할 수 있다. 이어서, 제3 디바이스(400)는 획득된 제3 중간 결과 값, 제3 과정(65)을 수행한 시점에서 제3 디바이스(400)의 상태 정보, 수신된 제1 디바이스(200), 제2 디바이스(300)의 상태 정보를 전자 장치(100)에게 송신할 수 있다.
전자 장치(100)는 수신된 제3 중간 결과 값을 인공신경망의 나머지 과정의 입력으로 하여 최종 추론 결과를 획득할 수 있고, 수신된 각 디바이스의 상태 정보 및 최종 추론 결과를 획득한 시점의 전자 장치(100)의 상태 정보를 기초로 이후 시점의 각 디바이스의 상태 정보를 추론하여 추론 분산 비율을 재설정할 수 있다.
다시 도 1을 참조하면, 복수의 디바이스 중에서 기 선정된 추론 분산 비율을 결정하는 전자 장치(100)는 다른 디바이스에 비하여 네트워크 연결이 좋거나 수행 가능한 연산량이 큰 디바이스일 수 있다. 다시 말해, 전자 장치(100)는 복수의 디바이스 중에서 각 디바이스의 네트워크 상태에 기초하여 결정된 디바이스일 수 있다.
여기서, 네트워크 상태는 복수의 디바이스 중에서 임의로 선정된 제1 디바이스가 상기 제1 디바이스와는 상이한 각 디바이스로부터 수신한 테스트 정보에 의한 각 디바이스의 네트워크 I/O(input/output) 패킷량일 수 있다.
또한, 전자 장치(100)는 복수의 디바이스 중에서 네트워크 I/O 패킷량이 소정의 패킷량 이하인 적어도 하나의 후보 디바이스가 선정되고, 적어도 하나의 후보 디바이스 중에서 유선 네트워크로 연결된 하나의 후보 디바이스일 수 있다.
일 실시예에 따른 전자 장치(100)는 적어도 하나의 후보 디바이스 중에서 GPU 처리량이 가장 높은 후보 디바이스일 수 있다.
이와 같이, 복수의 디바이스 중에서 임의로 선정된 제1 디바이스가 추론 분산 비율을 결정하는 전자 장치(100)를 선정할 수 있다.
이하 도 7을 참조하여 분산 추론 시스템에 포함되지 않는 디바이스에 의해 추론 분산 비율을 결정하는 전자 장치(100)를 선정하는 방법을 설명한다.
도 7은 복수의 디바이스 중에서 인공신경망의 추론 비율을 결정하는 전자 장치를 선정하는 예시적인 도면이다.
도 7을 참조하면, 전자 장치(100), 제1 디바이스(200), 제2 디바이스(300) 및 제3 디바이스(400) 이외에 인공신경망의 추론 비율을 결정하는 전자 장치를 선정하기 위한 제4 디바이스(500)가 존재할 수 있다.
제4 디바이스(500)는 각 디바이스로부터 테스트 정보를 수신받고, 수신된 테스트 정보에 의해 각 디바이스의 네트워크 I/O 패킷량을 측정할 수 있다.
제4 디바이스(500)는 전자 장치(100), 제1 디바이스(200), 제2 디바이스(300) 및 제3 디바이스(400) 중에서 네트워크 I/O 패킷량이 소정의 패킷량 이하인 적어도 하나의 후보 디바이스를 선정할 수 있다. 이 경우, 선정된 후보 디바이스가 전자 장치(100) 1개 라면, 제4 디바이스(500)는 전자 장치(100)를 인공신경망의 추론 분산 비율을 결정하는 전자 장치로 선정할 수 있다.
또한, 제4 디바이스(500)는 선정된 후보 디바이스 중에서 유선 네트워크로 연결된 디바이스가 존재하는 지 여부를 판단할 수 있다. 제4 디바이스(500)는 후보 디바이스 중에서 유선 네트워크로 연결된 디바이스가 존재하는 경우, 유선 네트워크로 연결된 후보 디바이스 중에서, GPU 처리량이 가장 높은 디바이스를 인공신경망의 추론 분산 비율을 결정하는 전자 장치로 선정할 수 있다.
후보 디바이스 중에서 유선 네트워크로 연결된 디바이스가 존재하지 않는 경우, 제4 디바이스(500)는 복수의 후보 디바이스 중에서 GPU 처리량이 가장 높은 디바이스를 인공신경망의 추론 분산 비율을 결정하는 전자 장치로 선정할 수 있다.
일 실시예에 따른 복수의 디바이스 중에서 선정된 전자 장치(100)는 다른 디바이스에 대해 좋은 네트워크 환경을 지닌 디바이스이거나, GPU 처리량이 높은 디바이스이므로, 인공 신경망의 분산 추론을 보다 안정적으로 수행할 수 있다.
도 8은 일 실시예에 따른 전자 장치의 구성을 나타내는 블록도이다.
도 8을 참조하면, 일 실시예에 따른 전자 장치(100)는 메모리(110), 프로세서(120) 및 송수신부(130)를 포함할 수 있다. 다양한 실시 예에 따르면, 전자 장치(100)의 구성은 도 8에 도시된 바에 한정되지 않으며, 도 8에 도시되지 않은 구성을 추가로 포함하거나 도 8에 도시된 구성 중 일부를 생략할 수도 있다.
예를 들면, 도 8에는 도시되어 있지 않지만 전자 장치(100)는 인공신경망 및 입력 데이터를 입력받을 수 있는 입력부, 결과를 출력할 수 있는 출력부를 더 포함할 수 있다.
또한 후술할 프로세서(120)의 동작은 메모리(110)에 저장된 소프트웨어 모듈로 구현될 수도 있다. 예컨대, 소프트웨어 모듈은 메모리(110)에 저장될 수 있고, 프로세서(120)에 의해 실행됨으로써 동작될 수 있다.
메모리(110)는 프로세서(120)와 전기적으로 연결되고 전자 장치(100)에 포함된 구성들의 동작과 관련된 명령 또는 데이터를 저장할 수 있다. 다양한 실시 예에 따르면, 메모리(110)는 송수신부(130)를 이용하여 획득된 각 디바이스의 제1 상태 정보, 제3 상태 정보, 인공신경망 모델, 상태 추론 모델의 추론을 수행하기 위한 동작들에 대한 인스트럭션들(instructions) 등을 저장할 수 있다.
일 실시 예에 따르면, 메모리(110)는 전자 장치(100)의 기능을 개념적으로 구분한 각 부에 포함되는 적어도 일부의 모듈들이 프로세서(120)에 의해 실행되는 소프트웨어로 구현되는 경우 그러한 소프트웨어 모듈을 실행하기 위한 인스트럭션들을 저장할 수도 있다.
프로세서(120)는 전자 장치(100)에 포함된 구성들과 전기적으로 연결되어, 전자 장치(100)에 포함된 구성들의 제어 및/또는 통신에 관한 연산이나 데이터 처리를 실행할 수 있다. 일 실시 예에 따르면, 프로세서(120)는 다른 구성들 중 적어도 하나로부터 수신된 명령 또는 데이터를 메모리(110)에 로드하여 처리하고, 결과 데이터를 메모리(110)에 저장할 수 있다.
또한, 도 8에서는 설명의 편의를 위해 프로세서(120)가 하나의 프로세서(120)로 동작하는 것으로 표현하였으나, 후술할 학습 모델 및 전자 장치의 기능을 개념적으로 구분한 적어도 하나의 기능을 복수의 프로세서로 구현될 수 있다. 이 경우, 프로세서(120)는 하나의 프로세서(120)로서 동작하는 것이 아니라, 복수의 프로세서가 별개의 하드웨어로 구현되어 각 동작을 수행하도록 구현될 수 있다. 이에 한정되지 않는다.
송수신부(130)는 전자 장치(100)와 외부의 다른 전자 장치 사이의 유선 또는 무선 통신 채널의 수립 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다.
또한, 다양한 실시 예에 따르면, 송수신부(130)는 무선 통신 모듈(예: 셀룰러 통신 모듈, 근거리 무선 통신 모듈, 또는 GNSS(global navigation satellite system) 통신 모듈) 또는 유선 통신 모듈(예: LAN(local area network) 통신 모듈, 또는 전력선 통신 모듈)을 포함할 수 있고, 그 중 해당하는 통신 모듈을 이용하여 근거리 통신 네트워크 (예: 블루투스, WiFi direct 또는 IrDA(infrared data association)) 또는 원거리 통신 네트워크(예: 셀룰러 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN))를 통하여 외부 전자 장치와 통신할 수 있다.
도 2의 인공신경망의 분산 추론을 위한 복수 디바이스는 상술한 전자 장치(100)의 메모리(110), 프로세서(120) 및 송수신부(130)와 동일한 기능을 수행하는 구성을 각각 포함할 수 있다. 각 구성의 기능은 상술한 바와 같으므로 상세한 설명은 생략하기로 한다.
도 9는 일 실시예에 따른 전자 장치를 선정하는 디바이스의 구성을 나타내는 블록도이다.
도 9를 참조하면, 일 실시예에 따른 제4 디바이스(500)는 메모리(510), 프로세서(520) 및 송수신부(530)를 포함할 수 있다. 다양한 실시 예에 따르면, 전자 장치의 구성은 도 9에 도시된 바에 한정되지 않으며, 도 9에 도시되지 않은 구성을 추가로 포함하거나 도 9에 도시된 구성 중 일부를 생략할 수도 있다.
메모리(510)는 프로세서(520)와 전기적으로 연결되고 전자 장치에 포함된 구성들의 동작과 관련된 명령 또는 데이터를 저장할 수 있다. 다양한 실시 예에 따르면, 메모리(510)는 송수신부(530)를 이용하여 획득된 네트워크 I/O 패킷량을 이용하여 추론 분산 비율을 선정하는 전자 장치를 결정하는 동작들에 대한 인스트럭션들(instructions) 등을 저장할 수 있다.
프로세서(520)는 전자 장치에 포함된 구성들과 전기적으로 연결되어, 전자 장치에 포함된 구성들의 제어 및/또는 통신에 관한 연산이나 데이터 처리를 실행할 수 있다. 일 실시 예에 따르면, 프로세서(520)는 다른 구성들 중 적어도 하나로부터 수신된 명령 또는 데이터를 메모리(510)에 로드하여 처리하고, 결과 데이터를 메모리(510)에 저장할 수 있다.
또한, 도 9에서는 설명의 편의를 위해 프로세서(520)가 하나의 프로세서(520)로 동작하는 것으로 표현하였으나, 후술할 학습 모델 및 전자 장치의 기능을 개념적으로 구분한 적어도 하나의 기능을 복수의 프로세서로 구현될 수 있다. 이 경우, 프로세서(520)는 하나의 프로세서(520)로서 동작하는 것이 아니라, 복수의 프로세서가 별개의 하드웨어로 구현되어 각 동작을 수행하도록 구현될 수 있다.
송수신부(530)는 전자 장치와 외부의 다른 전자 장치 사이의 유선 또는 무선 통신 채널의 수립 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 일 실시 예에 따르면, 송수신부(530)는 유선 통신 또는 무선 통신을 통해 외부의 다른 전자 장치로부터 데이터를 수신하거나 또는 외부의 다른 기지국을 제어하는 서버를 포함하는 전자 장치에 대해 데이터를 송신할 수 있다.
다양한 실시 예에 따르면, 송수신부(530)는 무선 통신 모듈(예: 셀룰러 통신 모듈, 근거리 무선 통신 모듈, 또는 GNSS(global navigation satellite system) 통신 모듈) 또는 유선 통신 모듈(예: LAN(local area network) 통신 모듈, 또는 전력선 통신 모듈)을 포함할 수 있고, 그 중 해당하는 통신 모듈을 이용하여 근거리 통신 네트워크 (예: 블루투스, WiFi direct 또는 IrDA(infrared data association)) 또는 원거리 통신 네트워크(예: 셀룰러 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN))를 통하여 외부 전자 장치와 통신할 수 있다.
도 10은 일 실시예에 따른 전자 장치에 의한 인공신경망의 추론 분산 비율을 결정하는 방법을 나타내는 순서도이다.
도 2 및 도 10을 참조하면, 전자 장치(100)는 복수의 디바이스로부터 각각 미리 정해진 제1 시점의 제1 상태 정보를 획득할 수 있다(S1010).
여기서, 제1 상태 정보는 각 디바이스의 CPU의 사용률, GPU의 사용률, CPU의 온도, GPU의 온도, 실행 중인 어플리케이션의 개수 및 경과 시간 중 적어도 하나를 포함할 수 있다.
전자 장치(100)는 제1 시점에서 소정의 어플리케이션 실행 여부, 화면 켜짐 여부 및 카메라 실행 여부 중 적어도 하나를 포함하는 제3 상태 정보를 획득할 수 있다.
또한, 전자 장치(100)는 적어도 제1 상태 정보를 입력된 시점 이후의 상태 정보를 예측하도록 학습된 상태 추론 모델에 입력하여 제1 시점으로부터 소정의 시간 간격 이후인 제2 시점의 각 디바이스의 제2 상태 정보를 획득할 수 있다(S1020).
상태 추론 모델은 소정의 제3 시점의 학습용 상태 정보 및 상기 소정의 제3 시점으로부터 소정의 시간 간격 이후인 제4 시점의 정답용 상태 정보를 입력으로 하여, 회귀 (regression) 학습된 것일 수 있다.
여기서, 제2 상태 정보는 제2 시점의 각 디바이스의 CPU의 사용률, GPU의 사용률, CPU의 온도, GPU의 온도, 실행 중인 어플리케이션의 개수 및 경과 시간 중 적어도 하나를 포함할 수 있다.
전자 장치(100)는 획득된 각 디바이스의 제2 상태 정보에 기초하여, 각 디바이스의 인공신경망의 추론 분산 비율을 결정할 수 있다(S1030).
전자 장치(100)는 각 디바이스의 상기 경과 시간의 역수를 정규화할 수 있고, 정규화된 경과 시간의 역수를 인공신경망의 추론 분산 비율로 결정할 수 있다.
도 11은 일 실시예에 따른 인공신경망의 추론 분산 비율을 결정하는 전자 장치를 선정하는 방법을 나타내는 순서도이다.
도 11을 참조하면, 복수의 디바이스 중에서 제1 디바이스가 무작위로 선정될 수 있다(S1110).
무작위로 선정된 제1 디바이스는 제1 디바이스 이외의 복수의 디바이스로부터 테스트 정보를 수신 받고(S1120), 각 디바이스의 네트워크 I/O 패킷량이 소정의 패킷량 이하인지를 판단하여, 네트워크 I/O 패킷량이 소정의 패킷량 이하인 적어도 하나의 후보 디바이스를 선정할 수 있다(S1130).
제1 디바이스는 선정된 후보 디바이스 중에서 유선 네트워크에 연결된 디바이스가 존재하는 지 여부를 판단(S1140)하여 유선 네트워크에 연결된 디바이스가 존재하는 경우(S1140의 예), 유선 네트워크에 연결된 디바이스를 다시 후보 디바이스로 선정할 수 있다(S1150).
선정된 후보 디바이스 중에서, GPU 성능이 가장 좋은 디바이스가 인공신경망의 추론 분산 비율을 결정하는 전자장치로 선정될 수 있다(S1160).
일 실시예에 따른 인공 신경망을 분할 추론하기 위해 복수의 디바이스의 추론 분산 비율을 결정하는 전자 장치는 상태 정보를 입력하면 입력된 시점 이후의 상태 정보를 예측하도록 학습된 상태 추론 모델이 저장된 메모리, 송수신부 및 상기 메모리에 저장된 하나 이상의 인스트럭션들을 실행하는 적어도 하나의 프로세서를 포함할 수 있다. 상기 적어도 하나의 프로세서는, 상기 인스트럭션들이 실행될 시 상기 송수신부를 통해 상기 복수의 디바이스의 미리 정해진 제1 시점에서 제1 상태 정보를 획득할 수 있다. 상기 적어도 하나의 프로세서는, 상기 인스트럭션들이 실행될 시 상기 적어도 제1 상태 정보를 상기 상태 추론 모델에 입력하여 상기 제1 시점으로부터 소정의 시간 간격 이후인 제2 시점의 각 디바이스의 제2 상태 정보를 획득할 수 있다. 상기 적어도 하나의 프로세서는, 상기 인스트럭션들이 실행될 시 상기 획득된 각 디바이스의 제2 상태 정보에 기초하여, 상기 각 디바이스의 상기 인공신경망의 추론 분산 비율을 결정할 수 있다. 상기 전자 장치는 상기 복수의 디바이스의 네트워크 상태에 기초하여 상기 복수의 디바이스 중에서 결정된 것일 수 있다.
상기 제1 상태 정보 및 제2 상태 정보는, 각 디바이스의 CPU(center processing unit)의 사용률, GPU(graphic processing unit)의 사용률, CPU의 온도, GPU의 온도, 실행 중인 어플리케이션(application)의 개수 및 경과 시간(elapsed time) 중 적어도 하나를 포함할 수 있다.
상기 제2 상태 정보는, 경과 시간을 포함하고, 상기 적어도 하나의 프로세서는, 각 디바이스의 상기 경과 시간의 역수를 정규화하고, 상기 정규화된 경과 시간의 역수를 각 디바이스의 상기 인공신경망의 추론 분산 비율로 결정할 수 있다.
상기 적어도 하나의 프로세서는, 상기 인스트럭션들이 실행될 시, 상기 제1 시점에서 소정의 어플리케이션 실행 여부, 화면 켜짐 여부 및 카메라 실행 여부 중 적어도 하나를 포함하는 제3 상태 정보를 더 획득하고, 상기 상태 추론 모델에 상기 제3 상태 정보를 더 입력하여 상기 제2 상태 정보를 획득할 수 있다.
상기 적어도 하나의 프로세서는, 상기 인스트럭션들이 실행될 시 각 디바이스에 상기 결정된 추론 분산 비율 및 상기 인공신경망의 추론 시작점을 상기 송수신부를 통해 전송할 수 있다.
상기 적어도 하나의 프로세서는, 상기 인스트럭션들이 실행될 시 상기 인공신경망을 상기 결정된 추론 분산 비율에 따라 분할하고, 상기 분할된 인공신경망을 상기 추론 분산 비율에 대응되는 각 디바이스에 송수신부를 통해 전송할 수 있다.
상기 상태 추론 모델은, 소정의 제3 시점의 학습용 상태 정보 및 상기 소정의 제3 시점으로부터 소정의 시간 간격 이후인 제4 시점의 정답용 상태 정보를 입력으로 하여, 회귀 (regression) 학습된 것일 수 있다.
상기 네트워크 상태는, 상기 복수의 디바이스 중에서 임의로 선정된 제1 디바이스가 상기 제1 디바이스와는 상이한 각 디바이스로부터 수신한 테스트 정보에 의한 각 디바이스의 네트워크 I/O(input/output) 패킷량일 수 있다.
상기 전자 장치는, 상기 복수의 디바이스 중에서 네트워크 I/O 패킷량이 소정의 패킷량 이하인 적어도 하나의 후보 디바이스가 선정되고, 상기 적어도 하나의 후보 디바이스 중에서 유선 네트워크로 연결된 하나의 후보 디바이스일 수 있다.
상기 전자 장치는, 상기 적어도 하나의 후보 디바이스 중에서 GPU 처리량이 가장 높은 후보 디바이스일 수 있다.
일 실시예에 따른 인공신경망의 추론 분산 비율을 결정하는 방법은 상기 전자 장치를 포함하는 복수의 디바이스로부터 각각 미리 정해진 제1 시점의 제1 상태 정보를 획득하는 단계; 상기 적어도 제1 상태 정보를 입력된 시점 이후의 상태 정보를 예측하도록 학습된 상태 추론 모델에 입력하여 상기 제1 시점으로부터 소정의 시간 간격 이후인 제2 시점의 각 디바이스의 제2 상태 정보를 획득하는 단계; 및 상기 획득된 각 디바이스의 제2 상태 정보에 기초하여, 상기 각 디바이스의 상기 인공신경망의 추론 분산 비율을 결정하는 단계를 포함하되, 상기 전자 장치는 상기 복수의 디바이스의 네트워크 상태에 기초하여 상기 복수의 디바이스 중에서 결정된 것일 수 있다.
상기 제1 상태 정보 및 제2 상태 정보는, 각 디바이스의 CPU(center processing unit)의 사용률, GPU의 사용률, CPU의 온도, GPU의 온도, 실행 중인 어플리케이션(application)의 개수 및 경과 시간(elapsed time) 중 적어도 하나를 포함할 수 있다.
상기 제2 상태 정보는, 경과 시간을 포함하고, 상기 추론 분산 비율을 결정하는 단계는, 각 디바이스의 상기 경과 시간의 역수를 정규화(normalization)하는 단계; 및 상기 정규화된 경과 시간의 역수를 상기 인공신경망의 추론 분산 비율로 결정하는 단계를 포함할 수 있다.
상기 제1 상태 정보를 획득하는 단계는, 상기 제1 시점에서 소정의 어플리케이션 실행 여부, 화면 켜짐 여부 및 카메라 실행 여부 중 적어도 하나를 포함하는 제3 상태 정보를 획득하는 단계를 더 포함하고, 상기 제2 상태 정보를 획득하는 단계는, 상기 상태 추론 모델에 상기 제3 상태 정보를 더 입력하여 상기 제2 상태 정보를 획득하는 단계를 포함할 수 있다.
상기 방법은, 각 디바이스에 상기 결정된 추론 분산 비율 및 상기 인공신경망의 추론 시작점을 전송하는 단계를 더 포함할 수 있다.
상기 방법은, 상기 인공신경망을 상기 결정된 추론 분산 비율에 따라 분할하는 단계; 상기 분할된 인공신경망을 상기 추론 분산 비율에 대응되는 각 디바이스에 전송하는 단계를 더 포함할 수 있다.
상기 상태 추론 모델은, 소정의 제3 시점의 학습용 상태 정보 및 상기 소정의 제3 시점으로부터 소정의 시간 간격 이후인 제4 시점의 정답용 상태 정보를 입력으로 하여, 회귀 (regression) 학습된 것일 수 있다.
상기 네트워크 상태는, 상기 복수의 디바이스 중에서 임의로 선정된 제1 디바이스가 상기 제1 디바이스와는 상이한 각 디바이스로부터 수신한 테스트 정보에 의한 각 디바이스의 네트워크 I/O(input/output) 패킷량일 수 있다.
상기 전자 장치는, 상기 복수의 디바이스 중에서 네트워크 I/O 패킷량이 소정의 패킷량 이하인 적어도 하나의 후보 디바이스가 선정되고, 상기 적어도 하나의 후보 디바이스 중에서 유선 네트워크로 연결된 하나의 후보 디바이스일 수 있다.
상기 전자 장치는, 상기 적어도 하나의 후보 디바이스 중에서 GPU 처리량이 가장 높은 후보 디바이스일 수 있다.
기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적 저장매체'는 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다. 예로, '비일시적 저장매체'는 데이터가 임시적으로 저장되는 버퍼를 포함할 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 컴퓨터 판독 가능한 매체는, 하나 이상의 프로그램 코드(code)를 포함할 수 있다. 하나 이상의 프로그램 코드는 전자 장치에서 실행될 때, 상기 전자 장치를 포함하는 복수의 디바이스로부터 각각 미리 정해진 제1 시점의 제1 상태 정보를 획득하는 단계; 상기 적어도 제1 상태 정보를 입력된 시점 이후의 상태 정보를 예측하도록 학습된 상태 추론 모델에 입력하여 상기 제1 시점으로부터 소정의 시간 간격 이후인 제2 시점의 각 디바이스의 제2 상태 정보를 획득하는 단계; 및 상기 획득된 각 디바이스의 제2 상태 정보에 기초하여, 상기 각 디바이스의 상기 인공신경망의 추론 분산 비율을 결정하는 단계를 포함하는 방법을 실행하되, 상기 전자 장치는 상기 복수의 디바이스의 네트워크 상태에 기초하여 상기 복수의 디바이스 중에서 결정된 것일 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서 개시된, 기록매체는, 개시된 방법의 실시예들 중에서 적어도 하나를 실행시키기 위한 프로그램이 저장된 것일 수 있다.
일 실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어를 통해 또는 두개의 사용자 장치들(예: 스마트폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품(예: 다운로더블 앱(downloadable app))의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
이상에서 본 발명의 실시예를 첨부 도면을 참조하여 도시하고 설명하였다. 본 명세서 및 도면에 개시된 실시예들은 개시의 기술적 내용을 쉽게 설명하고 개시의 이해를 돕기 위해 구체적인 예를 제공하기 위한 것일 뿐, 개시의 범위를 한정하려는 것은 아니다. 당업자는 본 발명의 기술적 사상이나 본질적인 특징을 변경하지 않고, 첨부된 청구범위 및 그 균등물에 의해 청구되는 개시의 요지를 벗어나지 않는 범위에서 다른 구체적인 형태로 용이하게 변형될 수 있음을 이해할 것이다. 따라서, 본 발명의 범위는 여기에 개시된 실시예 외에도 본 발명의 기술적 사상에 기초하여 도출되는 모든 변경 또는 수정된 것을 포함하는 것으로 해석되어야 한다.
Claims (15)
- 전자 장치(100)에 있어서,상태 추론 모델 및 적어도 하나의 인스트럭션이 저장된 메모리(110);송수신부(130); 및상기 하나 이상의 인스트럭션들을 실행하는 적어도 하나의 프로세서(120)를 포함하고,상기 적어도 하나의 프로세서(120)는,상기 송수신부(130)를 통해 복수의 디바이스 각각으로부터 제1 시점에서 제1 상태 정보를 획득하고,상기 제1 상태 정보를 상기 상태 추론 모델에 입력하여 상기 제1 시점으로부터 소정의 시간 간격 이후인 제2 시점의 복수의 디바이스 각각의 제2 상태 정보를 획득하고,상기 획득된 각 디바이스의 제2 상태 정보에 기초하여, 상기 복수의 디바이스 각각의 상기 인공신경망의 추론 분산 비율을 결정하되,상기 전자 장치(100)는 상기 복수의 디바이스의 네트워크 상태에 기초하여 상기 복수의 디바이스 중에서 결정된 것인, 전자 장치.
- 제1항에 있어서,상기 제1 상태 정보 및 제2 상태 정보는,상기 복수의 디바이스 각각의 CPU(center processing unit)의 사용률, GPU(graphic processing unit)의 사용률, CPU의 온도, GPU의 온도, 실행 중인 어플리케이션(application)의 개수 및 경과 시간(elapsed time) 중 적어도 하나를 포함하는, 전자 장치.
- 제1항 또는 제2항에 있어서,상기 제2 상태 정보는,경과 시간을 포함하고,상기 적어도 하나의 프로세서(120)는,상기 복수의 디바이스 각각의 상기 경과 시간의 역수를 정규화하고,상기 정규화된 경과 시간의 역수를 상기 복수의 디바이스 각각의 상기 인공신경망의 추론 분산 비율로 결정하는, 전자 장치.
- 제1항 내지 제3항 중 어느 한 항에 있어서,상기 적어도 하나의 프로세서(120)는,상기 제1 시점에서 소정의 어플리케이션 실행 여부, 화면 켜짐 여부 및 카메라 실행 여부 중 적어도 하나를 포함하는 제3 상태 정보를 더 획득하고,상기 상태 추론 모델에 상기 제3 상태 정보를 더 입력하여 상기 제2 상태 정보를 획득하는, 전자 장치.
- 제1항 내지 제4항 중 어느 한 항에 있어서,상기 적어도 하나의 프로세서(120)는,상기 복수의 디바이스 각각에 상기 결정된 추론 분산 비율 및 상기 인공신경망의 추론 시작점을 상기 송수신부(130)를 통해 전송하는, 전자 장치.
- 제1항 내지 제5항 중 어느 한 항에 있어서,상기 적어도 하나의 프로세서(120)는,상기 인공신경망을 상기 결정된 추론 분산 비율에 따라 분할하고,상기 분할된 인공신경망을 상기 추론 분산 비율에 대응되는 상기 복수의 디바이스 각각에 송수신부(130)를 통해 전송하는, 전자 장치.
- 제1항 내지 제6항 중 어느 한 항에 있어서,상기 상태 추론 모델은,제3 시점의 학습용 상태 정보 및 상기 제3 시점으로부터 소정의 시간 간격 이후인 제4 시점의 정답용 상태 정보를 입력으로 하여, 회귀 (regression) 학습된 것인, 전자 장치.
- 제1항 내지 제7항 중 어느 한 항에 있어서,상기 네트워크 상태는,제1 디바이스가 상기 제1 디바이스를 제외한 상기 복수의 디바이스 각각으로부터 수신한 테스트 정보에 의한 각 디바이스의 네트워크 I/O(input/output) 패킷량이고,상기 제1 디바이스는 상기 복수의 디바이스 중에서 임의로 선정된 것인, 전자 장치.
- 제8항에 있어서,상기 전자 장치(100)는,상기 복수의 디바이스 중에서 네트워크 I/O 패킷량이 소정의 패킷량 이하인 적어도 하나의 후보 디바이스가 선정되고, 상기 적어도 하나의 후보 디바이스 중에서 유선 네트워크로 연결된 하나의 후보 디바이스인, 전자 장치.
- 제9항에 있어서,상기 전자 장치(100)는,상기 적어도 하나의 후보 디바이스 중에서 GPU 처리량이 가장 높은 후보 디바이스인, 전자 장치.
- 전자 장치(100)에 의해 수행되는 방법에 있어서,상기 전자 장치(100)를 포함하는 복수의 디바이스 각각으로부터 제1 시점의 제1 상태 정보를 획득하는 단계(S1010);상기 제1 상태 정보를 상태 추론 모델에 입력하여 상기 제1 시점으로부터 소정의 시간 간격 이후인 제2 시점의 상기 복수의 디바이스 각각의 제2 상태 정보를 획득하는 단계(S1020); 및상기 획득된 각 디바이스의 제2 상태 정보에 기초하여, 상기 복수의 디바이스 각각의 상기 인공신경망의 추론 분산 비율을 결정하는 단계(S1030)를 포함하되,상기 전자 장치(100)는 상기 복수의 디바이스의 네트워크 상태에 기초하여 상기 복수의 디바이스 중에서 결정된 것인, 방법.
- 제11항에 있어서,상기 제1 상태 정보 및 제2 상태 정보는,상기 복수의 디바이스 각각의 CPU(center processing unit)의 사용률, GPU의 사용률, CPU의 온도, GPU의 온도, 실행 중인 어플리케이션(application)의 개수 및 경과 시간(elapsed time) 중 적어도 하나를 포함하는, 방법.
- 제11항 또는 제12항에 있어서,상기 제2 상태 정보는,경과 시간을 포함하고,상기 추론 분산 비율을 결정하는 단계(S1030)는,상기 복수의 디바이스 각각의 상기 경과 시간의 역수를 정규화(normalization)하는 단계; 및상기 정규화된 경과 시간의 역수를 상기 복수의 디바이스 각각의 상기 인공신경망의 추론 분산 비율로 결정하는 단계를 포함하는, 방법.
- 제11항 내지 제13항 중 어느 한 항에 있어서,상기 네트워크 상태는,제1 디바이스가 상기 제1 디바이스를 제외한 상기 복수의 디바이스 각각으로부터 수신한 테스트 정보에 의한 각 디바이스의 네트워크 I/O(input/output) 패킷량이고,상기 제1 디바이스는 상기 복수의 디바이스 중에서 임의로 선정된 것인, 방법.
- 방법을 수행하기 위해 프로세서에 의해 실행가능한 컴퓨터 판독가능한 프로그램 코드 또는 명령을 저장하기 위한 컴퓨터 판독가능 기록매체로서, 상기 방법은,전자 장치(100)를 포함하는 복수의 디바이스 각각으로부터 제1 시점의 제1 상태 정보를 획득하는 단계(S1010);상기 제1 상태 정보를 상태 추론 모델에 입력하여 상기 제1 시점으로부터 소정의 시간 간격 이후인 제2 시점의 상기 복수의 디바이스 각각의 제2 상태 정보를 획득하는 단계(S1020); 및상기 획득된 각 디바이스의 제2 상태 정보에 기초하여, 상기 복수의 디바이스 각각의 상기 인공신경망의 추론 분산 비율을 결정하는 단계(S1030)를 포함하되,상기 전자 장치(100)는 상기 복수의 디바이스의 네트워크 상태에 기초하여 상기 복수의 디바이스 중에서 결정된 것인, 컴퓨터 판독가능 기록 매체.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US18/210,967 US20230409878A1 (en) | 2022-06-17 | 2023-06-16 | Electronic device for determining inference distribution ratio of artificial neural network and operating method of the electronic device |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2022-0074445 | 2022-06-17 | ||
KR20220074445 | 2022-06-17 | ||
KR1020220141761A KR20230173569A (ko) | 2022-06-17 | 2022-10-28 | 인공신경망의 분산 추론 비율 결정 전자 장치 및 그 동작 방법 |
KR10-2022-0141761 | 2022-10-28 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US18/210,967 Continuation US20230409878A1 (en) | 2022-06-17 | 2023-06-16 | Electronic device for determining inference distribution ratio of artificial neural network and operating method of the electronic device |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2023243896A1 true WO2023243896A1 (ko) | 2023-12-21 |
Family
ID=89191593
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2023/007112 WO2023243896A1 (ko) | 2022-06-17 | 2023-05-24 | 인공신경망의 추론 분산 비율 결정 전자 장치 및 그 동작 방법 |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2023243896A1 (ko) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012008699A (ja) * | 2010-06-23 | 2012-01-12 | Nippon Telegr & Teleph Corp <Ntt> | 状態予測装置、状態予測方法および状態予測プログラム |
JP5443686B2 (ja) * | 2007-12-18 | 2014-03-19 | 新日鉄住金ソリューションズ株式会社 | 情報処理装置、情報処理方法及びプログラム |
KR20190093785A (ko) * | 2018-01-16 | 2019-08-12 | 국민대학교산학협력단 | IoT 환경에서의 적응적 머신러닝 수행 방법 |
KR20190113928A (ko) * | 2017-03-24 | 2019-10-08 | 구글 엘엘씨 | 강화 학습을 통한 디바이스 배치 최적화 |
KR20210100335A (ko) * | 2020-02-06 | 2021-08-17 | 삼성전자주식회사 | 멀티 디바이스 기반 추론 방법 및 장치 |
-
2023
- 2023-05-24 WO PCT/KR2023/007112 patent/WO2023243896A1/ko unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5443686B2 (ja) * | 2007-12-18 | 2014-03-19 | 新日鉄住金ソリューションズ株式会社 | 情報処理装置、情報処理方法及びプログラム |
JP2012008699A (ja) * | 2010-06-23 | 2012-01-12 | Nippon Telegr & Teleph Corp <Ntt> | 状態予測装置、状態予測方法および状態予測プログラム |
KR20190113928A (ko) * | 2017-03-24 | 2019-10-08 | 구글 엘엘씨 | 강화 학습을 통한 디바이스 배치 최적화 |
KR20190093785A (ko) * | 2018-01-16 | 2019-08-12 | 국민대학교산학협력단 | IoT 환경에서의 적응적 머신러닝 수행 방법 |
KR20210100335A (ko) * | 2020-02-06 | 2021-08-17 | 삼성전자주식회사 | 멀티 디바이스 기반 추론 방법 및 장치 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2019245186A1 (ko) | 전자 장치 및 그의 제어 방법 | |
EP3022628A1 (en) | Mobile terminal and method of determining and displaying power efficiency of an application | |
WO2023153821A1 (en) | Method of compressing neural network model and electronic apparatus for performing the same | |
EP3906700A1 (en) | Electronic apparatus and controlling method thereof | |
WO2016111502A1 (en) | System and method for transmitting information about task to external device | |
WO2020222347A1 (ko) | 가상 머신 배치 방법 및 이를 구현하는 가상 머신 배치 장치 | |
WO2023243896A1 (ko) | 인공신경망의 추론 분산 비율 결정 전자 장치 및 그 동작 방법 | |
WO2018124464A1 (ko) | 전자 장치 및 전자 장치의 검색 서비스 제공 방법 | |
WO2019190171A1 (ko) | 전자 장치 및 그 제어 방법 | |
WO2024112108A1 (ko) | 실시간 drm 기반 영상 스트리밍 시스템 및 그의 영상 스트리밍 방법 | |
WO2023033538A1 (ko) | 전자 장치 및 전자 장치의 제어 방법 | |
WO2023059105A1 (en) | Method or apparatus for performing communication load balancing with multi-teacher reinforcement learning | |
WO2022139230A1 (ko) | 무선 통신 시스템에서 스플릿 포인트를 조정하는 방법 및 장치 | |
WO2022177162A1 (ko) | 어플리케이션의 모델 파일을 초기화하는 프로세서 및 이를 포함하는 전자 장치 | |
WO2021201365A1 (ko) | 전자 장치 및 그 제어 방법 | |
WO2022102886A1 (en) | Electronic device for distributed processing of artificial intelligence model and operation method of the electronic device | |
WO2021107488A1 (en) | Server and method for controlling server | |
WO2024111809A1 (ko) | 인공신경망의 분할 추론을 통한 추론 작업 수행의 제어 방법 및 장치 | |
WO2022039292A1 (ko) | 무선 가상현실을 위한 캐시 업데이트 및 대역폭 할당을 제공하는 엣지 컴퓨팅 방법, 전자 장치 및 시스템 | |
WO2020213885A1 (en) | Server and control method thereof | |
EP3918477A1 (en) | Processing computational models in parallel | |
WO2023182596A1 (en) | Method and apparatus for classifying images using an artificial intelligence model | |
WO2023182677A1 (ko) | 사용자 선호 콘텐트를 생성하는 전자 장치 및 그 동작 방법 | |
WO2024090897A1 (ko) | Iot 디바이스 제어 장치 및 제어 방법 | |
WO2021080149A1 (ko) | 스케일러블 딥 러닝 네트워크를 구동하는 전자 장치, 사용자 단말 및 방법 |
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: 23824117 Country of ref document: EP Kind code of ref document: A1 |