APPARATUS AND METHOD FOR MANAGING ARTIFICIAL INTELLIGENCE OPERATION BASED ON ANALOG DEVICE

Abstract

Disclosed herein is an apparatus and method for managing an Artificial Intelligence (AI) operation based on an analog device. The method may include setting a first layer list to use an analog operation unit and analog memory based on a performance improvement effect obtained by using the analog operation unit, among layers constituting an AI model, setting a second layer list to use a digital operation unit and the analog memory based on a digital memory saving effect obtained by using the analog memory, among remaining layers excluding the first layer list from the layers constituting the AI model, and setting remaining layers excluding the first layer list and the second layer list from the layers constituting the AI model as a third layer list to use digital memory and the digital operation unit.

Claims

1. A method for managing an Artificial Intelligence (AI) operation based on an analog device, comprising: setting a first layer list to use an analog operation unit and analog memory based on a performance improvement effect obtained by using the analog operation unit, among layers constituting an AI model; setting a second layer list to use a digital operation unit and the analog memory based on a digital memory saving effect obtained by using the analog memory, among remaining layers excluding the first layer list from the layers constituting the AI model; and setting remaining layers excluding the first layer list and the second layer list from the layers constituting the AI model as a third layer list to use digital memory and the digital operation unit.

2. The method of claim 1, further comprising: performing profiling for each of the layers constituting the AI model before setting the first layer list, setting the second layer list, and setting the remaining layers as the third layer list, wherein performing the profiling comprises measuring the performance improvement effect and the digital memory saving effect for each of the layers in advance.

3. The method of claim 2, wherein performing the profiling comprises measuring inference performance and accuracy when all of the layers constituting the AI model use the digital operation unit and the digital memory, measuring inference performance and accuracy when only one of the layers constituting the AI model uses the analog memory, and measuring inference performance and accuracy when only one of the layers constituting the AI model uses the analog operation unit and the analog memory, and measuring the inference performance and the accuracy when using the analog memory and measuring the inference performance and the accuracy when using the analog operation unit and the analog memory are repeatedly performed for each of the layers constituting the AI model.

4. The method of claim 1, further comprising: before setting the first layer list, setting a tolerance that is an accuracy decrease tolerated by a user; and initializing a cumulative error inferred based on a profiling result for a combination of an operation unit and memory in the analog device.

5. The method of claim 4, wherein setting the first layer list comprises selecting a layer that achieves a highest performance improvement effect by using the analog operation unit from among the layers constituting the AI model; and including the selected layer in the first layer list or a second phase list depending on whether the cumulative error updated by adding a previous cumulative error and an additional error caused due to use of the analog operation unit by the selected layer is equal to or less than the tolerance, and setting the first layer list is repeatedly performed for each of layers included in a first phase list.

6. The method of claim 5, wherein setting the second layer list comprises selecting a layer that achieves a highest digital memory saving effect by using the analog memory from among the remaining layers excluding the first layer list from the layers constituting the AI model; and including the selected layer in the second layer list when the cumulative error updated by adding a previous cumulative error and an additional error caused due to use of the analog memory by the selected layer is equal to or less than the tolerance, and setting the second layer list is repeatedly performed for each of layers included in the second phase list.

7. A method for managing an Artificial Intelligence (AI) operation based on an analog device, comprising: when an operation target layer of an AI model is set to use analog memory, checking time elapsed after the corresponding layer is written to the analog memory; and when the checked elapsed time is equal to or greater than a predetermined threshold value, refreshing the analog memory and determining to use a digital operation unit.

8. The method of claim 7, further comprising: when the checked elapsed time is less than the predetermined threshold value, determining to use the digital operation unit or analog operation unit set to be used for the corresponding layer.

9. The method of claim 7, further comprising: when the operation target layer is set to use digital memory in the AI model, determining to use the digital operation unit and digital memory set to be used for the corresponding layer.

10. An apparatus for managing an Artificial Intelligence (AI) operation based on an analog device, comprising: an analog device including a digital operation unit, digital memory, and an analog operation unit; and a control unit for controlling execution of an AI model in the analog device, wherein the control unit includes a profiling unit for measuring in advance a performance improvement effect obtained by using the analog operation unit and a digital memory saving effect obtained by using analog memory for each of layers constituting the AI model, an operation-unit-memory optimal combination setting unit for setting one of a combination of the analog operation unit and the analog memory, a combination of the digital operation unit and the analog memory, and a combination of the digital operation unit and the digital memory as a combination to be used for each of the layers constituting the AI model, and an operation-unit-memory execution combination determination unit for determining a combination of an operation unit and memory to be executed in the analog device for each of the layers constituting the AI model based on a result of a previously set optimal combination of an operation unit and memory.

11. The apparatus of claim 10, wherein the profiling unit measures inference performance and accuracy when all of the layers constituting the AI model use the digital operation unit and the digital memory, measures inference performance and accuracy when only one of the layers constituting the AI model uses the analog memory, and measures inference performance and accuracy when only one of the layers constituting the AI model uses the analog operation unit and the analog memory, and measuring the inference performance and the accuracy when using the analog memory and measuring the inference performance and the accuracy when using the analog operation unit and the analog memory are repeatedly performed for each of the layers constituting the AI model.

12. The apparatus of claim 10, wherein the operation-unit-memory optimal combination setting unit sets a first layer list to use the analog operation unit and the analog memory based on the performance improvement effect obtained by using the analog operation unit, among the layers constituting the AI model, sets a second layer list to use the digital operation unit and the analog memory based on the digital memory saving effect obtained by using the analog memory, among remaining layers excluding the first layer list from the layers constituting the AI model, and sets remaining layers excluding the first layer list and the second layer list from the layers constituting the AI model as a third layer list to use the digital memory and the digital operation unit.

13. The apparatus of claim 12, wherein the operation-unit-memory optimal combination setting unit initializes a cumulative error inferred based on a profiling result for a combination of an operation unit and memory in the analog device before setting the first layer list.

14. The apparatus of claim 13, wherein when setting the first layer list, the operation-unit-memory optimal combination setting unit selects a layer that achieves a highest performance improvement effect by using the analog operation unit from among the layers constituting the AI model and includes the selected layer in the first layer list or a second phase list depending on whether the cumulative error updated by adding a previous cumulative error and an additional error caused due to use of the analog operation unit by the selected layer is equal to or less than a tolerance, and setting the first layer list is repeatedly performed for each of layers included in a first phase list.

15. The apparatus of claim 14, wherein the operation-unit-memory optimal combination setting unit selects a layer that achieves a highest digital memory saving effect by using the analog memory from among the remaining layers excluding the first layer list from the layers constituting the AI model and includes the selected layer in the second layer list when the cumulative error updated by adding a previous cumulative error and an additional error caused due to use of the analog memory by the selected layer is equal to or less than the tolerance, and setting the second layer list is repeatedly performed for each of layers included in the second phase list.

16. The apparatus of claim 10, wherein the operation-unit-memory execution combination determination unit checks time elapsed after an operation target layer of the AI model is written to the analog memory when the corresponding layer is set to use the analog memory, and refreshes the analog memory and determines to use the digital operation unit when the checked elapsed time is equal to or greater than a predetermined threshold value.

17. The apparatus of claim 16, wherein, when the checked elapsed time is less than the predetermined threshold value, the operation-unit-memory execution combination determination unit determines to use the digital operation unit or analog operation unit set to be used for the corresponding layer.

18. The apparatus of claim 17, wherein, when the operation target layer is set to use the digital memory in the AI model, the operation-unit-memory execution combination determination unit determines to use the digital operation unit and digital memory set to be used for the corresponding layer.

Description

BRIEF DESCRIPTION OF THE DRAWINGS

[0040] The above and other objects, features, and advantages of the present disclosure will be more clearly understood from the following detailed description taken in conjunction with the accompanying drawings, in which:

[0041] FIG. 1 is an exemplary view of an analog device to which an embodiment is applied;

[0042] FIG. 2 is a schematic block diagram of an apparatus for managing an AI operation based on an analog device according to an embodiment;

[0043] FIG. 3 is a flowchart for explaining a method for managing an AI operation based on an analog device according to an embodiment;

[0044] FIG. 4 is a flowchart for explaining in detail a profiling step according to an embodiment;

[0045] FIGS. 5 and 6 are flowcharts for explaining in detail a step of searching for an optimal combination of an operation unit and memory according to an embodiment; and

[0046] FIG. 7 is a flowchart for explaining in detail a step of determining an execution combination of an operation unit and memory according to an embodiment.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0047] The advantages and features of the present disclosure and methods of achieving them will be apparent from the following exemplary embodiments to be described in more detail with reference to the accompanying drawings. However, it should be noted that the present disclosure is not limited to the following exemplary embodiments, and may be implemented in various forms. Accordingly, the exemplary embodiments are provided only to disclose the present disclosure and to let those skilled in the art know the category of the present disclosure, and the present disclosure is to be defined based only on the claims. The same reference numerals or the same reference designators denote the same elements throughout the specification.

[0048] It will be understood that, although the terms first, second, etc. may be used herein to describe various elements, these elements are not intended to be limited by these terms. These terms are only used to distinguish one element from another element. For example, a first element discussed below could be referred to as a second element without departing from the technical spirit of the present disclosure.

[0049] The terms used herein are for the purpose of describing particular embodiments only and are not intended to limit the present disclosure. As used herein, the singular forms are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms comprises, comprising,, includes and/or including, when used herein, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.

[0050] Unless differently defined, all terms used herein, including technical or scientific terms, have the same meanings as terms generally understood by those skilled in the art to which the present disclosure pertains. Terms identical to those defined in generally used dictionaries should be interpreted as having meanings identical to contextual meanings of the related art, and are not to be interpreted as having ideal or excessively formal meanings unless they are definitively defined in the present specification.

[0051] FIG. 1 is an exemplary view of an analog device to which an embodiment is applied.

[0052] Referring to FIG. 1, the analog device 100 according to an embodiment may include a digital operation unit 110, digital memory 120, and an analog operation unit 130.

[0053] Here, the digital operation unit 110 may be any of digital-based operation units, such as a CPU, a GPU, an NPU, and the like.

[0054] In the crossbar of the analog operation unit 130, only matrix-vector multiplication operations can be performed. Therefore, when a device is designed, the device includes a digital operation unit or a circuit for digital operations.

[0055] Also, memory cells in the analog operation unit 130 are usually used to store matrix element values, and because the write time is long, compared to DRAM and the like, buffers for storing input values or intermediate result values may be included in the form of digital memory. The digital memory 120 may encompass this.

[0056] Also, one or more Analog Processing Elements (APEs) 131 may be included in the analog operation unit 130.

[0057] Each of the Analog Processing Elements (APEs) 131 includes one or more crossbar arrays 131a, a Digital-to-Analog Converter (DAC) 131b, and an Analog-to-Digital Converter (ADC) 131c.

[0058] Here, the crossbar array 131a refers to analog memory cells configured in a lattice form.

[0059] The embodiment provides an apparatus and method for optimizing performance while maintaining the accuracy of an AI operation at a certain level based on the above-described analog device 100.

[0060] FIG. 2 is a schematic block diagram of an apparatus for managing an AI operation based on an analog device according to an embodiment.

[0061] Referring to FIG. 2, the apparatus for managing an AI operation based on an analog device may include an analog device 100 and a control unit 10 for controlling execution of an AI model in the analog device 100. Additionally, the apparatus for managing an AI operation based on an analog device may further include a storage unit 20.

[0062] Here, the control unit 10 may be implemented using various types of controllers, microprocessors, or general-purpose processors, which execute a program or processing instructions. Also, the control unit 10 may be configured such that the operation thereof is performed by the digital operation unit 110 of the analog device 100, rather than being separately configured as illustrated in FIG. 2.

[0063] The storage unit 20 may be a storage medium including at least one of a volatile medium, a nonvolatile medium, a detachable medium, a non-detachable medium, a communication medium, or an information delivery medium, or a combination thereof. Also, the storage unit 20 may be configured such that the functions thereof are performed by the digital memory 120 of the analog device 100, rather than being separately configured as illustrated in FIG. 2.

[0064] According to an embodiment, the control unit 10 may include a profiling unit 11, an operation-unit-memory optimal combination setting unit 12, and an operation-unit-memory execution combination determination unit 13.

[0065] The profiling unit 11 measures in advance the performance improvement effect obtained by using the analog operation unit and the digital memory saving effect obtained by using the analog memory for each of layers constituting the AI model.

[0066] Here, profiling data generated by the profiling unit 11 may be stored in the storage unit 20. The detailed operation of the profiling unit 11 will be described later with reference to FIG. 4.

[0067] The operation-unit-memory optimal combination setting unit 12 sets one of a combination of the analog operation unit and the analog memory, a combination of the digital operation unit and the analog memory, and a combination of the digital operation unit and the digital memory as the combination to be used for each of the layers constituting the AI model.

[0068] Here, data on the optimal combination of the operation unit and the memory for each of the layers constituting the AI model, which is set by the operation-unit-memory optimal combination setting unit 12, may be stored in the storage unit 20. The detailed operation of the operation-unit-memory optimal combination setting unit 12 will be described later with reference to FIGS. 5 and 6.

[0069] The operation-unit-memory execution combination determination unit 13 may determine a combination of the operation unit and memory to be executed for each of the layers constituting the AI model in the analog device based on the previously set optimal combination of the operation unit and the memory. The detailed operation of the operation-unit-memory execution combination determination unit 13 will be described later with reference to FIG. 7.

[0070] FIG. 3 is a flowchart for explaining a method for managing an AI operation based on an analog device according to an embodiment.

[0071] Referring to FIG. 3, the method for managing an AI operation based on an analog device according to an embodiment may include a profiling step S200 (FIG. 4) for measuring in advance a performance improvement effect obtained by using an analog operation unit and a digital memory saving effect obtained by using analog memory for each of layers constituting an AI model, an operation-unit-memory optimal combination setting step S300 (FIGS. 6 and 7) for setting one of a combination of an analog operation unit and analog memory, a combination of a digital operation unit and analog memory, and a combination of a digital operation unit and digital memory as the combination to be used for each of the layers constituting the AI model, and an operation-unit-memory execution combination determination step S400 (FIG. 8) for determining a combination of the operation unit and memory to be executed for each of the layers constituting the AI model in the analog device based on the previously set optimal combination of the operation unit and memory.

[0072] FIG. 4 is a flowchart for explaining in detail a profiling step according to an embodiment.

[0073] Referring to FIG. 4, the profiling step S200 according to an embodiment may include measuring inference performance and accuracy when all layers constituting an AI model use a digital operation unit and digital memory at step S210, measuring inference performance and accuracy when only one of the layers constituting the AI model uses analog memory at step S220, and measuring inference performance and accuracy when only one of the layers constituting the AI model uses an analog operation unit and the analog memory at step S230.

[0074] First, at step S210 according to an embodiment, the profiling unit 11 stores the parameters of all of the layers of the AI model in the digital memory and measures the speed of AI inference using the digital operation unit and the accuracy for the test set of input values.

[0075] Subsequently, at step S220 according to an embodiment, the profiling unit 11 measures the speed of AI inference and the accuracy for the test set of input values in an environment in which, for one of the layers of the AI model, the parameters thereof are stored in the analog memory and the digital operation unit is used for the operation, while for all of the remaining layers, the parameters thereof are stored in the digital memory and the digital operation unit is used.

[0076] Here, the profiling unit 11 performs step S220 once for each of the layers of the AI model.

[0077] Finally, at step S230 according to an embodiment, the profiling unit 11 measures the speed of AI inference and the accuracy for the test set of input values in an environment in which, for one of the layers of the AI model, the parameters thereof are stored in the analog memory and the analog operation unit is used for the operation, while for all of the remaining layers, the parameters thereof are stored in the digital memory and the digital operation unit is used.

[0078] Here, the profiling unit 11 performs step S230 once for each of the layers of the AI model.

[0079] By performing the above-described profiling step S200, it is possible to obtain the inference performance and accuracy when all the layers use the digital operation unit and the digital memory, the inference performance and accuracy when only a specific layer uses the analog memory, and the inference performance and accuracy when only a specific layer uses the analog operation unit and the analog memory.

[0080] Accordingly, when an analog device is used, there are three options for each of the layers of the AI model.

[0081] That is, the digital operation unit and the digital memory can be used, the digital operation unit and the analog memory can be used in order to only save memory capacity, and the analog operation unit and the analog memory can be used in order to save the memory capacity and improve the performance.

[0082] However, 3.sup.N cases are possible when there are N layers, and all of the cases have different accuracy. Accordingly, it is not easy to find an optimal combination.

[0083] Therefore, the operation-unit-memory optimal combination setting step S300 is performed in the method for managing an AI operation based on an analog device according to an embodiment.

[0084] FIGS. 5 and 6 are flowcharts for explaining in detail a step of searching for the optimal combination of an operation unit and memory according to an embodiment.

[0085] Referring to FIGS. 5 and 6, the optimal combination search step S300 according to an embodiment may include setting a first layer list to use an analog operation unit and analog memory based on a performance improvement effect obtained by using the analog operation unit, among layers constituting an AI model, at steps S320 to S340, setting a second layer list to use a digital operation unit and the analog memory based on a digital memory saving effect obtained by using the analog memory, among the remaining layers excluding the first layer list from the layers constituting the AI model, at steps S345 to S370, setting the remaining layers excluding the first layer list and the second layer list from the layers constituting the AI model as a third layer list to use digital memory and the digital operation unit at step S375.

[0086] That is, through the optimal combination search step S300 according to an embodiment, the combination for executing each of the layers of the AI model is selected from among the combination of the digital operation unit and the digital memory, the combination of the digital operation unit and the analog memory, and the combination of the analog operation unit and the analog memory.

[0087] In the example illustrated in FIGS. 5 and 6, it is assumed that the number of layers of the AI model is N at step S305.

[0088] Also, an accuracy decrease tolerance specified by a user is referred to as a tolerance, and an error inferred based on a profiling result for the combination that is set by searching for the optimal combination is referred to as a cumulative error.

[0089] Referring to FIGS. 5 and 6, the optimal combination search step S300 according to an embodiment includes two phases, and Phase1_list and Phase2_list are used for the two phases.

[0090] Also, the first layer list (referred to as Analog_comp_list hereinbelow) to contain the layers determined to use the analog operation unit and the analog memory, the second layer list (referred to as Analog_mem_list hereinbelow) to contain the layers determined to use the digital operation unit and the analog memory, and the third layer list (referred to as Digital_list hereinbelow) to contain the layers determined to use the digital operation unit and the digital memory are also used at step S310.

[0091] First, the operation-unit-memory optimal combination setting unit 12 (referred to as the optimal combination setting unit hereinbelow) includes all of the layers in Phase1_list and sets the cumulative error to 0 at step S315.

[0092] Here, setting the cumulative error to 0 indicates that all layers are assumed to basically use the digital operation unit and the digital memory.

[0093] The phase illustrated in FIG. 5 (Phase 1) aims to determine the layers to use the analog operation unit and the analog memory in order to achieve both performance improvement and digital memory saving.

[0094] To this end, the optimal combination setting unit 12 first selects the layer that achieves the highest performance improvement effect when using the analog operation unit from Phase1_list at step S325 and then removes the selected layer from Phase1_list at step S330.

[0095] Here, the performance improvement and the decrease in accuracy when executing the layer in the analog operation unit can be seen based on the profiling data generated at step S200 described above.

[0096] Subsequently, the optimal combination setting unit 12 determines at step S335 whether the cumulative error is equal to or less than the tolerance even though the layer is executed in the analog operation unit.

[0097] When it is determined at step S335 that the cumulative error is equal to or less than the tolerance, the optimal combination setting unit 12 includes the corresponding layer in Analog_comp_list at step S340.

[0098] Conversely, when it is determined at step S335 that the cumulative error is greater than the tolerance, the optimal combination setting unit 12 includes the corresponding layer in Phase2_list at step S345.

[0099] Steps S320 to S345 described above are repeatedly performed until there is no layer remaining in Phase1_list. That is, the optimal combination setting unit 12 performs steps S320 to S345 for all of the layers that constitute the AI model.

[0100] In Phase 1 described above, the layer selected and removed from Phase1_list is not put into Phase1_list again. Accordingly, once all of the layers are explored, Phase1_list becomes empty and Phase 1 is terminated.

[0101] After termination of Phase 1, the layers that use the analog operation unit and the analog memory are included in Analog_comp_list, and the remaining layers are included in Phase2_list.

[0102] In the second phase (Phase 2), it is checked whether accuracy is maintained above a permissible level even though the layers determined not to use the analog operation unit use the analog memory in order to save the digital memory, whereby as many layers as possible are set to use the analog memory.

[0103] That is, referring to FIG. 6, because the layers determined not to use the digital operation unit in Phase 1 are contained in Phase2_list, the optimal combination setting unit 12 considers the layers contained in Phase2_list in Phase 2.

[0104] Specifically, the optimal combination setting unit 12 selects the layer that achieves the highest digital memory saving effect when transferred to the analog memory from among the layers contained in Phase2_list at step S355 and removes the selected layer from Phase2_list at step S360.

[0105] Subsequently, the optimal combination setting unit 12 checks at step S365 whether the cumulative error when transferring the layer to the analog memory is equal to or less than the tolerance.

[0106] When it is determined at step S365 that the cumulative error is equal to or less than the tolerance, the optimal combination setting unit 12 includes the corresponding layer in Analog_mem_list, thereby setting the corresponding layer to use the analog memory and the digital operation unit at step S370.

[0107] Conversely, when it is determined at step S365 that the cumulative error is greater than the tolerance, the optimal combination setting unit 12 includes the corresponding layer in Digital_list, thereby setting the corresponding layer to use the digital memory and the digital operation unit at step S375.

[0108] Steps S350 to S375 described above are repeated until there is no layer remaining in Phase2_list. That is, these steps are repeated until all of the layers are removed from Phase2_list and moved to Analog_mem_list or Digital_list.

[0109] When the optimal combination search step S300 described above is terminated, the layers determined to use the analog operation unit and the analog memory are included in Analog_comp_list, the layers determined to use the digital operation unit and the analog memory are included in Analog_mem_list, and the layers determined to use the digital operation unit and the digital memory are included in Digital_list. Also, when the AI model is executed using the operation unit and memory set by the optimal combination search step S300, the estimated cumulative error may be less than the tolerance.

[0110] Hereinafter, the step (S400) of selecting the operation unit and memory to be used for each layer when inference using the AI model is performed will be described.

[0111] The operation-unit-memory execution combination determination unit 13 (referred to as the execution combination determination unit hereinbelow) according to an embodiment may perform step S400 each time the operation for each layer is initiated when inference is performed.

[0112] FIG. 7 is a flowchart for explaining in detail a step of determining an execution combination of an operation unit and memory according to an embodiment.

[0113] Referring to FIG. 7, the execution combination determination unit 13 selects the operation unit and memory set for the current operation target layer in the AI model at step S410.

[0114] That is, in the result of the above-described optimal combination search step S300, the layers included in Analog_comp_list or Analog_mem_list are layers set to use the analog memory, and the layers included in Digital_list are layers set not to use the analog memory.

[0115] Subsequently, the execution combination determination unit 13 determines at step S420 whether the operation target layer is set to use the analog memory.

[0116] When it is determined at step S420 that the operation target layer is set to use the digital memory, it also uses the digital operation unit, so the execution combination determination unit 13 determines at step S430 that the operation for the corresponding layer is performed using the digital operation unit and the digital memory.

[0117] Conversely, when it is determined at step S420 that the operation target layer is set to use the analog memory, the execution combination determination unit 13 calculates the time elapsed after the corresponding layer is written to the analog memory in order to consider a drift effect and then determines whether the elapsed time is equal to or greater than a predetermined threshold value at step S440.

[0118] When it is determined at step S440 that the elapsed time is less than the predetermined threshold value, the execution combination determination unit 13 determines whether to use the analog operation unit depending on the value set in the optimal combination search method at step S450.

[0119] That is, when the layer is a layer included in Analog_comp_list, the analog operation unit and the analog memory are used at step S480, and when the layer is a layer included in Analog_mem_list, the value in the analog memory is transferred to the digital memory and the digital operation unit is used at step S460.

[0120] When it is determined at step S440 that the elapsed time is equal to or greater than the predetermined threshold value, the execution combination determination unit 13 determines to perform the operation using the digital operation unit for the corresponding layer simultaneously with performing the refresh of the analog memory at step S470.

[0121] That is, the layer stored in the analog memory and required to perform the refresh is made to use the digital operation unit for the following reason.

[0122] In order to perform the refresh, it is required to read values from the analog memory, transfer the values to the digital memory, read the values from the digital memory again, and write the values to the analog memory. However, in this process, an ADC is used when reading the values from the analog memory, and a DAC is used when writing the values to the analog memory, so the analog operation cannot be performed. That is, the refresh and the analog operation have to be performed sequentially. However, after the values are transferred to the digital memory, the operation can be performed immediately through the digital operation unit, and this may be performed simultaneously with the process of reading from the digital memory for writing the values back to the analog memory. Therefore, it is more efficient to perform the operation using the digital operation unit while the values are being written to the analog memory again.

[0123] For the corresponding layer, a refresh task through which it is transferred to the digital memory and then written back to the analog memory has to be performed. In an embodiment, when the layer is transferred to the digital memory in order to perform the refresh task, the operation is performed through the digital operation unit. During the refresh operation, the ADC is used to read values from the analog memory, so the analog operation unit cannot be used. Therefore, in order to use the analog operation unit, the values have to be written to the analog memory again, and then the operation may be performed. Therefore, after the values are transferred to the digital memory, it is more efficient to perform the operation using the digital operation unit while the values are written back to the analog memory.

[0124] According to the disclosed embodiment, the operation speed of an AI model may be improved using analog computing in a computing system capable of simultaneously utilizing a digital operation unit, digital memory, and an analog memory cell array including an analog operation unit.

[0125] According to the disclosed embodiment, memory requirements of an entire system may be reduced in the computing system capable of simultaneously utilizing a digital operation unit, digital memory, and an analog memory cell array including an analog operation unit.

[0126] According to the disclosed embodiment, a decrease in the accuracy of an artificial intelligence model, which is caused due to the use of analog computing and memory, may be maintained below a user-desired level in a computing system capable of simultaneously utilizing a digital operation unit, digital memory, and an analog memory cell array including an analog operation unit.

[0127] According to the disclosed embodiment, a further decrease in accuracy, which is caused due to drift of analog memory, may be prevented in a computing system capable of simultaneously utilizing a digital operation unit, digital memory, and an analog memory cell array including an analog operation unit.