WO2023090825A1 - Ai model drift monitoring device and method - Google Patents

Ai model drift monitoring device and method Download PDF

Info

Publication number
WO2023090825A1
WO2023090825A1 PCT/KR2022/018011 KR2022018011W WO2023090825A1 WO 2023090825 A1 WO2023090825 A1 WO 2023090825A1 KR 2022018011 W KR2022018011 W KR 2022018011W WO 2023090825 A1 WO2023090825 A1 WO 2023090825A1
Authority
WO
WIPO (PCT)
Prior art keywords
drift
data
monitoring
model
data set
Prior art date
Application number
PCT/KR2022/018011
Other languages
French (fr)
Korean (ko)
Inventor
서창수
김현진
김영주
배경숙
Original Assignee
에스케이 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 에스케이 주식회사 filed Critical 에스케이 주식회사
Publication of WO2023090825A1 publication Critical patent/WO2023090825A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks

Definitions

  • the present invention is an AI model drift monitoring apparatus and method for monitoring data drift over time of a distributed AI model, and in particular, a reference data set and a prediction data set are configured to evaluate the performance of an AI model, and two data An AI model drift monitoring device and method for detecting data drift by preparing statistical differences between sets.
  • AI Artificial Intelligence
  • AI models subtly change inference results of machine learning depending on applied data, features, etc., and data drift occurs over time.
  • data drift means a case where the predicted data calculated by the AI model based on the input data is out of a preset range compared to the reference data, that is, out of a threshold value.
  • the AI model should be updated with an optimized AI model by re-executing machine learning using new training data.
  • the present invention was created in view of the above circumstances, and an object of the present invention is to configure a reference data set and a prediction data set to detect performance degradation of an AI model, and compare the statistical difference between the two data sets to reduce data drift. It is to provide an AI model drift monitoring device and method for monitoring.
  • An AI model drift monitoring device selects and configures a reference data set and a prediction data set, and sets a monitoring setting unit for setting an execution cycle for monitoring data drift of an AI model, the reference data set and A monitoring result analysis unit that analyzes a prediction data set according to a monitoring cycle, compares the statistical difference between the two data sets, and determines data drift according to whether or not it deviate from a preset reference range, and according to the analysis result of the monitoring result analysis unit It includes a monitoring execution modification unit that updates monitoring settings and execution cycles for data drift.
  • the monitoring result analyzer may determine data drift by applying a drift evaluation metric, which is an algorithm for calculating a difference in probability distributions of data constituting the reference data set and the prediction data set.
  • a drift evaluation metric which is an algorithm for calculating a difference in probability distributions of data constituting the reference data set and the prediction data set.
  • the monitoring setting unit may include a target feature setting unit that selects target features to be analyzed from among features constituting data and sets a threshold value for each feature.
  • the monitoring result analysis unit may include a feature analysis unit that monitors and analyzes a drift trend of the target features over time.
  • the feature analyzer converts a categorical feature into a probability distribution such that the sum of all probabilities is 1 for normalization of target features of a plurality of data constituting the data set, and the numerical features are It can be analyzed by assuming a Gaussian distribution so that the sum of the probabilities is 1.
  • the monitoring execution correction unit may include a threshold value correction unit for each feature that resets an appropriate threshold value for each feature according to an analysis result of the feature analysis unit.
  • the monitoring setting unit may include an alarm setting unit configured to set a slack channel to notify corresponding information when data drift occurs as a result of analysis of the monitoring result analysis unit and predicted data deviate from a preset reference range. there is.
  • the reference data set may be a learning data set composed of data used when generating an AI model, or a past data set composed of data input after serving the AI model.
  • An AI model drift monitoring method includes: (a) selecting and configuring a reference data set and a prediction data set, and setting an execution cycle for monitoring data drift of an AI model; (b) analyzing the reference data set and the prediction data set according to a monitoring period, comparing statistical differences between the two data sets, and determining data drift according to whether they deviate from a preset reference range; and (c) setting data drift monitoring and updating an execution cycle according to the determination result.
  • step (a) may include selecting target features to be analyzed among features constituting data and setting a threshold value for each feature.
  • step (b) may include monitoring and analyzing a drift trend of the target features over time.
  • step (b) categorical features are converted into probability distributions so that the sum of all probabilities is 1 for normalization of target features of a plurality of data constituting the data set, and numerical features may include assuming a Gaussian distribution such that the sum of all probabilities is 1.
  • the step (c) may include resetting an appropriate threshold value for each feature according to the analysis result of the step (b).
  • the step (a) includes setting a slack channel to notify the corresponding information when data drift occurs as the predicted data deviate from a preset reference range as a result of the analysis in the step (b). can do.
  • the step (b) may include determining data drift by applying a drift evaluation metric, which is an algorithm for calculating a difference in probability distributions of data constituting the reference data set and the prediction data set. .
  • the AI model drift monitoring apparatus and method monitors data drift due to the degradation of the predictive performance of the deployed AI model, and compares the statistical difference between the two data sets after configuring a reference data set and a prediction data set. By visualizing it as a graph, data drift can be easily identified.
  • AI model drift monitoring apparatus and method analyzes features that cause data drift by providing feature-level drift scores, monitors drift trends for each feature, and identifies factors affecting data drift. There are possible effects.
  • FIG. 1 is a block diagram of an AI model drift monitoring device according to an embodiment of the present invention.
  • FIG. 2 is a diagram showing the distribution of data constituting the reference data set and the prediction data set
  • FIG. 3 is a graph showing the calculation result by applying KLD, a probability distribution difference calculation algorithm.
  • 4 and 5 show example screens of an AI model drift monitoring list.
  • 6 and 7 show exemplary screens for registering and correcting drift monitoring of an AI model.
  • 10 and 11 show exemplary screens related to drift information of an AI model.
  • FIG. 12 is a flowchart of an AI model drift monitoring method according to an embodiment of the present invention.
  • FIG. 1 is a block diagram of an AI model drift monitoring device according to an embodiment of the present invention.
  • the AI model drift monitoring device 10 of the present invention includes a monitoring setting unit 100, a monitoring result analysis unit 200, and a monitoring execution correction unit 300.
  • the monitoring setting unit 100 selects and configures a reference data set and a prediction data set, and sets an execution cycle for monitoring data drift.
  • the reference “data” set may be a learning data set or a past data set.
  • the training data set may be all or a subset of the training data used when creating the AI model, and the training data are refined for learning the AI model from measurement values sensed by sensors, for example. ) can be data.
  • the past data set may be all or a partial set of actual data input after the generated AI model is distributed and the AI model is served. It is referred to as a past data set because it is the data entered in the 'past' at the time of executing the monitoring analysis for the AI model.
  • the prediction data set may be all or a partial set of prediction data calculated by the AI model based on past data input after serving the AI model.
  • the monitoring setting unit 100 includes a target feature setting unit 110 that selects target features to be analyzed among features constituting data and sets a threshold value for each feature. can do.
  • the monitoring setting unit 100 sets up a slack channel to notify the corresponding information when data drift occurs as a result of analysis by the monitoring result analysis unit 200, as the predicted data deviate from a preset reference range. It may include an alarm setting unit 120 to set.
  • the monitoring result analysis unit 200 analyzes the reference data set and the prediction data set according to the monitoring period, compares the statistical difference between the two data sets, and determines whether data drift occurs according to whether the data drifts out of a preset reference range. .
  • the monitoring result analysis unit 200 includes a learning data set that is all or a partial set of learning data used to generate the AI model, and actual data (past data) input after serving the AI model. , For example, a statistical difference is compared with a prediction data set that is all or a partial set of prediction data calculated from an AI model based on measurement values sensed through a sensor.
  • the monitoring result analysis unit 200 sets a past data set, which is all or a partial set of past data input to the AI model one cycle prior to the monitoring execution, as the reference data set. , Comparison of the prediction data set (past data set) with the prediction data set, which is all or a partial set of prediction data calculated from the AI model based on the past data input at the point in time after the reference data set (past data set) is set do.
  • the monitoring "result” analysis unit 200 determines “data” drift by applying "drift” evaluation "metric” which is an “algorithm” that calculates “probability distribution” difference of "data constituting” the "standard” data set and the "prediction” data set.
  • JSD Jensen Shannon Divergence
  • KLD Kullback Leibler Divergence
  • KLD has a value from 0 to infinity
  • JSD has a value between 0 and 1.
  • the monitoring result analysis unit 200 may include a feature analysis unit 210 that monitors and analyzes drift trends of target features set by the monitoring setting unit 100 over time. there is.
  • the feature analysis unit 210 converts the categorical features into a probability distribution so that the sum of all probabilities is 1 for normalization of the target features of a plurality of data constituting the data set, and the numerical features are Total Probability Sum It can be analyzed by assuming that it is a Gaussian distribution so that this becomes 1.
  • the feature-analysis unit 210 may analyze the drift of the numerical features by sampling N pieces, for example, 100 pieces from the estimated Gaussian distribution.
  • a categorical feature means a feature whose feature value has a specific range
  • a numerical feature means a feature whose feature value has a specific numerical value
  • the monitoring result analysis unit 200 may include a graphic processing unit 220 that visualizes the drift trend of data or features and displays it as a graph.
  • the graphic processing unit 220 may display data values or feature values over time based on the monitoring period as a graph.
  • the monitoring result analysis unit 200 may include a drift history inquiry unit 230 that provides drift history information recorded and stored for each monitoring period.
  • the monitoring execution correcting unit 300 sets monitoring for data drift and updates an execution cycle according to the analysis result of the monitoring result analysis unit 200 .
  • the setting and execution cycle of monitoring can be adjusted in consideration of the usage environment to which the AI model is applied, the possible frequency of data drift, and the severity of damage caused by data drift.
  • the monitoring execution correction unit 300 may include a threshold value correction unit 310 for each feature that resets an appropriate threshold value for each feature according to the analysis result of the feature analysis unit 210. .
  • a drift trend may be monitored by setting a different threshold for each feature, and an adjustment operation may be performed to reset the threshold according to the monitoring result.
  • FIG. 2 is a diagram showing the distribution of data constituting the reference data set and the prediction data set
  • FIG. 3 is a graph showing the calculation result by applying KLD, a probability distribution difference calculation algorithm.
  • A represents the distribution of data constituting the reference data set
  • B represents the distribution of data constituting the prediction data set.
  • the data of A and B may be displayed on the XY plane as shown in FIG. 2 based on the numerical values of the features constituting the data.
  • the present invention compares the statistical difference between A and B to determine whether data drift has occurred.
  • C is a state in which data drift has not occurred because the result value appears within the preset threshold for data drift
  • D is a state in which data drift has occurred because the result value has deviated from the threshold value am.
  • 4 and 5 show example screens of an AI model drift monitoring list.
  • a data drift monitoring list of the deployed AI model is displayed.
  • the monitoring list may include, for example, analysis period of the corresponding AI model, drift, model status, reference data, latest execution date and next execution date and time information.
  • the monitoring registration button 102 may move to a drift registration screen to monitor drift of the AI model.
  • the AI model displayed in FIG. 4 represents an AI model registered in the drift monitoring list, and whether or not drift is indicated as N means that data drift has not occurred in the corresponding AI model.
  • FIG. 5 it indicates a case where the distributed AI model is not registered in the data drift monitoring list, and since it is not registered, a 'No data available' message may be displayed.
  • 6 and 7 show exemplary screens for registering and correcting drift monitoring of an AI model.
  • the reference time item 106 sets a reference time for monitoring the AI model. If the reference data applied to the AI model is training data, the reference time, that is, the first execution date of monitoring, must be the time when one analysis cycle has passed from the service start time of the AI model so that monitoring can be executed at the same time interval.
  • the notification setting item 122 activates a slack channel to transmit a notice when a value exceeding a threshold value is detected as a result of monitoring execution of the AI model.
  • the analysis period item 108 sets the analysis period of AI model monitoring.
  • the left side shows the basic method of setting the analysis period
  • the right side shows the Corn expression.
  • the analysis cycle of AI model monitoring can be set in units of days/weeks/months.
  • the Corn expression can be composed of a string string composed of unit expressions divided into 6 input items, and second/minute/hour/day/month/day information can be subdivided and input into each input item. It can be separated by spaces. That is, the Corn expression can set the monitoring period by subdividing it into seconds/minutes/hours compared to the basic method.
  • a registration screen for monitoring AI model drift is displayed, and the type of data applied to machine learning of the AI model is selected from the reference data item 130 .
  • the path is automatically set, and schema information contained in the path of the training data used when creating the AI model, for example, information such as target features and feature types of the training data is automatically called. and displayed on the screen.
  • the reference time that is, the first execution time of monitoring
  • the reference time of monitoring can be changed and reset.
  • the schema setting item 132 may be automatically called and set if the learning data of the AI model is registered, and if the learning data is not registered, the schema may be manually set.
  • the target feature, feature type, etc. related to the training data are automatically displayed in the schema setting item 132. can be called
  • the schema setting item 132 may be divided into, for example, target feature, type, and threshold value items, and the user may select a specific target feature and manually set the type and threshold value.
  • the data type may be, for example, numerical or categorical, but is not limited thereto.
  • the corresponding % value is collectively applied to the threshold value of the schema setting item 132 .
  • a specific % value may be set as a threshold value using values of target features of training data used to generate an AI model as reference values.
  • a notice may be transmitted to the slack channel as described above.
  • the drift information summary item 202 may include monitoring ID, monitoring status, execution time, and drift information.
  • the monitoring ID indicates the ID of the monitoring subject, and the monitoring status may indicate whether monitoring is activated.
  • Drift may be indicated by Y when the data drift of the AI model is detected, and N when not detected.
  • the top drift feature item 212 displays top features having a large drift magnitude and their values.
  • three top features are configured to be displayed, but the user is not limited thereto, and various numbers of top features may be displayed in categories necessary for the AI model analysis.
  • the refresh button 204 updates AI model drift result information and displays it on the screen.
  • the drift trend item 222 may set a monitoring period, and a drift trend may be calculated as a graph in the set period.
  • the feature selection item 214 displays a list of features registered for drift monitoring, and when a specific feature is selected, a drift trend for the feature may be calculated as a graph.
  • a graph area 224 shows the drift trend for each feature selected through the feature selection item 214, and the change trend for each date/time/feature is displayed.
  • information may be displayed while a table related to a feature at the corresponding viewpoint is exposed as a pop-up.
  • drift history item 232 drift sizes, threshold values, and drifting of all target features may be displayed.
  • the user may modify the existing drift monitoring list by clicking the drift monitoring correction item 206 .
  • 10 and 11 show exemplary screens related to drift information of an AI model.
  • the drift description item 302 indicates the type of drift and the reference monitoring time.
  • the notification setting item 304 may be configured to display information of a slack channel to which a notification is to be transmitted when a value exceeding a threshold value is detected as a result of executing monitoring, and to enable modification of information of the slack channel.
  • the analysis period item 306 sets a drift analysis period, and may set the period in units of days/weeks/months.
  • the reference data item 308 indicates a location where learning data is stored, and it is impossible to modify the reference data for accuracy of drift monitoring, but it is possible to change the reference time of monitoring.
  • FIG. 11 shows drift information of the AI model, and when drift monitoring registration of the AI model is executed in FIG. 7, a screen as shown in FIG. 11 may be displayed.
  • the registration modification button 312 the screen is converted to the screen shown in FIG. 7, and target feature, type, and threshold information can be changed.
  • FIG. 12 is a flowchart of an AI model drift monitoring method according to an embodiment of the present invention.
  • the AI model drift monitoring device 10 selects and configures a reference data set and a prediction data set, and sets an execution cycle for monitoring data drift of the AI model. setting (S100), analyzing the reference data set and prediction data set according to the monitoring cycle, comparing the statistical difference between the two data sets, and determining data drift according to whether or not it deviated from the preset reference range (S200), S200 According to the determination result of the step, data drift monitoring is set and an execution cycle is updated (S300).
  • the AI model drift monitoring apparatus 10 may select target features to be analyzed from among features constituting data and set a threshold value for each feature in step S100.
  • Each feature has a different degree of influence on data drift
  • the AI model drift monitoring device 10 analyzes features that cause data drift based on feature-level drift scores, and analyzes features that cause data drift for each feature. By monitoring drift trends, factors affecting data drift can be identified.
  • the AI model drift monitoring device 10 may set a slack channel to notify the information when data drift occurs because the predicted data deviate from a preset reference range as a result of the analysis in step S200.
  • a notice about data drift is delivered through a slack channel, follow-up actions can be taken to update the AI model, such as running machine learning on the AI model using new training data.
  • the AI model drift monitoring device 10 may monitor and analyze drift trends of target features over time in step S200, and furthermore, for normalization of target features of a plurality of data constituting a data set Categorical features are converted into probability distributions so that the sum of all probabilities is 1, and numeric features can be analyzed by assuming a Gaussian distribution so that the sum of all probabilities is 1.
  • the AI model drift monitoring apparatus 10 may reset an appropriate threshold value for each feature in step S300 according to the drift trend analysis result of the target features executed in step S200.
  • a specific % value may be reset as a feature-by-feature threshold using values of target features of training data used to generate an AI model as reference values. Since each feature has a different sensitivity to data drift, the threshold value for each feature may be set differently.
  • the AI model drift monitoring device 10 may determine data drift by applying a drift evaluation metric, which is an algorithm for calculating a difference in probability distribution of data constituting the reference data set and the prediction data set, in step S300.
  • a drift evaluation metric which is an algorithm for calculating a difference in probability distribution of data constituting the reference data set and the prediction data set, in step S300.
  • JSD Jensen Shannon Divergence
  • KLD Kullback Leibler Divergence
  • the embodiments described above may be implemented as hardware components, software components, and/or a combination of hardware components and software components.
  • the devices, methods, and components described in the embodiments may include, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate (FPGA). array), programmable logic units (PLUs), microprocessors, or any other device capable of executing and responding to instructions.
  • a processing device may run an operating system (OS) and one or more software applications running on the operating system.
  • a processing device may also access, store, manipulate, process, and generate data in response to execution of software.
  • OS operating system
  • a processing device may also access, store, manipulate, process, and generate data in response to execution of software.
  • the processing device includes a plurality of processing elements and/or a plurality of types of processing elements. It can be seen that it can include.
  • a processing device may include a plurality of processors or a processor and a controller. Also, other processing configurations are possible, such as parallel processors.
  • Software may include a computer program, code, instructions, or a combination of one or more of the foregoing, which configures a processing device to operate as desired or processes independently or collectively. You can command the device.
  • Software and/or data may be any tangible machine, component, physical device, virtual equipment, computer storage medium or device, intended to be interpreted by or provide instructions or data to a processing device. , or may be permanently or temporarily embodied in a transmitted signal wave.
  • Software may be distributed on networked computer systems and stored or executed in a distributed manner.
  • Software and data may be stored on one or more computer readable media.
  • the method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer readable medium.
  • the computer readable medium may include program instructions, data files, data structures, etc. alone or in combination.
  • Program commands recorded on the medium may be specially designed and configured for the embodiment, or may be known and usable to those skilled in computer software.
  • Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floptical disks.
  • - includes hardware devices specially configured to store and execute program instructions, such as magneto-optical media, and ROM, RAM, flash memory, and the like.
  • program instructions include high-level language codes that can be executed by a computer using an interpreter, as well as machine language codes such as those produced by a compiler.
  • the hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Algebra (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Testing And Monitoring For Control Systems (AREA)

Abstract

The present invention relates to an AI model drift monitoring device and method for monitoring data drift of a distributed AI model over time and, particularly, to an AI model drift monitoring device and method in which a prediction data set and a reference data set for evaluating performance of an AI model are provided, and data drift is detected by contrasting statistical differences between the two data sets. An AI model drift monitoring device according to an embodiment of the present invention comprises: a monitoring configuration unit for selecting and configuring a reference data set and a prediction data set, and configuring an execution period for monitoring of data drift of an AI model; a monitoring result analysis unit for analyzing the reference data set and the prediction data set according to the monitoring period, and comparing statistical differences between the two data sets, thereby determining data drift according to whether data drifts out of a preconfigured reference range; and a monitoring execution correction unit for updating the monitoring configuration and the execution period for data drift according to a result of the analysis of the monitoring result analysis unit.

Description

AI 모델 드리프트 모니터링 장치 및 방법AI model drift monitoring device and method
본 발명은 배포된 AI 모델의 시간 경과에 따른 데이터 드리프트를 모니터링하는 AI 모델 드리프트 모니터링 장치 및 방법으로서, 특히, AI 모델의 성능을 평가하기 위한 기준 데이터 셋과 예측 데이터 셋을 구성하고, 2개의 데이터 셋 간의 통계적 차이를 대비하여 데이터 드리프트를 감지하는 AI 모델 드리프트 모니터링 장치 및 방법에 관한 것이다.The present invention is an AI model drift monitoring apparatus and method for monitoring data drift over time of a distributed AI model, and in particular, a reference data set and a prediction data set are configured to evaluate the performance of an AI model, and two data An AI model drift monitoring device and method for detecting data drift by preparing statistical differences between sets.
AI(Artificial Intelligence) 모델은 다양한 언어, 데이터, 라이브러리를 이용하여 개발되며, 개발된 AI 모델을 여러 사용 환경에 적합하게 배포하고, 구동시키는데 많은 제약이 따른다. AI (Artificial Intelligence) models are developed using various languages, data, and libraries, and there are many restrictions in distributing and operating the developed AI models suitable for various use environments.
또한, AI 모델은 적용되는 데이터, 피처 등에 따라 머신 러닝의 추론 결과가 미묘하게 변경되며, 시간 경과에 따라 데이터 드리프트가 발생한다. 여기서, 데이터 드리프트는 입력되는 데이터를 기반으로 AI 모델이 산출한 예측 데이터가 기준 데이터와 비교하여 미리 설정된 범위를 이탈한 경우, 즉, 임계값을 벗어난 경우를 의미한다. In addition, AI models subtly change inference results of machine learning depending on applied data, features, etc., and data drift occurs over time. Here, data drift means a case where the predicted data calculated by the AI model based on the input data is out of a preset range compared to the reference data, that is, out of a threshold value.
AI 모델의 데이터 드리프트가 발생하면, AI 모델에 대해 새로운 학습 데이터를 통한 머신 러닝을 재실행하여, 최적화된 AI 모델로 업데이트가 실행되어야 한다. If the data drift of the AI model occurs, the AI model should be updated with an optimized AI model by re-executing machine learning using new training data.
따라서, AI 모델의 데이터 드리프트를 감지하고, 데이터를 구성하는 피처(feature) 수준에서 보다 정밀하게 데이터 드리프트를 분석하는 방법에 관한 연구 개발의 필요성이 있다. Therefore, there is a need for research and development on a method for detecting data drift of an AI model and analyzing data drift more precisely at the feature level constituting data.
본 발명은 상기한 사정을 감안하여 창출된 것으로서, 본 발명의 목적은 AI 모델의 성능 저하 감지를 위해 기준 데이터 셋과 예측 데이터 셋을 구성하고, 2개의 데이터 셋 간의 통계적 차이를 비교하여 데이터 드리프트를 모니터링 하는 AI 모델 드리프트 모니터링 장치 및 방법을 제공하는데 있다.The present invention was created in view of the above circumstances, and an object of the present invention is to configure a reference data set and a prediction data set to detect performance degradation of an AI model, and compare the statistical difference between the two data sets to reduce data drift. It is to provide an AI model drift monitoring device and method for monitoring.
본 발명의 일 실시예에 따른 AI 모델 드리프트 모니터링 장치는, 기준 데이터 셋과 예측 데이터 셋을 선별하여 구성하고, AI 모델의 데이터 드리프트를 모니터링 하는 실행 주기를 설정하는 모니터링 설정부, 상기 기준 데이터 셋과 예측 데이터 셋을 모니터링 주기에 따라 분석하고, 2개 데이터 셋 간의 통계적 차이를 비교하여 미리 설정된 기준 범위의 이탈 여부에 따라 데이터 드리프트를 판별하는 모니터링 결과 분석부, 및 상기 모니터링 결과 분석부의 분석 결과에 따라 데이터 드리프트에 대한 모니터링의 설정 및 실행 주기를 업데이트 하는 모니터링 실행 수정부를 포함한다. An AI model drift monitoring device according to an embodiment of the present invention selects and configures a reference data set and a prediction data set, and sets a monitoring setting unit for setting an execution cycle for monitoring data drift of an AI model, the reference data set and A monitoring result analysis unit that analyzes a prediction data set according to a monitoring cycle, compares the statistical difference between the two data sets, and determines data drift according to whether or not it deviate from a preset reference range, and according to the analysis result of the monitoring result analysis unit It includes a monitoring execution modification unit that updates monitoring settings and execution cycles for data drift.
일 실시예에서, 상기 모니터링 결과 분석부는, 상기 기준 데이터 셋과 예측 데이터 셋을 구성하는 데이터들의 확률분포 차이를 계산하는 알고리즘인 드리프트 평가 메트릭을 적용하여 데이터 드리프트를 판별할 수 있다. In one embodiment, the monitoring result analyzer may determine data drift by applying a drift evaluation metric, which is an algorithm for calculating a difference in probability distributions of data constituting the reference data set and the prediction data set.
일 실시예에서, 상기 모니터링 설정부는, 데이터를 구성하는 피처들 중 분석을 실행할 대상 피처들을 선별하고, 피처별 임계값을 설정하는 대상 피처 설정부를 포함할 수 있다. In an embodiment, the monitoring setting unit may include a target feature setting unit that selects target features to be analyzed from among features constituting data and sets a threshold value for each feature.
일 실시예에서, 상기 모니터링 결과 분석부는, 상기 대상 피처들의 시간 경과에 따른 드리프트 추세를 모니터링 하여 분석하는 피처 분석부를 포함할 수 있다. In an embodiment, the monitoring result analysis unit may include a feature analysis unit that monitors and analyzes a drift trend of the target features over time.
일 실시예에서, 상기 피처 분석부는, 데이터 셋을 구성하는 복수의 데이터들의 대상 피처들에 대한 정규화를 위해 범주형 피처는 전체 확률의 합이 1이 되도록 확률 분포로 변환하고, 수치형 피처는 전체 확률의 합이 1이 되도록 가우시안 분포로 가정하여 분석할 수 있다. In one embodiment, the feature analyzer converts a categorical feature into a probability distribution such that the sum of all probabilities is 1 for normalization of target features of a plurality of data constituting the data set, and the numerical features are It can be analyzed by assuming a Gaussian distribution so that the sum of the probabilities is 1.
일 실시예에서, 상기 모니터링 실행 수정부는, 상기 피처 분석부의 분석 결과에 따라 피처별로 적정한 임계값을 재설정하는 피처별 임계값 수정부를 포함할 수 있다. In an embodiment, the monitoring execution correction unit may include a threshold value correction unit for each feature that resets an appropriate threshold value for each feature according to an analysis result of the feature analysis unit.
일 실시예에서, 상기 모니터링 설정부는, 상기 모니터링 결과 분석부의 분석 결과, 예측 데이터가 미리 설정된 기준 범위를 이탈하여 데이터 드리프트가 발생하면, 해당 정보를 노티스 할 슬랙 채널을 설정하는 알람 설정부를 포함할 수 있다. In one embodiment, the monitoring setting unit may include an alarm setting unit configured to set a slack channel to notify corresponding information when data drift occurs as a result of analysis of the monitoring result analysis unit and predicted data deviate from a preset reference range. there is.
일 실시예에서, 상기 기준 데이터 셋은, AI 모델 생성 시에 사용된 데이터들로 구성되는 학습 데이터 셋, 또는 AI 모델의 서빙 이후 입력되는 데이터들로 구성되는 과거 데이터 셋이 될 수 있다. In one embodiment, the reference data set may be a learning data set composed of data used when generating an AI model, or a past data set composed of data input after serving the AI model.
본 발명의 일 실시예에 따른 AI 모델 드리프트 모니터링 방법은, (a) 기준 데이터 셋과 예측 데이터 셋을 선별하여 구성하고, AI 모델의 데이터 드리프트를 모니터링 하는 실행 주기를 설정하는 단계; (b) 상기 기준 데이터 셋과 예측 데이터 셋을 모니터링 주기에 따라 분석하고, 2개 데이터 셋 간의 통계적 차이를 비교하여 미리 설정된 기준 범위의 이탈 여부에 따라 데이터 드리프트를 판별하는 단계; 및 (c) 상기 판별 결과에 따라 데이터 드리프트에 대한 모니터링의 설정 및 실행 주기를 업데이트 하는 단계를 포함한다. An AI model drift monitoring method according to an embodiment of the present invention includes: (a) selecting and configuring a reference data set and a prediction data set, and setting an execution cycle for monitoring data drift of an AI model; (b) analyzing the reference data set and the prediction data set according to a monitoring period, comparing statistical differences between the two data sets, and determining data drift according to whether they deviate from a preset reference range; and (c) setting data drift monitoring and updating an execution cycle according to the determination result.
일 실시예에서, 상기 (a) 단계는, 데이터를 구성하는 피처들 중 분석을 실행할 대상 피처들을 선별하고, 피처별 임계값을 설정하는 단계를 포함할 수 있다. In an embodiment, step (a) may include selecting target features to be analyzed among features constituting data and setting a threshold value for each feature.
일 실시예에서, 상기 (b) 단계는, 상기 대상 피처들의 시간 경과에 따른 드리프트 추세를 모니터링 하여 분석하는 단계를 포함할 수 있다. In one embodiment, step (b) may include monitoring and analyzing a drift trend of the target features over time.
일 실시예에서, 상기 (b) 단계는, 데이터 셋을 구성하는 복수의 데이터들의 대상 피처들에 대한 정규화를 위해 범주형 피처는 전체 확률의 합이 1이 되도록 확률 분포로 변환하고, 수치형 피처는 전체 확률의 합이 1이 되도록 가우시안 분포로 가정하는 단계를 포함할 수 있다. In one embodiment, in step (b), categorical features are converted into probability distributions so that the sum of all probabilities is 1 for normalization of target features of a plurality of data constituting the data set, and numerical features may include assuming a Gaussian distribution such that the sum of all probabilities is 1.
일 실시예에서, 상기 (c) 단계는, 상기 (b) 단계의 분석 결과에 따라 피처별로 적정한 임계값을 재설정하는 단계를 포함할 수 있다. In an embodiment, the step (c) may include resetting an appropriate threshold value for each feature according to the analysis result of the step (b).
일 실시예에서, 상기 (a) 단계는, 상기 (b) 단계의 분석 결과, 예측 데이터가 미리 설정된 기준 범위를 이탈하여 데이터 드리프트가 발생하면, 해당 정보를 노티스 할 슬랙 채널을 설정하는 단계를 포함할 수 있다. In one embodiment, the step (a) includes setting a slack channel to notify the corresponding information when data drift occurs as the predicted data deviate from a preset reference range as a result of the analysis in the step (b). can do.
일 실시예에서, 상기 (b) 단계는, 상기 기준 데이터 셋과 예측 데이터 셋을 구성하는 데이터들의 확률분포 차이를 계산하는 알고리즘인 드리프트 평가 메트릭을 적용하여 데이터 드리프트를 판별하는 단계를 포함할 수 있다.In one embodiment, the step (b) may include determining data drift by applying a drift evaluation metric, which is an algorithm for calculating a difference in probability distributions of data constituting the reference data set and the prediction data set. .
본 발명에 따른 AI 모델 드리프트 모니터링 장치 및 방법은, 배포된 AI 모델의 예측 성능 저하에 따른 데이터 드리프트를 모니터링 하며, 기준 데이터 셋과 예측 데이터 셋의 구성 후, 2개의 데이터 셋 간의 통계적 차이를 비교하여 그래프로 시각화 함으로써 데이터 드리프트를 용이하게 파악할 수 있는 효과가 있다.The AI model drift monitoring apparatus and method according to the present invention monitors data drift due to the degradation of the predictive performance of the deployed AI model, and compares the statistical difference between the two data sets after configuring a reference data set and a prediction data set. By visualizing it as a graph, data drift can be easily identified.
또한, 본 발명에 따른 AI 모델 드리프트 모니터링 장치 및 방법은, 피처 수준의 드리프트 스코어를 제공하여 데이터 드리프트를 유발하는 피처를 분석하고, 피처별로 드리프트 추이를 모니터링 하여, 데이터 드리프트에 영향을 미치는 요인을 파악할 수 있는 효과가 있다.In addition, the AI model drift monitoring apparatus and method according to the present invention analyzes features that cause data drift by providing feature-level drift scores, monitors drift trends for each feature, and identifies factors affecting data drift. There are possible effects.
도 1은 본 발명의 일 실시예에 따른 AI 모델 드리프트 모니터링 장치의 블록도이다.1 is a block diagram of an AI model drift monitoring device according to an embodiment of the present invention.
도 2는 기준 데이터 셋과 예측 데이터 셋을 구성하는 데이터들의 분포를 도시하는 도면이며, 도 3는 확률분포 차이 계산 알고리즘인 KLD를 적용한 계산 결과를 나타내는 그래프이다.2 is a diagram showing the distribution of data constituting the reference data set and the prediction data set, and FIG. 3 is a graph showing the calculation result by applying KLD, a probability distribution difference calculation algorithm.
도 4 및 도 5는 AI 모델의 드리프트 모니터링 목록의 예시적인 화면들을 도시한다. 4 and 5 show example screens of an AI model drift monitoring list.
도 6 및 도 7는 AI 모델의 드리프트 모니터링 등록 및 수정을 위한 예시적인 화면들을 도시한다. 6 and 7 show exemplary screens for registering and correcting drift monitoring of an AI model.
도 8 및 도 9은 AI 모델의 드리프트 모니터링 결과에 관한 예시적인 화면들을 도시한다. 8 and 9 show exemplary screens related to drift monitoring results of the AI model.
도 10 및 도 11는 AI 모델의 드리프트 정보에 관한 예시적인 화면들을 도시한다.10 and 11 show exemplary screens related to drift information of an AI model.
도 12은 본 발명의 일 실시예에 따른 AI 모델 드리프트 모니터링 방법의 순서도이다.12 is a flowchart of an AI model drift monitoring method according to an embodiment of the present invention.
이하에서는, 본 발명의 일 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.Hereinafter, one embodiment of the present invention will be described in detail through exemplary drawings. In adding reference numerals to components of each drawing, it should be noted that the same components have the same numerals as much as possible even if they are displayed on different drawings. In addition, in describing the present invention, if it is determined that a detailed description of a related known configuration or function may obscure the gist of the present invention, the detailed description will be omitted.
도 1은 본 발명의 일 실시예에 따른 AI 모델 드리프트 모니터링 장치의 블록도이다.1 is a block diagram of an AI model drift monitoring device according to an embodiment of the present invention.
도 1을 참조하면, 본 발명의 AI 모델 드리프트 모니터링 장치(10)는 모니터링 설정부(100), 모니터링 결과 분석부(200) 및 모니터링 실행 수정부(300)를 포함한다. Referring to FIG. 1 , the AI model drift monitoring device 10 of the present invention includes a monitoring setting unit 100, a monitoring result analysis unit 200, and a monitoring execution correction unit 300.
모니터링 설정부(100)는 기준 데이터 셋과 예측 데이터 셋을 선별하여 구성하고, 데이터 드리프트를 모니터링 하는 실행 주기를 설정한다. The monitoring setting unit 100 selects and configures a reference data set and a prediction data set, and sets an execution cycle for monitoring data drift.
여기서, 기준 데이터 셋은 학습 데이터 셋 또는 과거 데이터 셋이 될 수 있다. 학습 데이터 셋은 AI 모델을 생성할 때 사용된 학습 데이터들의 전체 또는 부분 집합이 될 수 있으며, 학습 데이터들은, 예를 들어, 센서를 통해 감지된 측정 값들에서 AI 모델의 학습을 위해 정제된(refined) 데이터들이 될 수 있다. Here, the reference "data" set may be a learning data set or a past data set. The training data set may be all or a subset of the training data used when creating the AI model, and the training data are refined for learning the AI model from measurement values sensed by sensors, for example. ) can be data.
과거 데이터 셋은 생성된 AI 모델이 배포되어, AI 모델의 서빙(serving) 이후 입력되는 실제 데이터들의 전체 또는 부분 집합이 될 수 있다. AI 모델에 대한 모니터링 분석을 실행하는 시점에서 '과거'에 입력된 데이터들이므로, 과거 데이터 셋으로 지칭한다. The past data set may be all or a partial set of actual data input after the generated AI model is distributed and the AI model is served. It is referred to as a past data set because it is the data entered in the 'past' at the time of executing the monitoring analysis for the AI model.
예측 데이터 셋은 AI 모델의 서빙 이후 입력되는 과거 데이터들에 기반하여 AI 모델이 산출하는 예측 데이터들의 전체 또는 부분 집합이 될 수 있다. The prediction data set may be all or a partial set of prediction data calculated by the AI model based on past data input after serving the AI model.
본 발명의 일 실시예에서, 모니터링 설정부(100)는 데이터를 구성하는 피처들(features) 중 분석을 실행할 대상 피처들을 선별하고, 피처별 임계값을 설정하는 대상 피처 설정부(110)를 포함할 수 있다. In one embodiment of the present invention, the monitoring setting unit 100 includes a target feature setting unit 110 that selects target features to be analyzed among features constituting data and sets a threshold value for each feature. can do.
또한, 모니터링 설정부(100)는 모니터링 결과 분석부(200)의 분석 결과, 예측 데이터가 미리 설정된 기준 범위를 이탈하여 데이터 드리프트가 발생하면, 해당 정보를 노티스(notice) 할 슬랙(slack) 채널을 설정하는 알람 설정부(120)를 포함할 수 있다.In addition, the monitoring setting unit 100 sets up a slack channel to notify the corresponding information when data drift occurs as a result of analysis by the monitoring result analysis unit 200, as the predicted data deviate from a preset reference range. It may include an alarm setting unit 120 to set.
모니터링 결과 분석부(200)는 기준 데이터 셋과 예측 데이터 셋을 모니터링 주기에 따라 분석하고, 2개 데이터 셋 간의 통계적 차이를 비교하여 미리 설정된 기준 범위의 이탈 여부에 따라 데이터 드리프트의 발생 여부를 판별한다.The monitoring result analysis unit 200 analyzes the reference data set and the prediction data set according to the monitoring period, compares the statistical difference between the two data sets, and determines whether data drift occurs according to whether the data drifts out of a preset reference range. .
기준 데이터 셋이 학습 데이터 셋인 경우, 모니터링 결과 분석부(200)는 AI 모델의 생성에 사용된 학습 데이터들의 전체 또는 부분 집합인 학습 데이터 셋과, AI 모델의 서빙 이후 입력되는 실제 데이터(과거 데이터), 예를 들어, 센서를 통해 감지된 측정 값들에 기반하여 AI 모델에서 산출되는 예측 데이터들의 전체 또는 부분 집합인 예측 데이터 셋과 통계적 차이를 비교한다. When the reference data set is a learning data set, the monitoring result analysis unit 200 includes a learning data set that is all or a partial set of learning data used to generate the AI model, and actual data (past data) input after serving the AI model. , For example, a statistical difference is compared with a prediction data set that is all or a partial set of prediction data calculated from an AI model based on measurement values sensed through a sensor.
기준 데이터 셋이 과거 데이터 셋인 경우, 모니터링 결과 분석부(200)는 모니터링이 실행되는 1주기 이전에 AI 모델에 입력된 과거 데이터들의 전체 또는 부분 집합인 과거 데이터 셋을 기준 데이터 셋으로 설정한 상태에서, 기준 데이터 셋(과거 데이터 셋)이 설정된 이후의 시점에 입력되는 과거 데이터들에 기반하여 AI 모델에서 산출되는 예측 데이터들의 전체 또는 부분 집합인 예측 데이터 셋과 기준 데이터 셋(과거 데이터 셋)을 비교한다. When the reference data set is a past data set, the monitoring result analysis unit 200 sets a past data set, which is all or a partial set of past data input to the AI model one cycle prior to the monitoring execution, as the reference data set. , Comparison of the prediction data set (past data set) with the prediction data set, which is all or a partial set of prediction data calculated from the AI model based on the past data input at the point in time after the reference data set (past data set) is set do.
모니터링 결과 분석부(200)는, 기준 데이터 셋과 예측 데이터 셋을 구성하는 데이터들의 확률분포 차이를 계산하는 알고리즘인 드리프트 평가 메트릭을 적용하여 데이터 드리프트를 판별한다. The monitoring "result" analysis unit 200 determines "data" drift by applying "drift" evaluation "metric" which is an "algorithm" that calculates "probability distribution" difference of "data constituting" the "standard" data set and the "prediction" data set.
확률분포 차이를 계산하는 알고리즘으로, 상용의 Jensen Shannon Divergence(JSD) 및/또는 Kullback Leibler Divergence(KLD)가 사용될 수 있으며, 이에 제한되는 것은 아니다. As an algorithm for calculating the probability distribution difference, commercially available Jensen Shannon Divergence (JSD) and/or Kullback Leibler Divergence (KLD) may be used, but is not limited thereto.
JSD 또는 KLD를 통해 계산된 확률분포 차이는 그래프로 표시될 수 있으며, KLD는 0에서 무한대까지의 값을 갖고, JSD는 0에서 1 사이의 값을 갖는다. The probability distribution difference calculated through JSD or KLD can be graphed. KLD has a value from 0 to infinity, and JSD has a value between 0 and 1.
KLD는 2개의 데이터 셋 간의 분포의 차이를 계산할 때 교환법칙이 성립하지 않는데 반해, KLD(A,B)≠KLD(B,A), JSD는 교환법칙이 성립하므로, JSD(A,B)=JSD(B,A), JSD가 보다 안정적인 계산 방법으로 평가된다.KLD is not commutative when calculating the difference in distribution between two data sets, whereas KLD(A,B)≠KLD(B,A), JSD is commutative, so JSD(A,B)= JSD(B,A), JSD is evaluated as a more stable calculation method.
본 발명의 일 실시예에서, 모니터링 결과 분석부(200)는, 모니터링 설정부(100)에서 설정한 대상 피처들의 시간 경과에 따른 드리프트 추세를 모니터링 하여 분석하는 피처 분석부(210)를 포함할 수 있다. In one embodiment of the present invention, the monitoring result analysis unit 200 may include a feature analysis unit 210 that monitors and analyzes drift trends of target features set by the monitoring setting unit 100 over time. there is.
피처 분석부(210)는 데이터 셋을 구성하는 복수의 데이터들의 대상 피처들에 대한 정규화를 위해 범주형 피처는 전체 확률의 합이 1이 되도록 확률 분포로 변환하고, 수치형 피처는 전체 확률의 합이 1이 되도록 가우시안 분포로 가정하여 분석할 수 있다. 피처 분석부(210)는 추정된 가우시안 분포에서 N개, 예를 들어, 100개를 샘플링 하여 수치형 피처의 드리프트를 분석할 수 있다. The feature analysis unit 210 converts the categorical features into a probability distribution so that the sum of all probabilities is 1 for normalization of the target features of a plurality of data constituting the data set, and the numerical features are  Total   Probability   Sum It can be analyzed by assuming that it is a Gaussian distribution so that this becomes  1. The feature-analysis unit 210 may analyze the drift of the numerical features by sampling N pieces, for example, 100 pieces from the estimated Gaussian distribution.
범주형 피처는 피처 값이 특정 범위(range)를 갖는 피처를 의미하며, 수치형 피처는 피처 값이 특정한 수치를 갖는 피처를 의미한다. A categorical feature means a feature whose feature value has a specific range, and a numerical feature means a feature whose feature value has a specific numerical value.
또한, 모니터링 결과 분석부(200)는, 데이터 또는 피처의 드리프트 추세를 시각화 하여 그래프로 표시하는 그래픽 처리부(220)를 포함할 수 있다. 그래픽 처리부(220)는 모니터링 주기에 기반한 시간의 경과에 따른 데이터 값 또는 피처 값을 그래프로 표시할 수 있다. In addition, the monitoring result analysis unit 200 may include a graphic processing unit 220 that visualizes the drift trend of data or features and displays it as a graph. The graphic processing unit 220 may display data values or feature values over time based on the monitoring period as a graph.
또한, 모니터링 결과 분석부(200)는, 모니터링 주기별로 기록 및 저장된 드리프트의 이력 정보를 제공하는 드리프트 이력 조회부(230)를 포함할 수 있다. In addition, the monitoring result analysis unit 200 may include a drift history inquiry unit 230 that provides drift history information recorded and stored for each monitoring period.
모니터링 실행 수정부(300)는 모니터링 결과 분석부(200)의 분석 결과에 따라 데이터 드리프트에 대한 모니터링의 설정 및 실행 주기를 업데이트 한다. AI 모델이 적용되는 사용 환경, 데이터 드리프트의 발생 가능한 빈도, 데이터 드리프트 발생으로 인한 피해의 경중 등을 고려하여, 모니터링의 설정 및 실행 주기가 조정될 수 있다.The monitoring execution correcting unit 300 sets monitoring for data drift and updates an execution cycle according to the analysis result of the monitoring result analysis unit 200 . The setting and execution cycle of monitoring can be adjusted in consideration of the usage environment to which the AI model is applied, the possible frequency of data drift, and the severity of damage caused by data drift.
본 발명의 일 실시예에서, 모니터링 실행 수정부(300)는, 피처 분석부(210)의 분석 결과에 따라 피처별로 적정한 임계값을 재설정하는 피처별 임계값 수정부(310)를 포함할 수 있다.In an embodiment of the present invention, the monitoring execution correction unit 300 may include a threshold value correction unit 310 for each feature that resets an appropriate threshold value for each feature according to the analysis result of the feature analysis unit 210. .
데이터들을 구성하는 피처별로 데이터 드리프트 유발에 미치는 영향이 상이하므로, 피처별로 다른 임계값을 설정하여 드리프트 추세를 모니터링 하고, 모니터링 결과에 따라 임계값을 재설정하는 조정 작업을 실행할 수 있다. Since each feature constituting the data has a different influence on data drift, a drift trend may be monitored by setting a different threshold for each feature, and an adjustment operation may be performed to reset the threshold according to the monitoring result.
도 2는 기준 데이터 셋과 예측 데이터 셋을 구성하는 데이터들의 분포를 도시하는 도면이며, 도 3는 확률분포 차이 계산 알고리즘인 KLD를 적용한 계산 결과를 나타내는 그래프이다. 2 is a diagram showing the distribution of data constituting the reference data set and the prediction data set, and FIG. 3 is a graph showing the calculation result by applying KLD, a probability distribution difference calculation algorithm.
도 2를 참조하면, A는 기준 데이터 셋을 구성하는 데이터들의 분포를 나타내며, B는 예측 데이터 셋을 구성하는 데이터들의 분포를 나타낸다. A와 B의 데이터들은, 데이터를 구성하는 피처들의 수치를 기반으로 도 2와 같이 XY 평면 상에 표시될 수 있다. 본 발명은 A와 B 간의 통계적 차이를 비교하여 데이터 드리프트 발생 여부를 판단한다. Referring to FIG. 2, A represents the distribution of data constituting the reference data set, and B represents the distribution of data constituting the prediction data set. The data of A and B may be displayed on the XY plane as shown in FIG. 2 based on the numerical values of the features constituting the data. The present invention compares the statistical difference between A and B to determine whether data drift has occurred.
도 3를 참조하면, 기준 데이터 셋과 예측 데이터 셋에 KLD를 적용하여 계산된 결과를 도시한다. 계산 결과, C는 데이터 드리프트에 관해 미리 설정된 임계값(threshold) 내에 결과값이 나타나므로, 데이터 드리프트가 발생하지 않은 상태이며, D는 임계값을 이탈하여 결과값이 나타나므로, 데이터 드리프트가 발생한 상태이다.Referring to FIG. 3, a result calculated by applying KLD to a reference data set and a prediction data set is shown. As a result of the calculation, C is a state in which data drift has not occurred because the result value appears within the preset threshold for data drift, and D is a state in which data drift has occurred because the result value has deviated from the threshold value am.
도 4 및 도 5는 AI 모델의 드리프트 모니터링 목록의 예시적인 화면들을 도시한다. 4 and 5 show example screens of an AI model drift monitoring list.
도 4를 참조하면, 배포된 AI 모델의 데이터 드리프트(drift) 모니터링 목록을 표시한다. 모니터링 목록은, 예를 들어, 해당 AI 모델의 분석 주기, 드리프트 여부, 모델 상태, 기준 데이터, 최근 실행 일시 및 다음 실행 일시 정보를 포함할 수 있다. 모니터링 등록 버튼(102)은 AI 모델의 드리프트를 모니터링 하기 위해 드리프트 등록 화면으로 이동시킬 수 있다. Referring to FIG. 4 , a data drift monitoring list of the deployed AI model is displayed. The monitoring list may include, for example, analysis period of the corresponding AI model, drift, model status, reference data, latest execution date and next execution date and time information. The monitoring registration button 102 may move to a drift registration screen to monitor drift of the AI model.
도 4에 표시되는 AI 모델은 드리프트 모니터링 목록에 등록된 AI 모델을 나타내며, 드리프트 여부가 N으로 표시된 것은 해당 AI 모델에 데이터 드리프트가 발생하지 않았음을 의미한다. The AI model displayed in FIG. 4 represents an AI model registered in the drift monitoring list, and whether or not drift is indicated as N means that data drift has not occurred in the corresponding AI model.
도 5를 참조하면, 배포된 AI 모델이 데이터 드리프트 모니터링 목록에 등록되지 않은 경우를 나타내며, 등록되지 않았으므로, 'No data available' 메시지가 표시될 수 있다. Referring to FIG. 5, it indicates a case where the distributed AI model is not registered in the data drift monitoring list, and since it is not registered, a 'No data available' message may be displayed.
도 6 및 도 7는 AI 모델의 드리프트 모니터링 등록 및 수정을 위한 예시적인 화면들을 도시한다. 6 and 7 show exemplary screens for registering and correcting drift monitoring of an AI model.
도 6를 참조하면, 모니터링 설명 항목(104)에는 AI 모델의 드리프트 종류, 형태, 특이사항 등이 기입될 수 있다. 기준 시각 항목(106)은 AI 모델의 모니터링을 위한 기준 시각을 설정한다. AI 모델에 적용되는 기준 데이터가 학습 데이터인 경우, 기준 시각, 즉, 모니터링의 최초 실행일은 AI 모델의 서비스 시작 시간으로부터 하나의 분석 주기를 도과한 시점이 되어야 동일한 시간 간격으로 모니터링이 실행될 수 있다. Referring to FIG. 6 , in the monitoring description item 104 , drift types, shapes, and special matters of the AI model may be written. The reference time item 106 sets a reference time for monitoring the AI model. If the reference data applied to the AI model is training data, the reference time, that is, the first execution date of monitoring, must be the time when one analysis cycle has passed from the service start time of the AI model so that monitoring can be executed at the same time interval.
알림 설정 항목(122)은 AI 모델의 모니터링 실행 결과, 임계값을 초과하는 값이 검출되면 노티스(notice)를 전송할 슬랙(slack) 채널을 활성화 시킨다. The notification setting item 122 activates a slack channel to transmit a notice when a value exceeding a threshold value is detected as a result of monitoring execution of the AI model.
분석 주기 항목(108)은 AI 모델 모니터링의 분석 주기를 설정하며, 예를 들어, 도면에서 좌측은 분석 주기 설정의 기본 방식을 도시하며, 우측은 Corn 표현식을 도시한다. The analysis period item 108 sets the analysis period of AI model monitoring. For example, in the drawing, the left side shows the basic method of setting the analysis period, and the right side shows the Corn expression.
기본 방식은 AI 모델 모니터링의 분석 주기를 일/주/월 단위로 설정할 수 있다. Corn 표현식은 6개의 입력 항목으로 구분된 단위 표현식으로 이루어진 string 문자열로 구성될 수 있으며, 각각의 입력 항목에는 초/분/시/일/월/요일 정보가 세분화 되어 입력될 수 있고, 입력 항목들 사이는 공백(space)으로 구분될 수 있다. 즉, Corn 표현식은 기본 방식에 비해 초/분/시 단위까지 세분화 하여 모니터링 주기를 설정할 수 있다. In the basic method, the analysis cycle of AI model monitoring can be set in units of days/weeks/months. The Corn expression can be composed of a string string composed of unit expressions divided into 6 input items, and second/minute/hour/day/month/day information can be subdivided and input into each input item. It can be separated by spaces. That is, the Corn expression can set the monitoring period by subdividing it into seconds/minutes/hours compared to the basic method.
도 7를 참조하면, AI 모델 드리프트 모니터링의 등록 화면을 나타내며, 기준 데이터 항목(130)에서 AI 모델의 머신 러닝에 적용된 데이터의 종류가 선택된다.Referring to FIG. 7 , a registration screen for monitoring AI model drift is displayed, and the type of data applied to machine learning of the AI model is selected from the reference data item 130 .
선택된 데이터가 학습 데이터인 경우, path가 자동 설정되며, AI 모델의 생성 시 사용된 학습 데이터들의 경로에 담겨 있는 스키마 정보, 예를 들어, 학습 데이터들의 대상 피처, 피처 타입 등의 정보가 자동으로 호출되어 화면에 표시된다. If the selected data is training data, the path is automatically set, and schema information contained in the path of the training data used when creating the AI model, for example, information such as target features and feature types of the training data is automatically called. and displayed on the screen.
AI 모델 드리프트 모니터링을 위해 기준 시각, 즉, 모니터링의 최초 실행 시각이 설정되어야 한다. 모니터링의 기준 시각은 변경하여 재설정할 수 있다. For AI model drift monitoring, the reference time, that is, the first execution time of monitoring, must be set. The reference time of monitoring can be changed and reset.
스키마 설정 항목(132)은 AI 모델의 학습 데이터가 등록되어 있으면 자동으로 호출하여 셋팅하고, 학습 데이터가 등록되지 않은 경우, 스키마를 수동으로 설정할 수 있다. The schema setting item 132 may be automatically called and set if the learning data of the AI model is registered, and if the learning data is not registered, the schema may be manually set.
일 실시예에서, AI 모델의 학습 데이터의 자동 호출을 위해, AI 모델의 수정 화면으로 이동하여, 학습 데이터를 등록하면, 스키마 설정 항목(132)에 학습 데이터에 관한 대상 피처, 피처 타입 등이 자동 호출될 수 있다.In one embodiment, when moving to the AI model editing screen and registering the training data for automatic calling of the training data of the AI model, the target feature, feature type, etc. related to the training data are automatically displayed in the schema setting item 132. can be called
스키마 설정 항목(132)은, 예를 들어, 대상 피처, 타입, 임계값 항목으로 구분될 수 있으며, 사용자는 특정한 대상 피처를 선택하고, 타입 및 임계값을 수동 설정할 수 있다. 데이터 타입은, 예를 들어, numerical, categorical 등이 될 수 있으며, 이에 제한되지 않는다. The schema setting item 132 may be divided into, for example, target feature, type, and threshold value items, and the user may select a specific target feature and manually set the type and threshold value. The data type may be, for example, numerical or categorical, but is not limited thereto.
사용자가 임계값 일괄 설정 항목(134)을 체크하고, % 값을 기입하면, 스키마 설정 항목(132)의 임계값에 해당 % 값이 일괄 적용된다.When the user checks the threshold value collective setting item 134 and inputs a % value, the corresponding % value is collectively applied to the threshold value of the schema setting item 132 .
본 발명의 일 실시예에서, AI 모델의 생성에 사용된 학습 데이터들에 관한 대상 피처들의 값들을 기준값으로 하여, 특정 % 값이 임계값으로 설정될 수 있다.In an embodiment of the present invention, a specific % value may be set as a threshold value using values of target features of training data used to generate an AI model as reference values.
AI 모델을 모니터링한 결과, 특정 대상 피처의 임계값을 초과하는 결과 값이 검출되면, 전술한 바와 같이, 슬랙 채널에 노티스가 전송될 수 있다.As a result of monitoring the AI model, when a result value exceeding a threshold value of a specific target feature is detected, a notice may be transmitted to the slack channel as described above.
도 8 및 도 9은 AI 모델의 드리프트 모니터링 결과에 관한 예시적인 화면들을 도시한다. 8 and 9 show exemplary screens related to drift monitoring results of the AI model.
도 8을 참조하면, 드리프트 정보 요약 항목(202)은 모니터링 ID, 모니터링 상태, 실행 일시, 드리프트 여부 정보를 포함할 수 있다. 모니터링 ID는 모니터링을 실시한 주체의 ID를 표시하며, 모니터링 상태는 모니터링 활성화 여부를 표시할 수 있다. Referring to FIG. 8 , the drift information summary item 202 may include monitoring ID, monitoring status, execution time, and drift information. The monitoring ID indicates the ID of the monitoring subject, and the monitoring status may indicate whether monitoring is activated.
드리프트 여부는 AI 모델의 데이터 드리프트 발견 시, Y로 표시되고, 미발견 시, N으로 표시될 수 있다. Drift may be indicated by Y when the data drift of the AI model is detected, and N when not detected.
상위 드리프트 피처 항목(212)은 드리프트 크기(magnitude)가 큰 상위의 피처들과 그 수치를 표시한다. 도면에는, 3개의 상위 피처가 표시되도록 구성되어 있으나, 이에 제한되지 않고, 사용자가 AI 모델 분석에 필요한 범주에서 다양한 개수의 상위 피처가 표시될 수 있다. The top drift feature item 212 displays top features having a large drift magnitude and their values. In the drawing, three top features are configured to be displayed, but the user is not limited thereto, and various numbers of top features may be displayed in categories necessary for the AI model analysis.
새로 고침 버튼(204)은 AI 모델 드리프트 결과 정보를 업데이트 하여 화면에 표시한다. The refresh button 204 updates AI model drift result information and displays it on the screen.
드리프트 추이 항목(222)은 모니터링의 기간을 설정할 수 있으며, 설정된 기간에서 드리프트 추이가 그래프로 산출될 수 있다. The drift trend item 222 may set a monitoring period, and a drift trend may be calculated as a graph in the set period.
피처 선택 항목(214)은 드리프트 모니터링에 등록한 피처 목록을 표시하며, 특정 피처를 선택하면, 해당 피처에 대한 드리프트 추이가 그래프로 산출될 수 있다. The feature selection item 214 displays a list of features registered for drift monitoring, and when a specific feature is selected, a drift trend for the feature may be calculated as a graph.
도 9을 참조하면, 그래프 영역(224)은 피처 선택 항목(214)을 통해 선택된 피처별 드리프트 추이를 도시하며, 날짜/시간/피처별 변화 추이가 표시된다. 그래프 상에서 특정 시점을 클릭하면, 해당 시점에서의 피처에 관한 테이블이 팝업으로 노출되면서 정보가 표시될 수 있다. Referring to FIG. 9 , a graph area 224 shows the drift trend for each feature selected through the feature selection item 214, and the change trend for each date/time/feature is displayed. When a specific viewpoint is clicked on the graph, information may be displayed while a table related to a feature at the corresponding viewpoint is exposed as a pop-up.
드리프트 이력 항목(232)에는 모든 대상 피처들의 드리프트 크기, 임계값, 드리프팅(drifting) 여부가 표시될 수 있다. In the drift history item 232, drift sizes, threshold values, and drifting of all target features may be displayed.
사용자는 드리프트 모니터링 수정 항목(206)을 클릭하여, 기존의 드리프트 모니터링 목록을 수정할 수 있다. The user may modify the existing drift monitoring list by clicking the drift monitoring correction item 206 .
도 10 및 도 11는 AI 모델의 드리프트 정보에 관한 예시적인 화면들을 도시한다. 10 and 11 show exemplary screens related to drift information of an AI model.
도 10을 참조하면, 드리프트 설명 항목(302)은 해당 드리프트의 종류, 모니터링 기준 시각을 표시한다.Referring to FIG. 10 , the drift description item 302 indicates the type of drift and the reference monitoring time.
알림 설정 항목(304)은 모니터링을 실행한 결과로 임계값을 초과하는 값이 검출되면 노티스를 전송할 슬랙 채널의 정보를 표시하며, 슬랙 채널의 정보 수정도 가능하도록 구성될 수 있다. The notification setting item 304 may be configured to display information of a slack channel to which a notification is to be transmitted when a value exceeding a threshold value is detected as a result of executing monitoring, and to enable modification of information of the slack channel.
분석 주기 항목(306)은 드리프트의 분석 주기를 설정하며, 일/주/월 단위로 주기를 설정할 수 있다. The analysis period item 306 sets a drift analysis period, and may set the period in units of days/weeks/months.
기준 데이터 항목(308)은 학습 데이터가 저장되는 위치를 표시하며, 드리프트 모니터링의 정확성을 위해 기준 데이터의 수정은 불가하나, 모니터링의 기준 시각 변경은 가능하다.The reference data item 308 indicates a location where learning data is stored, and it is impossible to modify the reference data for accuracy of drift monitoring, but it is possible to change the reference time of monitoring.
도 11는 AI 모델의 드리프트 정보를 나타내며, 도 7에서 AI 모델의 드리프트 모니터링 등록을 실행하면, 도 11과 같은 화면이 표시될 수 있다. 사용자가 등록 수정 버튼(312)을 클릭하면, 도 7와 같은 화면으로 전환되어, 대상 피처, 타입, 임계값 정보를 변경할 수 있다. 11 shows drift information of the AI model, and when drift monitoring registration of the AI model is executed in FIG. 7, a screen as shown in FIG. 11 may be displayed. When the user clicks the registration modification button 312, the screen is converted to the screen shown in FIG. 7, and target feature, type, and threshold information can be changed.
도 12은 본 발명의 일 실시예에 따른 AI 모델 드리프트 모니터링 방법의 순서도이다.12 is a flowchart of an AI model drift monitoring method according to an embodiment of the present invention.
도 12을 참조하면, 본 발명의 AI 모델 드리프트 모니터링 방법에 따르면, AI 모델 드리프트 모니터링 장치(10)는 기준 데이터 셋과 예측 데이터 셋을 선별하여 구성하고, AI 모델의 데이터 드리프트를 모니터링 하는 실행 주기를 설정하며(S100), 기준 데이터 셋과 예측 데이터 셋을 모니터링 주기에 따라 분석하고, 2개 데이터 셋 간의 통계적 차이를 비교하여 미리 설정된 기준 범위의 이탈 여부에 따라 데이터 드리프트를 판별하고(S200), S200 단계의 판별 결과에 따라 데이터 드리프트에 대한 모니터링의 설정 및 실행 주기를 업데이트 한다(S300).Referring to FIG. 12, according to the AI model drift monitoring method of the present invention, the AI model drift monitoring device 10 selects and configures a reference data set and a prediction data set, and sets an execution cycle for monitoring data drift of the AI model. setting (S100), analyzing the reference data set and prediction data set according to the monitoring cycle, comparing the statistical difference between the two data sets, and determining data drift according to whether or not it deviated from the preset reference range (S200), S200 According to the determination result of the step, data drift monitoring is set and an execution cycle is updated (S300).
본 발명의 일 실시예에서, AI 모델 드리프트 모니터링 장치(10)는 상기 S100 단계에서, 데이터를 구성하는 피처들 중 분석을 실행할 대상 피처들을 선별하고, 피처별 임계값을 설정할 수 있다. In one embodiment of the present invention, the AI model drift monitoring apparatus 10 may select target features to be analyzed from among features constituting data and set a threshold value for each feature in step S100.
피처별로 데이터 드리프트의 유발에 영향을 미치는 정도가 상이하며, AI 모델 드리프트 모니터링 장치(10)는 피처 수준(level)의 드리프트 스코어(score)를 기반으로 데이터 드리프트를 유발하는 피처를 분석하고, 피처별로 드리프트 추이를 모니터링 하여, 데이터 드리프트에 영향을 미치는 요인을 파악할 수 있다. Each feature has a different degree of influence on data drift, and the AI model drift monitoring device 10 analyzes features that cause data drift based on feature-level drift scores, and analyzes features that cause data drift for each feature. By monitoring drift trends, factors affecting data drift can be identified.
AI 모델 드리프트 모니터링 장치(10)는 상기 S100 단계에서, 상기 S200 단계의 분석 결과, 예측 데이터가 미리 설정된 기준 범위를 이탈하여 데이터 드리프트가 발생하면, 해당 정보를 노티스 할 슬랙 채널을 설정할 수 있다. 슬랙 채널을 통해 데이터 드리프트에 대한 노티스가 전달되면, 새로운 학습 데이터를 이용한 AI 모델의 머신 러닝 실행 등 AI 모델의 업데이트를 위한 후속 조치가 이뤄질 수 있다. In step S100, the AI model drift monitoring device 10 may set a slack channel to notify the information when data drift occurs because the predicted data deviate from a preset reference range as a result of the analysis in step S200. When a notice about data drift is delivered through a slack channel, follow-up actions can be taken to update the AI model, such as running machine learning on the AI model using new training data.
AI 모델 드리프트 모니터링 장치(10)는 상기 S200 단계에서, 대상 피처들의 시간 경과에 따른 드리프트 추세를 모니터링 하여 분석할 수 있으며, 나아가, 데이터 셋을 구성하는 복수의 데이터들의 대상 피처들에 대한 정규화를 위해 범주형 피처는 전체 확률의 합이 1이 되도록 확률 분포로 변환하고, 수치형 피처는 전체 확률의 합이 1이 되도록 가우시안 분포로 가정하여 분석 할 수 있다. The AI model drift monitoring device 10 may monitor and analyze drift trends of target features over time in step S200, and furthermore, for normalization of target features of a plurality of data constituting a data set Categorical features are converted into probability distributions so that the sum of all probabilities is 1, and numeric features can be analyzed by assuming a Gaussian distribution so that the sum of all probabilities is 1.
AI 모델 드리프트 모니터링 장치(10)는 상기 S200 단계에서 실행되는 대상 피처들의 드리프트 추세 분석 결과에 따라 S300 단계에서 피처별로 적정한 임계값을 재설정할 수 있다. The AI model drift monitoring apparatus 10 may reset an appropriate threshold value for each feature in step S300 according to the drift trend analysis result of the target features executed in step S200.
여기서, AI 모델의 생성에 사용된 학습 데이터들에 관한 대상 피처들의 값들을 기준값으로 하여, 특정 % 값이 피처별 임계값으로 재설정될 수 있다. 각각의 피처에 의한 데이트 드리프트의 민감도(sensitivity)는 상이하므로, 피처별 임계값은 각각 다르게 설정될 수 있다. Here, a specific % value may be reset as a feature-by-feature threshold using values of target features of training data used to generate an AI model as reference values. Since each feature has a different sensitivity to data drift, the threshold value for each feature may be set differently.
AI 모델 드리프트 모니터링 장치(10)는 상기 S300 단계에서, 기준 데이터 셋과 예측 데이터 셋을 구성하는 데이터들의 확률분포 차이를 계산하는 알고리즘인 드리프트 평가 메트릭을 적용하여 데이터 드리프트를 판별할 수 있다. 확률분포 차이를 계산하는 알고리즘으로, 상용의 Jensen Shannon Divergence(JSD) 및/또는 Kullback Leibler Divergence(KLD)가 사용될 수 있다. The AI model drift monitoring device 10 may determine data drift by applying a drift evaluation metric, which is an algorithm for calculating a difference in probability distribution of data constituting the reference data set and the prediction data set, in step S300. As an algorithm for calculating the probability distribution difference, commercially available Jensen Shannon Divergence (JSD) and/or Kullback Leibler Divergence (KLD) can be used.
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 컨트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로 컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 컨트롤러를 포함할 수 있다. 또한, 병렬 프로세서 (parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The embodiments described above may be implemented as hardware components, software components, and/or a combination of hardware components and software components. For example, the devices, methods, and components described in the embodiments may include, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate (FPGA). array), programmable logic units (PLUs), microprocessors, or any other device capable of executing and responding to instructions. A processing device may run an operating system (OS) and one or more software applications running on the operating system. A processing device may also access, store, manipulate, process, and generate data in response to execution of software. For convenience of understanding, there are cases in which one processing device is used, but those skilled in the art will understand that the processing device includes a plurality of processing elements and/or a plurality of types of processing elements. It can be seen that it can include. For example, a processing device may include a plurality of processors or a processor and a controller. Also, other processing configurations are possible, such as parallel processors.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody) 될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.Software may include a computer program, code, instructions, or a combination of one or more of the foregoing, which configures a processing device to operate as desired or processes independently or collectively. You can command the device. Software and/or data may be any tangible machine, component, physical device, virtual equipment, computer storage medium or device, intended to be interpreted by or provide instructions or data to a processing device. , or may be permanently or temporarily embodied in a transmitted signal wave. Software may be distributed on networked computer systems and stored or executed in a distributed manner. Software and data may be stored on one or more computer readable media.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나, 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드 뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer readable medium. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination. Program commands recorded on the medium may be specially designed and configured for the embodiment, or may be known and usable to those skilled in computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floptical disks. - includes hardware devices specially configured to store and execute program instructions, such as magneto-optical media, and ROM, RAM, flash memory, and the like. Examples of program instructions include high-level language codes that can be executed by a computer using an interpreter, as well as machine language codes such as those produced by a compiler. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.
지금까지 본 발명을 바람직한 실시 예를 참조하여 상세히 설명하였지만, 본 발명이 상기한 실시 예에 한정되는 것은 아니며, 이하의 특허청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 또는 수정이 가능한 범위까지 본 발명의 기술적 사상이 미친다 할 것이다.Although the present invention has been described in detail with reference to preferred embodiments, the present invention is not limited to the above embodiments, and the technical field to which the present invention belongs without departing from the gist of the present invention claimed in the following claims. Anyone skilled in the art will extend the technical spirit of the present invention to the extent that various variations or modifications are possible.

Claims (16)

  1. 기준 데이터 셋과 예측 데이터 셋을 선별하여 구성하고, AI 모델의 데이터 드리프트를 모니터링 하는 실행 주기를 설정하는 모니터링 설정부; A monitoring setting unit that selects and configures a reference data set and a prediction data set and sets an execution cycle for monitoring data drift of the AI model;
    상기 기준 데이터 셋과 예측 데이터 셋을 모니터링 주기에 따라 분석하고, 2개 데이터 셋 간의 통계적 차이를 비교하여 미리 설정된 기준 범위의 이탈 여부에 따라 데이터 드리프트를 판별하는 모니터링 결과 분석부; 및 a monitoring result analysis unit that analyzes the reference data set and the prediction data set according to a monitoring period, compares statistical differences between the two data sets, and determines data drift according to whether the data drifts out of a preset reference range; and
    상기 모니터링 결과 분석부의 분석 결과에 따라 데이터 드리프트에 대한 모니터링의 설정 및 실행 주기를 업데이트 하는 모니터링 실행 수정부;를 포함하는 것을 특징으로 하는 AI 모델 드리프트 모니터링 장치.AI model drift monitoring device characterized in that it comprises a; monitoring execution correction unit for updating the setting and execution cycle of monitoring for data drift according to the analysis result of the monitoring result analysis unit.
  2. 제1항에 있어서, According to claim 1,
    상기 모니터링 결과 분석부는, The monitoring result analysis unit,
    상기 기준 데이터 셋과 예측 데이터 셋을 구성하는 데이터들의 확률분포 차이를 계산하는 알고리즘인 드리프트 평가 메트릭을 적용하여 데이터 드리프트를 판별하는 것을 특징으로 하는 AI 모델 드리프트 모니터링 장치.AI model drift monitoring device, characterized in that for determining data drift by applying a drift evaluation metric, which is an algorithm that calculates a difference in probability distribution of data constituting the reference data set and the prediction data set.
  3. 제1항에 있어서, According to claim 1,
    상기 모니터링 설정부는, The monitoring setting unit,
    데이터를 구성하는 피처들 중 분석을 실행할 대상 피처들을 선별하고, 피처별 임계값을 설정하는 대상 피처 설정부;를 포함하는 것을 특징으로 하는 AI 모델 드리프트 모니터링 장치.An AI model drift monitoring device comprising: a target feature setting unit that selects target features to be analyzed among features constituting the data and sets a threshold value for each feature.
  4. 제3항에 있어서, According to claim 3,
    상기 모니터링 결과 분석부는, The monitoring result analysis unit,
    상기 대상 피처들의 시간 경과에 따른 드리프트 추세를 모니터링 하여 분석하는 피처 분석부;를 포함하는 것을 특징으로 하는 AI 모델 드리프트 모니터링 장치. An AI model drift monitoring device comprising: a feature analyzer that monitors and analyzes drift trends of the target features over time.
  5. 제4항에 있어서,According to claim 4,
    상기 피처 분석부는,The feature analysis unit,
    데이터 셋을 구성하는 복수의 데이터들의 대상 피처들에 대한 정규화를 위해 범주형 피처는 전체 확률의 합이 1이 되도록 확률 분포로 변환하고, 수치형 피처는 전체 확률의 합이 1이 되도록 가우시안 분포로 가정하여 분석하는 것을 특징으로 하는 AI 모델 드리프트 모니터링 장치. For normalization of target features of a plurality of data constituting the data set, categorical features are converted into a probability distribution so that the sum of all probabilities is 1, and numerical features are converted into a Gaussian distribution so that the sum of all probabilities is 1. An AI model drift monitoring device, characterized in that it is hypothesized and analyzed.
  6. 제4항에 있어서, According to claim 4,
    상기 모니터링 실행 수정부는, The monitoring execution correction unit,
    상기 피처 분석부의 분석 결과에 따라 피처별로 적정한 임계값을 재설정하는 피처별 임계값 수정부;를 포함하는 것을 특징으로 하는 AI 모델 드리프트 모니터링 장치.An AI model drift monitoring device comprising: a feature-by-feature threshold value correction unit that resets an appropriate threshold value for each feature according to the analysis result of the feature analysis unit.
  7. 제1항에 있어서, According to claim 1,
    상기 모니터링 설정부는, The monitoring setting unit,
    상기 모니터링 결과 분석부의 분석 결과, 예측 데이터가 미리 설정된 기준 범위를 이탈하여 데이터 드리프트가 발생하면, 해당 정보를 노티스 할 슬랙 채널을 설정하는 알람 설정부;를 포함하는 것을 특징으로 하는 AI 모델 드리프트 모니터링 장치.AI model drift monitoring device comprising: an alarm setting unit for setting a slack channel to notify the corresponding information when data drift occurs as a result of the analysis of the monitoring result analysis unit and the predicted data deviate from a preset reference range; .
  8. 제1항에 있어서, According to claim 1,
    상기 기준 데이터 셋은, The reference data set is
    AI 모델 생성 시에 사용된 데이터들로 구성되는 학습 데이터 셋, 또는 AI 모델의 서빙 이후 입력되는 데이터들로 구성되는 과거 데이터 셋인 것을 특징으로 하는 AI 모델 드리프트 모니터링 장치.AI model drift monitoring device, characterized in that the learning data set consisting of data used when generating the AI model, or the past data set consisting of data input after serving the AI model.
  9. (a) 기준 데이터 셋과 예측 데이터 셋을 선별하여 구성하고, AI 모델의 데이터 드리프트를 모니터링 하는 실행 주기를 설정하는 단계; (a) selecting and configuring a reference data set and a prediction data set, and setting an execution cycle for monitoring data drift of the AI model;
    (b) 상기 기준 데이터 셋과 예측 데이터 셋을 모니터링 주기에 따라 분석하고, 2개 데이터 셋 간의 통계적 차이를 비교하여 미리 설정된 기준 범위의 이탈 여부에 따라 데이터 드리프트를 판별하는 단계; 및 (b) analyzing the reference data set and the prediction data set according to a monitoring period, comparing statistical differences between the two data sets, and determining data drift according to whether they deviate from a preset reference range; and
    (c) 상기 판별 결과에 따라 데이터 드리프트에 대한 모니터링의 설정 및 실행 주기를 업데이트 하는 단계;를 포함하는 것을 특징으로 하는 AI 모델 드리프트 모니터링 방법.(c) setting monitoring for data drift and updating an execution cycle according to the determination result; AI model drift monitoring method characterized in that it comprises a.
  10. 제9항에 있어서, According to claim 9,
    상기 (a) 단계는, In step (a),
    데이터를 구성하는 피처들 중 분석을 실행할 대상 피처들을 선별하고, 피처별 임계값을 설정하는 단계;를 포함하는 것을 특징으로 하는 AI 모델 드리프트 모니터링 방법.An AI model drift monitoring method comprising the steps of selecting target features to be analyzed from among features constituting data and setting a threshold value for each feature.
  11. 제10항에 있어서, According to claim 10,
    상기 (b) 단계는, In step (b),
    상기 대상 피처들의 시간 경과에 따른 드리프트 추세를 모니터링 하여 분석하는 단계;를 포함하는 것을 특징으로 하는 AI 모델 드리프트 모니터링 방법. and monitoring and analyzing drift trends of the target features over time.
  12. 제11항에 있어서,According to claim 11,
    상기 (b) 단계는, In step (b),
    데이터 셋을 구성하는 복수의 데이터들의 대상 피처들에 대한 정규화를 위해 범주형 피처는 전체 확률의 합이 1이 되도록 확률 분포로 변환하고, 수치형 피처는 전체 확률의 합이 1이 되도록 가우시안 분포로 가정하는 단계;를 포함하는 것을 특징으로 하는 AI 모델 드리프트 모니터링 방법.For normalization of target features of a plurality of data constituting the data set, categorical features are converted into a probability distribution so that the sum of all probabilities is 1, and numerical features are converted into a Gaussian distribution so that the sum of all probabilities is 1. AI model drift monitoring method comprising the step of assuming.
  13. 제11항에 있어서, According to claim 11,
    상기 (c) 단계는,In step (c),
    상기 (b) 단계의 분석 결과에 따라 피처별로 적정한 임계값을 재설정하는 단계;를 포함하는 것을 특징으로 하는 AI 모델 드리프트 모니터링 방법.The AI model drift monitoring method comprising the step of resetting an appropriate threshold value for each feature according to the analysis result of step (b).
  14. 제9항에 있어서, According to claim 9,
    상기 (a) 단계는, In step (a),
    상기 (b) 단계의 분석 결과, 예측 데이터가 미리 설정된 기준 범위를 이탈하여 데이터 드리프트가 발생하면, 해당 정보를 노티스 할 슬랙 채널을 설정하는 단계;를 포함하는 것을 특징으로 하는 AI 모델 드리프트 모니터링 방법.As a result of the analysis in step (b), if data drift occurs because the predicted data deviate from a preset reference range, setting a slack channel to notify the corresponding information; AI model drift monitoring method comprising the.
  15. 제9항에 있어서, According to claim 9,
    상기 (b) 단계는,In step (b),
    상기 기준 데이터 셋과 예측 데이터 셋을 구성하는 데이터들의 확률분포 차이를 계산하는 알고리즘인 드리프트 평가 메트릭을 적용하여 데이터 드리프트를 판별하는 단계;를 포함하는 것을 특징으로 하는 AI 모델 드리프트 모니터링 방법. AI model drift monitoring method comprising: determining data drift by applying a drift evaluation metric, which is an algorithm that calculates a difference in probability distribution of data constituting the reference data set and the prediction data set.
  16. 제9항에 있어서, According to claim 9,
    상기 기준 데이터 셋은, The reference data set is
    AI 모델 생성 시에 사용된 데이터들로 구성되는 학습 데이터 셋, 또는 AI 모델의 서빙 이후 입력되는 데이터들로 구성되는 과거 데이터 셋인 것을 특징으로 하는 AI 모델 드리프트 모니터링 방법.AI model drift monitoring method, characterized in that the learning data set consisting of data used when generating the AI model, or the past data set consisting of data input after serving the AI model.
PCT/KR2022/018011 2021-11-19 2022-11-15 Ai model drift monitoring device and method WO2023090825A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2021-0160214 2021-11-19
KR1020210160214A KR20230073632A (en) 2021-11-19 2021-11-19 Drift monitoring apparatus for ai model and method thereof

Publications (1)

Publication Number Publication Date
WO2023090825A1 true WO2023090825A1 (en) 2023-05-25

Family

ID=86397328

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2022/018011 WO2023090825A1 (en) 2021-11-19 2022-11-15 Ai model drift monitoring device and method

Country Status (2)

Country Link
KR (1) KR20230073632A (en)
WO (1) WO2023090825A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117249873A (en) * 2023-11-20 2023-12-19 精智未来(广州)智能科技有限公司 Quality monitoring method and equipment for gas molecular analysis

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101478327B1 (en) * 2013-01-28 2014-12-31 네이버 주식회사 Apparatus, method and computer readable recording medium of monitoring and preventing a false operation for a system optimization function
KR20170108315A (en) * 2016-03-17 2017-09-27 한국전자통신연구원 Method and apparatus for monitoring fault of system
WO2021076228A1 (en) * 2019-10-15 2021-04-22 UiPath, Inc. Inserting probabilistic models in deterministic workflows for robotic process automation and supervisor system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101478327B1 (en) * 2013-01-28 2014-12-31 네이버 주식회사 Apparatus, method and computer readable recording medium of monitoring and preventing a false operation for a system optimization function
KR20170108315A (en) * 2016-03-17 2017-09-27 한국전자통신연구원 Method and apparatus for monitoring fault of system
WO2021076228A1 (en) * 2019-10-15 2021-04-22 UiPath, Inc. Inserting probabilistic models in deterministic workflows for robotic process automation and supervisor system

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
LU JIE, LIU ANJIN, DONG FAN, GU FENG, GAMA JOAO, ZHANG GUANGQUAN: "Learning under Concept Drift: A Review", IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING, IEEE SERVICE CENTRE , LOS ALAMITOS , CA, US, vol. 31, no. 12, 1 January 2018 (2018-01-01), US , pages 2346 - 2352, XP093068183, ISSN: 1041-4347, DOI: 10.1109/TKDE.2018.2876857 *
SAMUEL ACKERMAN; EITAN FARCHI; ORNA RAZ; MARCEL ZALMANOVICI; PARIJAT DUBE: "Detection of data drift and outliers affecting machine learning model performance over time", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 20 January 2021 (2021-01-20), 201 Olin Library Cornell University Ithaca, NY 14853 , XP081863195 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117249873A (en) * 2023-11-20 2023-12-19 精智未来(广州)智能科技有限公司 Quality monitoring method and equipment for gas molecular analysis
CN117249873B (en) * 2023-11-20 2024-01-30 精智未来(广州)智能科技有限公司 Quality monitoring method and equipment for gas molecular analysis

Also Published As

Publication number Publication date
KR20230073632A (en) 2023-05-26

Similar Documents

Publication Publication Date Title
WO2018101722A2 (en) Machine learning-based semiconductor manufacturing yield prediction system and method
WO2020141882A1 (en) Explainable artificial intelligence modeling and simulation system and method
WO2023090825A1 (en) Ai model drift monitoring device and method
WO2013027970A1 (en) Method and apparatus for anomaly-based intrusion detection in network
WO2017164478A1 (en) Method and apparatus for recognizing micro-expressions through deep learning analysis of micro-facial dynamics
CN113865587A (en) Method, electronic device and computer program product for monitoring a field device
US20210049477A1 (en) Anomaly detection device
WO2021056731A1 (en) Log data analysis-based behavior detection method, apparatus, device, and medium
JP7248103B2 (en) Anomaly detection method, anomaly detection device, program
WO2013125866A1 (en) Computer system and signature verification server
WO2019117637A1 (en) Device for providing visitor behavior analysis data of dynamic webpage, and method for providing visitor behavior analysis data of website using same
WO2023106504A1 (en) Method, device, and computer-readable recording medium for machine learning-based observation level measurement using server system log, and for risk level calculation according to same measurement
WO2018194196A1 (en) Method and system for detecting application of obfuscation to and evaluating security of elf file
WO2018030733A1 (en) Method and system for analyzing measurement-yield correlation
WO2016064024A1 (en) Abnormal connection detection device and method
CN114944957A (en) Abnormal data detection method and device, computer equipment and storage medium
WO2024090667A1 (en) Race prediction system and method, using variant frequency
US20210303435A1 (en) Method, device, and computer program product for obtaining diagnostic information
WO2021133076A1 (en) Method and device for managing work unit price of crowdsourcing-based project for artificial intelligence training data generation
WO2018088824A1 (en) Method and apparatus for detecting abnormal user by using click log data
US20220221850A1 (en) Method for managing plant, plant design device, and plant management device
WO2018070598A1 (en) Device for monitoring illegal activity by using source code change influence evaluation and method therefor
WO2016085262A2 (en) Virtual drug screening method, intensive screening library constructing method, and system therefor
WO2019066099A1 (en) System for detecting abnormal behavior on basis of integrated analysis model, and method therefor
KR102403522B1 (en) Failure prevention apparatus and method using computer advance detection

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: 22896031

Country of ref document: EP

Kind code of ref document: A1