CPC G06F 16/2471 (2019.01) [G06F 16/2282 (2019.01); G06F 16/258 (2019.01)] | 8 Claims |
1. A deep learning framework application database server comprising:
an input/output unit configured to receive an inference query from a user;
a storage unit serving as a database and comprising a previously learned first learning model table and an inference dataset table associated with the inference query; and
a framework unit configured to interwork with the database and perform deep learning for the inference query using the first learning model table and the inference dataset table,
wherein a first learning model linked to the first learning model table comprises multiple tasks, the multiple tasks correspond to a plurality of rows in a network table included in the first learning model table, each of the multiple tasks has a unique number respectively corresponding to row numbers in the network table, the deep learning framework application database server further comprises a control unit configured to control a first distributed server among a plurality of distributed servers to execute a sequence of first to second tasks among the multiple tasks, enabling distributed deep learning inference, each server of the plurality of distributed servers comprises a deep learning framework that interworks with the database and comprises the first learning model table,
wherein a learning model management module is configured to select a second learning model table suitable for a function of the inference query in an absence of the first learning model table,
the second learning model table is converted into the first learning model table through deep learning training for a first detailed function based on an associated training dataset table, and
the deep learning training is performed on the plurality of distributed servers in a distributed manner,
wherein the control unit is configured to spread a batch size of a training dataset, the second learning model table, and the training dataset table to the plurality of distributed servers,
the deep learning framework application database server is configured to function as a first distributed server among the plurality of distributed servers,
the control unit is configured to randomly change a data order in the training dataset table, then divide data to the batch size, and convert divided data into a batch dataset table,
the framework unit is configured to construct a model architecture using an architecture table belonging to the second learning model table, initialize a learning parameter table belonging to the second learning model table and then assign the initialized learning parameter table to the model architecture to generate a second learning model, and perform deep learning training on the second learning model by using multiple mini-batches in the batch dataset table,
the framework unit is configured to derive a new learning parameter when batch learning on one mini-batch among the multiple mini-batches ends,
the control unit is configured to spread the new learning parameter to remaining other distributed servers of the plurality of distributed servers,
the control unit is configured to spread the learning parameters derived from the framework unit to other framework units, based on one of policies,
such as
an immediate sharing policy where as soon as each batch learning ends in a certain framework unit, its latest learning parameter is spread to the other framework units,
a time period-based sharing policy where the latest learning parameter is spread to other framework units after a predetermined time period, and
a learning cycle-based sharing policy where the latest learning parameter is spread after a predetermined number of batch learnings.
|