WO2024038939A1 - 서비스와 관련된 인공 지능 모델을 관리하는 방법 및 장치 - Google Patents

서비스와 관련된 인공 지능 모델을 관리하는 방법 및 장치 Download PDF

Info

Publication number
WO2024038939A1
WO2024038939A1 PCT/KR2022/012490 KR2022012490W WO2024038939A1 WO 2024038939 A1 WO2024038939 A1 WO 2024038939A1 KR 2022012490 W KR2022012490 W KR 2022012490W WO 2024038939 A1 WO2024038939 A1 WO 2024038939A1
Authority
WO
WIPO (PCT)
Prior art keywords
model
test
information
artificial intelligence
service
Prior art date
Application number
PCT/KR2022/012490
Other languages
English (en)
French (fr)
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 WO2024038939A1 publication Critical patent/WO2024038939A1/ko

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
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning

Definitions

  • Embodiments of this specification relate to a method and device for managing artificial intelligence models related to services.
  • Embodiments of the present specification relate to a method and apparatus for managing an artificial intelligence model related to a service by training an artificial intelligence model through a platform and providing result information according to serving the trained artificial intelligence model.
  • the present disclosure is proposed to solve the above-mentioned problems and provides a method and device for managing artificial intelligence models related to services.
  • the purpose of the present disclosure is to provide a method and device for confirming information about a model related to artificial intelligence based on information acquired from a terminal and providing results from serving the model.
  • a method of managing an artificial intelligence model related to a service in an electronic device may include requesting access to a platform related to the electronic device from a first terminal of a first user. receiving; Confirming information about a first model related to artificial intelligence based on information obtained from the first terminal; performing serving of the first model based on data related to the service; and providing result information according to serving of the first model.
  • the step of confirming information about the first model includes providing a platform for a model related to artificial intelligence to the first terminal upon receiving a request for access to the platform; And it may include confirming at least one data about the first model and information about the set model framework through the platform.
  • the step of checking information about the first model may further include training the first model based on information about the set model framework and at least one data.
  • confirming information about the first model includes dividing at least one data into at least one first data and at least one second data; Using at least one first data as learning data, training a first model according to information about the model framework; And it may further include confirming the prediction accuracy of the trained first model by using at least one second data as test data.
  • the first model stored in the platform may be characterized as having a prediction accuracy greater than or equal to a set threshold.
  • the step of checking information about the first model includes information about at least one data, information about a set model framework, information about the library version related to the first model, and parameters about the first model. It may include confirming information about the first model including at least one of the information.
  • serving the first model includes providing the first model to the second terminal of the second user through the platform; And it may include performing an A/B test on the first model based on data related to the service through the platform.
  • the step of performing an A/B test on the first model includes performing an A/B test based on the test type of the A/B test and setting information for the A/B test. can do.
  • performing a test on the first model includes checking a target model created by binding a plurality of models including the first model; And it may include performing A/B testing on the target model.
  • the first model is a new version of the second model stored in the platform, and the first model and the second model have at least one of at least one data used for model training, a model framework, and a library version different from each other. It can be characterized as:
  • the A/B test may be characterized as an A/B test in which a standard model and a target model for a service are used as a control group and an experimental group of the A/B test, respectively.
  • the setting information for the A/B test may include at least one of information about the execution period of the A/B test and information about the execution region.
  • setting information for the A/B test may include information about traffic allocated to the A/B test, and the step of performing the A/B test is It may include performing A/B testing according to information about traffic allocated to A/B testing.
  • the setting information for the A/B test includes information about the execution interval between test groups of the A/B test and the execution order of the test groups of the A/B test. Information may be included, and the steps of performing an A/B test include steps of running A/B tests alternately on test groups of the A/B test, based on information about the execution interval and information about the execution order. It can be included.
  • the step of performing the A/B test is based on information about the execution area included in the setting information for the A/B test, and the user of the A/B test It may include a step of determining.
  • confirming at least one data for the first model through the platform may include generating at least one data for the first model by processing data callable through the platform. .
  • providing result information according to serving of the first model may include providing information about metrics related to serving of the first model.
  • An electronic device for managing an artificial intelligence model related to a service includes a transceiver; Storage for storing one or more instructions; and receiving a request to access a platform related to the electronic device from the first terminal of the first user, confirming information about the first model related to artificial intelligence based on the information obtained from the first terminal, and collecting data related to the service. Based on , it may include a processor that performs serving of the first model and provides result information according to serving of the first model.
  • the recording medium according to the third aspect of the present disclosure may be a non-transitory computer-readable recording medium that records a program for execution on a computer.
  • the electronic device can confirm information about a model related to artificial intelligence based on information acquired from the terminal and provide results from serving the model. Accordingly, the electronic device can provide the same development environment to the user of the terminal through the platform. In addition, the electronic device serves a model related to artificial intelligence without additional coding, allowing quick confirmation of result information according to the serving of the model.
  • FIG. 1 is a diagram illustrating a system in which a method of managing an artificial intelligence model related to a service by an electronic device according to various embodiments can be implemented.
  • Figure 2 is a flowchart showing how an electronic device manages an artificial intelligence model related to a service.
  • Figure 3 is a diagram of a specific embodiment of confirming information about a first model related to artificial intelligence based on information acquired from the first terminal.
  • Figure 4 is a diagram showing a page for models related to artificial intelligence on the platform.
  • Figure 5 is a diagram showing a detailed page for a model related to artificial intelligence on the platform.
  • Figure 6 is a diagram showing a page for adding a new version of a model related to artificial intelligence on the platform.
  • Figure 7 is a diagram showing a page for adding a new version of a model related to artificial intelligence on the platform.
  • Figure 8 is a diagram showing a page for a standard model on a platform.
  • Figure 9 is a diagram showing a page for creating a target model.
  • Figure 10 is a diagram showing a page containing A/B testing for a standard model and a target model.
  • Figure 11 is a diagram of a page for setting A/B test setting information when the test type is the first type.
  • Figure 12 is a diagram of a page for setting A/B test setting information when the test type is the second type.
  • Figure 13 is a diagram of a page for setting A/B test setting information when the test type is the third type.
  • FIG. 14 is a diagram illustrating an embodiment of preferentially assigning users included in a test group according to setting parameter values.
  • Figure 15 is a diagram for an embodiment of providing information on metrics related to serving of the first model.
  • FIG. 16 is a diagram illustrating a specific embodiment of managing an artificial intelligence model related to a service in an electronic device.
  • Figure 17 is a block diagram illustrating an electronic device for managing an artificial intelligence model related to a service according to an embodiment.
  • the “terminal” mentioned below may be implemented as a computer or portable terminal that can connect to a server or other terminal through a network.
  • the computer includes, for example, a laptop, desktop, laptop, etc. equipped with a web browser
  • the portable terminal is, for example, a wireless communication device that guarantees portability and mobility.
  • all types of communication-based terminals such as IMT (International Mobile Telecommunication), CDMA (Code Division Multiple Access), W-CDMA (W-Code Division Multiple Access), and LTE (Long Term Evolution), smartphones, tablet PCs, etc. It may include a handheld-based wireless communication device.
  • each block of the processing flow diagram diagrams and combinations of the flow diagram diagrams can be performed by computer program instructions.
  • These computer program instructions can be mounted on a processor of a general-purpose computer, special-purpose computer, or other programmable data processing equipment, so that the instructions performed through the processor of the computer or other programmable data processing equipment are described in the flow chart block(s). It creates the means to perform functions.
  • These computer program instructions may also be stored in computer-usable or computer-readable memory that can be directed to a computer or other programmable data processing equipment to implement a function in a particular manner, so that the computer-usable or computer-readable memory It is also possible to produce manufactured items containing instruction means that perform the functions described in the flowchart block(s).
  • Computer program instructions can also be mounted on a computer or other programmable data processing equipment, so that a series of operational steps are performed on the computer or other programmable data processing equipment to create a process that is executed by the computer, thereby generating a process that is executed by the computer or other programmable data processing equipment. Instructions that perform processing equipment may also provide steps for executing the functions described in the flow diagram block(s).
  • each block may represent a module, segment, or portion of code that includes one or more executable instructions for executing specified logical function(s).
  • each block may represent a module, segment, or portion of code that includes one or more executable instructions for executing specified logical function(s).
  • FIG. 1 is a diagram illustrating a system in which a method of managing an artificial intelligence model related to a service by an electronic device according to various embodiments can be implemented.
  • system 10 may be implemented by various types of devices.
  • system 10 may include an electronic device 100, a first terminal 110, and a second terminal 120.
  • the system 10 shown in Figure 1 shows only components relevant to this embodiment. Accordingly, those skilled in the art can understand that other general-purpose components may be included in addition to the components shown in FIG. 1.
  • Each of the electronic device 100, the first terminal 110, and the second terminal 120 may include a transceiver, storage, and a processor.
  • the electronic device 100, the first terminal 110, and the second terminal 120 each refer to a unit that processes at least one function or operation, which is composed of hardware, software, or a combination of hardware and software. It can be implemented.
  • the electronic device 100, the first terminal 110, and the second terminal 120 are each referred to as separate devices or servers, but this may have a logically divided structure, and at least some of them are one It can be implemented as a separate function on a device or server.
  • the electronic device 100, the first terminal 110, and the second terminal 120 may include a plurality of computer systems or computer software implemented as a network server.
  • the electronic device 100, the first terminal 110, and the second terminal 120 are connected to lower level devices that can communicate with other network servers through a computer network such as an intranet or the Internet to perform tasks. It can refer to computer systems and computer software that receive requests, perform operations on them, and provide performance results.
  • the electronic device 100, the first terminal 110, and the second terminal 120 run a series of application programs that can operate on a network server and various databases built inside or on other connected nodes.
  • the electronic device 100, the first terminal 110, and the second terminal 120 run DOS, Windows, Linux, UNIX, or MacOS. ), etc. can be implemented using various network server programs provided depending on the operating system.
  • the electronic device 100, the first terminal 110, and the second terminal 120 may communicate with each other through a network (not shown).
  • Networks include Local Area Network (LAN), Wide Area Network (WAN), Value Added Network (VAN), mobile radio communication network, satellite communication network, and combinations thereof. It is a data communication network in a comprehensive sense that allows each network constituent shown in FIG. 1 to communicate smoothly with each other, and may include wired Internet, wireless Internet, and mobile wireless communication networks.
  • Wireless communications include, for example, wireless LAN (Wi-Fi), Bluetooth, Bluetooth low energy, ZigBee, WFD (Wi-Fi Direct), UWB (ultra wideband), and infrared communication (IrDA, infrared Data Association). ), NFC (Near Field Communication), etc., but are not limited thereto.
  • a method of managing an artificial intelligence model related to a service in an electronic device 100 includes receiving a request to access a platform related to the electronic device from a first terminal 110 of a first user, and Confirm information about the first model related to artificial intelligence based on the information obtained at 110, perform serving of the first model based on data related to the service, and results according to serving of the first model. It may include actions that provide information.
  • the first terminal 110 may be the first user's terminal.
  • the electronic device 100 may provide the first terminal 110 with a platform for a model related to artificial intelligence, and may check at least one data about the first model and information about the set model framework through the platform. there is.
  • the electronic device 100 may provide the first model to the second terminal 120 of the second user through the platform, based on information about the first model confirmed in the first terminal 110, Through the platform, A/B testing can be performed on the first model based on data related to the service. Accordingly, the electronic device 100 may provide result information according to serving of the first model to the second terminal 120 through the platform.
  • the electronic device 100 provides a platform to the first terminal 110 and the second terminal 120 to provide information about model training, such as training data of models related to artificial intelligence and frameworks of artificial intelligence models. Based on this, you can train an artificial intelligence model. Additionally, the electronic device 100 may store the trained artificial intelligence model on the platform, perform a test on the trained artificial intelligence model, and provide test result information to the second terminal 120. Accordingly, inefficiency in training an artificial intelligence model can be reduced through the platform provided by the electronic device 100, and the possibility of errors can be reduced by providing files of the same library version to different users. Additionally, the electronic device 100 can automate manual tasks through the platform to quickly check the test results of the artificial intelligence model. Specific examples of this will be discussed in detail below.
  • Figure 2 is a flowchart showing how an electronic device manages an artificial intelligence model related to a service.
  • each operation in which an electronic device manages an artificial intelligence model related to a service includes some operations being changed, replaced, or operated within the range clearly understood by those skilled in the art to which the present invention pertains. It can be clearly understood that some orders of liver may be changed.
  • step S210 the electronic device 100 may receive a request to access a platform related to the electronic device from the first terminal of the first user.
  • the electronic device 100 may receive a request to access a platform related to the electronic device 100 from the first terminal 110 of the first user.
  • the first terminal 110 may be a user terminal that manages data and develops and trains artificial intelligence models.
  • the platform on which the connection request is received may be a platform for setting learning data and tester data of the artificial intelligence model, training the artificial intelligence model, as well as testing and storing the trained artificial intelligence model.
  • the platform provided by the electronic device 100 is not only provided to the first user of the first terminal 110.
  • the electronic device 100 sets the same library version of the programming language (e.g., Python) provided to the first terminal 110. It can be provided to the second terminal. Accordingly, even if the model is trained by a different user, errors due to differences in the model's library version may not occur.
  • the programming language e.g., Python
  • step S220 information about the first model related to artificial intelligence can be confirmed based on information obtained from the first terminal of the electronic device 100.
  • the electronic device 100 may provide the first terminal 110 with a platform for a model related to artificial intelligence as it receives a request to access the platform.
  • the platform provided to the first terminal 110 may provide a page for writing and executing code for a model in an Internet environment.
  • the platform provided to the first terminal 110 may be a Jupyter notebook, and the electronic device 100 may provide a page where the first user can write and execute Python code through the platform.
  • the electronic device 100 may provide a platform to the first terminal 110, and receive at least one data about the first model and information about the set model framework from the first terminal 110. You can check.
  • the electronic device 100 may provide data related to a service called through the platform to the first terminal 110, and the first user may select at least one data related to the service on the platform as data for the model. You can.
  • data related to a service called through the platform may be data related to a service called from external storage. However, it is not limited to this, and data related to services called through the platform may be stored in the electronic device.
  • At least one piece of data may be learning data for training the first model. However, it is not limited to this.
  • At least one data may include test data to be used for prediction to verify the performance of the first model.
  • At least one piece of data may be a feature or data created as data related to a service called through the platform is processed. More specifically, the electronic device 100 may process data related to a service called through the platform and provide a page that generates data related to the model.
  • data related to services called through the platform may be stored in a separate database and may be called through Kafka.
  • the electronic device 100 may check information about the model framework.
  • the model framework is a framework used for an artificial intelligence model and may mean a reusable code portion or framework during the development stage of the artificial intelligence model.
  • the electronic device 100 can improve the quality of the artificial intelligence model and effectively reduce the time required for training, development, and verification of the artificial intelligence model.
  • the model framework used in the artificial intelligence model may be an algorithm such as XGboost or LightGBM. Information about the model framework will be discussed in more detail in Figure 5.
  • the electronic device 100 may train a first model related to artificial intelligence based on information about a set model framework and at least one data. The specific operation of training the first model related to artificial intelligence will be examined in FIG. 3.
  • step S230 the electronic device 100 may serve the first model based on data related to the service.
  • the electronic device 100 may provide the first model to the second terminal 120 of the second user through the platform. More specifically, the electronic device 100 may align the trained model and provide it to the second terminal 120.
  • the second user who is the user of the second terminal 120, may be a user who is the target of serving the artificial intelligence model stored on the platform after being trained.
  • a second user who receives the first model through the platform can perform A/B testing on the first model. More specifically, the electronic device 100 may perform an A/B test on a target model created by binding a plurality of models including the first model.
  • the first model may be a sub-model included in the target model. The specific operation of performing an A/B test related to the first model will be examined in detail in FIGS. 12 to 14.
  • the Stand Alone model may be a model in which a service is provided using only the corresponding model to perform the service.
  • step S240 the electronic device 100 may provide result information according to serving of the first model.
  • the electronic device 100 may provide information about metrics related to serving of the first model to the second terminal 120. More specifically, when setting setting information for an A/B test, the electronic device 100 may provide the second terminal 120 with a page for setting metrics included in the result information of the A/B test. . Accordingly, the electronic device 100 provides result information on the metric matching the information on the metric for the A/B test, based on the information on the metric for the A/B test received from the second terminal 120. can be provided.
  • the metric related to serving the first model may include a standard model of an A/B test related to the first model and a success metric for the accuracy of the target model.
  • the second user who is a user of the second terminal 120, receives result information of the A/B test related to the first model and determines which model among the standard model and the target model of the A/B test has better performance. You can check. Accordingly, the electronic device 100 can quickly update services related to the first model through the platform provided to the second terminal 120.
  • Figure 3 is a diagram of a specific embodiment of confirming information about a first model related to artificial intelligence based on information acquired from the first terminal.
  • step S310 the electronic device 100 may receive a request to access a platform related to the electronic device.
  • the electronic device 100 may provide a platform for a model related to artificial intelligence.
  • the platform for models related to artificial intelligence is 1) a page where you can set up the framework of training data and artificial intelligence models to develop models related to artificial intelligence, 2) based on the framework of training data and artificial intelligence models It may be a platform that includes a page for training models related to artificial intelligence and 3) a prediction-related page for verifying the performance of the trained model. Developers who develop models and test model performance can develop models with the same library version, and the electronic device 100 can reduce errors that occur due to differences in library versions between developers.
  • the electronic device 100 may receive setting information for training of a first model related to artificial intelligence input to the first terminal 110. More specifically, the first user sets training data for the first model through a page where the framework of the artificial intelligence model and learning data for developing a model related to artificial intelligence provided to the first terminal 110 can be set. You can enter information.
  • the setting information for training of the first model may include information about the training data and model framework of the first model related to artificial intelligence. Additionally, setting information for training of the first model may include test data for verifying the performance of the first model.
  • the setting information for training of the first model is not limited to this, and the setting information for training of the first model may include parameter setting information.
  • the electronic device 100 may train the first model based on setting information for training of the first model. More specifically, the electronic device 100 creates a first model related to artificial intelligence that includes input data (input data may be called features) and output data (output data may be called labels). Based on the learning data, a first model, which is a formula or algorithm for the relationship between input data and output data, can be trained. More specifically, the electronic device 100 may optimize the parameters of the first model according to learning data and a set framework.
  • the electronic device 100 may divide the data into first data that is learning data and second data that is test data. Accordingly, the electronic device 100 can perform a training step and a performance verification step according to prediction in two separate ways. For example, the electronic device 100 may train the first model using the first data as learning data. In addition, the electronic device 100 uses the second data as test data to check the prediction accuracy of the first model based on the difference between the output data and the output value of the first model according to the input data included in the second data. You can.
  • step S350 the electronic device 100 may provide information about the training result of the first model.
  • the electronic device 100 may provide the first terminal 110 with information about the prediction accuracy of the first model confirmed in step S340. Accordingly, the first user of the first terminal 110 can check information about the prediction accuracy of the first model.
  • the electronic device 100 may receive a request for storing the first model on the platform from the first terminal 110.
  • the first model stored in the platform may be a model with excellent model performance, with prediction accuracy exceeding a set threshold.
  • the electronic device 100 may provide a platform that allows the first user of the first terminal 110 to train the first model according to suitable data and a suitable framework and check the performance.
  • the electronic device 100 when the electronic device 100 stores the first model in the platform, it may also store information about the first model in the platform.
  • the first model provided to the second terminal 120 may be a model with excellent model performance, with the prediction accuracy of the model exceeding a set threshold. That is, the electronic device 100 may first perform a process for verifying the performance of the first model before serving the first model.
  • the information about the first model related to artificial intelligence includes information about data related to the first model including training data and test data, information about the established model framework, information about the library version related to the first model, and It may include at least one of parameter information for the first model.
  • storing a model or data on a platform may mean storing a model or data on an external storage connected to the platform.
  • Figure 4 is a diagram showing a page for models related to artificial intelligence on the platform.
  • page 400 is a page about models related to artificial intelligence.
  • the platform's page 400 may display information about models stored in the platform according to the process of FIG. 3.
  • Page 400 displays information about models with model IDs of 1, 2, 3, and 4, but models stored in the platform are not limited to models with model IDs of 1, 2, 3, and 4.
  • the first model 420 with a model ID of 1 may be a model that can be used to determine the item shipping cost.
  • the model key of the first model 420 may be 'DELIVERY_TASK_PRICE_ACCEPT_MODEL', which may be the first model key 430.
  • the electronic device 100 modifies the settings of the first model or A detail page on which a new version can be added may be provided to the first terminal 110.
  • the icon 440 for modifying the first model 420 through the first terminal 110 may provide a page for modifying the first model 420.
  • Figure 5 is a diagram showing a detailed page for a model related to artificial intelligence on the platform.
  • Page 500 is a detailed page for an artificial intelligence model and may be a detailed page where the first model 420 can be modified or a new version of the first model 420 can be added.
  • the models displayed on the page 500 are model 511, model 512, model 513, and model 514, and the model key 510 may be the same as 'DELIVERY_TASK_PRICE_ACCEPT_MODEL'.
  • the models 511, 512, 513, and 514 may be different models that differ in model version 520, model source type 530, and model type 540.
  • model 514 has model source type 530 and model type 540 as may be different from LIGHTGBM and PMML.
  • Model 511, model 512, and model 513 are the same as model source type 530 and model type 540, LIGHTGBM and PMML, but based on different training data.
  • model 511 may be a model trained based on new data excluding data called spatial cat
  • model 512 may be a model trained based on new data. It may be a model trained based on default data that can be used for 'dryrun', the first type of A/B test that we will look at.
  • model source type 530 may indicate information about the framework of a model related to artificial intelligence.
  • XGBOOST Extreme Gradient Boosting
  • XGBOOST can be a framework, algorithm, or library that allows the gradient boosting algorithm to be executed even in a distributed environment.
  • XGBOOST can be a framework with high parallel processing speed.
  • LightGBM is a gradient boosting model and may be a tree-based learning framework, algorithm, or library. More specifically, as LightGBM adopts a leaf-wise (leaf-centered tree partitioning) method, it can be characterized by saving time and memory usage depending on the depth of the tree.
  • ightGBM may be characterized as having a faster calculation speed than XGboost.
  • the model source type 530 is not limited to XGboost and LightGBM.
  • the model source type 530 may include H2O, Tensorflow, and Pytorch model frameworks.
  • PMML Predictive Model Markup Language
  • PMML may be a standard language that can describe an XML-based prediction model.
  • information about the model source S3 path may be information about the storage path of the model. Additionally, the model can be stored in the storage path according to the code below.
  • Figure 6 is a diagram showing a page for adding a new version of a model related to artificial intelligence on the platform.
  • the page 600 may include a field for entering setting information of an artificial intelligence-related model in order to add a new version of the artificial intelligence-related model.
  • the first user can input information about the model key 610, description 620, model source type 630, and model source S3 path 640 through the page 600. More specifically, when the first user adds a new version of the model whose model ID of FIG. 4 is 4 and whose model key is 'TSD_T2_NEARBY' through the platform, the page provided by the electronic device 100 to the first user may be equal to page 600.
  • Figure 7 is a diagram showing a page for adding a new version of a model related to artificial intelligence on the platform.
  • FIG. 7 may be a diagram to explain an embodiment of adding a new version of a model with a model key of 'TSD_T2_NEARBY', following FIG. 6.
  • page 700 may be a page where setting information for a model related to artificial intelligence is input through the first terminal 110.
  • the model source type 730 for a new version of the model may be LIGHTGBM, which may be different from the model source type 630 of FIG. 6, XGBOOST.
  • the model source S3 path 740 for the new version of the model may include information about the model storage path where the new version of the model with the model key 'TSD_T2_NEARBY' is stored.
  • the electronic device 100 may display a new version according to the setting information of the model related to artificial intelligence.
  • the model can be saved. Accordingly, the user can extract and use a new version of the model stored in the platform provided by the electronic device 100.
  • the new version of the model may be a model that is different from the existing model in at least one of data used for training, model framework, library version, and parameters.
  • Figure 8 is a diagram showing a page for a standard model on a platform.
  • page 800 may be a page that displays information about a standard model stored on the platform.
  • a standard model is a model currently used to execute a service and may be a model that includes multiple models as sub-models. More specifically, a standard model is a model that is currently being launched and applied to perform a service, and there may be multiple standard models. Additionally, services performed based on the standard model may include, but are not limited to, ETA (Estimated Time of Arrival), automatic allocation, and planning. More specifically, in order to perform the service more accurately, you can select multiple models from among the models stored on the platform and use a standard model bound to them. Accordingly, the electronic device 100 can improve the quality of service through the bound standard model.
  • ETA Estimatimated Time of Arrival
  • the first standard model 810 may be a standard model used to predict the ETA during service as 'TSD_T2_ETA'.
  • the page 800 may include key information for each standard model, information on creation time, and information on the user who created it.
  • Figure 9 is a diagram showing a page for creating a target model.
  • page 900 may be a page that creates a target model for comparison with a standard model stored on the platform. More specifically, page 900 is a page for creating a target model for comparison with the first standard model 810 of FIG. 8.
  • the target model may be a model that is different from the model currently being launched and applied to perform the service and may be an object for comparison with the target model in testing. More specifically, the target model may be a model that adds a new sub-model on the platform to the corresponding standard model or changes the version of at least some models among a plurality of models included in the standard model. However, it is not limited to this, and the target model may be a model in which new parameters are added to the standard model.
  • 'TSD_T2_ETA' which is the first standard model 810, may include a model 920 and a model 930 as sub-models. More specifically, the model 920 may be 'ETA1DefaultModel v1' and the model 930 may be 'PMML_TEST v2'.
  • the target model for comparison with the first standard model 810 may be a model created by binding the model 940 to the first standard model 810.
  • the model 940 may be a model for considering the expected arrival time delay.
  • the target model is not limited to the embodiment of FIG. 9.
  • the target model may be a new model created by adding a new parameter 'regionbuffer' to the first standard model 810.
  • the electronic device 100 may create a target model by adding a new parameter 'regionbuffer' to the first standard model 810 through the icon 960 of the page 900.
  • 'region buffer' may be a parameter for the user's region.
  • the electronic device 100 may save the generated target model on the platform through the save icon 970 of the page 900.
  • the electronic device 100 may serve the first model. More specifically, the electronic device 100 may perform an A/B test on the first model (more specifically, it may be a target model). We will look at this below.
  • Figure 10 is a diagram showing a page containing A/B testing for a standard model and a target model.
  • page 1000 may be a page for A/B testing of a standard model and a corresponding target model stored on the platform.
  • the page 1000 may include an A/B test for the first standard model 1010 and the corresponding target model for the ETA stored in the platform.
  • the name information 1020 of the A/B test for the first standard model 1010 may indicate the A/B test for the estimated arrival time depending on whether the optimize buffer is used.
  • the information about the start time 1030 and the information about the end time for the first standard model 1010 may be 28th of 2022-04 and 30th of 2022-07, respectively.
  • test type of the A/B test for the first standard model 1010 may be 'TRAFFIC CONTROL', which is the third type among the first to third types.
  • icon 1060 of the page 1000 may be an entry point for modifying the A/B test for the first standard model 1010 or moving to a page for setting setting information for the A/B test.
  • the electronic device 100 may provide the first model to the second terminal 120 of the second user through the platform, and provide information about the first model based on data related to the service through the platform. You can perform A/B testing.
  • the electronic device 100 may perform an A/B test based on the test type of the A/B test and setting information for the A/B test.
  • Setting information for the A/B test may include information about the execution period of the A/B test and information about the execution region of the A/B test. Specific examples of A/B test execution according to the test type of the A/B test are described in FIGS. 11 to 13.
  • Figure 11 is a diagram of a page for setting A/B test setting information when the test type is the first type.
  • the setting information for the A/B test may include information about traffic allocated to the A/B test.
  • the electronic device 100 may perform an A/B test according to information about traffic allocated to the A/B test.
  • the electronic device 100 opens a page 1100 for setting and editing setting information for the first standard model 1010 of FIG. 10.
  • the name information of the A/B test in FIG. 11 may correspond to the name information 1020 of the A/B test for the first standard model 1010.
  • an icon for adjusting 'Dry Run percentage' is displayed on the second terminal 120 of the second user. (1130) and an icon (1110) that adjusts the 'Test Range', which is the execution time of the A/B test, can be provided.
  • the second user determines the start time for the first standard model (1010) through the icon (1110) that controls the 'Test Range', which is the execution time of the A/B test displayed on the second terminal (120) through the platform. You can set information about information and end time.
  • the second user can set the percentage of operation as 'Dry Run' through the icon 1130 that adjusts 'Dry Run percentage' through the platform. For example, if the 'Dry Run percentage' is set to 10% as shown in FIG. 11, the electronic device 100 provides 10% of the users in the test group with 'Dry Run Percentage' as the experimental group of the A/B test. /B Test can be performed.
  • the experimental group of the A/B test may be a target model to be compared with the first standard model 1010.
  • the electronic device 100 performs the A/B test as an experimental group of the A/B test on only the users of the set ratio according to the 'Dry Run Percentage', thereby conducting a preliminary A/B test before the full-scale A/B test. Tests can be performed.
  • Figure 12 is a diagram of a page for setting A/B test setting information when the test type is the second type.
  • the setting information for the A/B test includes information about the execution interval between test groups of the A/B test and information about the execution order of the test groups of the A/B test. may include.
  • the electronic device 100 is configured to select A/B test group A based on information about the execution interval between test groups of the A/B test and information about the execution order of the test groups of the A/B test. /B Tests can be run alternately.
  • the electronic device 100 opens a page 1200 for setting and editing setting information for the first standard model 1010 of FIG. 10.
  • the name information of the A/B test in FIG. 12 may correspond to the name information 1020 of the A/B test for the first standard model 1010.
  • the electronic device 100 informs the second user's second terminal 120 about the execution interval of 'Switch Back'.
  • An icon 1230 for adjusting information and an icon 1240 for adjusting information about the size of the test group of an A/B test may be provided.
  • the second user determines the start time for the first standard model 1010 through the icon 1210 that controls the 'Test Range', which is the execution time of the A/B test displayed on the second terminal 120 through the platform.
  • the second user can adaptively adjust the execution interval of the control group and at least one experimental group through the icon 1230 that adjusts information about the execution interval of 'Switch Back' displayed on the second terminal 120 through the platform. It can be adjusted. Referring to FIG. 12, information about the execution interval of 'Switch Back' may be 480 minutes.
  • the second user can set the group size to one control group and two experimental groups through the icon 1240 that controls information about the size of the test group of the A/B test displayed on the second terminal 120 through the platform. It can be adjusted to 3, including . Accordingly, Group A, Group B and Group C may run alternately on May 22, 2022, May 23, 2022 and May 24, 2022.
  • the second user can also set information about the execution order between test groups.
  • the execution order among the set test groups may be group A, group B, and group C.
  • the electronic device 100 executes an A/B test for one of the test groups in a set time period, thereby reducing the traffic allocated to the A/B test to one group. You can focus on running A/B tests on groups of Accordingly, even when the traffic allocated to the A/B test is small, the electronic device 100 can efficiently perform the A/B test.
  • the electronic device 100 may provide a service of a control group or at least one experimental group to users in the same region by executing an A/B test with 'Switch Back' as the second test type, Users in the same region can use the same service.
  • Figure 13 is a diagram of a page for setting A/B test setting information when the test type is the third type.
  • the setting information for the A/B test may include information about the execution area of the A/B test.
  • the electronic device 100 may determine the user of the A/B test according to information about the execution area of the A/B test.
  • the electronic device 100 opens a page 1300 for setting and editing setting information for the first standard model 1010 of FIG. 10.
  • the A/B test in FIG. 13 may correspond to the A/B test for the first standard model 1010.
  • Information 1320 about the 'Dimension Type' for the execution region of the A/B test on the page 1300 may be 'Region' among 'Region', 'City', 'Custom', and 'ALL'.
  • 'Region' may mean that the user's regional information in the A/B test is a region
  • 'City' may mean that the user's regional information in the A/B test is a city
  • 'Custom' may mean that the user's regional information in the A/B test is a city. This may mean that the user's regional information in the A/B test is a set region
  • 'ALL' may mean that there are no restrictions on the user's regional information in the A/B test. Referring to FIG. 13, when 'Region' on the page 1300 is clicked through the second terminal 120, users included in the test group of the A/B test may be limited to users whose regional information is local. there is.
  • the page 1300 displays setting information for the control group, which is group A 1310, but as the second user clicks the icon 133 for adding a group on the page 1300, the electronic device 100 is added to the group.
  • a page for setting information about 'Dimension ids' and 'version' for not only A (1310) but also at least one experimental group can be provided to the second terminal 120 through the platform.
  • the electronic device 100 can run the A/B test by limiting the users subject to the /B test to a specific area.
  • the page 1300 may include an icon 1340 for adding parameter settings for priority assignment (override) of at least some of the users included in the test group to a specific group. For example, referring to FIG. 13, among users included in the test group, a user corresponding to a parameter setting value added by a second user may be assigned to group A (1310).
  • FIG. 14 is a diagram for explaining an embodiment of preferentially assigning users included in a test group according to setting parameter values.
  • the electronic device 100 may preferentially assign users included in the test group to a specific group. For example, among the users included in the test group, users whose parameter key 1410 is 'age' and whose parameter value 1420 is 20-29 are first assigned to the control group, which is group A, even if they were initially assigned to at least one experimental group. It can be. However, it is not limited to this.
  • the electronic device 100 in response to an input through an icon for adding parameter settings in relation to group B, selects a user corresponding to the parameter setting from among the users included in the test group to group B. can be assigned preferentially to the experimental group.
  • the parameter is not limited to 'age' and may include parameters about the user's purchase pattern and purchase history as well as information such as the user's gender.
  • Figure 15 is a diagram for an embodiment of providing information on metrics related to serving of the first model.
  • the electronic device 100 may provide information about metrics according to serving of the first model after setting configuration information for A/B testing.
  • page 1500 may be a page for setting information about metrics.
  • the second user can add at least one metric among the metrics on the platform through the platform.
  • metric 1 may be added to the section for Added metrics.
  • metrics related to serving the model may include A/B test success metrics.
  • the success metric may be a metric whose elements are values that quantify the performance of the control group and at least one experimental group.
  • the detailed settings page for added metric 1 may be displayed as page 1550 in FIG. 15. As information 1560 about the filter on the page 1550 is additionally set through the platform, metric 1 can be set dynamically.
  • FIG. 16 is a diagram illustrating a specific embodiment of managing an artificial intelligence model related to a service in an electronic device.
  • Platform Configuration 1600 may be a page that manages settings such as artificial intelligence models and A/B tests provided by the electronic device 100 to the terminal.
  • Algorithm Configuration (1601) is a page that provides the function of binding models on the platform and may include a page for creating the target model of FIG. 9.
  • Model Configuration 1602 may be a page for setting models related to artificial intelligence in FIGS. 6 and 7 and adding new versions.
  • Parameter Configuration (1603) may be a page for changing model parameter values or adding new parameters.
  • A/B Test Configuration 1604 may be a page for managing setting information for the A/B test of FIGS. 10 to 14.
  • Feature Binding (1605) may be a page for combining or processing and managing features.
  • the electronic device 100 may provide a page for managing artificial intelligence models, A/B tests, etc. provided through the platform to the terminal according to the Platform Configuration (1600). Additionally, models, tests, parameters, algorithms (which may correspond to our target model or standard model) and features set by the Platform Configuration (1600) may be stored in the external storage (1610).
  • the server 1610 is a part that is actually operated based on settings through the Platform Configuration (1600) and may include a Client (1630) and Model serving (1640).
  • Configuration Loader (1631) is a part that stores based on settings through Platform Configuration (1600). Accordingly, the model can be loaded and downloaded to a local computing device, or the loaded model can be provided to the Model Loader (1641).
  • Algorithm Invoker 1632 can call a set algorithm (may correspond to a target model or a standard model to which multiple models are bound).
  • the A/B Controller (1633) can check the A/B test and check information about the execution area of the A/B test and setting information of the A/B test set as default.
  • Model Invoker (1634) can aggregate similar features and obtain features for maximum performance using non-registered parallel processing.
  • Model Invoker (1635) can call a model.
  • Model loader 1641 can load an existing changed model or a new model.
  • the Load Engine 1642 may be an engine for loading a downloaded model.
  • Model 1643 may include version 1 of model X, version 2 of model X, version 1 of model Y, and version 2 of model Y.
  • the model 1643 in FIG. 16 is an example of the present application, and the model of the present application is not limited to this.
  • Figure 17 is a block diagram illustrating an electronic device for managing an artificial intelligence model related to a service according to an embodiment.
  • the electronic device 1700 of FIG. 17 may correspond to the electronic device 100 of the present specification.
  • the electronic device 1700 of the present disclosure may include a transceiver 1710, a processor 1720, and a storage 1730.
  • the components shown in FIG. 17 are not essential for implementing the electronic device, so the electronic device 1700 described herein may have more or fewer components than the components listed above.
  • the processor 1720 may include at least one processor.
  • the electronic device 1700 can operate as a server.
  • the transceiver 1710 can communicate with an external device using wired or wireless communication technology and may include the transceiver 1710.
  • External devices can be terminals or servers, including terminals of data scientists, developers, and quality assurance teams.
  • communication technologies used by the transceiver 1710 include Global System for Mobile communication (GSM), Code Division Multi Access (CDMA), Long Term Evolution (LTE), 5G, Wireless LAN (WLAN), and Wireless-Fidelity (Wi-Fi). ), Bluetooth, RFID (Radio Frequency Identification), Infrared Data Association (IrDA), ZigBee, NFC (Near Field Communication), etc., but are not limited thereto.
  • the transceiver 1710 can communicate with the terminal to exchange information.
  • the transceiver 1710 may provide a page displaying information about at least one A/B test related to a domain on the electronic device 100. Additionally, the transceiver 1710 may receive a request to access a platform related to the electronic device 1700 from the first terminal 110. Additionally, the transceiver 1710 may provide result information according to serving of the first model to the second terminal 120. However, it is not limited to this, and the transceiver 1710 may be used to store a process performed in the electronic device 1700 on a platform or with external storage.
  • the processor 1720 can control the overall operation of the electronic device 1700 and process data and signals.
  • the processor 1720 may perform one of the methods described above with reference to FIGS. 1 to 16 .
  • the processor 1720 controls embodiments performed by the electronic device 1700 through interaction with the transceiver 1710 and the storage 1730 and further components that the electronic device 1700 may include. You can.
  • the processor 1720 receives a request for access to a platform related to an electronic device from a first terminal of a first user and creates a first model related to artificial intelligence based on information obtained from the first terminal. information, serve the first model based on data related to the service, and provide result information according to the serving of the first model.
  • the storage 1730 may store information for performing at least one method described above with reference to FIGS. 1 to 16 .
  • Storage 1730 may be referred to as memory and may be volatile memory or non-volatile memory. Additionally, the storage 1730 may store one or more instructions necessary to perform the operation of the processor 1520, and may temporarily store data stored on the platform or in an external memory.
  • the electronic device or terminal includes a processor, memory for storing and executing program data, permanent storage such as a disk drive, a communication port for communicating with an external device, a touch panel, and a key. , user interface devices such as icons, etc.
  • Methods implemented as software modules or algorithms may be stored on a computer-readable recording medium as computer-readable codes or program instructions executable on the processor.
  • computer-readable recording media include magnetic storage media (e.g., ROM (read-only memory), RAM (random-access memory), floppy disk, hard disk, etc.) and optical read media (e.g., CD-ROM). ), DVD (Digital Versatile Disc), etc.
  • the computer-readable recording medium is distributed among computer systems connected to a network, so that computer-readable code can be stored and executed in a distributed manner.
  • the media may be readable by a computer, stored in memory, and executed by a processor.
  • This embodiment can be represented by functional block configurations and various processing steps. These functional blocks may be implemented in various numbers of hardware or/and software configurations that execute specific functions. For example, embodiments include integrated circuit configurations such as memory, processing, logic, look-up tables, etc. that can execute various functions under the control of one or more microprocessors or other control devices. can be hired. Similar to how the components can be implemented as software programming or software elements, the present embodiments include various algorithms implemented as combinations of data structures, processes, routines or other programming constructs, such as C, C++, Java ( It can be implemented in a programming or scripting language such as Java, assembler, Python, etc. Functional aspects may be implemented as algorithms running on one or more processors.
  • this embodiment may employ conventional technologies for electronic environment settings, signal processing, and/or data processing.
  • Terms such as “mechanism,” “element,” “means,” and “composition” can be used broadly and are not limited to mechanical and physical components. The term may include the meaning of a series of software routines in connection with a processor, etc.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Telephonic Communication Services (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

전자 장치에서 서비스와 관련된 인공 지능 모델을 관리하는 방법이 개시된다. 구체적으로, 서비스와 관련된 인공 지능 모델을 관리하는 방법은 제1 사용자의 제1 단말로부터 전자 장치와 관련된 플랫폼에 대한 접속 요청을 수신하는 단계; 제1 단말에서 획득된 정보를 기반으로 인공 지능과 관련된 제1 모델에 대한 정보를 확인하는 단계; 서비스와 관련된 데이터를 기반으로, 제1 모델의 서빙을 수행하는 단계; 및 제1 모델의 서빙에 따른 결과 정보를 제공하는 단계를 포함할 수 있다.

Description

서비스와 관련된 인공 지능 모델을 관리하는 방법 및 장치
본 명세서의 실시 예는 서비스와 관련된 인공 지능 모델을 관리하는 방법 및 장치에 관한 것이다. 본 명세서의 실시 예는 플랫폼을 통해 인공 지능 모델을 훈련시키고, 훈련된 인공 지능 모델의 서빙에 따른 결과 정보를 제공함으로써, 서비스와 관련된 인공 지능 모델을 관리하는 방법 및 이에 대한 장치에 관한 것이다.
최근 온라인 마케팅 등 인터넷 환경에서 사용자에게 적합한 아이템을 추천하는 것과 같은 의사 결정을 할 때 인공 지능 모델을 이용되거나 사용자의 행동 데이터를 분석하기 위한 각종 테스트가 수행되고 있다.
이러한 인공 지능 모델 및 행동 데이터를 분석하기 위한 각종 테스트는 서로 다른 개발자에 의해 개발될 수 있다. 이에 따라, 인공 지능 모델은 라이브러리 버전의 차이 등으로 인해 에러가 생길 우려가 있다. 또한, 개발자의 반복적인 작업으로 인해 인공 지능 모델의 훈련 및 개발, 행동 데이터를 분석하기 위한 각종 테스트는 비효율적으로 수행되고 있다. 따라서, 이와 같은 문제를 해결하기 위한 방법 및 장치가 요구된다.
본 개시는 상술한 문제점을 해결하기 위해 제안된 것으로, 서비스와 관련된 인공 지능 모델을 관리하는 방법 및 이를 장치를 제공하는데 있다.
보다 구체적으로 본 개시는 단말에서 획득된 정보를 기반으로 인공 지능과 관련된 모델에 대한 정보를 확인하고, 모델의 서빙을 수행함에 따른 결과를 제공하는 방법 및 장치를 제공하는 것을 목적으로 한다.
본 실시 예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 이하의 실시 예들로부터 또 다른 기술적 과제들이 유추될 수 있다.
상술한 과제를 달성하기 위한 기술적 수단으로서, 본 개시의 제1측면에 따른 전자 장치에서 서비스와 관련된 인공 지능 모델을 관리하는 방법은 제1 사용자의 제1 단말로부터 전자 장치와 관련된 플랫폼에 대한 접속 요청을 수신하는 단계; 제1 단말에서 획득된 정보를 기반으로 인공 지능과 관련된 제1 모델에 대한 정보를 확인하는 단계; 서비스와 관련된 데이터를 기반으로, 제1 모델의 서빙을 수행하는 단계; 및 제1 모델의 서빙에 따른 결과 정보를 제공하는 단계를 포함할 수 있다.
일 실시 예에 따르면, 제1 모델에 대한 정보를 확인하는 단계는 플랫폼에 대한 접속 요청을 수신함에 따라, 제1 단말에 인공 지능과 관련된 모델에 대한 플랫폼을 제공하는 단계; 및 플랫폼을 통해 제1 모델에 대한 적어도 하나의 데이터 및 설정된 모델 프레임워크에 대한 정보를 확인하는 단계를 포함할 수 있다.
일 실시 예에 따르면, 제1 모델에 대한 정보를 확인하는 단계는 설정된 모델 프레임워크에 대한 정보 및 적어도 하나의 데이터에 기반하여, 제1 모델을 훈련하는 단계를 더 포함할 수 있다.
일 실시 예에 따르면, 제1 모델에 대한 정보를 확인하는 단계는 적어도 하나의 데이터를 적어도 하나의 제1 데이터 및 적어도 하나의 제2 데이터로 나누는 단계; 적어도 하나의 제1 데이터를 학습 데이터로 이용하여, 모델 프레임워크에 대한 정보에 따라 제1 모델을 훈련하는 단계; 및 적어도 하나의 제2 데이터를 테스트 데이터로 이용하여 훈련된 제1 모델의 예측 정확도를 확인하는 단계를 더 포함할 수 있다.
일 실시 예에 따르면, 플랫폼에 저장된 제1 모델은 예측 정확도가 설정된 임계치 이상인 것을 특징으로 할 수 있다.
일 실시 예에 따르면, 제1 모델에 대한 정보를 확인하는 단계는 적어도 하나의 데이터에 대한 정보, 설정된 모델 프레임워크에 대한 정보, 제1 모델과 관련된 라이브러리 버전에 대한 정보 및 제1 모델에 대한 파라미터 정보 중 적어도 하나를 포함하는 제1 모델에 대한 정보를 확인하는 단계를 포함할 수 있다.
일 실시 예에 따르면, 제1 모델의 서빙을 수행하는 단계는 플랫폼을 통해 제2 사용자의 제2 단말에 제1 모델을 제공하는 단계; 및 플랫폼을 통해 서비스와 관련된 데이터에 기반하여 제1 모델에 대한 A/B 테스트를 수행하는 단계를 포함할 수 있다.
일 실시 예에 따르면, 제1 모델에 대한 A/B 테스트를 수행하는 단계는 A/B 테스트의 테스트 타입 및 A/B 테스트에 대한 설정 정보에 기반하여, A/B 테스트를 수행하는 단계를 포함할 수 있다.
일 실시 예에 따르면, 제1 모델에 대한 테스트를 수행하는 단계는 제1 모델을 포함하는 복수 개의 모델을 바인딩하여 생성된 대상 모델을 확인하는 단계; 및 대상 모델에 대한 A/B 테스트를 수행하는 단계를 포함할 수 있다.
일 실시 예에 따르면, 제1 모델은 플랫폼에 저장된 제2 모델의 새로운 버전이고, 제1 모델과 제2 모델은 모델 훈련에 사용된 적어도 하나의 데이터, 모델 프레임 워크, 라이브러리 버전 중 적어도 하나가 상이한 것을 특징으로 할 수 있다.
일 실시 예에 따르면, A/B 테스트는 서비스에 대한 표준 모델 및 대상 모델을 각각 A/B 테스트의 대조군 및 실험군으로 하는 A/B 테스트인 것을 특징으로 할 수 있다.
일 실시 예에 따르면, A/B 테스트에 대한 설정 정보는 A/B 테스트의 실행 기간에 대한 정보, 실행 지역에 대한 정보 중 적어도 하나를 포함하는 것을 특징으로 할 수 있다.
일 실시 예에 따르면, 테스트 타입이 제1 타입인 경우, A/B 테스트에 대한 설정 정보는 A/B 테스트에 할당되는 트래픽에 대한 정보를 포함할 수 있고, A/B 테스트를 수행하는 단계는 A/B 테스트에 할당되는 트래픽에 대한 정보에 따라 A/B 테스트를 수행하는 단계를 포함할 수 있다.
일 실시 예에 따르면, 테스트 타입이 제2 타입인 경우, A/B 테스트에 대한 설정 정보는 A/B 테스트의 테스트 그룹 간의 실행 간격에 대한 정보 및 A/B 테스트의 테스트 그룹의 실행 순서에 대한 정보를 포함할 수 있고, A/B 테스트를 수행하는 단계는 실행 간격에 대한 정보 및 실행 순서에 대한 정보에 기반하여, A/B 테스트의 테스트 그룹에 A/B 테스트를 교대로 실행하는 단계를 포함할 수 있다.
일 실시 예에 따르면, 테스트 타입이 제3 타입인 경우, A/B 테스트를 수행하는 단계는 A/B 테스트에 대한 설정 정보에 포함되는 실행 지역에 대한 정보에 기반하여, A/B 테스트의 사용자를 결정하는 단계를 포함할 수 있다.
일 실시 예에 따르면, 플랫폼을 통해 제1 모델에 대한 적어도 하나의 데이터를 확인하는 단계는 플랫폼을 통해 호출 가능한 데이터를 가공하여 제1 모델에 대한 적어도 하나의 데이터를 생성하는 단계를 포함할 수 있다.
일 실시 예에 따르면, 제1 모델의 서빙에 따른 결과 정보를 제공하는 단계는 제1 모델의 서빙과 관련된 메트릭에 대한 정보를 제공하는 단계를 포함할 수 있다.
본 개시의 제2측면에 따른 서비스와 관련된 인공 지능 모델을 관리하기 위한 전자 장치는 트랜시버; 하나 이상의 명령어를 저장하는 스토리지; 및 제1 사용자의 제1 단말로부터 전자 장치와 관련된 플랫폼에 대한 접속 요청을 수신하고, 제1 단말에서 획득된 정보를 기반으로 인공 지능과 관련된 제1 모델에 대한 정보를 확인하고, 서비스와 관련된 데이터를 기반으로, 제1 모델의 서빙을 수행하고, 및 제1 모델의 서빙에 따른 결과 정보를 제공하는 프로세서를 포함할 수 있다.
본 개시의 제3측면에 따른 기록매체는 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 비일시적 기록매체일 수 있다.
본 명세서의 실시 예에 따르면, 전자 장치는 단말에서 획득된 정보를 기반으로 인공 지능과 관련된 모델에 대한 정보를 확인하고, 모델의 서빙을 수행함에 따른 결과를 제공할 수 있다. 이에 따라, 전자 장치는 플랫폼을 통해 단말의 사용자에게 동일한 개발 환경을 제공할 수 있다. 또한, 전자 장치는 별도의 코딩 없이 인공 지능과 관련된 모델의 서빙을 수행함으로써 모델의 서빙에 따른 결과 정보를 빠르게 확인하게 할 수 있다.
발명의 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 청구범위의 기재로부터 당해 기술 분야의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 다양한 실시 예에 따른 전자 장치가 서비스와 관련된 인공 지능 모델을 관리하는 방법이 구현될 수 있는 시스템을 설명하기 위한 도면이다.
도 2는 전자 장치가 서비스와 관련된 인공 지능 모델을 관리하는 방법을 나타낸 흐름도이다.
도 3은 제1 단말에서 획득한 정보에 기반하여 인공 지능과 관련된 제1 모델에 대한 정보를 확인하는 구체적인 실시 예에 대한 도면이다.
도 4는 플랫폼 상의 인공 지능과 관련된 모델에 대한 페이지를 나타내는 도면이다.
도 5는 플랫폼 상의 인공 지능과 관련된 모델에 대한 상세 페이지를 나타내는 도면이다.
도 6은 플랫폼 상의 인공 지능과 관련된 모델의 새로운 버전을 추가하기 위한 페이지를 나타내는 도면이다.
도 7은 플랫폼 상의 인공 지능과 관련된 모델의 새로운 버전을 추가하기 위한 페이지를 나타내는 도면이다.
도 8은 플랫폼 상의 표준 모델에 대한 페이지를 나타내는 도면이다.
도 9는 대상 모델을 생성하는 페이지를 나타내는 도면이다.
도 10은 표준 모델 및 대상 모델에 대한 A/B 테스트를 포함하는 페이지를 나타내는 도면이다.
도 11은 테스트 타입이 제1 타입인 경우, A/B 테스트의 설정 정보를 설정하기 위한 페이지에 대한 도면이다.
도 12는 테스트 타입이 제2 타입인 경우, A/B 테스트의 설정 정보를 설정하기 위한 페이지에 대한 도면이다.
도 13은 테스트 타입이 제3 타입인 경우, A/B 테스트의 설정 정보를 설정하기 위한 페이지에 대한 도면이다.
도 14는 파라미터 값을 설정함에 따라 테스트 그룹에 포함되는 사용자를 우선 할당하는 일 실시 예를 설명하기 위한 도면이다.
도 15는 제1 모델의 서빙과 관련된 메트릭에 대한 정보를 제공하는 실시 예에 대한 도면이다.
도 16은 전자 장치에서 서비스와 관련된 인공 지능 모델을 관리하는 구체적인 실시 예를 설명하기 위한 도면이다.
도 17은 일 실시 예에 따른 서비스와 관련된 인공 지능 모델을 관리하기 위한 전자 장치를 도식화한 블록도이다.
실시 예들에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 “포함”한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 “...부”, “...모듈” 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
명세서 전체에서 기재된 “a, b, 및 c 중 적어도 하나”의 표현은, ‘a 단독’, ‘b 단독’, ‘c 단독’, ‘a 및 b’, ‘a 및 c’, ‘b 및 c’, 또는 ‘a,b,c 모두’를 포괄할 수 있다.
이하에서 언급되는 "단말"은 네트워크를 통해 서버나 타 단말에 접속할 수 있는 컴퓨터나 휴대용 단말로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(desktop), 랩톱(laptop) 등을 포함하고, 휴대용 단말은 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, IMT(International Mobile Telecommunication), CDMA(Code Division Multiple Access), W-CDMA(W-Code Division Multiple Access), LTE(Long Term Evolution) 등의 통신 기반 단말, 스마트폰, 태블릿 PC 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치를 포함할 수 있다.
아래에서는 첨부한 도면을 참고하여 본 개시의 실시 예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다.
이하, 본 발명의 실시 예를 첨부된 도면을 참조하여 상세하게 설명한다.
실시 예를 설명함에 있어서 본 발명이 속하는 기술 분야에 익히 알려져 있고 본 발명과 직접적으로 관련이 없는 기술 내용에 대해서는 설명을 생략한다. 이는 불필요한 설명을 생략함으로써 본 발명의 요지를 흐리지 않고 더욱 명확히 전달하기 위함이다.
마찬가지 이유로 첨부 도면에 있어서 일부 구성요소는 과장되거나 생략되거나 개략적으로 도시되었다. 또한, 각 구성요소의 크기는 실제 크기를 전적으로 반영하는 것이 아니다. 각 도면에서 동일한 또는 대응하는 구성요소에는 동일한 참조 번호를 부여하였다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
이 때, 처리 흐름도 도면들의 각 블록과 흐름도 도면들의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수 있음을 이해할 수 있을 것이다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 흐름도 블록(들)에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 흐름도 블록(들)에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 흐름도 블록(들)에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록은 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실행 예들에서는 블록들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
도 1은 다양한 실시 예에 따른 전자 장치가 서비스와 관련된 인공 지능 모델을 관리하는 방법이 구현될 수 있는 시스템을 설명하기 위한 도면이다.
도 1을 참조하면, 다양한 실시 예에 따른 시스템(10)은 다양한 종류의 장치들에 의해 구현될 수 있다. 예를 들어, 시스템(10)은 전자 장치(100), 제1 단말(110) 및 제2 단말(120)을 포함할 수 있다. 도1에 도시된 시스템(10)은 본 실시 예와 관련된 구성요소들만 도시되어 있다. 따라서, 도 1에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 더 포함될 수 있음을 본 실시 예와 관련된 기술분야에서 통상의 지식을 가진 자라면 이해할 수 있다.
전자 장치(100), 제1 단말(110) 및 제2 단말(120) 각각은 트랜시버, 스토리지 및 프로세서를 포함할 수 있다. 또한, 전자 장치(100), 제1 단말(110) 및 제2 단말(120) 각각은 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어, 또는, 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 한편 실시 예 전반에서 전자 장치(100), 제1 단말(110) 및 제2 단말(120) 각각은 분리된 장치 또는 서버로 언급되나 이는 논리적으로 나누어진 구조일 수 있으며, 이들 중 적어도 일부가 하나의 장치 또는 서버에서 분리된 기능에 의해 구현될 수 있다.
일 실시 예에 따르면, 전자 장치(100), 제1 단말(110) 및 제2 단말(120)은 네트워크 서버로 구현되는 다수의 컴퓨터 시스템 또는 컴퓨터 소프트웨어를 포함할 수 있다. 예를 들면 전자 장치(100), 제1 단말(110) 및 제2 단말(120) 중 적어도 일부는 인트라넷 또는 인터넷과 같은 컴퓨터 네트워크를 통해 다른 네트워크 서버와 통신할 수 있는 하위 장치와 연결되어 작업 수행 요청을 접수하고, 그에 대한 작업을 수행하여 수행 결과를 제공하는 컴퓨터 시스템 및 컴퓨터 소프트웨어를 지칭할 수 있다. 이외에도, 전자 장치(100), 제1 단말(110) 및 제2 단말(120) 중 적어도 일부는 네트워크 서버 상에서 동작할 수 있는 일련의 응용 프로그램과, 내부 혹은 연결된 다른 노드에 구축되어 있는 각종 데이터베이스를 포함하는 광의의 개념으로 이해될 수 있다. 예컨대, 전자 장치(100), 제1 단말(110) 및 제2 단말(120) 중 적어도 일부는 도스(DOS), 윈도우(Windows), 리눅스(Linux), 유닉스(UNIX), 또는 맥OS(MacOS) 등의 운영 체제에 따라 다양하게 제공되는 네트워크 서버 프로그램을 이용하여 구현될 수 있다.
전자 장치(100), 제1 단말(110) 및 제2 단말(120)은 네트워크(미도시)를 통해서 서로 통신할 수 있다. 네트워크는 근거리 통신망(Local Area Network; LAN), 광역 통신망(Wide Area Network; WAN), 부가가치 통신망(Value Added Network; VAN), 이동 통신망(mobile radio communication network), 위성 통신망 및 이들의 상호 조합을 포함하며, 도 1에 도시된 각 네트워크 구성 주체가 서로 원활하게 통신을 할 수 있도록 하는 포괄적인 의미의 데이터 통신망이며, 유선 인터넷, 무선 인터넷 및 모바일 무선 통신망을 포함할 수 있다. 무선 통신은 예를 들어, 무선 랜(Wi-Fi), 블루투스, 블루투스 저 에너지(Bluetooth low energy), 지그비, WFD(Wi-Fi Direct), UWB(ultra wideband), 적외선 통신(IrDA, infrared Data Association), NFC(Near Field Communication) 등이 있을 수 있으나, 이에 한정되는 것은 아니다.
일 실시 예에 따르면, 전자 장치(100)에서 서비스와 관련된 인공 지능 모델을 관리하는 방법은 제1 사용자의 제1 단말(110)로부터 전자 장치와 관련된 플랫폼에 대한 접속 요청을 수신하고, 제1 단말(110)에서 획득된 정보를 기반으로 인공 지능과 관련된 제1 모델에 대한 정보를 확인하고, 서비스와 관련된 데이터를 기반으로, 제1 모델의 서빙을 수행하고, 및 제1 모델의 서빙에 따른 결과 정보를 제공하는 동작을 포함할 수 있다. 여기서, 제1 단말(110)은 제1 사용자의 단말일 수 있다. 전자 장치(100)는 제1 단말(110)에 인공 지능과 관련된 모델에 대한 플랫폼을 제공할 수 있고, 플랫폼을 통해 제1 모델에 대한 적어도 하나의 데이터 및 설정된 모델 프레임 워크에 대한 정보를 확인할 수 있다.
또한, 전자 장치(100)는 제1 단말(110)에서 확인된 제1 모델에 대한 정보에 기반하여, 플랫폼을 통해 제2 사용자의 제2 단말(120)에 제1 모델을 제공할 수 있고, 플랫폼을 통해 서비스와 관련된 데이터에 기반하여 제1 모델에 대한 A/B 테스트를 수행할 수 있다. 이에 따라, 전자 장치(100)는 플랫폼을 통해 제2 단말(120)에 제1 모델의 서빙에 따른 결과 정보를 제공할 수 있다.
이에 따라, 전자 장치(100)는 제1 단말(110) 및 제2 단말(120)에 플랫폼을 제공함으로써, 인공 지능과 관련된 모델의 학습 데이터 및 인공 지능 모델의 프레임 워크 등 모델 훈련에 대한 정보에 기반하여 인공 지능 모델을 훈련시킬 수 있다. 또한, 전자 장치(100)는 훈련된 인공 지능 모델을 플랫폼 상에 저장하고, 훈련된 인공 지능 모델에 대한 테스트를 수행하고, 테스트 결과 정보를 제2 단말(120)에 제공할 수 있다. 이에 따라, 전자 장치(100)에서 제공하는 플랫폼을 통해 인공 지능 모델의 훈련에 있어 비효율성이 줄어들 수 있고, 상이한 사용자에게 동일한 라이브러리 버전의 파일을 제공하여 에러의 가능성이 줄어들 수 있다. 또한, 전자 장치(100)는 플랫폼을 통해 메뉴얼한 작업을 자동화하여 인공 지능 모델의 테스트 결과를 빠르게 확인하도록 할 수 있다. 이에 대한 구체적인 실시 예는 하기에서 자세히 살펴보기로 한다.
도 2는 전자 장치가 서비스와 관련된 인공 지능 모델을 관리하는 방법을 나타낸 흐름도이다.
도 2를 참조하면, 전자 장치가 서비스와 관련된 인공 지능 모델을 관리하는 각 동작은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해되는 범위 내에서 일부 동작이 변경, 치환되거나 동작 간의 일부 순서가 변경될 수 있음은 자명하게 이해될 수 있다.
단계 S210에서, 전자 장치(100)는 제1 사용자의 제1 단말로부터 전자 장치와 관련된 플랫폼에 대한 접속 요청을 수신할 수 있다.
일 실시 예에 따르면, 전자 장치(100)는 제1 사용자의 제1 단말(110)로부터 전자 장치(100)와 관련된 플랫폼에 대한 접속 요청을 수신할 수 있다. 여기서, 제1 단말(110)은 데이터를 관리하고 인공 지능 모델을 개발, 훈련하는 사용자의 단말일 수 있다. 접속 요청이 수신된 플랫폼은 인공 지능 모델의 학습 데이터, 테스터 데이터를 설정하고, 인공 지능 모델을 훈련시키는 것뿐만 아니라, 훈련된 인공 지능 모델을 테스트하고 저장하기 위한 플랫폼일 수 있다. 또한, 전자 장치(100)에 의해 제공되는 플랫폼은 제1 단말(110)의 제1 사용자에게만 제공되는 것이 아니다. 예를 들어, 전자 장치(100)는 제2 사용자의 제2 단말로부터 플랫폼에 대한 요청을 수신함에 따라 제1 단말(110)에 제공한 프로그래밍 언어(예를 들어, 파이썬)의 라이브러리 버전을 동일하게 제2 단말에 제공할 수 있다. 이에 따라, 다른 사용자에 의해 모델이 훈련되더라도, 모델의 라이브러리 버전 차이에 따른 에러는 발생하지 않을 수 있다.
단계 S220에서, 전자 장치(100) 제1 단말에서 획득된 정보를 기반으로 인공 지능과 관련된 제1 모델에 대한 정보를 확인할 수 있다.
일 실시 예에 따르면, 전자 장치(100)는 플랫폼에 대한 접속 요청을 수신함에 따라, 제1 단말(110)에 인공 지능과 관련된 모델에 대한 플랫폼을 제공할 수 있다. 예를 들어, 제1 단말(110)에 제공되는 플랫폼은 인터넷 환경에서 모델에 대한 코드를 작성하고 실행할 수 있는 페이지를 제공할 수 있다. 보다 상세하게는, 제1 단말(110)에 제공되는 플랫폼은 주피터 노트북일 수 있고, 전자 장치(100)는 플랫폼을 통해 제1 사용자가 파이썬 코드를 작성하고 실행할 수 있는 페이지를 제공할 수 있다.
일 실시 예에 따르면, 전자 장치(100)는 플랫폼을 제1 단말(110)에 제공할 수 있고, 제1 단말(110)로부터 제1 모델에 대한 적어도 하나의 데이터 및 설정된 모델 프레임 워크에 대한 정보를 확인할 수 있다. 전자 장치(100)는 플랫폼을 통해 호출된 서비스와 관련된 데이터를 제1 단말(110)에 제공할 수 있고, 제1 사용자는 플랫폼 상의 서비스와 관련된 데이터 중 적어도 하나의 데이터를 모델에 대한 데이터로 선택할 수 있다. 여기서, 플랫폼을 통해 호출된 서비스와 관련된 데이터는 외부 스토리지로부터 호출된 서비스와 관련된 데이터일 수 있다. 다만, 이에 한정되는 것은 아니고, 플랫폼을 통해 호출된 서비스와 관련된 데이터는 전자 장치에 저장되어 있을 수 있다. 적어도 하나의 데이터는 제1 모델을 훈련시키기 위한 학습 데이터일 수 있다. 다만 이에 한정되는 것은 아니고. 적어도 하나의 데이터는 제1 모델의 성능 검증을 위한 예측에 사용될 테스트 데이터를 포함할 수 있다.
적어도 하나의 데이터는 플랫폼을 통해 호출된 서비스와 관련된 데이터가 가공됨에 따라 생성된 피처 또는 데이터일 수 있다. 보다 상세하게는, 전자 장치(100)는 플랫폼을 통해 호출된 서비스와 관련된 데이터를 가공하여 모델과 관련되 데이터를 생성하는 페이지를 제공할 수 있다. 여기서, 플랫폼을 통해 호출된 서비스와 관련된 데이터는 별도의 데이터 베이스에 저장되어 있을 수 있고, 카프카를 통해 호출될 수 있다.
일 실시 예에 따르면, 전자 장치(100)는 모델 프레임 워크에 대한 정보를 확인할 수 있다. 여기서, 모델 프레임 워크는 인공 지능 모델에 사용되는 프레임 워크로 인공 지능 모델의 개발 단계에서 재사용 가능한 코드 부분 또는 뼈대를 의미할 수 있다. 전자 장치(100)는 모델 프레임 워크에 대한 정보에 따라 인공 지능 모델을 학습 시킴으로써, 인공 지능 모델의 품질이 향상되고, 인공 지능 모델의 훈련, 개발 및 검증에 소요되는 시간이 효과적으로 감소될 수 있다. 보다 상세하게는, 인공 지능 모델에 사용되는 모델 프레임 워크는 XGboost, LightGBM와 같은 알고리즘일 수 있다. 모델 프레임 워크에 대한 정보는 도 5에서 더 자세히 살펴보기로 한다.
일 실시 예에 따르면, 전자 장치(100)는 설정된 모델 프레임워크에 대한 정보 및 적어도 하나의 데이터에 기반하여, 인공 지능과 관련된 제1 모델을 훈련시킬 수 있다. 인공 지능과 관련된 제1 모델을 훈련시키는 구체적으로 동작은 도 3에서 살펴보기로 한다.
단계 S230에서, 전자 장치(100)는 서비스와 관련된 데이터를 기반으로, 제1 모델의 서빙을 수행할 수 있다.
일 실시 예에 따르면, 전자 장치(100)는 플랫폼을 통해 제2 사용자의 제2 단말(120)에 제1 모델을 제공할 수 있다. 보다 상세하게는, 전자 장치(100)는 훈련된 모델을 정렬하여 제2 단말(120)에 제공할 수 있다. 여기서, 제2 단말(120)의 사용자인 제2 사용자는 훈련된 후 플랫폼 상에 저장된 인공 지능 모델의 서빙의 대상이 되는 사용자일 수 있다. 플랫폼을 통해 제1 모델을 제공받은 제2 사용자는 제1 모델에 대한 A/B 테스트를 수행할 수 있다. 보다 상세하게는, 전자 장치(100)는 제1 모델을 포함하는 복수 개의 모델을 바인딩하여 생성된 대상 모델에 대한 A/B 테스트를 수행할 수 있다. 이때, 제1 모델은 대상 모델에 포함되는 서브 모델일 수 있다. 제1 모델과 관련된 A/B 테스트를 수행하는 구체적인 동작은 도 12 내지 도 14에서 자세히 살펴보기로 한다.
본원의 서빙의 대상이 되는 인공 지능 모델은 Stand Alone 모델뿐만 아니라 임베딩 모델을 포함할 수 있다. 여기서, Stand Alone 모델은 서비스 수행에 해당 모델만을 이용하여 서비스되는 경우의 모델일 수 있다.
단계 S240에서, 전자 장치(100)는 제1 모델의 서빙에 따른 결과 정보를 제공할 수 있다.
일 실시 예에 따르면, 전자 장치(100)는 제1 모델의 서빙과 관련된 메트릭에 대한 정보를 제2 단말(120)에 제공할 수 있다. 보다 상세하게는, 전자 장치(100)는 A/B 테스트에 대한 설정 정보를 설정할 때, A/B 테스트의 결과 정보에 포함되는 메트릭을 설정하는 페이지를 제2 단말(120)에 제공할 수 있다. 이에 따라, 전자 장치(100)는 제2 단말(120)로부터 수신된 A/B 테스트에 대한 메트릭에 대한 정보에 기반하여, A/B 테스트에 대한 메트릭에 대한 정보에 매칭되는 메트릭에 대한 결과 정보를 제공할 수 있다. 여기서, 제1 모델의 서빙과 관련된 메트릭은 제1 모델과 관련된 A/B 테스트의 표준 모델 및 대상 모델의 정확도에 대한 성공 메트릭(Success metric)을 포함할 수 있다.
이에 따라, 제2 단말(120)의 사용자인 제2 사용자는 제1 모델과 관련된 A/B 테스트의 결과 정보를 수신하고, A/B 테스트의 표준 모델 및 대상 모델 중 어떤 모델의 퍼포먼스가 더 좋은지를 확인할 수 있다. 이에 따라, 전자 장치(100)는 제2 단말(120)에 제공되는 플랫폼을 통해 제1 모델과 관련된 서비스를 빠르게 업데이트하도록 할 수 있다.
도 3은 제1 단말에서 획득한 정보에 기반하여 인공 지능과 관련된 제1 모델에 대한 정보를 확인하는 구체적인 실시 예에 대한 도면이다.
단계 S310에서, 전자 장치(100)는 전자 장치와 관련된 플랫폼에 대한 접속 요청을 수신할 수 있다.
단계 S320에서, 전자 장치(100)는 인공 지능과 관련된 모델에 대한 플랫폼을 제공할 수 있다. 여기서, 인공 지능과 관련된 모델에 대한 플랫폼은 1) 인공 지능과 관련된 모델을 개발하기 위한 학습 데이터 및 인공 지능 모델의 프레임 워크를 설정할 수 있는 페이지, 2) 학습 데이터 및 인공 지능 모델의 프레임 워크에 기반하여 인공 지능과 관련된 모델을 훈련시킬 수 있는 페이지 및 3) 훈련된 모델의 성능을 검증하기 위한 예측 관련 페이지를 포함하는 플랫폼일 수 있다. 모델 개발 및 모델 성능을 테스트하는 개발자는 동일한 라이브러리 버전으로 모델을 개발할 수 있는 바, 전자 장치(100)는 개발자 간의 라이브러리 버전의 차이로 인해 발생하는 오류 등을 감소시킬 수 있다.
단계 S330에서, 전자 장치(100)는 제1 단말(110)에 입력된 인공 지능과 관련된 제1 모델의 훈련에 대한 설정 정보를 수신할 수 있다. 보다 상세하게는, 제1 사용자는 제1 단말(110)에 제공된 인공 지능과 관련된 모델을 개발하기 위한 학습 데이터 및 인공 지능 모델의 프레임 워크를 설정할 수 있는 페이지를 통해 제1 모델의 훈련에 대한 설정 정보를 입력할 수 있다. 여기서, 제1 모델의 훈련에 대한 설정 정보는 인공 지능과 관련된 제1 모델의 학습 데이터 및 모델 프레임 워크에 대한 정보를 포함할 수 있다. 또한, 제1 모델의 훈련에 대한 설정 정보는 제1 모델의 성능 검증을 위한 테스트 데이터를 포함할 수 있다. 다만, 제1 모델의 훈련에 대한 설정 정보는 이에 한정되는 것은 아니고, 제1 모델의 훈련에 대한 설정 정보는 파라미터 설정 정보를 포함할 수 있다.
단계 S340에서, 전자 장치(100)는 제1 모델의 훈련에 대한 설정 정보에 기반하여 제1 모델을 훈련시킬 수 있다. 보다 상세하게는, 전자 장치(100)는 입력 데이터(입력 데이터는 피처로 호칭될 수 있다.) 및 출력 데이터(출력 데이터는 라벨로 호칭될 수 있다.)를 포함하는 인공 지능과 관련된 제1 모델의 학습 데이터에 기반하여, 입력 데이터와 출력 데이터 간의 관계에 대한 수식 또는 알고리즘인 제1 모델을 훈련시킬 수 있다. 보다 상세하게는, 전자 장치(100)는 학습 데이터 및 설정된 프레임 워크에 따라, 제1 모델의 파라미터를 최적화할 수 있다.
다만, 제1 모델이 학습 데이터에 의해 과 최적화될 우려가 있는 바, 전자 장치(100)는 데이터를 학습 데이터인 제1 데이터와 테스트 데이터인 제2 데이터로 나눌 수 있다. 이에 따라, 전자 장치(100)는 훈련 단계 및 예측에 따른 성능 검증 단계를 이원화하여 수행할 수 있다. 예를 들어, 전자 장치(100)는 제1 데이터를 학습 데이터로 이용하여 제1 모델을 훈련시킬 수 있다. 또한, 전자 장치(100)는 제2 데이터를 테스트 데이터로 이용하여 제2 데이터에 포함되는 입력 데이터에 따른 제1 모델의 출력 값과 출력 데이터와의 차이에 기반하여 제1 모델의 예측 정확도를 확인할 수 있다.
단계 S350에서, 전자 장치(100)는 제1 모델의 훈련 결과에 대한 정보를 제공할 수 있다.
일 실시 예에 따르면, 전자 장치(100)는 단계 S340에서 확인된 제1 모델의 예측 정확도에 대한 정보를 제1 단말(110)에 제공할 수 있다. 이에 따라, 제1 단말(110)의 제1 사용자는 제1 모델의 예측 정확도에 대한 정보를 확인할 수 있다.
단계 S360에서, 전자 장치(100)는 제1 단말(110)로부터 제1 모델을 플랫폼에 저장하는 것에 대한 요청을 수신할 수 있다. 이에 따라, 플랫폼에 저장된 제1 모델은 예측 정확도가 설정된 임계치 이상으로 모델의 성능이 우수한 모델일 수 있다. 이와 같은 프로세스에 따라, 전자 장치(100)는 제1 단말(110)의 제1 사용자가 제1 모델을 적합한 데이터 및 적합한 프레임 워크에 따라 학습 시키고 성능을 확인할 수 있도록 하는 플랫폼을 제공할 수 있다.
또한, 일 실시 예에 따르면, 전자 장치(100)는 제1 모델을 플랫폼에 저장할 때, 제1 모델에 대한 정보를 플랫폼에 함께 저장할 수 있다. 제2 단말(120)에 제공되는 제1 모델은 모델의 예측 정확도가 설정된 임계치 이상으로 모델의 성능이 우수한 모델일 수 있다. 즉, 전자 장치(100)는 제1 모델의 서빙 이전에 제1 모델의 성능 검증에 대한 프로세스를 먼저 수행할 수 있다. 여기서, 인공 지능과 관련된 제1 모델에 대한 정보는 학습 데이터 및 테스트 데이터를 포함하는 제1 모델과 관련된 데이터에 대한 정보, 설정된 모델 프레임워크에 대한 정보, 제1 모델과 관련된 라이브러리 버전에 대한 정보 및 제1 모델에 대한 파라미터 정보 중 적어도 하나를 포함할 수 있다. 본원에서 플랫폼에 모델 또는 데이터 등을 저장한다는 것은 플랫폼과 연결된 외부 스토리지 등에 모델 또는 데이터 등을 저장하는 것을 의미할 수 있다.
도 4는 플랫폼 상의 인공 지능과 관련된 모델에 대한 페이지를 나타내는 도면이다.
도 4를 참조하면, 페이지(400)는 인공 지능과 관련된 모델에 대한 페이지이다. 플랫폼의 페이지(400)는 도 3의 프로세스에 따라 플랫폼에 저장된 모델에 대한 정보를 표시할 수 있다. 페이지(400)은 모델 ID가 1, 2, 3, 4인 모델에 대한 정보를 표시하고 있으나, 플랫폼에 저장된 모델은 모델 ID가 1, 2, 3, 4인 모델에 한정되는 것은 아니다. 예를 들어, 모델 ID가 1인 제1 모델(420)은 아이템 배송비를 결정하는데 사용될 수 있는 모델일 수 있다.
제1 모델(420)의 모델 키는'DELIVERY_TASK_PRICE_ACCEPT_MODEL'로 제1 모델 키(430)일 수 있다. 또한, 페이지(400)의 제1 모델(420)의 모델 키인 제1 모델 키(430)에 대한 제1 사용자의 입력에 따라, 전자 장치(100)는 제1 모델의 설정을 수정하거나 제1 모델의 새로운 버전을 추가할 수 있는 상세 페이지를 제1 단말(110)에 제공할 수 있다. 또한, 제1 단말(110)을 통해 제1 모델(420)을 수정하기 위한 아이콘(440)은 제1 모델(420)을 수정하기 위한 페이지를 제공할 수 있다.
도 5는 플랫폼 상의 인공 지능과 관련된 모델에 대한 상세 페이지를 나타내는 도면이다.
페이지(500)는 인공 지능 모델에 대한 상세 페이지로, 제1 모델(420)을 수정하거나 제1 모델(420)의 새로운 버전을 추가할 수 있는 상세 페이지일 수 있다. 페이지(500) 상에 표시되는 모델은 모델(511), 모델(512), 모델(513) 및 모델(514)로 모델 키(510)는 'DELIVERY_TASK_PRICE_ACCEPT_MODEL'로 동일할 수 있다. 다만, 모델(511), 모델(512), 모델(513) 및 모델(514)은 모델 버전(520), 모델 소스 타입(530) 및 모델 타입(540)에서 차이가 있는 상이한 모델일 수 있다.
예를 들어, 모델(514)은 모델 소스 타입(530) 및 모델 타입(540)이 XGBOOST 로 모델(511), 모델(512) 및 모델(513의 모델 소스 타입(530) 및 모델 타입(540)인 LIGHTGBM 및 PMML과 상이할 수 있다. 모델(511), 모델(512) 및 모델(513)은 모델 소스 타입(530) 및 모델 타입(540)인 LIGHTGBM 및 PMML로 동일하지만, 상이한 학습 데이터에 기반하여 훈련된 모델일 수 있다. 예를 들어, 모델 소스 S3 path에 대한 정보에 따르면 모델(511)은 spatial cat이라는 데이터를 제외한 새로운 데이터에 기반하여 훈련된 모델일 수 있고, 모델(512)는 후에 살펴볼 A/B 테스트의 테스트 타입 중 제1 타입인 'dryrun'에 이용될 수 있는 default 데이터에 기반하여 훈련된 모델일 수 있다.
본원에서, 모델 소스 타입(530)은 인공 지능과 관련된 모델의 프레임 워크에 대한 정보를 나타낼 수 있다. 1) 모델 소스 타입(530) 중 XGBOOST(Extreme Gradient Boosting)는 그레디언트 부스팅 알고리즘을 분산환경에서도 실행할 수 있도록 하는 프레임 워크, 알고리즘, 라이브러리일 수 있다. XGBOOST는 병렬 처리 속도가 빠른 프레임 워크일 수 있다. 2) 모델 소스 타입(530) 중 LightGBM은 그레이디언트 부스팅 모델로 트리를 기반으로 학습하는 프레임 워크, 알고리즘, 라이브러리일 수 있다. 보다 상세하게는, LightGBM은 leaf-wise(리프 중심 트리 분할) 방식을 채택함에 따라, 트리의 깊이에 따라 소요 시간 및 메모리 사용을 절약하는 것을 특징으로 할 수 있다. 이에, ightGBM은 XGboost보다 빠른 연산 속도를 가지는 것을 특징으로 할 수 있다. 3) 다만, 모델 소스 타입(530)은 XGboost 및 LightGBM에 한정되는 것은 아니다. 예를 들어, 모델 소스 타입(530)은 H2O, Tensorflow, Pytorch 모델 프레임 워크를 포함할 수 있다. 또한, 모델 타입(540) 중 PMML(Predictive Model Markup Language)은 XML 기반의 예측 모델을 기술할 수 있는 표준 언어일 수 있다.
본원에서, 모델 소스 S3 path에 대한 정보는 모델의 저장 경로에 대한 정보일 수 있다. 또한, 해당 모델은 하기와 같은 코드에 따라 저장 경로에 저장될 수 있다.
Model._Booster_save_model(model_file_path)
도 6은 플랫폼 상의 인공 지능과 관련된 모델의 새로운 버전을 추가하기 위한 페이지를 나타내는 도면이다.
도 6을 참조하면, 페이지(600)은 인공 지능과 관련된 모델의 새로운 버전을 추가하기 위해 인공 지능과 관련된 모델의 설정 정보를 입력하는 란을 포함할 수 있다. 이에 따라, 제1 사용자는 페이지(600)를 통해 모델 키(610), 설명(620), 모델 소스 타입(630), 모델 소스 S3 path(640)에 대한 정보를 입력할 수 있다. 보다 상세하게는, 제1 사용자가 플랫폼을 통해 도 4의 모델 ID가 4이고, 모델 키가 'TSD_T2_NEARBY'인 모델의 새로운 버전을 추가할 때, 전자 장치(100)가 제1 사용자에게 제공하는 페이지는 페이지(600)과 같을 수 있다.
도 6에 이어, 도 7은 플랫폼 상의 인공 지능과 관련된 모델의 새로운 버전을 추가하기 위한 페이지를 나타내는 도면이다.
도 7은 도 6에 이어 모델 키가 'TSD_T2_NEARBY'인 모델의 새로운 버전을 추가하는 일 실시 예를 설명하기 위한 도면일 수 있다. 도 7을 참조하면, 페이지(700)은 제1 단말(110)을 통해 인공 지능과 관련된 모델의 설정 정보가 입력된 페이지일 수 있다. 예를 들어, 새로운 버전의 모델에 대한 모델 소스 타입(730)은 LIGHTGBM으로 도 6의 모델 소스 타입(630)인 XGBOOST와 상이할 수 있다. 또한, 새로운 버전의 모델에 대한 모델 소스 S3 path(740)은 모델 키가 'TSD_T2_NEARBY'인 모델의 새로운 버전이 저장된 모델 저장 경로에 대한 정보를 포함할 수 있다. 제1 사용자는 인공 지능과 관련된 모델의 설정 정보를 입력함에 따라, 페이지(700) 상의 아이콘(750)을 클릭할 수 있고, 전자 장치(100)는 인공 지능과 관련된 모델의 설정 정보에 따른 새로운 버전의 모델을 저장할 수 있다. 이에 따라, 사용자는 전자 장치(100)가 제공하는 플랫폼에 저장된 새로운 버전의 모델을 추출하여 이용할 수 있다. 본원에서, 새로운 버전의 모델은 기존의 모델과 훈련에 사용되는 데이터, 모델의 프레임 워크, 라이브러리 버전, 파라미터 중 적어도 하나가 상이한 모델일 수 있다.
도 8은 플랫폼 상의 표준 모델에 대한 페이지를 나타내는 도면이다.
도 8을 참조하면, 페이지(800)는 플랫폼 상에 저장된 표준 모델에 대한 정보를 표시하는 페이지일 수 있다. 표준 모델은 현재 서비스를 실행하는데 사용되고 있는 모델로, 복수 개의 모델을 서브 모델로 포함하는 모델일 수 있다. 보다 상세하게는, 표준 모델은 서비스를 수행하기 위해 현재 런칭하여 적용 중인 모델로, 복수 개의 표준 모델이 있을 수 있다. 또한, 표준 모델을 기반으로 수행되는 서비스는 ETA(Estimated Time of Arrival), 자동 할당, 계획 등이 있을 수 있으나, 이에 한정되는 것은 아니다. 보다 상세하게는, 서비스를 보다 정확하게 수행하기 위해 플랫폼 상에 저장된 모델 중 복수 개의 모델을 선택하고 이를 바인딩한 표준 모델을 이용할 수 있다. 이에 따라, 전자 장치(100)는 바인딩된 표준 모델을 통해 서비스의 품질을 향상시킬 수 있다. 제1 표준 모델(810)은 'TSD_T2_ETA로' 서비스 중 ETA를 예상하는데 사용되는 표준 모델일 수 있다. 도 8을 참조하면, 페이지(800)는 각각의 표준 모델에 대한 키 정보, 생성 시각에 대한 정보 및 생성한 사용자에 대한 정보 등을 포함할 수 있다.
도 9는 대상 모델을 생성하는 페이지를 나타내는 도면이다.
도 9을 참조하면, 페이지(900)는 플랫폼 상에 저장된 표준 모델과 비교하기 위한 대상 모델을 생성하는 페이지일 수 있다. 보다 상세하게는, 페이지(900)는 도 8의 제1 표준 모델(810)과 비교하기 위한 대상 모델을 생성하기 위한 페이지이다. 본원에서, 대상 모델은 서비스를 수행하기 위해 현재 런칭하여 적용 중인 모델과 상이한 모델로 테스트에서 대상 모델과 비교하기 위한 대상일 수 있다. 보다 상세하게는, 대상 모델은 대응되는 표준 모델에 플랫폼 상의 새로운 서브 모델을 추가하거나 표준 모델에 포함되는 복수 개의 모델 중 적어도 일부 모델의 버전을 변경한 모델일 수 있다. 다만 이에 한정되는 것은 아니고, 대상 모델은 표준 모델에 새로운 파라미터를 추가한 모델일 수 있다.
예를 들어, 제1 표준 모델(810)인 'TSD_T2_ETA'는 서브 모델로 모델(920) 및 모델(930)을 포함할 수 있다. 보다 상세하게는, 모델(920)은 'ETA1DefaultModel v1'일 수 있고, 모델(930)은 'PMML_TEST v2'일 수 있다. 제1 표준 모델(810)과 비교하기 위한 대상 모델은 제1 표준 모델(810)에 모델(940)을 바인딩하여 생성된 모델일 수 있다. 여기서, 모델(940)은 도착 예상 시간 지연을 고려하기 위한 모델일 수 있다. 다만, 대상 모델은 도 9의 실시 예에 한정되는 것은 아니다. 예를 들어, 대상 모델은 제1 표준 모델(810)에 새로운 파라미터인 'regionbuffer'를 추가함에 따라 생성된 새로운 모델일 수 있다. 전자 장치(100)는 페이지(900)의 아이콘(960)을 통해 제1 표준 모델(810)에 새로운 파라미터인 'regionbuffer'를 추가하여 대상 모델을 생성할 수 있다. 여기서, 'region buffer'는 사용자의 지역에 대한 파라미터일 수 있다. 또한, 전자 장치(100)는 페이지(900)의 저장 아이콘(970)을 통해 생성된 대상 모델을 플랫폼 상에 저장할 수 있다.
일 실시 예에 따르면, 전자 장치(100)는 제1 모델의 서빙을 수행할 수 있다. 보다 상세하게는, 전자 장치(100)는 제1 모델(보다 상세하게는, 대상 모델일 수 있다.)에 대한 A/B 테스트를 수행할 수 있다. 이에 대해 하기에서 살펴보기로 한다.
도 10은 표준 모델 및 대상 모델에 대한 A/B 테스트를 포함하는 페이지를 나타내는 도면이다.
도 10을 참조하면, 페이지(1000)는 플랫폼 상에 저장된 표준 모델 및 대응되는 대상 모델의 A/B 테스트에 대한 페이지일 수 있다. 예를 들어, 페이지(1000)은 플랫 폼에 저장된 ETA에 대한 제1 표준 모델(1010) 및 대응되는 대상 모델에 대한 A/B 테스트를 포함할 수 있다. 제1 표준 모델(1010)에 대한 A/B 테스트의 이름 정보(1020)는 optimize buffer의 여부에 따른 도착 예정 시간에 대한 A/B 테스트를 나타낼 수 있다. 또한, 제1 표준 모델(1010)에 대한 시작 시각에 대한 정보(1030) 및 종결 시각에 대한 정보는 각각 2022년 04년 28일 및 2022년 07년 30일일 수 있다. 또한, 제1 표준 모델(1010)에 대한 A/B 테스트의 테스트 타입은 제1 타입 내지 제3 타입 중 제3 타입인 'TRAFFIC CONTROL'일 수 있다. 또한, 페이지(1000)의 아이콘(1060)은 제1 표준 모델(1010)에 대한 A/B 테스트를 수정하거나 A/B 테스트의 설정 정보를 설정하는 페이지로 이동하기 위한 엔트리 포인트일 수 있다.
일 실시 예에 따르면, 전자 장치(100)는 플랫폼을 통해 제2 사용자의 제2 단말(120)에 제1 모델을 제공할 수 있고, 플랫폼을 통해 서비스와 관련된 데이터에 기반하여 제1 모델에 대한 A/B 테스트를 수행할 수 있다. 예를 들어, 전자 장치(100)는 A/B 테스트의 테스트 타입 및 A/B 테스트에 대한 설정 정보에 기반하여, A/B 테스트를 수행할 수 있다. A/B 테스트에 대한 설정 정보는 A/B 테스트의 실행 기간에 대한 정보 및 A/B 테스트의 실행 지역에 대한 정보를 포함할 수 있다. A/B 테스트의 테스트 타입에 따른 A/B 테스트의 실행의 구체적인 실시 예는 도 11 내지 도 13에서 살펴본다.
도 11은 테스트 타입이 제1 타입인 경우, A/B 테스트의 설정 정보를 설정하기 위한 페이지에 대한 도면이다.
테스트 타입이 제1 타입으로 'Dry Run'인 경우, A/B 테스트에 대한 설정 정보는 A/B 테스트에 할당된 트래픽에 대한 정보를 포함할 수 있다. 일 실시 예에 따르면, 전자 장치(100)는 A/B 테스트에 할당된 트래픽에 대한 정보에 따라 A/B 테스트를 수행할 수 있다.
예를 들어, 페이지(1000)의 아이콘(1060)을 통한 입력에 대응하여, 전자 장치(100)는 도 10의 제1 표준 모델(1010)에 대한 설정 정보를 설정 및 편집하는 페이지(1100)를 제공할 수 있다. 도 11의 A/B 테스트의 이름 정보는 제1 표준 모델(1010)에 대한 A/B 테스트의 이름 정보(1020)와 대응될 수 있다. 전자 장치(100)는 테스트 타입(1120)을 'Traffic Control'에서 'Dry Run'으로 변경하는 입력을 수신함에 따라, 제2 사용자의 제2 단말(120)에 'Dry Run percentage' 을 조절하는 아이콘(1130) 및 A/B 테스트의 수행 시간인 'Test Range'를 조절하는 아이콘(1110)을 제공할 수 있다.
제2 사용자는 플랫폼을 통해 제2 단말(120)에 표시되는 A/B 테스트의 수행 시간인 'Test Range'를 조절하는 아이콘(1110)을 통해 제1 표준 모델(1010)에 대한 시작 시각에 대한 정보 및 종결 시각에 대한 정보를 설정할 수 있다.
또한, 제2 사용자는 플랫폼을 통해 'Dry Run percentage' 을 조절하는 아이콘(1130)을 통해 'Dry Run'으로 동작하는 비율을 설정할 수 있다. 예를 들어, 도 11과 같이 'Dry Run percentage'이 10%로 설정되면, 전자 장치(100)는 테스트 그룹의 사용자 중 'Dry Run Percentage'인 10%의 사용자에게 A/B 테스트의 실험군으로 A/B 테스트를 수행할 수 있다. 여기서, A/B 테스트의 실험군은 제1 표준 모델(1010)와 비교대상이 되는 대상 모델일 수 있다. 이에 따라, 전자 장치(100)는 'Dry Run Percentage'에 따라 설정된 비율의 사용자에게만 사용자에게 A/B 테스트의 실험군으로 A/B 테스트를 수행함으로써, 본격적인 A/B 테스트 이전에 예비적인 A/B 테스트를 수행할 수 있다.
도 12는 테스트 타입이 제2 타입인 경우, A/B 테스트의 설정 정보를 설정하기 위한 페이지에 대한 도면이다.
테스트 타입이 제2 타입으로 'Switch Back'인 경우, A/B 테스트에 대한 설정 정보는 A/B 테스트의 테스트 그룹 간의 실행 간격에 대한 정보 및 A/B 테스트의 테스트 그룹의 실행 순서에 대한 정보를 포함할 수 있다. 일 실시 예에 따르면, 전자 장치(100)는 A/B 테스트의 테스트 그룹 간의 실행 간격에 대한 정보 및 A/B 테스트의 테스트 그룹의 실행 순서에 대한 정보에 따라, /B 테스트의 테스트 그룹에 A/B 테스트를 교대로 실행할 수 있다.
예를 들어, 페이지(1000)의 아이콘(1060)을 통한 입력에 대응하여, 전자 장치(100)는 도 10의 제1 표준 모델(1010)에 대한 설정 정보를 설정 및 편집하는 페이지(1200)를 제공할 수 있다. 도 12의 A/B 테스트의 이름 정보는 제1 표준 모델(1010)에 대한 A/B 테스트의 이름 정보(1020)와 대응될 수 있다. 전자 장치(100)는 테스트 타입(1220)을 'Traffic Control'에서 'Switch Back'으로 변경하는 입력을 수신함에 따라, 제2 사용자의 제2 단말(120)에 'Switch Back'의 실행 간격에 대한 정보를 조절하는 아이콘(1230) 및 A/B 테스트의 테스트 그룹의 사이즈에 대한 정보를 조절하는 아이콘(1240)을 제공할 수 있다.
제2 사용자는 플랫폼을 통해 제2 단말(120)에 표시되는 A/B 테스트의 수행 시간인 'Test Range'를 조절하는 아이콘(1210)을 통해 제1 표준 모델(1010)에 대한 시작 시각에 대한 정보 및 종결 시각에 대한 정보를 설정할 수 있다. 예를 들어, 시작 시각에 대한 정보는 '2022년 5월 22일'일 수 있고, 종결 시각에 대한 정보는 '2022년 5월 24일'일 수 있다.
또한, 제2 사용자는 플랫폼을 통해 제2 단말(120)에 표시되는 'Switch Back'의 실행 간격에 대한 정보를 조절하는 아이콘(1230)을 통해 대조군 및 적어도 하나의 실험군의 실행 간격을 적응적으로 조절할 수 있다. 도 12를 참조하면, Switch Back'의 실행 간격에 대한 정보는 480분일 수 있다. 또한, 제2 사용자는 플랫폼을 통해 제2 단말(120)에 표시되는 'A/B 테스트의 테스트 그룹의 사이즈에 대한 정보를 조절하는 아이콘(1240)을 통해 그룹 사이즈를 대조군 1개 및 2개의 실험군을 포함하는 3개로 조절할 수 있다. 이에 따라, 그룹 A, 그룹 B 및 그룹 C는 2022년 5월 22일, 2022년 5월 23일 및 2022년 5월 24일에 교대로 실행될 수 있다. 구체적으로, 2022년 5월 22일에는 그룹 A, 그룹 B 및 그룹 C 순으로 실행될 수 있고, 2022년 5월 23일에는 그룹 B, 그룹 C 및 그룹 A 순으로 실행될 수 있으며, 2022년 5월 24일에는 그룹 C, 그룹 A 및 그룹 B 순으로 실행될 수 있다. 이에 따라, 그룹 A, 그룹 B 및 그룹 C는 상이한 날짜에 0시부터 8시, 8시부터 16시 및 16시부터 24시까지 한번씩 실행되었다. 또한, 도 12에 표시되지는 않았지만, 제2 사용자는 테스트 그룹 사이의 실행 순서에 대한 정보도 설정할 수 있다. 예를 들어, 도 12를 참조하면, 설정된 테스트 그룹 사이의 실행 순서는 그룹 A, 그룹 B 및 그룹 C 순서일 수 있다.
테스트 타입이 제2 타입으로 'Switch Back'인 경우, 전자 장치(100)는 설정된 시간 대에 테스트 그룹 중 하나의 그룹에 대한 A/B 테스트를 실행함으로써, A/B 테스트에 할당되는 트래픽을 하나의 그룹에 대한 A/B 테스트에 집중하여 실행할 수 있다. 이에 따라, A/B 테스트에 할당되는 트래픽이 적은 경우에도 전자 장치(100)는 A/B 테스트를 효율적으로 수행할 수 있다. 또한, 전자 장치(100)는 테스트 타입이 제2 타입으로 'Switch Back'로 A/B 테스트를 실행함에 따라, 동일 지역의 사용자에게 대조군 또는 적어도 하나의 실험군 중 하나의 서비스를 제공할 수 있고, 동일 지역의 사용자는 동일한 서비스를 이용할 수 있다.
도 13은 테스트 타입이 제3 타입인 경우, A/B 테스트의 설정 정보를 설정하기 위한 페이지에 대한 도면이다.
테스트 타입이 제3 타입으로 'Traffic Control'인 경우, A/B 테스트에 대한 설정 정보는 A/B 테스트의 실행 지역에 대한 정보를 포함할 수 있다. 일 실시 예에 따르면, 전자 장치(100)는 A/B 테스트의 실행 지역에 대한 정보에 따라, A/B 테스트의 사용자를 결정할 수 있다.
예를 들어, 페이지(1000)의 아이콘(1060)을 통한 입력에 대응하여, 전자 장치(100)는 도 10의 제1 표준 모델(1010)에 대한 설정 정보를 설정 및 편집하는 페이지(1300)를 제공할 수 있다. 도 13의 A/B 테스트는 제1 표준 모델(1010)에 대한 A/B 테스트와 대응될 수 있다. 페이지(1300)의 A/B 테스트의 실행 지역에 대한 'Dimension Type'에 대한 정보(1320)는 'Region', 'City', 'Custom' 및 'ALL' 중 'Region'일 수 있다. 여기서 'Region'은 A/B 테스트의 사용자의 지역 정보가 지방인 것을 의미할 수 있고, 'City'는 은 A/B 테스트의 사용자의 지역 정보가 도시인 것을 의미할 수 있고, 'Custom'은 은 A/B 테스트의 사용자의 지역 정보가 설정된 지역인 것을 의미할 수 있으며 및 'ALL' 은 A/B 테스트의 사용자의 지역 정보에 제약이 없는 것을 의미할 수 있다. 도 13을 참조하면, 제2 단말(120)을 통해 페이지(1300) 상의 'Region'이 클릭되면, A/B 테스트의 테스트 그룹에 포함되는 사용자는 사용자의 지역 정보가 지방인 사용자로 한정될 수 있다.
페이지(1300)는 그룹 A(1310)인 대조군에 대한 설정 정보를 표시하고 있지만, 제2 사용자가 페이지(1300)의 그룹 추가에 대한 아이콘(133)을 클릭함에 따라, 전자 장치(100)는 그룹 A(1310)뿐만 아니라 적어도 하나의 실험군에 대한 'Dimension ids' 및 'version'에 대한 정보를 설정하는 페이지를 플랫폼을 통해 제2 단말(120)에 제공할 수 있다.
서비스의 특성에 따라 A/B 테스트의 대상이 되는 사용자를 특정 지역(예를 들어, 지방 또는 도시)으로 한정할 필요가 있을 수 있다. 이때, 테스트 타입을 제3 타입으로 'Traffic Control'설정함에 따라, 전자 장치(100)는 /B 테스트의 대상이 되는 사용자를 특정 지역으로 한정하여 A/B 테스트를 실행할 수 있다.
또한, 페이지(1300)는 테스트 그룹에 포함되는 사용자 중 적어도 일부를 특정 그룹으로 우선 할당(Override)하기 위한 파라마터 설정을 추가하는 아이콘(1340)을 포함할 수 있다. 예를 들어, 도 13을 참조하면, 테스트 그룹에 포함되는 사용자 중 제2 사용자에 의해 추가된 파라미터 설정 값에 대응하는 사용자는 그룹 A(1310)에 할당될 수 있다.
도 13에 이어, 도 14는 파라미터 값을 설정함에 따라 테스트 그룹에 포함되는 사용자를 우선 할당하는 일 실시 예를 설명하기 위한 도면이다.
페이지(1300)의 파라마터 설정을 추가하는 아이콘(1340)을 통한 입력에 대응하여, 일 실시 예에 따른 전자 장치(100)는 테스트 그룹에 포함되는 사용자를 특정 그룹으로 우선 할당할 수 있다. 예를 들어, 테스트 그룹에 포함되는 사용자 중 파라미터 키(1410)가 'age'이고, 파라미터 값(1420)이 20-29인 사용자는 처음에 적어도 하나의 실험군에 할당되었더라도 그룹 A인 대조군으로 우선 할당될 수 있다. 다만, 이에 한정되는 것은 아니다. 예를 들어, 그룹 B와 관련하여 파라마터 설정을 추가하는 아이콘을 통한 입력에 대응하여, 일 실시 예에 따른 전자 장치(100)는 테스트 그룹에 포함되는 사용자 중 파라미터 설정에 대응하는 사용자를 그룹 B인 실험군에 우선 할당할 수 있다.
본원에서 파라미터는 'age'에 한정되는 것은 아니고, 사용자의 성별과 같은 정보뿐만 아니라 사용자의 구매 패턴 및 구매 이력에 대한 파라미터도 포함할 수 있다.
도 15는 제1 모델의 서빙과 관련된 메트릭에 대한 정보를 제공하는 실시 예에 대한 도면이다.
일 실시 예에 따르면, 전자 장치(100)는 A/B 테스트에 대한 설정 정보를 설정 한 후, 제1 모델의 서빙에 따른 메트릭에 대한 정보를 제공할 수 있다. 도 15를 참조하면, 페이지(1500)는 메트릭에 대한 정보를 설정하는 페이지일 수 있다. 예를 들어, 전자 장치(100)는 메트릭에 대한 정보를 설정하는 페이지를 제2 단말(120)을 제공함에 따라, 제2 사용자는 플랫폼을 통해 플랫폼 상의 메트릭 중 적어도 하나의 메트릭을 추가할 수 있다. 예를 들어, 페이지(1500) 상의 메트릭 추가 아이콘(1510)을 통한 입력에 따라, metric 1은 Added metrics에 대한 부분에 추가될 수 있다. 또한, 모델의 서빙과 관련된 메트릭은 A/B 테스트의 성공 메트릭(Success Metric)을 포함할 수 있다. 여기서, 성공 메트릭은 대조군 및 적어도 하나의 실험군의 성능을 수치화한 값을 element로 하는 메트릭일 수 있다. 또한, 추가된 metric 1에 대한 상세 설정 페이지는 도 15의 페이지(1550)와 같이 표시될 수 있다. 플랫폼을 통해 페이지(1550) 상의 필터에 대한 정보(1560)를 추가적으로 설정함에 따라, metric 1은 다이나믹하게 설정될 수 있다.
도 16은 전자 장치에서 서비스와 관련된 인공 지능 모델을 관리하는 구체적인 실시 예를 설명하기 위한 도면이다.
Platform Configuration(1600)는 전자 장치(100)가 단말에 제공하는 인공 지능 모델, A/B 테스트 등의 설정을 관리하는 페이지일 수 있다. Algorithm Configuration(1601)은 플랫폼 상의 모델을 바인딩하는 기능을 제공하는 페이지로 도 9의 대상 모델을 생성하기 위한 페이지를 포함할 수 있다. Model Configuration(1602)은 도 6 내지 도 7의 인공 지능 과 관련된 모델을 설정하고, 새로운 버전을 추가하기 위한 페이지일 수 있다. Parameter Configuration(1603)은 모델의 파라미터 값을 변경하거나 새로운 파라미터를 추가하기 위한 페이지일 수 있다. A/B 테스트 Configuration(1604)는 도 10 내지 도 14의 A/B 테스트에 대한 설정 정보를 관리하기 위한 페이지일 수 있다. 또한, Feature Binding(1605)는 feature를 결합하거나 가공하여 관리하기 위한 페이지일 수 있다. 전자 장치(100)는 Platform Configuration(1600)에 따라 단말에 플랫폼을 통해 제공되는 인공 지능 모델, A/B 테스트 등을 관리하는 페이지를 제공할 수 있다. 또한, Platform Configuration(1600)에 의해 설정된 모델, 테스트, 파라미터, 알고리즘(본원의 대상 모델 또는 표준 모델에 대응될 수 있음.) 및 피처는 외부 스토리지(1610)에 저장될 수 있다.
도 16을 참조하면, 서버(1610)는 Platform Configuration(1600)을 통한 설정에 기반하여 실질적으로 구동되는 부분으로, Client(1630) 및 Model serving(1640)을 포함할 수 있다. Configuration Loader(1631)은 Platform Configuration(1600)을 통한 설정에 기반하여 저장하는 부분이다. 이에 따라, 모델을 로드하고, 로컬 컴퓨팅 디바이스에 다운로드하거나 Model Loader(1641)에 로드된 모델을 제공할 수 있다. Algorithm Invoker(1632)는 설정된 알고리즘(복수 개의 모델이 바인딩된 대상 모델 또는 표준 모델에 대응될 수 있다.)을 호출할 수 있다. 또한, A/B Controller(1633)은 A/B 테스트를 확인하고, A/B 테스트의 실행 지역에 대한 정보 및 default로 설정된 A/B 테스트의 설정 정보 등을 확인할 수 있다. Feature Accessor(1634)는 유사한 피처를 종합하고, 비등기 병렬 처리 등을 이용하여 최대 성능을 위해 피처를 획득할 수 있다. Model Invoker(1635)는 모델을 호출할 수 있다. Model loader(1641)은 기존의 변경된 모델 또는 새로운 모델을 로드할 수 있다. 또한, Load Engine(1642)는 다운로드된 모델을 로드하기 위한 엔진일 수 있다. 모델(1643)은 모델 X의 버전 1, 모델 X의 버전 2, 모델 Y의 버전 1 및 모델 Y의 버전 2를 포함할 수 있다. 다만, 도 16의 모델(1643)은 본원의 일 실시 예이며, 본원의 모델은 이에 한정되지 않는다.
도 17은 일 실시 예에 따른 서비스와 관련된 인공 지능 모델을 관리하기 위한 전자 장치를 도식화한 블록도이다.
도 17의 전자 장치(1700)는 본원 명세서의 전자 장치(100)에 대응될 수 있다.
본 개시의 전자 장치(1700)는 일 실시 예에 따라, 트랜시버(1710), 프로세서(1720) 및 스토리지(1730)를 포함할 수 있다. 도 17에 도시된 구성요소들은 전자 장치를 구현하는데 있어서 필수적인 것은 아니어서, 본 명세서 상에서 설명되는 전자 장치(1700)는 위에서 열거된 구성요소들 보다 많거나, 또는 적은 구성요소들을 가질 수 있음을 본 실시 예와 관련된 기술분야에서 통상의 지식을 가진 자라면 이해할 수 있다. 한편 실시 예에서 프로세서(1720)는 적어도 하나의 프로세서를 포함할 수 있다. 또한, 전자 장치(1700)는 서버로 동작할 수 있다.
트랜시버(1710)는 유무선 통신 기술을 이용하여 외부의 장치와 통신할 수 있으며 트랜시버(1710)를 포함할 수 있다. 외부의 장치는 데이터 과학자, 개발자, 품질 보증 팀의 단말을 포함하는 단말 또는 서버가 될 수 있다. 또한, 트랜시버(1710)가 이용하는 통신 기술에는 GSM(Global System for Mobile communication), CDMA(Code Division Multi Access), LTE(Long Term Evolution), 5G, WLAN(Wireless LAN), Wi-Fi(Wireless-Fidelity), 블루투스(Bluetooth), RFID(Radio Frequency Identification), 적외선 통신(Infrared Data Association; IrDA), ZigBee, NFC(Near Field Communication) 등이 있을 수 있으며, 이에 한정되는 것은 아니다.
일 실시 예에 따라, 트랜시버(1710)는 단말과 통신하여 정보를 주고받을 수 있다. 트랜시버(1710)는 전자 장치(100) 상의 도메인과 관련된 적어도 하나의 A/B 테스트에 대한 정보를 표시하는 페이지를 제공할 수 있다. 또한, 트랜시버(1710)는 제1 단말(110)로부터 전자 장치(1700)과 관련된 플랫폼에 대한 접속 요청을 수신할 수 있다. 또한, 트랜시버(1710)는 제1 모델의 서빙에 따른 결과 정보를 제2 단말(120)에 제공할 수 있다. 다만 이에 한정되는 것은 아니고, 트랜시버(1710)는 전자 장치(1700)에서 수행되는 프로세스를 플랫폼 상이나 외부 스토리지와 저장할 때 이용될 수 있다.
프로세서(1720)는 전자 장치(1700)의 전반적인 동작을 제어하고 데이터 및 신호를 처리할 수 있다. 프로세서(1720)는 도 1 내지 도 16를 통하여 전술한 하나의 방법을 수행할 수 있다. 프로세서(1720)는 트랜시버(1710) 및 스토리지(1730)와, 나아가 전자 장치(1700)가 더 포함할 수 있는 구성요소들과의 상호 작용을 통해 전자 장치(1700)가 수행하는 실시 예들을 제어할 수 있다. 일 실시 예에 따라, 프로세서(1720)는 제1 사용자의 제1 단말로부터 전자 장치와 관련된 플랫폼에 대한 접속 요청을 수신하고, 제1 단말에서 획득된 정보를 기반으로 인공 지능과 관련된 제1 모델에 대한 정보를 확인하고, 서비스와 관련된 데이터를 기반으로, 제1 모델의 서빙을 수행하고, 및 제1 모델의 서빙에 따른 결과 정보를 제공할 수 있다.
스토리지(1730)는 도 1 내지 도 16를 통하여 전술한 적어도 하나의 방법을 수행하기 위한 정보를 저장할 수 있다. 스토리지(1730)는 메모리로 호칭될 수 있고, 휘발성 메모리 또는 비휘발성 메모리일 수 있다. 또한, 스토리지(1730)는 프로세서(1520)의 동작을 수행하는데 필요한 하나 이상의 명령어를 저장할 수 있고, 플랫폼 상에 저장되거나 외부 메모리에 저장되는 데이터를 임시적으로 저장할 수 있다.
한편, 본 명세서와 도면에는 본 발명의 바람직한 실시 예에 대하여 개시하였으며, 비록 특정 용어들이 사용되었으나, 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것이지, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시 예 외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다.
전술한 실시 예들에 따른 전자 장치 또는 단말은, 프로세서, 프로그램 데이터를 저장하고 실행하는 메모리, 디스크 드라이브와 같은 영구 저장부(permanent storage), 외부 장치와 통신하는 통신 포트, 터치 패널, 키(key), 아이콘 등과 같은 사용자 인터페이스 장치 등을 포함할 수 있다. 소프트웨어 모듈 또는 알고리즘으로 구현되는 방법들은 상기 프로세서상에서 실행 가능한 컴퓨터가 읽을 수 있는 코드들 또는 프로그램 명령들로서 컴퓨터가 읽을 수 있는 기록 매체 상에 저장될 수 있다. 여기서 컴퓨터가 읽을 수 있는 기록 매체로 마그네틱 저장 매체(예컨대, ROM(read-only memory), RAM(random-Access memory), 플로피 디스크, 하드 디스크 등) 및 광학적 판독 매체(예컨대, 시디롬(CD-ROM), 디브이디(DVD: Digital Versatile Disc)) 등이 있다. 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템들에 분산되어, 분산 방식으로 컴퓨터가 판독 가능한 코드가 저장되고 실행될 수 있다. 매체는 컴퓨터에 의해 판독가능하며, 메모리에 저장되고, 프로세서에서 실행될 수 있다.
본 실시 예는 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들은 특정 기능들을 실행하는 다양한 개수의 하드웨어 또는/및 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 실시 예는 하나 이상의 마이크로프로세서들의 제어 또는 다른 제어 장치들에 의해서 다양한 기능들을 실행할 수 있는, 메모리, 프로세싱, 로직(logic), 룩 업 테이블(look-up table) 등과 같은 직접 회로 구성들을 채용할 수 있다. 구성 요소들이 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 있는 것과 유사하게, 본 실시 예는 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바(Java), 어셈블러(assembler), 파이썬(Python) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 실시 예는 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다. “매커니즘”, “요소”, “수단”, “구성”과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다. 상기 용어는 프로세서 등과 연계하여 소프트웨어의 일련의 처리들(routines)의 의미를 포함할 수 있다.
전술한 실시 예들은 일 예시일 뿐 후술하는 청구항들의 범위 내에서 다른 실시 예들이 구현될 수 있다.

Claims (19)

  1. 전자 장치에서 서비스와 관련된 인공 지능 모델을 관리하는 방법에 있어서,
    제1 사용자의 제1 단말로부터 상기 전자 장치와 관련된 플랫폼에 대한 접속 요청을 수신하는 단계;
    상기 제1 단말에서 획득된 정보를 기반으로 인공 지능과 관련된 제1 모델에 대한 정보를 확인하는 단계;
    서비스와 관련된 데이터를 기반으로, 상기 제1 모델의 서빙을 수행하는 단계; 및
    상기 제1 모델의 서빙에 따른 결과 정보를 제공하는 단계를 포함하는 서비스와 관련된 인공 지능 모델을 관리하는 방법.
  2. 제1항에 있어서,
    상기 제1 모델에 대한 정보를 확인하는 단계는,
    상기 플랫폼에 대한 접속 요청을 수신함에 따라, 상기 제1 단말에 인공 지능과 관련된 모델에 대한 플랫폼을 제공하는 단계; 및
    상기 플랫폼을 통해 상기 제1 모델에 대한 적어도 하나의 데이터 및 설정된 모델 프레임워크에 대한 정보를 확인하는 단계를 포함하는 서비스와 관련된 인공 지능 모델을 관리하는 방법.
  3. 제2항에 있어서,
    상기 제1 모델에 대한 정보를 확인하는 단계는,
    상기 설정된 모델 프레임워크에 대한 정보 및 상기 적어도 하나의 데이터에 기반하여, 상기 제1 모델을 훈련하는 단계를 더 포함하는 서비스와 관련된 인공 지능 모델을 관리하는 방법.
  4. 제2항에 있어서,
    상기 제1 모델에 대한 정보를 확인하는 단계는,
    상기 적어도 하나의 데이터를 적어도 하나의 제1 데이터 및 적어도 하나의 제2 데이터로 나누는 단계;
    상기 적어도 하나의 제1 데이터를 학습 데이터로 이용하여, 상기 모델 프레임워크에 대한 정보에 따라 상기 제1 모델을 훈련하는 단계; 및
    상기 적어도 하나의 제2 데이터를 테스트 데이터로 이용하여 상기 훈련된 제1 모델의 예측 정확도를 확인하는 단계를 더 포함하는 서비스와 관련된 인공 지능 모델을 관리하는 방법.
  5. 제4항에 있어서,
    상기 플랫폼에 저장된 상기 제1 모델은 상기 예측 정확도가 설정된 임계치 이상인 것을 특징으로 하는 서비스와 관련된 인공 지능 모델을 관리하는 방법.
  6. 제5항에 있어서,
    상기 제1 모델에 대한 정보를 확인하는 단계는,
    상기 적어도 하나의 데이터에 대한 정보, 상기 설정된 모델 프레임워크에 대한 정보, 상기 제1 모델과 관련된 라이브러리 버전에 대한 정보 및 상기 제1 모델에 대한 파라미터 정보 중 적어도 하나를 포함하는 상기 제1 모델에 대한 정보를 확인하는 단계를 포함하는 서비스와 관련된 인공 지능 모델을 관리하는 방법.
  7. 제1항에 있어서,
    상기 제1 모델의 서빙을 수행하는 단계는,
    상기 플랫폼을 통해 제2 사용자의 제2 단말에 상기 제1 모델을 제공하는 단계; 및
    상기 플랫폼을 통해 상기 서비스와 관련된 데이터에 기반하여 상기 제1 모델에 대한 A/B 테스트를 수행하는 단계를 포함하는 서비스와 관련된 인공 지능 모델을 관리하는 방법.
  8. 제7항에 있어서,
    상기 제1 모델에 대한 A/B 테스트를 수행하는 단계는,
    상기 A/B 테스트의 테스트 타입 및 상기 A/B 테스트에 대한 설정 정보에 기반하여, 상기 A/B 테스트를 수행하는 단계를 포함하는 서비스와 관련된 인공 지능 모델을 관리하는 방법.
  9. 제8항에 있어서,
    상기 제1 모델에 대한 테스트를 수행하는 단계는,
    상기 제1 모델을 포함하는 복수 개의 모델을 바인딩하여 생성된 대상 모델을 확인하는 단계; 및
    상기 대상 모델에 대한 A/B 테스트를 수행하는 단계를 포함하는 서비스와 관련된 인공 지능 모델을 관리하는 방법.
  10. 제9항에 있어서,
    상기 제1 모델은 상기 플랫폼에 저장된 제2 모델의 새로운 버전이고, 상기 제1 모델과 상기 제2 모델은 모델 훈련에 사용된 적어도 하나의 데이터, 모델 프레임 워크, 라이브러리 버전 중 적어도 하나가 상이한 것을 특징으로 하는 서비스와 관련된 인공 지능 모델을 관리하는 방법.
  11. 제9항에 있어서,
    상기 A/B 테스트는 상기 서비스에 대한 표준 모델 및 상기 대상 모델을 각각 A/B 테스트의 대조군 및 실험군으로 하는 A/B 테스트인 것을 특징으로 하는 서비스와 관련된 인공 지능 모델을 관리하는 방법.
  12. 제8항에 있어서,
    상기 A/B 테스트에 대한 설정 정보는 상기 A/B 테스트의 실행 기간에 대한 정보, 실행 지역에 대한 정보 중 적어도 하나를 포함하는 것을 특징으로 하는 서비스와 관련된 인공 지능 모델을 관리하는 방법.
  13. 제8항에 있어서,
    상기 테스트 타입이 제1 타입인 경우, 상기 A/B 테스트에 대한 설정 정보는 상기 A/B 테스트에 할당되는 트래픽에 대한 정보를 포함하고,
    상기 A/B 테스트를 수행하는 단계는,
    상기 A/B 테스트에 할당되는 트래픽에 대한 정보에 따라 상기 A/B 테스트를 수행하는 단계를 포함하는 서비스와 관련된 인공 지능 모델을 관리하는 방법.
  14. 제8항에 있어서,
    상기 테스트 타입이 제2 타입인 경우, 상기 A/B 테스트에 대한 설정 정보는 상기 A/B 테스트의 테스트 그룹 간의 실행 간격에 대한 정보 및 상기 A/B 테스트의 테스트 그룹의 실행 순서에 대한 정보를 포함하고,
    상기 A/B 테스트를 수행하는 단계는,
    상기 실행 간격에 대한 정보 및 상기 실행 순서에 대한 정보에 기반하여, 상기 A/B 테스트의 테스트 그룹에 상기 A/B 테스트를 교대로 실행하는 단계를 포함하는 서비스와 관련된 인공 지능 모델을 관리하는 방법.
  15. 제8항에 있어서,
    상기 테스트 타입이 제3 타입인 경우, 상기 A/B 테스트를 수행하는 단계는,
    상기 A/B 테스트에 대한 설정 정보에 포함되는 실행 지역에 대한 정보에 기반하여, 상기 A/B 테스트의 사용자를 결정하는 단계를 포함하는 서비스와 관련된 인공 지능 모델을 관리하는 방법.
  16. 제2항에 있어서,
    상기 플랫폼을 통해 상기 제1 모델에 대한 적어도 하나의 데이터를 확인하는 단계는,
    상기 플랫폼을 통해 호출 가능한 데이터를 가공하여 상기 제1 모델에 대한 적어도 하나의 데이터를 생성하는 단계를 포함하는 서비스와 관련된 인공 지능 모델을 관리하는 방법.
  17. 제1항에 있어서,
    상기 제1 모델의 서빙에 따른 결과 정보를 제공하는 단계는,
    상기 제1 모델의 서빙과 관련된 메트릭에 대한 정보를 제공하는 단계를 포함하는 서비스와 관련된 인공 지능 모델을 관리하는 방법.
  18. 서비스와 관련된 인공 지능 모델을 관리하기 위한 전자 장치에 있어서,
    트랜시버;
    하나 이상의 명령어를 저장하는 스토리지; 및
    제1 사용자의 제1 단말로부터 상기 전자 장치와 관련된 플랫폼에 대한 접속 요청을 수신하고,
    상기 제1 단말에서 획득된 정보를 기반으로 인공 지능과 관련된 제1 모델에 대한 정보를 확인하고,
    서비스와 관련된 데이터를 기반으로, 상기 제1 모델의 서빙을 수행하고, 및
    상기 제1 모델의 서빙에 따른 결과 정보를 제공하는 프로세서를 포함하는 서비스와 관련된 인공 지능 모델을 관리하기 위한 전자 장치.
  19. 제1항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 비일시적 기록매체.
PCT/KR2022/012490 2022-08-17 2022-08-22 서비스와 관련된 인공 지능 모델을 관리하는 방법 및 장치 WO2024038939A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2022-0102736 2022-08-17
KR1020220102736A KR20240024575A (ko) 2022-08-17 2022-08-17 서비스와 관련된 인공 지능 모델을 관리하는 방법 및 장치

Publications (1)

Publication Number Publication Date
WO2024038939A1 true WO2024038939A1 (ko) 2024-02-22

Family

ID=89941936

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2022/012490 WO2024038939A1 (ko) 2022-08-17 2022-08-22 서비스와 관련된 인공 지능 모델을 관리하는 방법 및 장치

Country Status (3)

Country Link
KR (1) KR20240024575A (ko)
TW (1) TW202422418A (ko)
WO (1) WO2024038939A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111160526A (zh) * 2019-12-18 2020-05-15 河海大学 基于mape-d环形结构的深度学习系统在线测试方法与装置
KR102142205B1 (ko) * 2019-01-04 2020-08-06 에스케이 주식회사 설명 가능한 인공지능 모델링 및 시뮬레이션 시스템 및 방법
US20200401491A1 (en) * 2019-06-20 2020-12-24 Microsoft Technology Licensing, Llc Framework for testing machine learning workflows
KR102398361B1 (ko) * 2020-11-23 2022-05-16 (주)아크릴 Gui 기반 인공지능 추천 시스템 및 그 방법
KR20220085485A (ko) * 2020-12-15 2022-06-22 인하공업전문대학산학협력단 독립적 상품추천 서비스 구축시스템 및 이를 이용한 상품추천 서비스 제공방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102142205B1 (ko) * 2019-01-04 2020-08-06 에스케이 주식회사 설명 가능한 인공지능 모델링 및 시뮬레이션 시스템 및 방법
US20200401491A1 (en) * 2019-06-20 2020-12-24 Microsoft Technology Licensing, Llc Framework for testing machine learning workflows
CN111160526A (zh) * 2019-12-18 2020-05-15 河海大学 基于mape-d环形结构的深度学习系统在线测试方法与装置
KR102398361B1 (ko) * 2020-11-23 2022-05-16 (주)아크릴 Gui 기반 인공지능 추천 시스템 및 그 방법
KR20220085485A (ko) * 2020-12-15 2022-06-22 인하공업전문대학산학협력단 독립적 상품추천 서비스 구축시스템 및 이를 이용한 상품추천 서비스 제공방법

Also Published As

Publication number Publication date
KR20240024575A (ko) 2024-02-26
TW202422418A (zh) 2024-06-01

Similar Documents

Publication Publication Date Title
Cewe et al. Minimal effort requirements engineering for robotic process automation with test driven development and screen recording
US9569199B2 (en) Systems and methods to update source code files
US8706771B2 (en) Systems and methods for analyzing and transforming an application from a source installation to a target installation
US8875104B2 (en) Efficiently developing software using test cases to check the conformity of the software to the requirements
WO2020096098A1 (ko) 어노테이션 작업 관리 방법, 이를 지원하는 장치 및 시스템
WO2019227708A1 (zh) 测试案例的在线调试装置、方法及计算机可读存储介质
WO2019031783A1 (en) ON-DEMAND FUNCTION SUPPLY SYSTEM (FAAS), AND METHOD OF OPERATING THE SYSTEM
EP3602299A1 (en) System for providing function as a service (faas), and operating method of system
US20190361801A1 (en) Method and system for cloud-based automated software testing
WO2024152665A1 (zh) 代码构建方法、装置、计算机设备及存储介质
WO2024038939A1 (ko) 서비스와 관련된 인공 지능 모델을 관리하는 방법 및 장치
CN113032004B (zh) 在开发环境中管理开发作业的方法、设备和程序产品
CN111078236A (zh) 一种软件自动安装方法、系统、电子设备及存储介质
CN113590225B (zh) 贴图检测方法、装置、电子设备及存储介质
CN113377648B (zh) 软件系统诊断方法、装置、电子设备及计算机可读介质
US20180276872A1 (en) Three dimensional visualization of system components and data
US11061662B1 (en) Maintenance of fast-changing software applications
CN115454394A (zh) 具有增强的状态切换和共享的开发环境管理器
CN113760307A (zh) 获取应用代码的差异化覆盖率的方法和装置
CN115812195A (zh) 计算开发过程中的开发者时间
WO2024147403A1 (ko) 가상의 테스트 정보에 기반하여 시스템에 대한 테스트 방법 및 이를 수행하는 전자 장치
WO2024147400A1 (ko) 불변성을 검증하는 전자 장치 및 그 방법
CN112328281A (zh) 一种服务器固件刷新方法和装置
WO2023249156A1 (ko) 코드 정보 제공을 위한 전자 장치 및 그 방법
WO2024058295A1 (ko) 페이지에 대한 리포트를 제공하는 방법 및 장치

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22955812

Country of ref document: EP

Kind code of ref document: A1