WO2024009632A1 - モデル生成装置、モデル生成方法及びプログラム - Google Patents
モデル生成装置、モデル生成方法及びプログラム Download PDFInfo
- Publication number
- WO2024009632A1 WO2024009632A1 PCT/JP2023/019002 JP2023019002W WO2024009632A1 WO 2024009632 A1 WO2024009632 A1 WO 2024009632A1 JP 2023019002 W JP2023019002 W JP 2023019002W WO 2024009632 A1 WO2024009632 A1 WO 2024009632A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- model
- individual
- base
- type
- model generation
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 81
- 238000012545 processing Methods 0.000 claims abstract description 123
- 230000008569 process Effects 0.000 claims description 71
- 238000013139 quantization Methods 0.000 claims description 16
- 238000012549 training Methods 0.000 claims description 13
- 238000013138 pruning Methods 0.000 claims description 11
- 238000004088 simulation Methods 0.000 claims description 11
- 238000010801 machine learning Methods 0.000 abstract description 23
- 238000005516 engineering process Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 21
- 238000012986 modification Methods 0.000 description 7
- 230000004048 modification Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 5
- 238000001514 detection method Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Definitions
- the present disclosure relates to a model generation device, a model generation method, and a program.
- machine learning models are being used for a variety of purposes.
- machine learning models are used on different computing resources depending on the usage environment.
- some machine learning models may be executed by a GPU (Graphics Processing Unit) or the like with high computing power, while other machine learning models may be executed by an edge computer or the like with limited computing power.
- GPU Graphics Processing Unit
- machine learning models can be constructed depending on available computational resources.
- GPUs, CPUs (Central Processing Units), FPGAs (Field Programmable Gate Arrays), etc. are used as device types for operating machine learning models, and the specifications, calculation speed, memory capacity, etc. of each device type may differ. . Therefore, it is necessary to design a machine learning model corresponding to each device type. For example, it is necessary to separately construct different machine learning models for the same task depending on the device type, and it is necessary to separately train and generate machine learning models for each device type that performs the same task.
- one objective of the present disclosure is to provide a technique for efficiently generating a machine learning model for each device type.
- One aspect of the present disclosure includes a model information acquisition unit that acquires base model information indicating a base model, and a model processing unit that can generate individual type models corresponding to each of a plurality of device types based on the base model information.
- the present invention relates to a model generation device having the following.
- a machine learning model for each device type can be efficiently generated.
- FIG. 1 is a schematic diagram illustrating a model generation system according to an embodiment of the present disclosure.
- FIG. 2 is a schematic diagram showing an example of a procedure for generating a machine learning model for each device type.
- FIG. 3 is a schematic diagram illustrating a procedure for generating a machine learning model for each device type according to an embodiment of the present disclosure.
- FIG. 4 is a block diagram showing a hardware configuration of a model generation device according to an embodiment of the present disclosure.
- FIG. 5 is a block diagram showing the functional configuration of a model generation device according to an embodiment of the present disclosure.
- FIG. 6 is a diagram illustrating individual model generation processing according to an embodiment of the present disclosure.
- FIG. 7 is a flowchart showing individual model generation processing according to an embodiment of the present disclosure.
- FIG. 1 is a schematic diagram illustrating a model generation system according to an embodiment of the present disclosure.
- FIG. 2 is a schematic diagram showing an example of a procedure for generating a machine learning model for each device type.
- FIG. 8 is a diagram illustrating individual model generation processing according to an embodiment of the present disclosure.
- FIG. 9 is a flowchart showing individual model generation processing according to an embodiment of the present disclosure.
- FIG. 10 is a diagram illustrating individual model generation processing according to an embodiment of the present disclosure.
- FIG. 11 is a flowchart showing individual model generation processing according to an embodiment of the present disclosure.
- FIG. 12 is a diagram illustrating individual model generation processing according to an embodiment of the present disclosure.
- FIG. 13 is a flowchart showing individual model generation processing according to an embodiment of the present disclosure.
- FIG. 14 is a diagram illustrating individual model generation processing according to an embodiment of the present disclosure.
- FIG. 15 is a flowchart showing individual model generation processing according to an embodiment of the present disclosure.
- FIG. 15 is a flowchart showing individual model generation processing according to an embodiment of the present disclosure.
- FIG. 16 is a diagram illustrating individual model update processing according to an embodiment of the present disclosure.
- FIG. 17 is a flowchart illustrating individual model update processing according to an embodiment of the present disclosure.
- FIG. 18 is a diagram illustrating individual model update processing according to an embodiment of the present disclosure.
- FIG. 19 is a flowchart showing individual model update processing according to an embodiment of the present disclosure.
- a model generation device upon acquiring base model information indicating a base model (e.g., architecture information, parameter information, etc. of the base model), a model generation device according to an embodiment described later generates a base model based on the acquired base model information.
- Model compression for example, branching processing, quantization, etc. is performed on the model to generate an individual type model adapted to the device type.
- FIG. 1 is a schematic diagram illustrating a model generation system 10 according to an embodiment of the present disclosure.
- the model generation system 10 includes a model database (DB) 20, a terminal 30, and a model generation device 100.
- DB model database
- the terminal 30 transmits the instruction to the model generation device 100.
- the model generation device 100 acquires base model information indicating the architecture information, parameter information, etc. of the base model for the task from the model DB 20.
- the model generation device 100 generates an individual type model corresponding to the specifications, computing power, etc. of the device type based on the acquired base model information.
- the generated individual type model may be stored in the model DB 20 and may be notified to the terminal 30 as an operation result.
- machine learning models corresponding to device types are generated by individually training machine learning models prepared for each device type, for example, as shown in FIG.
- different individual type models such as a model for GPU, a model for x86 CPU, a model for FPGA, a model for ARM CPU, etc. are prepared for specific tasks such as object detection models and anomaly detection models, and each individual type model is , are trained separately via the normal training process by the training data.
- the individual type model for each device type is designed to have a model architecture that corresponds to the specifications, computing power, etc. of the device type, and can be trained using training data.
- separate type models for each device type may be designed with a specific model architecture, trained with training data, and then weighted and/or quantized to accommodate device type specifications, computing power, etc. Can be compressed.
- a machine learning model common to device types is designed and trained as a base model for a specific task. Then, an individual type model for each device type is generated by lightweighting and/or quantizing the base model in accordance with the specifications, computing power, etc. of the device type. This allows only a common base model to be trained, reducing the cost of the training process, compared to conventional approaches that separately train and generate individual type models for each device type.
- the base model is trained in advance by a training device (not shown) different from the model generation device 100, but the model generation system 10 according to the present disclosure is not limited to this. It is not something that can be done.
- the model generation device 100 may train and maintain a base model.
- the model generation device 100 acquires base model information indicating the base model from the model DB 20, but the present disclosure is not limited to this.
- the model generation device 100 may acquire and retain the base model itself.
- the model generation device 100 may be realized by a computing device such as a server, a personal computer (PC), a smartphone, or a tablet, and may have a hardware configuration as shown in FIG. 4, for example. That is, each of the model generation devices 100 includes a drive device 101, a storage device 102, a memory device 103, a processor 104, a user interface (UI) device 105, and a communication device 106 that are interconnected via a bus B.
- a computing device such as a server, a personal computer (PC), a smartphone, or a tablet
- each of the model generation devices 100 includes a drive device 101, a storage device 102, a memory device 103, a processor 104, a user interface (UI) device 105, and a communication device 106 that are interconnected via a bus B.
- UI user interface
- Programs or instructions for realizing various functions and processes to be described later in the model generation device 100 may be stored in a removable storage medium such as a CD-ROM (Compact Disk-Read Only Memory) or a flash memory.
- a program or instruction is installed from the storage medium into the storage device 102 or the memory device 103 via the drive device 101.
- the program or instructions do not necessarily need to be installed from a storage medium, and may be downloaded from any external device via a network or the like.
- the storage device 102 is realized by a hard disk drive or the like, and stores installed programs or instructions as well as files, data, etc. used to execute the programs or instructions.
- the memory device 103 is realized by random access memory, static memory, etc., and when a program or instruction is started, reads the program or instruction, data, etc. from the storage device 102 and stores it.
- the storage device 102, the memory device 103, and the removable storage medium may be collectively referred to as a non-transitory storage medium.
- the processor 104 may be realized by one or more CPUs (Central Processing Units), GPUs (Graphics Processing Units), processing circuits, etc. that may be configured from one or more processor cores, and the memory device 1 on 03 Various functions and processes of the model generation device 100, which will be described later, are executed in accordance with stored programs, instructions, and data such as parameters necessary to execute the programs or instructions.
- CPUs Central Processing Units
- GPUs Graphics Processing Units
- processing circuits etc.
- the user interface (UI) device 105 may include input devices such as a keyboard, mouse, camera, and microphone, output devices such as a display, speaker, headset, and printer, and input/output devices such as a touch panel. It realizes an interface with the generation device 100. For example, a user operates a GUI (Graphical User Interface) displayed on a display or a touch panel using a keyboard, a mouse, etc., to operate the model generation device 100.
- GUI Graphic User Interface
- the communication device 106 is realized by various communication circuits that perform wired and/or wireless communication processing with communication networks such as external devices, the Internet, LAN (Local Area Network), and cellular networks.
- communication networks such as external devices, the Internet, LAN (Local Area Network), and cellular networks.
- model generation device 100 may be realized by any other suitable hardware configuration.
- FIG. 5 is a block diagram showing the functional configuration of the model generation device 100 according to an embodiment of the present disclosure.
- the model generation device 100 includes a model information acquisition section 110 and a model processing section 120.
- the model information acquisition unit 110 and the model processing unit 120 may be realized by one or more processors 104 executing one or more programs or instructions.
- the model information acquisition unit 110 acquires base model information indicating the base model. Specifically, the model information acquisition unit 110 acquires base model information such as architecture information and parameter information indicating a base model commonly used to generate individual type models for each device type from the model DB 20. .
- the base model is a machine learning model trained for a specific task (e.g. object detection, anomaly detection, etc.) and is typically a device type with the highest computational power, specifications, etc. (e.g. GPU etc.).
- the individual type model for each device type is a machine learning model for device types with more limited computing power, specifications, etc. (e.g. x86 CPU, FPGA, ARM CPU, etc.), making the base model lighter. and/or quantization to adapt to device type specifications, computing power, etc.
- model information acquisition unit 110 may acquire the base model itself instead of or in addition to base model information such as architecture information and parameter information of the base model.
- the model information acquisition unit 110 may extract base model information such as architecture information and parameter information from the acquired base model itself.
- the model processing unit 120 generates an individual type model corresponding to the device type based on the base model information. Specifically, the model processing unit 120 performs one or both of pruning and quantization on the base model based on the base model information, and calculates the computing power of a specific device type. , generate individual type models adapted to specifications, etc. It is possible to generate individual type models corresponding to each of multiple device types based on the base model information, for example, by using the base model information, an individual type model for GPU, an individual type model for x86 CPU, etc. It may be possible to generate four individual type models, an individual type model for FPGA, and an individual type model for ARM CPU, or it may be possible to generate any one individual type model.
- the model processing unit 120 may prune the base model by deleting connections and/or nodes where the weight between nodes in the base model is small. For example, the model processing unit 120 may prune the base model according to the amount of nodes and/or connections between nodes to be deleted corresponding to the computing power, specifications, etc. of a specific device type. This makes it possible to obtain individual type models generated by reducing the weight of the base model in accordance with the device type. Note that the specific pruning process may be performed according to any known method.
- the model processing unit 120 may express the parameters of the base model (for example, weights between nodes, parameters of activation functions, etc.) using a smaller number of bits. For example, if the weight between nodes in the base model is expressed in 32 bits, this may be quantized to 8 bits. Specifically, the model processing unit 120 may quantize the parameters of the base model according to a quantization level corresponding to the computing power, specifications, etc. of a specific device type. This makes it possible to obtain individual type models generated by quantizing the base model corresponding to the device type. Note that the specific quantization process may be performed according to any known method.
- FIG. 6 is a schematic diagram showing individual model generation processing according to an embodiment of the present disclosure.
- the model processing unit 120 executes individual model generation processing based on the base model information, and extracts a specific model from the base model. Generate individual type models corresponding to device types.
- the model processing unit 120 executes an individual model generation process corresponding to any device type, and generates an individual type model corresponding to the device type from a common base model.
- FIG. 7 is a flowchart showing individual model generation processing according to an embodiment of the present disclosure.
- the individual model generation process is executed by the model generation device 100, and more specifically, one or more processors 104 of the model generation device 100 execute one or more programs or instructions stored in one or more memory devices 103. It may be realized by executing.
- the model generation device 100 acquires base model information.
- the model information acquisition unit 110 obtains base model information (for example, architecture information, parameter information, etc.).
- base model information for example, architecture information, parameter information, etc.
- the model information acquisition unit 110 may acquire the base model itself instead of or in addition to the base model information.
- the base model may be a machine learning model built for the device type with the highest computing power, specifications, etc. (eg, GPU, etc.).
- the model generation device 100 generates an individual type model corresponding to the device type based on the base model information.
- the model generation device 100 may be able to generate an individual type model corresponding to each of a plurality of device types based on base model information, and may be able to generate a plurality of individual type models. It may be possible to generate one individual type model.
- the model processing unit 120 performs one or both of pruning and quantization on the base model based on the base model information, and calculates the computing power of a specific device type.
- a machine learning model adapted to specifications etc. may be generated as an individual type model.
- the model processing unit 120 deletes connections and/or nodes where the weight between nodes is small in the base model according to the amount of deletion of nodes and/or connections between nodes corresponding to the computing power, specifications, etc. of a specific device type. You may prune the base model by removing . Furthermore, the model processing unit 120 may quantize the weights of the base model, the parameters of the activation function, etc., according to the quantization level corresponding to the computing power, specifications, etc. of a specific device type. Note that the specific pruning process and quantization process may be performed according to any known method.
- an individual type model for a specific device type with more limited computing power, specifications, etc. can be efficiently created. can be obtained.
- the model generation unit 120 executes an individual model generation process to generate an individual type model for each device type corresponding to each of a plurality of device types, based on the base model information.
- FIG. 8 is a schematic diagram showing individual model generation processing according to an embodiment of the present disclosure.
- the model processing unit 120 processes each device type corresponding to each of the plurality of device types based on the base model information.
- the individual model generation process is executed to generate an individual type model corresponding to each device type from the base model.
- the model processing unit 120 executes three individual model generation processes corresponding to three device types A, B, and C, and generates individual models for device types A, B, and C from a common base model. Generate each model.
- the model processing unit 120 creates individual type models MA corresponding to device types A, B, and C.
- the deletion amounts RA, RB, and RC of nodes and/or connections between nodes may be set to RC>RB>RA, and the base model may be pruned.
- the model processing unit 120 performs quantum processing for individual type models MA, MB, and MC corresponding to device types A, B, and C.
- parameters of the common base model may be quantized in accordance with the quantization levels QA, QB, and QC of specifications SA, SB, and SC, and individual type models for device types A, B, and C may be generated, respectively. .
- FIG. 9 is a flowchart showing individual model generation processing according to an embodiment of the present disclosure.
- the individual model generation process is executed by the model generation device 100, and more specifically, one or more processors 104 of the model generation device 100 execute one or more programs or instructions stored in one or more memory devices 103. It may be realized by executing.
- step S201 the model generation device 100 acquires base model information.
- the model information acquisition unit 110 acquires base model information indicating a base model commonly used for a specific task from the model DB 20.
- the model generation device 100 generates individual type models corresponding to each of the plurality of device types based on the base model information. For example, when generating three individual type models corresponding to three device types A, B, and C, the model processing unit 120 performs one of pruning and quantization on the base model based on the base model information. Both may be performed to generate individual type models MA, MB, and MC adapted to the computing power, specifications, etc. of each of device types A, B, and C.
- model generation unit 120 executes the selected individual model generation process.
- FIG. 10 is a schematic diagram showing individual model generation processing according to an embodiment of the present disclosure.
- the model processing unit 120 executes the individual model generation process for the selected device type and obtains the individual type model corresponding to the individual model generation process for the device type.
- the user selects the individual model generation process for device type B among three device types A, B, and C, and the model processing unit 120 executes the individual model generation process for the selected device type B. Execute to generate an individual type model for device type B from the common base model.
- FIG. 11 is a flowchart showing individual model generation processing according to an embodiment of the present disclosure.
- the individual model generation process is executed by the model generation device 100, and more specifically, one or more processors 104 of the model generation device 100 execute one or more programs or instructions stored in one or more memory devices 103. It may be realized by executing.
- step S301 the model generation device 100 acquires base model information.
- the model information acquisition unit 110 acquires base model information indicating a base model commonly used for a specific task from the model DB 20.
- the model generation device 100 accepts the selected individual model generation process.
- the model processing unit 120 receives identification information (for example, a process ID, etc.) that identifies one or more individual model generation processes from a user or the like, and generates an individual model for the device type corresponding to the received identification information. Identify processing.
- the process of generating an individual model for a device type selected by a user etc. is executed on a base model that can be commonly used for a specific task, and the corresponding individual type model is efficiently generated. can be obtained.
- model processing unit 120 executes individual model generation processing corresponding to the selected device type.
- FIG. 12 is a schematic diagram showing individual model generation processing according to an embodiment of the present disclosure.
- the model processing unit 120 executes an individual model generation process corresponding to the selected device type, and obtains an individual type model corresponding to the selected device type.
- device type C is selected by the user among three device types A, B, and C, and the model processing unit 120 executes individual model generation processing for the selected device type C, and Generate an individual type model for device type C from the base model.
- FIG. 13 is a flowchart showing individual model generation processing according to an embodiment of the present disclosure.
- the individual model generation process is executed by the model generation device 100, and more specifically, one or more processors 104 of the model generation device 100 execute one or more programs or instructions stored in one or more memory devices 103. It may be realized by executing.
- step S401 the model generation device 100 acquires base model information.
- the model information acquisition unit 110 acquires base model information indicating a base model commonly used for a specific task from the model DB 20.
- the model generation device 100 accepts the selected device type.
- the model processing unit 120 receives identification information (e.g., device ID) for identifying one or more device types from a user or the like, and performs individual model generation processing for the device type corresponding to the received identification information. Identify.
- identification information e.g., device ID
- the model generation device 100 executes an individual model generation process corresponding to the selected device type.
- an individual model generation process corresponding to a device type selected by a user or the like is executed from a commonly available base model for a specific task, and a corresponding individual type model is efficiently generated. can be obtained.
- model processing unit 120 presents simulation results regarding individual type models to the user.
- FIG. 14 is a schematic diagram showing individual model generation processing according to an embodiment of the present disclosure.
- the model processing unit 120 holds in advance simulation results indicating performance such as prediction accuracy and calculation speed of individual type models for each device type, and allows the user to select individual model generation processing or device type. As reference information when doing so, simulation results of individual type models for each device type may be presented.
- the model processor 120 presents simulation results for three device types A, B, and C to the user.
- the model processing unit 120 executes the individual model generation process for the selected device type C, Get the individual type model for device type C.
- FIG. 15 is a flowchart showing individual model generation processing according to an embodiment of the present disclosure.
- the individual model generation process is executed by the model generation device 100, and more specifically, one or more processors 104 of the model generation device 100 execute one or more programs or instructions stored in one or more memory devices 103. It may be realized by executing.
- step S501 the model generation device 100 acquires base model information.
- the model information acquisition unit 110 acquires base model information indicating a base model commonly used for a specific task from the model DB 20.
- step S502 the model generation device 100 presents simulation results for each device type.
- the model processing unit 120 provides simulation results showing performance such as prediction accuracy and calculation speed of the individual type model for each device type as reference information when the user selects the individual model generation process or device type. It may be presented to the user.
- the model generation device 100 receives the selected individual model generation process or the selected device type.
- the model processing unit 120 receives identification information (e.g., process ID) that identifies one or more individual model generation processes from the user or the like, or identification information that identifies the device type (e.g., device ID, etc.). and identifies an individual model generation process for the device type corresponding to the received identification information.
- identification information e.g., process ID
- the device type e.g., device ID, etc.
- the model generation device 100 executes the selected individual model generation process or the individual model generation process corresponding to the selected device type.
- the simulation results regarding the individual type model of each device model are presented to the user, and the individual model generation processing or selection selected by the user etc. from base models that can be commonly used for a specific task is performed.
- the individual model generation process corresponding to the device type it is possible to efficiently obtain the corresponding individual type model.
- the model processing unit 120 may update the individual type model based on the updated base model information.
- the base model update according to this embodiment may be executed by the model generation device 100, or may be executed by a training device (not shown) different from the model generation device 100.
- FIG. 16 is a schematic diagram showing individual model update processing according to an embodiment of the present disclosure.
- the model processing unit 120 updates the base model with the updated base model.
- An individual model update process is executed based on the model information, and an individual type model corresponding to a specific device type is updated from the updated base model.
- the model processing unit 120 executes an individual model update process corresponding to any device type, and generates an individual type model corresponding to the device type from the updated common base model.
- FIG. 17 is a flowchart showing individual model update processing according to an embodiment of the present disclosure.
- the individual model update process is executed by the model generation device 100, and more specifically, one or more processors 104 of the model generation device 100 execute one or more programs or instructions stored in one or more memory devices 103. It may be realized by executing.
- the model generation device 100 acquires updated base model information.
- the model information acquisition unit 110 acquires base model information (eg, architecture information, parameter information, etc.) indicating the updated base model from the model DB 20.
- the model information acquisition unit 110 may acquire the updated base model itself instead of or in addition to the updated base model information.
- step S602 the model generation device 100 updates the individual type model corresponding to the device type based on the updated base model information.
- the model processing unit 120 performs pruning processing and/or quantization on the updated base model based on the updated base model information, and performs pruning processing and/or quantization on the updated base model. may be used to update individual type models for specific device types.
- the individual type model in response to updating the base model, can also be updated.
- the model processing unit 120 may execute an individual model update process to update an individual type model for each device type corresponding to each of a plurality of device types based on the updated base model information. .
- FIG. 18 is a schematic diagram showing individual model update processing according to an embodiment of the present disclosure.
- the model processing unit 120 updates the base model with the updated base model. Based on the model information, an individual model update process is executed for each device type corresponding to each of the plurality of device types, and the individual type model corresponding to each device type is updated from the updated base model.
- the model processing unit 120 executes three individual model update processes corresponding to three device types A, B, and C, and updates three individual type models from the updated base model.
- FIG. 19 is a flowchart showing individual model update processing according to an embodiment of the present disclosure.
- the individual model update process is executed by the model generation device 100, and more specifically, one or more processors 104 of the model generation device 100 execute one or more programs or instructions stored in one or more memory devices 103. It may be realized by executing.
- step S701 the model generation device 100 acquires updated base model information. Specifically, the model information acquisition unit 110 acquires base model information indicating the updated base model from the model DB 20.
- the model generation device 100 updates the individual type model corresponding to each of the plurality of device types based on the updated base model information. For example, when updating three individual type models corresponding to three device types A, B, and C, the model processing unit 120 performs pruning and quantization processing on the base model based on the updated base model information. may be executed to update the individual type models for device types A, B, and C.
- the above-described individual model update process may be realized by performing the above-described pruning process and/or quantization on the updated base model. Furthermore, which individual model update process to execute among the plurality of individual model update processes is determined based on identification information indicating the individual model update process (e.g., process ID, etc.) or device type (e.g., device type ID, etc.). may also be determined. Further, when the user selects an individual model update process or a device type, simulation results of the individual type model to be updated may be presented.
- identification information indicating the individual model update process e.g., process ID, etc.
- device type e.g., device type ID, etc.
- the individual type model for each device type of the plurality of device types in response to updating the base model, can also be updated.
- a model information acquisition unit that acquires base model information indicating the base model; a model processing unit capable of generating individual type models corresponding to each of the plurality of device types based on the base model information;
- a model generation device having: (Additional note 2) The model generation device according to supplementary note 1, wherein the model processing unit executes one or both of pruning processing and quantization on the base model. (Additional note 3) The model generation device according to Appendix 1 or 2, wherein the model processing unit executes generation processing to generate individual type models corresponding to each of a plurality of device types based on the base model information.
- (Appendix 8) The model generation device according to appendix 7, wherein the model processing unit executes an update process of updating an individual type model for each device type corresponding to each of a plurality of device types, based on the updated base model information. .
- (Appendix 9) Obtaining base model information indicating the base model; Generating individual type models corresponding to each of the plurality of device types based on the base model information;
- a computer-implemented model generation method comprising: (Appendix 10) Obtaining base model information indicating the base model; Generating individual type models corresponding to each of the plurality of device types based on the base model information;
- Model generation system 20 Model database (DB) 30 terminal 100 model generation device 110 model information acquisition section 120 model processing section
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Numerical Control (AREA)
Abstract
デバイスタイプ毎の機械学習モデルを効率的に生成するための技術が開示される。本開示の一態様は、ベースモデルを示すベースモデル情報を取得するモデル情報取得部と、前記ベースモデル情報に基づいて、複数のデバイスタイプの各々に対応する個別タイプモデルを生成可能なモデル処理部と、を有する、モデル生成装置に関する。
Description
本開示は、モデル生成装置、モデル生成方法及びプログラムに関する。
近年のディープラーニング技術の進展によって、機械学習モデルが様々な用途に利用されるようになってきている。典型的には、機械学習モデルは、利用環境などに応じて異なる計算リソース上で利用される。例えば、ある機械学習モデルは、高い計算能力を備えたGPU(Graphics Processing Unit)などによって実行される一方、他の機械学習モデルは、限定的な計算能力しか備えないエッジコンピュータなどによって実行されうる。
https://pjreddie.com/darknet/yolo/
https://arxiv.org/pdf/1804.02767.pdf
一般に、機械学習モデルは、利用可能な計算リソースに応じて構築されうる。すなわち、機械学習モデルを動作させるデバイスタイプとして、GPU、CPU(Central Processing Unit)、FPGA(Field Programmable Gate Array)などが利用されており、各デバイスタイプの仕様、演算速度、メモリ容量などは異なりうる。このため、各デバイスタイプに対応して機械学習モデルを設計する必要がある。例えば、同一のタスクに対してデバイスタイプに応じて異なる機械学習モデルを別々に構築する必要があり、同一のタスクを実行するデバイスタイプ毎の機械学習モデルを別々に訓練及び生成する必要がある。
上記問題点に鑑み、本開示の1つの課題は、デバイスタイプ毎の機械学習モデルを効率的に生成するための技術を提供することである。
本開示の一態様は、ベースモデルを示すベースモデル情報を取得するモデル情報取得部と、前記ベースモデル情報に基づいて、複数のデバイスタイプの各々に対応する個別タイプモデルを生成可能なモデル処理部と、を有する、モデル生成装置に関する。
本開示によると、デバイスタイプ毎の機械学習モデルを効率的に生成することができる。
以下、図面を参照して本開示の実施の形態を説明する。
以下の実施例では、対象となるデバイスタイプ(例えば、GPU、CPU、FPGAなど)に共通する機械学習モデル(以降、「ベースモデル」として参照する)から、各デバイスタイプ向けの個別の機械学習モデル(以降、「個別タイプモデル」として参照する)を生成するモデル生成装置が開示される。
より詳細には、後述される実施例によるモデル生成装置は、ベースモデルを示すベースモデル情報(例えば、ベースモデルのアーキテクチャ情報、パラメータ情報など)を取得すると、取得したベースモデル情報に基づいてベースモデルに対してモデル圧縮(例えば、枝切り処理、量子化など)などを実行し、デバイスタイプに適応化された個別タイプモデルを生成する。
[モデル生成システム]
まず、図1を参照して、本開示の一実施例によるモデル生成システム10を説明する。図1は、本開示の一実施例によるモデル生成システム10を示す概略図である。図1に示されるように、モデル生成システム10は、モデルデータベース(DB)20、端末30及びモデル生成装置100を有する。
まず、図1を参照して、本開示の一実施例によるモデル生成システム10を説明する。図1は、本開示の一実施例によるモデル生成システム10を示す概略図である。図1に示されるように、モデル生成システム10は、モデルデータベース(DB)20、端末30及びモデル生成装置100を有する。
図1に示されるように、ユーザが、特定のタスクのためのベースモデルから特定のデバイスタイプ(例えば、GPU、CPU、FPGAなど)に対応する個別タイプモデルを生成するよう端末30に指示すると、端末30は、当該指示をモデル生成装置100に送信する。当該指示を受信すると、モデル生成装置100は、モデルDB20から当該タスクに対するベースモデルのアーキテクチャ情報、パラメータ情報などを示すベースモデル情報を取得する。そして、モデル生成装置100は、取得したベースモデル情報に基づいて、当該デバイスタイプの仕様、計算能力などに対応した個別タイプモデルを生成する。生成された個別タイプモデルは、モデルDB20に格納されると共に、操作結果として端末30に通知されてもよい。
従来、デバイスタイプに対応した機械学習モデルは、例えば、図2に示されるように、デバイスタイプ毎に用意された機械学習モデルを個別に訓練することによって生成される。例えば、物体検出モデル、異常検知モデルなどの特定のタスクに対して、GPU向けモデル、x86 CPU向けモデル、FPGA向けモデル、ARM CPU向けモデルなどの異なる個別タイプモデルが用意され、各個別タイプモデルが、訓練データによって通常の訓練処理を介して別々に訓練される。この場合、デバイスタイプ毎の個別タイプモデルは、当該デバイスタイプの仕様、計算能力などに対応したモデルアーキテクチャを有するよう設計され、訓練データによって訓練されうる。あるいは、デバイスタイプ毎の個別タイプモデルは、特定のモデルアーキテクチャを有するよう設計され、訓練データによって訓練され、その後に軽量化及び/又は量子化によって、デバイスタイプの仕様、計算能力などに対応して圧縮されうる。
一方、本開示による個別モデル生成処理では、図3に示されるように、特定のタスクに対してデバイスタイプに共通する機械学習モデルがベースモデルとして設計及び訓練される。そして、デバイスタイプ毎の個別タイプモデルは、当該デバイスタイプの仕様、計算能力などに対応してベースモデルを軽量化及び/又は量子化することによって生成される。これにより、デバイスタイプ毎に個別タイプモデルを別々に訓練及び生成する従来のアプローチと比較して、共通するベースモデルのみを訓練すればよく、訓練処理に要するコストを低減することが可能になる。
なお、図1に示された実施例では、ベースモデルは、モデル生成装置100とは異なる訓練装置(図示せず)によって予め訓練されているが、本開示によるモデル生成システム10は、これに限定されるものでない。例えば、モデル生成装置100が、ベースモデルを訓練及び保持してもよい。また、図示された実施例では、モデル生成装置100は、モデルDB20からベースモデルを示すベースモデル情報を取得しているが、本開示は、これに限定されるものでない。例えば、モデル生成装置100は、ベースモデル自体を取得及び保持してもよい。
ここで、モデル生成装置100は、サーバ、パーソナルコンピュータ(PC)、スマートフォン、タブレット等の計算装置によって実現されてもよく、例えば、図4に示されるようなハードウェア構成を有してもよい。すなわち、モデル生成装置100のそれぞれは、バスBを介し相互接続されるドライブ装置101、ストレージ装置102、メモリ装置103、プロセッサ104、ユーザインタフェース(UI)装置105及び通信装置106を有する。
モデル生成装置100における後述される各種機能及び処理を実現するプログラム又は指示は、CD-ROM(Compact Disk-Read Only Memory)、フラッシュメモリ等の着脱可能な記憶媒体に格納されてもよい。当該記憶媒体がドライブ装置101にセットされると、プログラム又は指示が記憶媒体からドライブ装置101を介しストレージ装置102又はメモリ装置103にインストールされる。ただし、プログラム又は指示は、必ずしも記憶媒体からインストールされる必要はなく、ネットワークなどを介し何れかの外部装置からダウンロードされてもよい。
ストレージ装置102は、ハードディスクドライブなどによって実現され、インストールされたプログラム又は指示と共に、プログラム又は指示の実行に用いられるファイル、データ等を格納する。
メモリ装置103は、ランダムアクセスメモリ、スタティックメモリ等によって実現され、プログラム又は指示が起動されると、ストレージ装置102からプログラム又は指示、データ等を読み出して格納する。ストレージ装置102、メモリ装置103及び着脱可能な記憶媒体は、非一時的な記憶媒体(non-transitory storage medium)として総称されてもよい。
プロセッサ104は、1つ以上のプロセッサコアから構成されうる1つ以上のCPU(Central Processing Unit)、GPU(Graphics Processing Unit)、処理回路(processing circuitry)等によって実現されてもよく、メモリ装置103に格納されたプログラム、指示、当該プログラム若しくは指示を実行するのに必要なパラメータなどのデータ等に従って、後述されるモデル生成装置100の各種機能及び処理を実行する。
ユーザインタフェース(UI)装置105は、キーボード、マウス、カメラ、マイクロフォン等の入力装置、ディスプレイ、スピーカ、ヘッドセット、プリンタ等の出力装置、タッチパネル等の入出力装置から構成されてもよく、ユーザとモデル生成装置100との間のインタフェースを実現する。例えば、ユーザは、ディスプレイ又はタッチパネルに表示されたGUI(Graphical User Interface)をキーボード、マウス等を操作し、モデル生成装置100を操作する。
通信装置106は、外部装置、インターネット、LAN(Local Area Network)、セルラーネットワーク等の通信ネットワークとの有線及び/又は無線通信処理を実行する各種通信回路により実現される。
しかしながら、上述したハードウェア構成は単なる一例であり、本開示によるモデル生成装置100は、他の何れか適切なハードウェア構成により実現されてもよい。
[モデル生成装置]
次に、図5から図7を参照して、本開示の一実施例によるモデル生成装置100を説明する。図5は、本開示の一実施例によるモデル生成装置100の機能構成を示すブロック図である。図5に示されるように、本実施例によるモデル生成装置100は、モデル情報取得部110及びモデル処理部120を有する。例えば、モデル情報取得部110及びモデル処理部120の1つ以上の機能部は、1つ以上のプロセッサ104が1つ以上のプログラム又は指示を実行することによって実現されてもよい。
次に、図5から図7を参照して、本開示の一実施例によるモデル生成装置100を説明する。図5は、本開示の一実施例によるモデル生成装置100の機能構成を示すブロック図である。図5に示されるように、本実施例によるモデル生成装置100は、モデル情報取得部110及びモデル処理部120を有する。例えば、モデル情報取得部110及びモデル処理部120の1つ以上の機能部は、1つ以上のプロセッサ104が1つ以上のプログラム又は指示を実行することによって実現されてもよい。
モデル情報取得部110は、ベースモデルを示すベースモデル情報を取得する。具体的には、モデル情報取得部110は、デバイスタイプ毎の個別タイプモデルを生成するのに共通して利用されるベースモデルを示すアーキテクチャ情報、パラメータ情報などのベースモデル情報をモデルDB20から取得する。ベースモデルは、特定のタスク(例えば、物体検出、異常検知など)のために訓練された機械学習モデルであり、典型的には、最も高い計算能力、仕様などを備えたデバイスタイプ(例えば、GPUなど)向けに構築されたものであってもよい。他方、デバイスタイプ毎の個別タイプモデルは、より限定的な計算能力、仕様などを備えたデバイスタイプ(例えば、x86 CPU、FPGA、ARM CPUなど)向けの機械学習モデルであり、ベースモデルを軽量化及び/又は量子化することによって、デバイスタイプの仕様、計算能力などに適応化されうる。
なお、モデル情報取得部110は、ベースモデルのアーキテクチャ情報、パラメータ情報などのベースモデル情報の代わりに又は加えて、ベースモデル自体を取得してもよい。モデル情報取得部110は、取得したベースモデル自体からアーキテクチャ情報、パラメータ情報などのベースモデル情報を抽出してもよい。
モデル処理部120は、ベースモデル情報に基づいて、デバイスタイプに対応する個別タイプモデルを生成する。具体的には、モデル処理部120は、ベースモデル情報に基づいて、ベースモデルに対して枝刈り処理(pruning)及び量子化(quantization)の一方又は双方を実行し、特定のデバイスタイプの計算能力、仕様などに適応化された個別タイプモデルを生成する。ベースモデル情報に基づいて、複数のデバイスタイプの各々に対応する個別タイプモデルを生成可能とは、例えば、ベースモデル情報を利用して、GPUのための個別タイプモデル、x86 CPUのための個別タイプモデル、FPGAのための個別タイプモデル及びARM CPUのための個別タイプモデルの4つの個別タイプモデルを生成可能であってもよく、いずれか1つの個別タイプモデルを生成可能であってもよい。
具体的には、モデル処理部120は、ベースモデルにおけるノード間の重みが小さい箇所の接続及び/又はノードを削除することによって、ベースモデルを枝刈りしてもよい。例えば、モデル処理部120は、特定のデバイスタイプの計算能力、仕様などに対応したノード及び/又はノード間の接続の削除量に従って、ベースモデルを枝刈りしてもよい。これにより、デバイスタイプに対応してベースモデルを軽量化することによって生成された個別タイプモデルを取得することが可能になる。なお、具体的な枝刈り処理は、何れか公知の手法に従って実行されてもよい。
また、モデル処理部120は、ベースモデルのパラメータ(例えば、ノード間の重み、活性化関数のパラメータなど)をより小さいビット数により表現するようにしてもよい。例えば、ベースモデルのノード間の重みが32ビットで表現されている場合、これを8ビットなどに量子化してもよい。具体的には、モデル処理部120は、特定のデバイスタイプの計算能力、仕様などに対応した量子化レベルに従って、ベースモデルのパラメータを量子化してもよい。これにより、デバイスタイプに対応してベースモデルを量子化することによって生成された個別タイプモデルを取得することが可能になる。なお、具体的な量子化処理は、何れか公知の手法に従って実行されてもよい。
図6は、本開示の一実施例による個別モデル生成処理を示す概略図である。図6に示されるように、モデル情報取得部110がベースモデルを示すベースモデル情報を取得すると、モデル処理部120は、ベースモデル情報に基づいて個別モデル生成処理を実行し、ベースモデルから特定のデバイスタイプに対応する個別タイプモデルを生成する。図示された実施例では、モデル処理部120は、何れかのデバイスタイプに対応する個別モデル生成処理を実行し、共通するベースモデルから当該デバイスタイプに対応する個別タイプモデルを生成する。
図7は、本開示の一実施例による個別モデル生成処理を示すフローチャートである。当該個別モデル生成処理は、モデル生成装置100によって実行され、より詳細には、モデル生成装置100の1つ以上のプロセッサ104が1つ以上のメモリ装置103に格納された1つ以上のプログラム又は指示を実行することによって実現されてもよい。
図7に示されるように、ステップS101において、モデル生成装置100は、ベースモデル情報を取得する。具体的には、モデル情報取得部110は、モデルDB20から特定のタスク(例えば、物体検出、異常検知など)のために共通して利用されるベースモデルを示すベースモデル情報(例えば、アーキテクチャ情報、パラメータ情報など)を取得する。なお、モデル情報取得部110は、ベースモデル情報の代わりに又は加えて、ベースモデル自体を取得してもよい。典型的には、ベースモデルは、最も高い計算能力、仕様などを備えたデバイスタイプ(例えば、GPUなど)向けに構築された機械学習モデルであってもよい。
ステップS102において、モデル生成装置100は、ベースモデル情報に基づいて、デバイスタイプに対応する個別タイプモデルを生成する。例えば、モデル生成装置100は、ベースモデル情報に基づいて、複数のデバイスタイプの各々に対応する個別タイプモデルを生成可能であって、複数の個別タイプモデルを生成可能であってもよく、何れか1つの個別タイプモデルを生成可能であってもよい。具体的には、モデル処理部120は、ベースモデル情報に基づいてベースモデルに対して枝刈り処理(pruning)及び量子化(quantization)の一方又は双方を実行し、特定のデバイスタイプの計算能力、仕様などに適応化された機械学習モデルを個別タイプモデルとして生成してもよい。例えば、モデル処理部120は、特定のデバイスタイプの計算能力、仕様などに対応したノード及び/又はノード間の接続の削除量に従って、ベースモデルにおけるノード間の重みが小さい箇所の接続及び/又はノードを削除することによってベースモデルを枝刈りしてもよい。また、モデル処理部120は、特定のデバイスタイプの計算能力、仕様などに対応した量子化レベルに従って、ベースモデルの重み、活性化関数のパラメータなどを量子化してもよい。なお、具体的な枝刈り処理及び量子化処理は、何れか公知の手法に従って実行されてもよい。
本実施例によると、特定のタスクに対して共通に利用可能な訓練済みベースモデルから、より限定的な計算能力、仕様などを備えた特定のデバイスタイプに対するデバイスタイプ向けの個別タイプモデルを効率的に取得することができる。
[変形例1]
次に、図8及び図9を参照して、本開示の他の実施例による個別タイプ生成処理を説明する。本実施例では、モデル生成部120は、ベースモデル情報に基づいて、複数のデバイスタイプの各々に対応するデバイスタイプ毎の個別タイプモデルを生成する個別モデル生成処理を実行する。
次に、図8及び図9を参照して、本開示の他の実施例による個別タイプ生成処理を説明する。本実施例では、モデル生成部120は、ベースモデル情報に基づいて、複数のデバイスタイプの各々に対応するデバイスタイプ毎の個別タイプモデルを生成する個別モデル生成処理を実行する。
図8は、本開示の一実施例による個別モデル生成処理を示す概略図である。図8に示されるように、モデル情報取得部110がベースモデルを示すベースモデル情報を取得すると、モデル処理部120は、ベースモデル情報に基づいて、複数のデバイスタイプの各々に対応するデバイスタイプ毎の個別モデル生成処理を実行し、ベースモデルから各デバイスタイプに対応する個別タイプモデルを生成する。図示された実施例では、モデル処理部120は、3つのデバイスタイプA,B及びCに対応する3つの個別モデル生成処理を実行し、共通するベースモデルからデバイスタイプA,B及びC向け個別タイプモデルをそれぞれ生成する。
例えば、3つのデバイスタイプA,B及びCの計算能力CA,CB及びCCが、CA>CB>CCである場合、モデル処理部120は、デバイスタイプA,B及びCに対応する個別タイプモデルMA,MB及びMCに対する枝切りにおいて、ノード及び/又はノード間の接続の削除量RA,RB及びRCをRC>RB>RAに設定し、ベースモデルを枝刈りしてもよい。同様に、3つのデバイスタイプA,B及びCがそれぞれ仕様SA,SB及びSCである場合、モデル処理部120は、デバイスタイプA,B及びCに対応する個別タイプモデルMA,MB及びMCに対する量子化において、仕様SA,SB及びSCの量子化レベルQA,QB及びQCに対応して共通するベースモデルのパラメータを量子化し、デバイスタイプA,B及びC向け個別タイプモデルをそれぞれ生成してもよい。
図9は、本開示の一実施例による個別モデル生成処理を示すフローチャートである。当該個別モデル生成処理は、モデル生成装置100によって実行され、より詳細には、モデル生成装置100の1つ以上のプロセッサ104が1つ以上のメモリ装置103に格納された1つ以上のプログラム又は指示を実行することによって実現されてもよい。
図9に示されるように、ステップS201において、モデル生成装置100は、ベースモデル情報を取得する。具体的には、モデル情報取得部110は、モデルDB20から特定のタスクのために共通して利用されるベースモデルを示すベースモデル情報を取得する。
ステップS202において、モデル生成装置100は、ベースモデル情報に基づいて、複数のデバイスタイプの各々に対応する個別タイプモデルを生成する。例えば、3つのデバイスタイプA,B及びCに対応する3つの個別タイプモデルを生成する場合、モデル処理部120は、ベースモデル情報に基づいてベースモデルに対して枝刈り処理及び量子化の一方又は双方を実行し、デバイスタイプA,B及びCの各々の計算能力、仕様などに適応化された個別タイプモデルMA,MB及びMCを生成してもよい。
本実施例によると、特定のタスクに対して共通に利用可能な訓練済みベースモデルから、より限定的な計算能力、仕様などを備えた複数のデバイスタイプの各デバイスタイプ向けの個別タイプモデルを効率的に取得することができる。
[変形例2]
次に、図10及び図11を参照して、本開示の他の実施例による個別タイプ生成処理を説明する。本実施例では、モデル生成部120は、選択された個別モデル生成処理を実行する。
次に、図10及び図11を参照して、本開示の他の実施例による個別タイプ生成処理を説明する。本実施例では、モデル生成部120は、選択された個別モデル生成処理を実行する。
図10は、本開示の一実施例による個別モデル生成処理を示す概略図である。図10に示されるように、モデル処理部120は、選択されたデバイスタイプ向け個別モデル生成処理を実行し、当該デバイスタイプ向け個別モデル生成処理に対応する個別タイプモデルを取得する。図示された実施例では、3つのデバイスタイプA,B及びCのうちデバイスタイプB向け個別モデル生成処理がユーザによって選択され、モデル処理部120は、選択されたデバイスタイプB向け個別モデル生成処理を実行し、共通するベースモデルからデバイスタイプB向け個別タイプモデルを生成する。
図11は、本開示の一実施例による個別モデル生成処理を示すフローチャートである。当該個別モデル生成処理は、モデル生成装置100によって実行され、より詳細には、モデル生成装置100の1つ以上のプロセッサ104が1つ以上のメモリ装置103に格納された1つ以上のプログラム又は指示を実行することによって実現されてもよい。
図11に示されるように、ステップS301において、モデル生成装置100は、ベースモデル情報を取得する。具体的には、モデル情報取得部110は、モデルDB20から特定のタスクのために共通して利用されるベースモデルを示すベースモデル情報を取得する。
ステップS302において、モデル生成装置100は、選択された個別モデル生成処理を受け付ける。具体的には、モデル処理部120は、ユーザなどから1つ以上の個別モデル生成処理を識別する識別情報(例えば、プロセスIDなど)を受け付け、受け付けた識別情報に対応するデバイスタイプ向け個別モデル生成処理を特定する。
ステップS303において、モデル生成装置100は、選択された個別モデル生成処理を実行する。具体的には、モデル処理部120は、ベースモデル情報に基づいて、受け付けた識別情報に対応するデバイスタイプ向け個別モデル生成処理を実行し、対応する個別タイプモデルを取得する。例えば、ユーザからデバイスタイプB向け個別モデル生成処理を示す識別情報(例えば、プロセスID=B)を受け付けると、モデル処理部120は、デバイスタイプB向け個別モデル生成処理を実行し、ベースモデル情報に基づいて、デバイスタイプB向け個別タイプモデルを生成する。
本実施例によると、特定のタスクに対して共通に利用可能なベースモデルに対して、ユーザなどによって選択されたデバイスタイプ向け個別モデル生成処理を実行して、対応する個別タイプモデルを効率的に取得することができる。
[変形例3]
次に、図12及び図13を参照して、本開示の他の実施例による個別タイプ生成処理を説明する。本実施例では、モデル処理部120は、選択されたデバイスタイプに対応する個別モデル生成処理を実行する。
次に、図12及び図13を参照して、本開示の他の実施例による個別タイプ生成処理を説明する。本実施例では、モデル処理部120は、選択されたデバイスタイプに対応する個別モデル生成処理を実行する。
図12は、本開示の一実施例による個別モデル生成処理を示す概略図である。図12に示されるように、モデル処理部120は、選択されたデバイスタイプに対応する個別モデル生成処理を実行し、選択されたデバイスタイプに対応する個別タイプモデルを取得する。図示された実施例では、3つのデバイスタイプA,B及びCのうちデバイスタイプCがユーザによって選択され、モデル処理部120は、選択されたデバイスタイプC向け個別モデル生成処理を実行し、共通するベースモデルからデバイスタイプC向け個別タイプモデルを生成する。
図13は、本開示の一実施例による個別モデル生成処理を示すフローチャートである。当該個別モデル生成処理は、モデル生成装置100によって実行され、より詳細には、モデル生成装置100の1つ以上のプロセッサ104が1つ以上のメモリ装置103に格納された1つ以上のプログラム又は指示を実行することによって実現されてもよい。
図13に示されるように、ステップS401において、モデル生成装置100は、ベースモデル情報を取得する。具体的には、モデル情報取得部110は、モデルDB20から特定のタスクのために共通して利用されるベースモデルを示すベースモデル情報を取得する。
ステップS402において、モデル生成装置100は、選択されたデバイスタイプを受け付ける。具体的には、モデル処理部120は、ユーザなどから1つ以上のデバイスタイプを識別する識別情報(例えば、デバイスIDなど)を受け付け、受け付けた識別情報に対応するデバイスタイプ向け個別モデル生成処理を特定する。
ステップS403において、モデル生成装置100は、選択されたデバイスタイプに対応する個別モデル生成処理を実行する。具体的には、モデル処理部120は、ベースモデル情報に基づいて、受け付けた識別情報に対応するデバイスタイプのデバイスタイプ向け個別モデル生成処理を実行し、対応する個別タイプモデルを取得する。例えば、ユーザからデバイスタイプCを示す識別情報(例えば、デバイスID=C)を受け付けると、モデル処理部120は、デバイスタイプC向け個別モデル生成処理を実行し、ベースモデル情報に基づいて、デバイスタイプC向け個別タイプモデルを生成する。
本実施例によると、特定のタスクに対して共通に利用可能なベースモデルから、ユーザなどによって選択されたデバイスタイプに対応する個別モデル生成処理を実行して、対応する個別タイプモデルを効率的に取得することができる。
[変形例4]
次に、図14及び図15を参照して、本開示の他の実施例による個別タイプ生成処理を説明する。本実施例では、モデル処理部120は、個別タイプモデルに関するシミュレーション結果をユーザに提示する。
次に、図14及び図15を参照して、本開示の他の実施例による個別タイプ生成処理を説明する。本実施例では、モデル処理部120は、個別タイプモデルに関するシミュレーション結果をユーザに提示する。
図14は、本開示の一実施例による個別モデル生成処理を示す概略図である。図14に示されるように、モデル処理部120は、各デバイスタイプ向け個別タイプモデルの予測精度、計算速度などの性能を示すシミュレーション結果を予め保持し、ユーザが個別モデル生成処理又はデバイスタイプを選択する際の参考情報として、各デバイスタイプ向け個別タイプモデルのシミュレーション結果を提示してもよい。図示された実施例では、モデル処理部120は、3つのデバイスタイプA,B及びC向けのシミュレーション結果をユーザに提示する。ユーザは、提示されたシミュレーション結果を参照して、デバイスタイプC向け個別モデル生成処理又はデバイスモデルCを選択すると、モデル処理部120は、選択されたデバイスタイプC向け個別モデル生成処理を実行し、デバイスタイプC向け個別タイプモデルを取得する。
図15は、本開示の一実施例による個別モデル生成処理を示すフローチャートである。当該個別モデル生成処理は、モデル生成装置100によって実行され、より詳細には、モデル生成装置100の1つ以上のプロセッサ104が1つ以上のメモリ装置103に格納された1つ以上のプログラム又は指示を実行することによって実現されてもよい。
図15に示されるように、ステップS501において、モデル生成装置100は、ベースモデル情報を取得する。具体的には、モデル情報取得部110は、モデルDB20から特定のタスクのために共通して利用されるベースモデルを示すベースモデル情報を取得する。
ステップS502において、モデル生成装置100は、デバイスタイプ毎のシミュレーション結果を提示する。具体的には、モデル処理部120は、ユーザが個別モデル生成処理又はデバイスタイプを選択する際の参考情報として、各デバイスタイプ向け個別タイプモデルの予測精度、計算速度などの性能を示すシミュレーション結果をユーザに提示してもよい。
ステップS503において、モデル生成装置100は、選択された個別モデル生成処理又は選択されたデバイスタイプを受け付ける。具体的には、モデル処理部120は、ユーザなどから1つ以上の個別モデル生成処理を識別する識別情報(例えば、プロセスIDなど)、又はデバイスタイプを識別する識別情報(例えば、デバイスIDなど)を受け付け、受け付けた識別情報に対応するデバイスタイプ向け個別モデル生成処理を特定する。
ステップS504において、モデル生成装置100は、選択された個別モデル生成処理又は選択されたデバイスタイプに対応する個別モデル生成処理を実行する。具体的には、モデル処理部120は、ベースモデル情報に基づいて、受け付けた識別情報に対応するデバイスタイプ向け個別モデル生成処理を実行し、対応する個別タイプモデルを取得する。例えば、ユーザからデバイスタイムC向け個別モデル生成処理を示す識別情報(例えば、プロセスID=C)、又はデバイスタイプCを示す識別情報(例えば、デバイスID=C)を受け付けると、モデル処理部120は、デバイスタイプC向け個別モデル生成処理を実行し、ベースモデル情報に基づいて、デバイスタイプC向け個別タイプモデルを生成する。
本実施例によると、各デバイスモデルの個別タイプモデルに関するシミュレーション結果をユーザに提示し、特定のタスクに対して共通に利用可能なベースモデルから、ユーザなどによって選択された個別モデル生成処理、又は選択されたデバイスタイプに対応する個別モデル生成処理を実行して、対応する個別タイプモデルを効率的に取得することができる。
[変形例5]
次に、図16及び図17を参照して、本開示の一実施例による個別タイプ更新処理を説明する。本実施例では、訓練データによってベースモデルが更新されると、モデル処理部120は、更新されたベースモデル情報に基づいて個別タイプモデルを更新してもよい。なお、本実施例によるベースモデルの更新は、モデル生成装置100によって実行されてもよいし、モデル生成装置100とは別の訓練装置(図示せず)によって実行されてもよい。
次に、図16及び図17を参照して、本開示の一実施例による個別タイプ更新処理を説明する。本実施例では、訓練データによってベースモデルが更新されると、モデル処理部120は、更新されたベースモデル情報に基づいて個別タイプモデルを更新してもよい。なお、本実施例によるベースモデルの更新は、モデル生成装置100によって実行されてもよいし、モデル生成装置100とは別の訓練装置(図示せず)によって実行されてもよい。
図16は、本開示の一実施例による個別モデル更新処理を示す概略図である。図16に示されるように、更新用訓練データによってベースモデルに対してベースモデル更新処理が実行され、更新されたベースモデルを示すベースモデル情報を取得すると、モデル処理部120は、更新されたベースモデル情報に基づいて個別モデル更新処理を実行し、更新されたベースモデルから特定のデバイスタイプに対応する個別タイプモデルを更新する。図示された実施例では、モデル処理部120は、何れかのデバイスタイプに対応する個別モデル更新処理を実行し、更新された共通するベースモデルから当該デバイスタイプに対応する個別タイプモデルを生成する。
図17は、本開示の一実施例による個別モデル更新処理を示すフローチャートである。当該個別モデル更新処理は、モデル生成装置100によって実行され、より詳細には、モデル生成装置100の1つ以上のプロセッサ104が1つ以上のメモリ装置103に格納された1つ以上のプログラム又は指示を実行することによって実現されてもよい。
図17に示されるように、ステップS601において、モデル生成装置100は、更新されたベースモデル情報を取得する。具体的には、モデル情報取得部110は、モデルDB20から更新されたベースモデルを示すベースモデル情報(例えば、アーキテクチャ情報、パラメータ情報など)を取得する。なお、モデル情報取得部110は、更新されたベースモデル情報の代わりに又は加えて、更新されたベースモデル自体を取得してもよい。
ステップS602において、モデル生成装置100は、更新されたベースモデル情報に基づいて、デバイスタイプに対応する個別タイプモデルを更新する。具体的には、モデル処理部120は、更新されたベースモデル情報に基づいて、更新されたベースモデルに対して枝刈り処理及び量子化の一方又は双方を実行し、更新されたベースモデルに基づいて、特定のデバイスタイプ向け個別タイプモデルを更新してもよい。
本実施例によると、ベースモデルの更新に対応して、個別タイプモデルもまた更新することができる。
[変形例6]
次に、図18及び図19を参照して、本開示の他の実施例による個別タイプ更新処理を説明する。本実施例では、モデル処理部120は、更新されたベースモデル情報に基づいて、複数のデバイスタイプの各々に対応するデバイスタイプ毎の個別タイプモデルを更新する個別モデル更新処理を実行してもよい。
次に、図18及び図19を参照して、本開示の他の実施例による個別タイプ更新処理を説明する。本実施例では、モデル処理部120は、更新されたベースモデル情報に基づいて、複数のデバイスタイプの各々に対応するデバイスタイプ毎の個別タイプモデルを更新する個別モデル更新処理を実行してもよい。
図18は、本開示の一実施例による個別モデル更新処理を示す概略図である。図18に示されるように、更新用訓練データによってベースモデルに対してベースモデル更新処理が実行され、更新されたベースモデルを示すベースモデル情報を取得すると、モデル処理部120は、更新されたベースモデル情報に基づいて、複数のデバイスタイプの各々に対応するデバイスタイプ毎の個別モデル更新処理を実行し、更新されたベースモデルから各デバイスタイプに対応する個別タイプモデルを更新する。図示された実施例では、モデル処理部120は、3つのデバイスタイプA,B及びCに対応する3つの個別モデル更新処理を実行し、更新されたベースモデルから3つの個別タイプモデルを更新する。
図19は、本開示の一実施例による個別モデル更新処理を示すフローチャートである。当該個別モデル更新処理は、モデル生成装置100によって実行され、より詳細には、モデル生成装置100の1つ以上のプロセッサ104が1つ以上のメモリ装置103に格納された1つ以上のプログラム又は指示を実行することによって実現されてもよい。
図19に示されるように、ステップS701において、モデル生成装置100は、更新されたベースモデル情報を取得する。具体的には、モデル情報取得部110は、モデルDB20から更新されたベースモデルを示すベースモデル情報を取得する。
ステップS702において、モデル生成装置100は、更新されたベースモデル情報に基づいて、複数のデバイスタイプの各々に対応する個別タイプモデルを更新する。例えば、3つのデバイスタイプA,B及びCに対応する3つの個別タイプモデルを更新する場合、モデル処理部120は、更新されたベースモデル情報に基づいてベースモデルに対して枝刈り処理及び量子化の一方又は双方を実行し、デバイスタイプA,B及びCの個別タイプモデルを更新してもよい。
なお、上述した個別モデル更新処理は、更新されたベースモデルに対して、上述したような枝刈り処理及び/又は量子化を実行することによって実現されてもよい。また、複数の個別モデル更新処理のうち何れの個別モデル更新処理を実行するかは、個別モデル更新処理を示す識別情報(例えば、プロセスIDなど)又はデバイスタイプ(例えば、デバイスタイプIDなど)に基づいて決定されてもよい。また、ユーザが個別モデル更新処理又はデバイスタイプを選択する際、更新される個別タイプモデルのシミュレーション結果が提示されてもよい。
本実施例によると、ベースモデルの更新に応じて、複数のデバイスタイプの各デバイスタイプ向けの個別タイプモデルもまた更新することができる。
なお、以上の説明に関して更に以下の付記を開示する。
(付記1)
ベースモデルを示すベースモデル情報を取得するモデル情報取得部と、
前記ベースモデル情報に基づいて、複数のデバイスタイプの各々に対応する個別タイプモデルを生成可能なモデル処理部と、
を有する、モデル生成装置。
(付記2)
前記モデル処理部は、前記ベースモデルに対して枝刈り処理及び量子化の一方又は双方を実行する、付記1に記載のモデル生成装置。
(付記3)
前記モデル処理部は、前記ベースモデル情報に基づいて、複数のデバイスタイプの各々に対応する個別タイプモデルを生成する生成処理を実行する、付記1又は付記2に記載のモデル生成装置。
(付記4)
前記モデル処理部は、選択された前記生成処理を実行する、付記3に記載のモデル生成装置。
(付記5)
前記モデル処理部は、選択されたデバイスタイプに対応する前記生成処理を実行する、付記3又は付記4に記載のモデル生成装置。
(付記6)
前記モデル処理部は、前記個別タイプモデルに関するシミュレーション結果をユーザに提示する、付記3から付記5のいずれか1つに記載のモデル生成装置。
(付記7)
訓練データによって前記ベースモデルが更新されると、前記モデル処理部は、前記更新されたベースモデルによって前記個別タイプモデルを更新する、付記1から付記6のいずれか1つに記載のモデル生成装置。
(付記8)
前記モデル処理部は、前記更新されたベースモデル情報に基づいて、複数のデバイスタイプの各々に対応するデバイスタイプ毎の個別タイプモデルを更新する更新処理を実行する、付記7に記載のモデル生成装置。
(付記9)
ベースモデルを示すベースモデル情報を取得することと、
前記ベースモデル情報に基づいて、複数のデバイスタイプの各々に対応する個別タイプモデルを生成することと、
を有する、コンピュータが実行するモデル生成方法。
(付記10)
ベースモデルを示すベースモデル情報を取得することと、
前記ベースモデル情報に基づいて、複数のデバイスタイプの各々に対応する個別タイプモデルを生成することと、
をコンピュータに実行させるプログラム。
(付記1)
ベースモデルを示すベースモデル情報を取得するモデル情報取得部と、
前記ベースモデル情報に基づいて、複数のデバイスタイプの各々に対応する個別タイプモデルを生成可能なモデル処理部と、
を有する、モデル生成装置。
(付記2)
前記モデル処理部は、前記ベースモデルに対して枝刈り処理及び量子化の一方又は双方を実行する、付記1に記載のモデル生成装置。
(付記3)
前記モデル処理部は、前記ベースモデル情報に基づいて、複数のデバイスタイプの各々に対応する個別タイプモデルを生成する生成処理を実行する、付記1又は付記2に記載のモデル生成装置。
(付記4)
前記モデル処理部は、選択された前記生成処理を実行する、付記3に記載のモデル生成装置。
(付記5)
前記モデル処理部は、選択されたデバイスタイプに対応する前記生成処理を実行する、付記3又は付記4に記載のモデル生成装置。
(付記6)
前記モデル処理部は、前記個別タイプモデルに関するシミュレーション結果をユーザに提示する、付記3から付記5のいずれか1つに記載のモデル生成装置。
(付記7)
訓練データによって前記ベースモデルが更新されると、前記モデル処理部は、前記更新されたベースモデルによって前記個別タイプモデルを更新する、付記1から付記6のいずれか1つに記載のモデル生成装置。
(付記8)
前記モデル処理部は、前記更新されたベースモデル情報に基づいて、複数のデバイスタイプの各々に対応するデバイスタイプ毎の個別タイプモデルを更新する更新処理を実行する、付記7に記載のモデル生成装置。
(付記9)
ベースモデルを示すベースモデル情報を取得することと、
前記ベースモデル情報に基づいて、複数のデバイスタイプの各々に対応する個別タイプモデルを生成することと、
を有する、コンピュータが実行するモデル生成方法。
(付記10)
ベースモデルを示すベースモデル情報を取得することと、
前記ベースモデル情報に基づいて、複数のデバイスタイプの各々に対応する個別タイプモデルを生成することと、
をコンピュータに実行させるプログラム。
以上、本開示の実施例について詳述したが、本開示は上述した特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本開示の要旨の範囲内において、種々の変形・変更が可能である。
2022年7月7日出願の特願2022-109751号の日本出願に含まれる明細書、図面および要約書の開示内容は、すべて本願に援用される。
10 モデル生成システム
20 モデルデータベース(DB)
30 端末
100 モデル生成装置
110 モデル情報取得部
120 モデル処理部
20 モデルデータベース(DB)
30 端末
100 モデル生成装置
110 モデル情報取得部
120 モデル処理部
Claims (10)
- ベースモデルを示すベースモデル情報を取得するモデル情報取得部と、
前記ベースモデル情報に基づいて、複数のデバイスタイプの各々に対応する個別タイプモデルを生成可能なモデル処理部と、
を有する、モデル生成装置。 - 前記モデル処理部は、前記ベースモデルに対して枝刈り処理及び量子化の一方又は双方を実行する、請求項1に記載のモデル生成装置。
- 前記モデル処理部は、前記ベースモデル情報に基づいて、複数のデバイスタイプの各々に対応する個別タイプモデルを生成する生成処理を実行する、請求項1に記載のモデル生成装置。
- 前記モデル処理部は、選択された前記生成処理を実行する、請求項3に記載のモデル生成装置。
- 前記モデル処理部は、選択されたデバイスタイプに対応する前記生成処理を実行する、請求項3に記載のモデル生成装置。
- 前記モデル処理部は、前記個別タイプモデルに関するシミュレーション結果をユーザに提示する、請求項3に記載のモデル生成装置。
- 訓練データによって前記ベースモデルが更新されると、前記モデル処理部は、前記更新されたベースモデルによって前記個別タイプモデルを更新する、請求項1に記載のモデル生成装置。
- 前記モデル処理部は、前記更新されたベースモデル情報に基づいて、複数のデバイスタイプの各々に対応するデバイスタイプ毎の個別タイプモデルを更新する更新処理を実行する、請求項7に記載のモデル生成装置。
- ベースモデルを示すベースモデル情報を取得することと、
前記ベースモデル情報に基づいて、複数のデバイスタイプの各々に対応する個別タイプモデルを生成することと、
を有する、コンピュータが実行するモデル生成方法。 - ベースモデルを示すベースモデル情報を取得することと、
前記ベースモデル情報に基づいて、複数のデバイスタイプの各々に対応する個別タイプモデルを生成することと、
をコンピュータに実行させるプログラム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022-109751 | 2022-07-07 | ||
JP2022109751 | 2022-07-07 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2024009632A1 true WO2024009632A1 (ja) | 2024-01-11 |
Family
ID=89453115
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2023/019002 WO2024009632A1 (ja) | 2022-07-07 | 2023-05-22 | モデル生成装置、モデル生成方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2024009632A1 (ja) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111612132A (zh) * | 2020-05-20 | 2020-09-01 | 广东电网有限责任公司 | 一种人工智能算法开发系统、训练方法、设备及介质 |
US20200364574A1 (en) * | 2019-05-16 | 2020-11-19 | Samsung Electronics Co., Ltd. | Neural network model apparatus and compressing method of neural network model |
CN112819252A (zh) * | 2021-03-01 | 2021-05-18 | 云南电网有限责任公司电力科学研究院 | 一种卷积神经网络模型构建方法 |
CN112906889A (zh) * | 2021-03-03 | 2021-06-04 | 中国科学院计算技术研究所 | 一种用于压缩深度神经网络模型的方法和系统 |
JP2021089582A (ja) * | 2019-12-04 | 2021-06-10 | キヤノン株式会社 | 情報処理装置、中継装置、システム、情報処理装置の制御方法、中継装置の制御方法およびプログラム |
JP2021114097A (ja) * | 2020-01-17 | 2021-08-05 | 株式会社日立ソリューションズ・クリエイト | 画像判定システム |
JP2021163112A (ja) * | 2020-03-31 | 2021-10-11 | 株式会社アラヤ | 情報処理装置及び情報処理方法 |
-
2023
- 2023-05-22 WO PCT/JP2023/019002 patent/WO2024009632A1/ja unknown
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200364574A1 (en) * | 2019-05-16 | 2020-11-19 | Samsung Electronics Co., Ltd. | Neural network model apparatus and compressing method of neural network model |
JP2021089582A (ja) * | 2019-12-04 | 2021-06-10 | キヤノン株式会社 | 情報処理装置、中継装置、システム、情報処理装置の制御方法、中継装置の制御方法およびプログラム |
JP2021114097A (ja) * | 2020-01-17 | 2021-08-05 | 株式会社日立ソリューションズ・クリエイト | 画像判定システム |
JP2021163112A (ja) * | 2020-03-31 | 2021-10-11 | 株式会社アラヤ | 情報処理装置及び情報処理方法 |
CN111612132A (zh) * | 2020-05-20 | 2020-09-01 | 广东电网有限责任公司 | 一种人工智能算法开发系统、训练方法、设备及介质 |
CN112819252A (zh) * | 2021-03-01 | 2021-05-18 | 云南电网有限责任公司电力科学研究院 | 一种卷积神经网络模型构建方法 |
CN112906889A (zh) * | 2021-03-03 | 2021-06-04 | 中国科学院计算技术研究所 | 一种用于压缩深度神经网络模型的方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7087079B2 (ja) | 深層学習アプリケーションのための堅牢な勾配重み圧縮方式 | |
JP6790286B2 (ja) | 強化学習を用いたデバイス配置最適化 | |
JP7316453B2 (ja) | オブジェクト推薦方法及び装置、コンピュータ機器並びに媒体 | |
CN111667054B (zh) | 生成神经网络模型的方法、装置、电子设备以及存储介质 | |
JP7369810B2 (ja) | 量子ニューラルネットワークの訓練方法及び装置、電子機器並びに媒体 | |
KR102469261B1 (ko) | 적응적 인공 신경 네트워크 선택 기법들 | |
US11665064B2 (en) | Utilizing machine learning to reduce cloud instances in a cloud computing environment | |
CN110766142A (zh) | 模型生成方法和装置 | |
CN110520871A (zh) | 训练机器学习模型 | |
CN110852421A (zh) | 模型生成方法和装置 | |
CN114861910B (zh) | 神经网络模型的压缩方法及装置、设备和介质 | |
CN111563593A (zh) | 神经网络模型的训练方法和装置 | |
JP6723488B1 (ja) | 学習装置及び推論装置 | |
JP7418570B2 (ja) | スタック可能ネスト化モデル構造を用いたマルチレート・ニューラルイメージ圧縮のための方法および装置 | |
CN116710986A (zh) | 基于无参考鉴别器的对话模型训练 | |
WO2024009632A1 (ja) | モデル生成装置、モデル生成方法及びプログラム | |
JP6773412B2 (ja) | コロプレスマップの設計 | |
JP2019191868A (ja) | 学習装置、学習方法及び学習プログラム | |
JP7374829B2 (ja) | ニューラルネット解析装置、ニューラルネット解析方法及びプログラム | |
JP2023524822A (ja) | アナログ・クロスバー・アーキテクチャを使用した行列スケッチング | |
US11803988B2 (en) | Method and apparatus for adaptive image compression with flexible hyperprior model by meta learning | |
US20230401361A1 (en) | Generating and analyzing material structures based on neural networks | |
US20220051102A1 (en) | Method and apparatus for multi-rate neural image compression with stackable nested model structures and micro-structured weight unification | |
US20220335656A1 (en) | Adaptive neural image compression with smooth quality control by meta-learning | |
US20240249114A1 (en) | Search space limitation apparatus, search space limitation method, and computer-readable recording medium |
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: 23835168 Country of ref document: EP Kind code of ref document: A1 |