WO2024111996A1 - Method by which service management and orchestration entity determines whether to update machine learning model, and service management and orchestration entity - Google Patents

Method by which service management and orchestration entity determines whether to update machine learning model, and service management and orchestration entity Download PDF

Info

Publication number
WO2024111996A1
WO2024111996A1 PCT/KR2023/018433 KR2023018433W WO2024111996A1 WO 2024111996 A1 WO2024111996 A1 WO 2024111996A1 KR 2023018433 W KR2023018433 W KR 2023018433W WO 2024111996 A1 WO2024111996 A1 WO 2024111996A1
Authority
WO
WIPO (PCT)
Prior art keywords
cell
model
machine learning
learning model
group
Prior art date
Application number
PCT/KR2023/018433
Other languages
French (fr)
Korean (ko)
Inventor
이회주
박희원
설유환
연훈제
이민하
조현성
Original Assignee
삼성전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자 주식회사 filed Critical 삼성전자 주식회사
Publication of WO2024111996A1 publication Critical patent/WO2024111996A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • H04W24/02Arrangements for optimising operational condition
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/16Central resource management; Negotiation of resources or communication parameters, e.g. negotiating bandwidth or QoS [Quality of Service]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/08Access point devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Definitions

  • This disclosure relates to a service management and orchestration entity and a method for determining whether a machine learning model is updated.
  • 5G mobile communication technology defines a wide frequency band to enable fast transmission speeds and new services, and includes sub-6 GHz ('Sub 6GHz') bands such as 3.5 gigahertz (3.5 GHz) as well as millimeter wave (mm) bands such as 28 GHz and 39 GHz. It is also possible to implement it in the ultra-high frequency band ('Above 6GHz') called Wave.
  • 'Sub 6GHz' sub-6 GHz
  • mm millimeter wave
  • Wave ultra-high frequency band
  • 6G mobile communication technology which is called the system of Beyond 5G
  • Terra is working to achieve a transmission speed that is 50 times faster than 5G mobile communication technology and an ultra-low delay time that is reduced to one-tenth. Implementation in Terahertz bands (e.g., 95 GHz to 3 THz) is being considered.
  • V2X Vehicle-to-Everything
  • NR-U New Radio Unlicensed
  • UE Power Saving NR terminal low power consumption technology
  • NTN Non-Terrestrial Network
  • the present disclosure may be implemented in a variety of ways, including as a method, system, device, or computer program stored on a computer-readable storage medium.
  • a method for a service management and orchestration (SMO) entity to determine whether to update a machine learning model includes controlling a first machine learning model at least one cell corresponding to the first machine learning model. It may include the step of providing to the target RIC. In one embodiment of the present disclosure, the method may include identifying first performance information indicating communication performance of the at least one cell at a first time. In one embodiment of the present disclosure, the method may include determining whether the identified first performance information satisfies a specific condition. In one embodiment of the present disclosure, the method may include determining whether to update the first machine learning model, based on determining that the identified first performance information satisfies the specific condition. . In one embodiment of the present disclosure, the first time point may be after the control operation performed by the target RIC at the second time point based on the first machine learning model for the at least one cell.
  • SMO service management and orchestration
  • the SMO entity may include a memory that stores one or more instructions and at least one processor that executes the one or more instructions stored in the memory.
  • the at least one processor executes the one or more instructions to apply a first machine learning model to a target RIC that controls at least one cell corresponding to the first machine learning model.
  • the at least one processor may identify first performance information indicating communication performance of the at least one cell at a first point in time.
  • the at least one processor may determine whether the identified first performance information satisfies a specific condition.
  • the at least one processor may determine whether to update the first machine learning model based on determining that the identified first performance information satisfies the specific condition. In an embodiment of the present disclosure, the at least one processor is configured to set the first time point to the date after the control operation performed by the target RIC at the second time point based on the first machine learning model for the at least one cell. You can.
  • a program for performing on a computer a method of determining whether to update a machine learning model according to an embodiment of the present disclosure may be recorded on a computer-readable recording medium.
  • Figure 1 is a diagram showing an O-RAN structure according to an embodiment.
  • Figure 2 is a flowchart showing how the SMO entity determines whether to update the machine learning model, according to one embodiment.
  • Figure 3 is a block diagram showing an example of the structure of a SMO entity and RIC according to an embodiment.
  • Figure 4 is a diagram illustrating an example of an SMO entity classifying a plurality of cells, according to an embodiment.
  • Figure 5 is a diagram illustrating an example of an SMO entity distributing a service to a target RIC, according to one embodiment.
  • FIG. 6 is a diagram illustrating an example of RIC controlling a cell and collecting data, according to an embodiment.
  • Figure 7 is a diagram illustrating an example in which the SMO entity detects characteristic drift and model drift for each cell, according to an embodiment.
  • Figure 8 is a diagram illustrating an example of a SMO entity reclassifying a cell according to an embodiment.
  • Figure 9 is a diagram illustrating an example of updating an ML model according to an embodiment.
  • Figure 10 is an example of a block diagram of the SMO entity 100 according to an embodiment.
  • the expression “at least one of a, b, or c” refers to “a”, “b”, “c”, “a and b”, “a and c”, “b and c”, “a, b and c”, or variations thereof.
  • first configuration and the second configuration may not necessarily mean different configurations.
  • first model and the second model may each refer to models corresponding to different cell groups, but the first model and the second model may be substantially the same model.
  • first cell group and the second cell group may refer to different groups, but the cells in the first cell group and the cells in the second group may be different, partially identical, or identical.
  • 'ML (machine learning) model' may mean any ML model that can be used to control a cell or base station in a RAN communication environment.
  • An example of an ML model may be a model for resource allocation or scheduling of a cell or base station, but is not limited thereto.
  • Examples of ML models may include models learned to calculate specific scheduling parameters based on specific data about cells, data usage prediction models, etc., but are not limited to these and may be various models that can be applied in a RAN environment. .
  • 'RIC radio access network intelligence controller
  • O-RAN open-radio access network
  • 'RIC radio access network intelligence controller
  • it may be an entity for controlling at least one base station (or cell) using a machine learning model.
  • 'SMO service management and orchestration
  • RIC network function entities
  • network function entities etc.
  • monitors the performance of machine learning models it may refer to an entity that manages RIC or network function entities in an O-RAN environment, but is not limited thereto.
  • it may be an entity that manages network function entities, etc., and monitors the performance of machine learning models.
  • 'service' may refer to an operation, method, function, business, technical support, product, etc. performed, used, or provided in a communication network environment.
  • 'service' may be for improving the performance of the communication network of a radio access network (RAN), a base station, or a cell.
  • RAN radio access network
  • 'service' may mean performing operations based on the inference results of a machine learning model.
  • ‘distributing a service’ may mean distributing information to provide a service.
  • distributing a service by an SMO entity may mean installing an application to provide the service in the RIC.
  • an SMO entity distributes a service that calculates a specific parameter, it may mean distributing information about an ML model for calculating a specific parameter, an ML model-based control operation method, and commands.
  • 'point in time' may refer to a certain moment and/or a certain section in the flow of time.
  • Figure 1 is a diagram showing an O-RAN structure according to an embodiment.
  • Figure 1 is an example of an O-RAN structure and shows O-RAN components, but is not limited thereto. That is, in the O-RAN structure shown in FIG. 1, unnecessary components and connection relationships may be omitted when explaining embodiments of the present disclosure. Additionally, at least some of the components and connection relationships shown in FIG. 1 may not correspond to essential components of the O-RAN structure. Accordingly, some components may be modified, omitted, replaced, or added in the structure of the O-RAN shown in FIG. 1. For example, the O-RAN structure may be modified according to at least one standard specification. Additionally, operations in O-RAN may be performed according to at least one standard specification.
  • the O-RAN system can follow the artificial intelligence (AI)/machine learning (ML) workflow standard specifications of the O-RAN standardization organization (O-RAN alliance), and accordingly, AI/ML technology in the RAN environment. This can be applied.
  • AI artificial intelligence
  • ML machine learning
  • O-RAN alliance an environment in which equipment from different vendors can be integrated and operated can be provided by opening the existing vendor-specific RAN interface and defining an integrated interface.
  • a service management and orchestration (SMO) entity 100 may be an entity that provides various management services and network management functions.
  • the RAN Intelligent Controller (RIC) entity is a platform that can run third party applications that can acquire data from the RAN and deliver control messages using the open interface of O-RAN. It can be.
  • Non-Real Time (Non-RT) RIC (110) e.g. latency greater than 1 second
  • Near-Real Time (Non-RT) RIC (110) e.g. latency greater than 1 second
  • Near-RT Near-RT
  • Non-RT RIC 110 may perform functions such as micro-service and policy management, wireless network analysis, and artificial intelligence model training. As shown, Non-RT RIC 110 may be embedded in the SMO entity 100. For example, the Near-RT RIC 120 may perform a radio resource management (RRM) function.
  • RRM radio resource management
  • the O-RAN system includes O-RAN Central Unit (O-CU) (140, 150), O-RAN Distributed Unit (O-DU) (160), O- It includes entities such as a RAN radio unit (O-RAN Radio Unit, O-RU) 170, and may include an O-RAN network function introducing Near-RT RIC (120).
  • the network function portion of the O-RAN may be a gNB supporting the 5th-Generation (5G) protocol or an eNB 130 supporting the 4th-Generation (4G) Long Term Evolution (LTE) protocol.
  • O-CU (140, 150) can be divided into O-CU-CP (140) of the control plane that transmits control information and O-CU-UP (150) of the user plane that transmits traffic, Near-RT Control commands received from the RIC 120 can be executed.
  • O-CU-CP 140 and O-CU-UP 150 may additionally support E2 interfaces (e.g., E2-cp and E2-up) compared to CUs in non-O-RAN systems.
  • the O-DU 160 may additionally support an E2 interface (e.g., E2-du) compared to the DU of a non-O-RAN system.
  • E2 interface e.g., E2-du
  • an open fronthaul interface may be used to connect the O-DU 160 and the O-RU 170.
  • the O1 interface may be used to connect the SMO entity 100 and O-RAN network functional entities.
  • the A1 interface can be used to connect the non-RT RIC (110) and Near-RT RIC (120).
  • the E1 interface may be an interface between O-CU-CP (140) and O-CU-UP (150).
  • the F1-c interface may be an interface between the O-CU-CP (140) and the O-DU (160), and F1-u may be an interface between the O-CU-UP (150) and the O-DU (160).
  • the E2 interface may represent an interface between the Near-RT RIC 120 and RAN equipment.
  • the E2 interface can be an interface between Near-RT RIC (120) and O-eNB (130), O-CU-CP (140), O-CU-UP (150), and O-DU (160).
  • the Near-RT RIC 120 collects measurement information for each functional entity of the wireless network through the E2 interface, transmits control commands to at least one base station, and controls the operation of at least one base station. You can.
  • O-RAN other interfaces in addition to the interfaces shown may be used.
  • problems that are difficult to solve based on existing rules can be solved by introducing artificial intelligence technology.
  • artificial intelligence technology can be applied for appropriate control according to the changing cell environment.
  • Logical modules necessary to apply AI/ML technology in the O-RAN system environment can be defined.
  • ML training module, ML inference module, and ML assisted solution module may be defined.
  • the ML inference module can operate as an application (ML xApp) that performs ML model inference.
  • ML Assisted Solution module can operate as an application (Assist xApp) that uses inference results.
  • An ML model to be applied to a specific network environment can be created using data collected from that network environment.
  • the ML model to be used in the first environment is created based on data collected in the first environment (or an environment similar to the first environment), and the ML model to be used in the second environment is It may be generated based on data collected in a second environment (or an environment similar to the second environment).
  • a first environment with a relatively small number of terminals and a small amount of data communication and a second environment requiring large amounts of data communication from a large number of terminals are different environments, and the data collected in the first environment is different from the other.
  • the ML model trained as a baseline may not be suitable for the second environment.
  • an ML model trained based on data collected in a second environment may not be suitable for the first environment.
  • the parameters of each ML model may not be learned identically.
  • a method of grouping cells with similar characteristics into one cell group and generating and using an ML model suitable for each cell group may be considered. That is, an ML model for each cell group can be created by learning an ML model based on data collected from cells included in the cell group. By creating and using ML models for each cell group, some computing resource and management issues can be solved.
  • the cell's communication environment e.g. number of terminals, traffic volume, etc.
  • surrounding environment e.g. :
  • Various factors that can affect communication networks, such as weather characteristics, topographical characteristics, etc. can be considered.
  • multiple cells may be grouped based on different criteria for each service ML model. For example, for an ML model for a specific service, the first cell and the second cell may be grouped into the same cell group, while for an ML model for another service, they may be grouped into different cell groups.
  • the network environment can change from time to time depending on various factors such as the number and type of terminals managed by each cell, and the types and characteristics of services used by the terminals. Accordingly, control by an ML model learned to suit the existing (i.e., previous) cell environment may no longer be optimal control for the cell. Therefore, when using a trained ML model, it is necessary to monitor whether the ML model is working well and whether updates are needed to maintain and improve the performance of the ML model.
  • ML model updates may be periodically performed based on the latest data collected in an environment where the ML model is applied. For example, in a RAN environment, if one super ML model that applies to all cells is deployed to the RIC, the super ML model can be updated based on the latest data from all cells managed by the RIC. For example, when an ML model for each cell group is distributed, the ML model for each cell group may be updated based on the latest data of cells belonging to each cell group.
  • Methods of periodically updating ML models may have difficulty coping with rapidly changing environments.
  • the method of periodically updating the ML model can be inefficient, such as wasting computer resources, because it also updates models that do not need to be updated. Therefore, it may be necessary to change the ML model for the cell or update the ML model according to changes in the cell environment or performance of the ML model.
  • the performance of an ML model can respond to the amount of change in KPI (key performance indicator) in the domain to which the ML model is applied.
  • KPI key performance indicator
  • Applying ML models in communication systems aims to improve specific KPIs or overall performance.
  • KPIs for monitoring the performance of ML models may include average throughput and whether service level agreement (SLA) is guaranteed.
  • the SMO entity 100 monitors the performance of the super ML model by monitoring data (i.e. KPI information) of all cells managed by the RIC. can do. For example, when an ML model for each cell is used, the SMO entity 100 can monitor the performance of the ML model for each cell managed by the RIC based on the data of each cell. Alternatively, when an ML model for each cell group is used, the SMO entity 100 manages each cell group (or cells included in each cell group) managed by the RIC based on the data of the cells included in each cell group. You can monitor the performance of ML models.
  • a low KPI value of the target cell may indicate that the ML model already applied to the target cell no longer provides optimized inference results for the target cell.
  • the ML model applied to the target cell needs to be updated even if the update cycle has not been reached.
  • performance for the target cell can be improved by allocating the other more suitable ML model to the target cell.
  • the existing ML model for the target cell i.e., the ML model before reallocation
  • the SMO entity 100 monitors the performance of the ML model for the target cell (i.e., the performance of the target cell) and decides to update the ML model already applied to the target cell or selects another ML model that is more suitable.
  • the RIC can perform optimal control on the target cell. In this case, more reliable data can be used for periodic model updates.
  • the performance and reliability of the ML model can be improved by updating the ML model based on data from cells that are still suitable for the ML model, rather than data from cells that are no longer suitable for the ML model due to environmental changes.
  • Embodiments according to the present disclosure may be implemented according to the standard specifications of a standardization organization, but are not limited thereto.
  • Figure 2 is a flowchart showing how the SMO entity determines whether to update the machine learning model, according to one embodiment.
  • a method 200 of determining whether an SMO entity (eg, 100 in FIG. 1) updates a machine learning model may include steps 210 to 240.
  • steps 210 to 240 may be executed by at least one processor included in the SMO entity.
  • the method 200 of determining whether to update a machine learning model is not limited to that shown in FIG. 2 and may further include steps not shown in FIG. 2 .
  • method 200 may further include performing an operation for updating the first machine learning model as the SMO entity determines to update the first machine learning model.
  • the method 200 may further include the SMO entity performing the operation of providing the updated model to the RIC.
  • the SMO entity may provide the first machine learning model to the target RIC that controls at least one cell corresponding to the first machine learning model.
  • At least one cell corresponding to the first machine learning model may refer to a cell controlled by the target RIC based on the first machine learning model.
  • at least one cell may include at least some cells among a plurality of cells included in the first cell group corresponding to the first machine learning model.
  • the first machine learning model may be a model used to provide a specific service to at least one cell.
  • the target RIC may perform a control operation for at least one cell based on the provided first machine learning model.
  • the SMO entity may identify first performance information indicating communication performance of at least one cell at a first time.
  • the first time point may represent a time point after the control operation performed by the target RIC at the second time point based on the first machine learning model for at least one cell. Additionally, the control operation performed by the target RIC at the second time point may be the latest control operation for a specific service (service associated with the first machine learning model) based on the first time point.
  • Performance information may include at least one of a KPI value, a KPI change value, or a KPI statistical value.
  • the SMO entity may identify the amount of change in performance of at least one cell based on second performance information and first performance information indicating communication performance of at least one cell before the first time point.
  • the second performance information may indicate the communication performance of at least one cell at any time interval or moment before the first time point.
  • the second performance information may indicate the performance of at least one cell before the second time point (i.e., before the control operation).
  • Control operations of the target RIC may be performed according to standard specifications, but are not limited thereto.
  • the control operation of the target RIC may include transmitting a control message to the base station or cell, receiving a response message from the base station or cell, etc.
  • the time point after the control operation may indicate the time point after the control operation starts, after the control operation is completed, and/or after the cell or base station is set by the control operation.
  • the first time may be a time according to the performance information monitoring cycle of the cell after the control operation.
  • the SMO entity may determine whether the identified first performance information satisfies a specific condition.
  • the specific condition may include a threshold condition.
  • the SMO entity may determine whether the first performance information is below (or above) a predetermined threshold.
  • the SMO entity may determine that a specific condition is satisfied as the first performance information is determined to be below (or above) a predetermined threshold.
  • the SMO entity may determine whether the first performance information is within (or outside) a predetermined reference range. In this case, the SMO entity may determine that a specific condition is satisfied as the first performance information is determined to be included (or outside) a predetermined reference range.
  • the specific condition may include a change amount condition. That is, the SMO entity can determine whether the amount of change in performance of at least one cell satisfies a specific condition. For example, the SMO entity may determine whether the amount of performance change is below (or above) a predetermined threshold. In this case, the SMO entity may determine that the first performance information satisfies a specific condition as it determines that the performance change amount is below (or above) a predetermined threshold. For example, the SMO entity may determine whether the amount of performance variation is within (or outside of) a predetermined reference range. In this case, the SMO entity may determine that the first performance information satisfies a specific condition as it determines that the performance change amount is included (or deviates) from a predetermined reference range.
  • a change amount condition may include a change amount condition. That is, the SMO entity can determine whether the amount of change in performance of at least one cell satisfies a specific condition. For example, the SMO entity may determine whether the amount of performance change is
  • the SMO entity may determine whether to update the first machine learning model. In one embodiment of the present disclosure, the SMO entity may determine to update the first machine learning model based on determining that the first performance information satisfies a specific condition. In one embodiment of the present disclosure, the SMO entity changes the machine learning model corresponding to at least one cell from the first machine learning model to the second machine learning model, based on determining that the first performance information satisfies a specific condition. Can be changed (or reassigned). In this case, the SMO entity may decide not to update the first machine learning model (i.e., freeze the first machine learning model).
  • Figure 2 shows only the step of the SMO entity identifying performance information of at least one cell at a first time and determining whether a specific condition is satisfied, but the present invention is not limited thereto.
  • the SMO entity may periodically or aperiodically monitor performance information of a plurality of cells associated with the target RIC (i.e., a plurality of cells managed by the target RIC).
  • the method 200 for the SMO entity to determine whether to update the machine learning model may further include performing at least some of the operations of the SMO entity, which will be described later.
  • the SMO entity may determine a group of at least one cell as the first group.
  • the first machine learning model may be a machine learning model corresponding to the first group including at least one cell.
  • a first machine learning model and a second machine learning model for providing a specific service are trained with different learning data for the same service and may have different parameter values.
  • a first machine learning model may be used for the first group, and a second machine learning model may be used for the second group.
  • the SMO entity may identify inference information including at least one of input data or output data of a first machine learning model for the control operation. In one embodiment of the present disclosure, the SMO entity may determine whether the environment of at least one cell has changed based on inferred information. In one embodiment of the present disclosure, based on determining that the inference information is outside the reference data range for the first group, the SMO entity may determine that the environment of at least one cell has changed.
  • the SMO entity may re-determine the group of at least one cell. In one embodiment of the present disclosure, based on determining that the environment of at least one cell has changed, the SMO entity may determine whether to update the first machine learning model. In one embodiment of the present disclosure, based on re-determining the group of at least one cell to the first group, the SMO entity may determine to update the first machine learning model. In one embodiment of the present disclosure, based on re-determining a group of at least one cell to a second group, the SMO entity may determine to freeze the first machine learning model. The machine learning model corresponding to the second group may be a second machine learning model. In one embodiment of the present disclosure, based on determining that the environment of at least one cell has not changed, the SMO entity may determine to update the first machine learning model.
  • a program for performing the method according to at least some of the above-described embodiments on a computer may be recorded on a computer-readable recording medium.
  • Figure 3 is a block diagram showing an example of the structure of a SMO entity and RIC according to an embodiment.
  • SMO entity 100 may refer to an entity for managing at least one RIC. That is, the SMO entity 100 can manage the life cycle of applications deployed to RIC (eg, Near-RT RIC) with an O-RAN defined service management module.
  • the SMO entity 100 may include one or more hardware modules and/or software modules to perform operations such as service management.
  • the SMO entity 100 includes a service management module 310, an ML monitoring and analysis module 320, an App (application) database (DB) 330, and a model DB (340). It may include, but is not limited to this.
  • the service management module 310 can manage information for each service registered with the SMO entity 100.
  • the service management module 310 may include a cell classifier 312 and a model updater 314.
  • the service management module 310 may receive information about the service model and information for application distribution (App description) at the time of service registration from the service provider's device (e.g., server, entity). there is. Additionally or alternatively, the service management module 310 may receive information for grouping cells managed by the RIC, information for updating the model, etc. from the service provider's device.
  • App description application distribution
  • the cell classification module 312 classifies a plurality of cells managed by at least one RIC associated with the SMO entity 100. Can be clustered or grouped. For example, the cell classification module 312 can classify each cell into a plurality of cell groups according to its characteristics. Additionally or alternatively, the cell classification module 312 may perform reclassification of cells included in the cell or cell group according to a re-classification request for the cell or cell group.
  • the cell classification module 312 may include cell grouping information for each service. That is, cell classification criteria, classification algorithms, classification models, etc. may differ depending on the service to be provided. For example, for the first service, cells may be classified based on the number of terminals, while for the second service, cells may be classified based on traffic.
  • the cell classification module 312 uses a machine learning model (e.g., a machine learning model learned to classify a plurality of cells) to classify cells, the cell classification module 312 provides information for using the machine learning model. (e.g. weights, parameters, etc.) may be included.
  • the model learning module 314 may perform an operation to update the ML model. Additionally or alternatively, as the ML model is updated, the model learning module 314 may perform an update of the ML xApp 354 of the target RIC 120 using the updated ML model.
  • the model learning module 314 may include information about an update flow (eg, algorithm, etc.). In this case, the model learning module 314 can directly perform learning of the ML model. In one embodiment of the present disclosure, the model learning module 314 may request retraining from a device (eg, server) for retraining (ie, update). For example, the model learning module 314 may include training host information, model update triggering application programming interface (API), and uniform resource locator (URL) information for retraining the model. there is. In this case, as the model learning module 314 decides to retrain the ML model, it may request retraining of the ML model using training host information, API, URL information, etc.
  • a device eg, server
  • URL uniform resource locator
  • the ML monitoring and analysis module 320 can receive data from the Near-RT RIC and perform analysis to analyze the performance of the machine learning model used for each service.
  • the ML monitoring and analysis module 320 includes a KPI analysis module 322, a feature drift detector 324, and a model drift detector 326. may include.
  • the KPI analysis module 322 performs control operations (e.g., sending a control message) by an ML model for the service based on the KPI information and RIC control history information stored in the Near-RT RIC 120. KPI changes before and after can be monitored for each cell.
  • the feature drift detection module 324 may monitor and analyze information about the inference request data (i.e., input data) and inference result data (i.e., output data) of the ML model (ML xApp). For example, feature drift detection module 324 may monitor statistical information of inferred data. Drift in the characteristics of a cell may mean a change in the environmental characteristics of the cell. For example, the occurrence of a cell's characteristic drift may indicate that the environment and characteristics that may affect the cell's communication performance have changed. For example, the occurrence of characteristic drift of a cell may mean that the changed environment and characteristics of the cell no longer match the characteristics of the cell group to which the cell belongs. For example, a cell for which characteristic drift has been determined (i.e., a cell in which characteristic drift has occurred) may be unsuitable for an existing ML model.
  • the characteristic drift detection module 324 detects the cell's normal statistic range based on information about the normal statistic range. It is possible to detect whether there is characteristic drift. In one embodiment of the present disclosure, when there is no normal statistical range between input data and output data, it is possible to detect whether cell characteristics drift by tracking the amount of change in statistical values. For example, a criterion for detecting feature drift may be determined according to the history of the inference data.
  • the characteristic drift detection module 324 may request reclassification of cells in which characteristic drift is determined to have occurred. For example, the characteristic drift detection module 324 may request the cell classification module 312 to reclassify the cell. That is, the characteristic drift detection module 324 may request to re-determine the group of cells whose characteristics have drifted.
  • the model drift detection module 326 may determine the impact of the RIC control operation on any service based on KPI monitoring information.
  • the occurrence of model drift may indicate that the ML model is no longer achieving expected performance.
  • the fact that the model has drifted may mean that the model no longer achieves expected performance (or standard performance).
  • a cell in which model drift is determined i.e., a cell in which model drift occurs
  • the model drift detection module 326 may request reclassification of cells in which it is determined that model drift has occurred. For example, as the model drift detection module 326 determines that model drift has occurred, it may request reclassification of cells in a group corresponding to the model. For example, the model drift detection module 326 may request an update (retraining) of the ML model in which it is determined that model drift has occurred.
  • the SMO entity 100 can manage information stored in the App DB 330 and the Model DB 340.
  • App DB 330 and Model DB 340 provide information (e.g. description) required to distribute applications registered in SMO entity 100 (e.g. ML xApp (354) and Assist xApp (356)) to RIC. You can save it.
  • App DB 330 can store information about ML xApp 354 and Assist xApp 356 that constitute the service.
  • the model DB 340 may store ML model information about the service.
  • the model DB 340 may include information about ML models for each cell group.
  • the target RIC 120 in FIG. 3 is a RIC managed by the SMO entity 100 in FIG. 3 and may be a Near-RT RIC.
  • the target RIC 120 may include, but is not limited to, a monitoring agent module 352, ML xApp 354, Assist xApp 356, and KPI monitoring xApp 358. Additionally or alternatively, the target RIC 120 may include an inference data DB 360, a RIC control DB 362, and a performance information DB (KPIs per Cells/UEs) 364. You can.
  • the ML xApp 354 may be a (Near-RT) RIC application that provides a response to the request using an ML model according to the inference request.
  • ML xApp 354 may be an application that performs inference operations of an ML model.
  • the target RIC 120 may include a plurality of ML xApps, each corresponding to a plurality of groups for one service. For example, in the service for parameter calculation, the target RIC 120 includes a first ML xApp that calculates parameters of cells included in the first group and a second ML that calculates parameters of cells included in the second group. Can include xApp.
  • Assist xApp 356 may be an application for RIC that performs operations required for RAN control excluding the inference operation of the machine learning model (i.e., operation of ML xApp). Assist xApp, like other applications, supports interfaces such as E2, A1, and O1 and can enable RIC internal messaging. For example, Assist xApp (356) supports RIC internal communication and O-RAN interface and transmits data, signals, information, requests, messages, etc. to ML xApp (354), or transmits data, signals, etc. from ML xApp (354). , information, requests, messages, etc. can be received. For example, Assist xApp 356 can transmit data to or receive data from RAN when providing a service using an ML model.
  • the monitoring agent module 352 may provide RIC internal data according to requests received from entities, modules, devices, etc. external to the RIC. For example, monitoring agent module 352 may receive a monitoring data request from SMO entity 100 and transmit data according to the received request. The monitoring agent module 352 may use the O1 interface for data transmission and reception, but is not limited to this.
  • the KPI monitoring xApp 358 may collect data (e.g., KPI values) from the RAN and store it within the RIC.
  • the performance information DB 364 (e.g., KPI storage) may be a database that stores KPI values collected by the KPI monitoring xApp 358.
  • the performance information DB 364 can be accessed using a shared data layer (SDL) library that wraps Redis or InfluxDB.
  • SDL shared data layer
  • the inference data DB 360 may be a database that stores the inference request data received by the ML xApp 354 and the resulting data. That is, when the ML xApp 354 performs an inference operation of an ML model, data input to the ML model and data output from the ML model may be stored in the inference data DB 360.
  • the inference data DB 360 may store input data and/or output data input to the ML xApp 354 for each RAN, each cell group, or each cell.
  • the control information DB 362 may be a database that stores information about RIC control (e.g., control messages, etc.) transmitted from the target RIC 120.
  • the control information DB 362 may store RIC control information transmitted from the target RIC 120 through E2.
  • the control information DB 362 may include the time when an RIC application (eg, Assist xApp) transmits a RIC control message to the RAN or cell and the contents of the control message.
  • each RIC application may store RIC control information in the control information DB 362.
  • the target RIC 120 may hook the control message and store it in the control information DB 362.
  • the target RIC 120 may identify a message type corresponding to the control message and store the control message in the control information DB 362.
  • Each entity and module shown in FIG. 3 may perform operations by at least one processor.
  • Each entity and module in FIG. 3 may be composed of at least one software component, at least one hardware component, and a combination thereof to perform each function.
  • Figure 4 is a diagram illustrating an example of an SMO entity classifying a plurality of cells, according to an embodiment.
  • the SMO entity 100 can classify a plurality of cells according to the amount of traffic so that each cell can be controlled based on the inference results of the ML model suitable for traffic characteristics.
  • the SMO entity 100 may perform grouping on a plurality of cells managed by the target RIC 120 to which the service is to be distributed.
  • the cell classification module 312 of the SMO entity 100 uses information on cells managed by the target RIC 120 (i.e., cells controlled by the target RIC 120) to classify cells. Classification can be performed.
  • the cell classification module 312 may perform cell classification based on performance information (eg, KPI information) of a plurality of cells included in the performance information DB 364 of the target RIC 120.
  • the performance information of the plurality of cells may include information about the KPI for each cell and/or the KPI for each terminal stored by the KPI monitoring xApp (356 in FIG. 3). Additionally or alternatively, the cell classification module 312 may perform cell classification based on basic information (eg, information registered during RAN setup) of a plurality of cells.
  • basic information eg, information registered during RAN setup
  • the cell classification module 312 may classify a plurality of cells based on feature clustering, simulation, etc. For example, based on the number of terminals in each cell, packet size of the terminal, request interval, mobility pattern of the terminal, data usage pattern of the terminal, cell average throughput trend, etc., among a plurality of cells with similar characteristics Cells can be grouped into the same group. In one embodiment of the present disclosure, the cell classification module 312 may classify a plurality of cells based on rules and/or ML models (e.g., models learned to classify cells), but is not limited thereto.
  • rules and/or ML models e.g., models learned to classify cells
  • the cell classification module 312 may classify a plurality of cells in different ways (i.e., different criteria, different ML models, different algorithms, etc.) for each service. For example, for the first service, the first cell and the second cell may be classified as the same cell, but for the second service, the first cell and the second cell may be classified as different cells.
  • the SMO entity 100 may also obtain a cell classification method (i.e., classification criteria, etc.).
  • the SMO entity 100 may classify cells using the obtained method, but is not limited to this.
  • the SMO entity 100 may group a plurality of cells and manage (e.g., monitor and update) the ML model for each group. there is. That is, the SMO entity 100 may develop one ML model for an arbitrary service by dividing it into ML models suitable for each group.
  • the cell classification module 312 of the service management module 310 provides performance information of the target RIC 120 according to service information included in at least one of the App DB 330 or the model DB 340.
  • a plurality of cells can be classified based on performance information of the plurality of cells included in the DB 364.
  • the service information included in the App DB 330 and the Model DB 340 may include, but is not limited to, classification criteria, methods, or the number of ML models (i.e., maximum number of groups). It may contain service information that can be considered when classifying multiple cells.
  • Figure 5 is a diagram illustrating an example of an SMO entity distributing a service to a target RIC, according to one embodiment.
  • the SMO entity 100 may distribute the service application to the target RIC 120.
  • the SMO entity 100 may package and distribute an inference application for an arbitrary service as many as the number of cell groups of cells for the target RIC 120. For example, when the SMO entity 100 classifies cells managed by the target RIC 120 into three cell groups, the SMO entity 100 creates an ML corresponding to each cell group, as shown in FIG. 5.
  • xApp (354_1, 354_2, 354_3) may be provided as the target RIC (120).
  • Each ML xApp may include an ML model, and the ML models included in each ML xApp (354_1, 354_2, 354_3) may be different from each other, but are not limited to this.
  • the SMO entity 100 uses text-based App information (e.g., App description) included in the App DB (330 in FIG. 3) to the target RIC 120 through the O2 interface. You can perform the operation of installing a service application.
  • the SMO entity 100 may follow standard specifications in packaging and distributing service applications, but is not limited thereto.
  • the SMO entity 100 includes a first ML xApp 354_1 including a first ML model corresponding to the first group, and a second ML xApp including a second ML model corresponding to the second group. (354_2) and a third ML xApp (354_3) including a third ML model corresponding to the third group may be provided to the target RIC (120).
  • the SMO entity 100 may include and distribute information about the ML xApp corresponding to each group and group information of each cell in the Assist xApp 356.
  • the SMO entity 100 may include information indicating the correspondence between each group and each ML xApp (354_1, 354_2, 354_3) in the Assist xApp (356) and provide it to the target RIC (120).
  • the SMO entity 100 has a first cell (C1) and a second cell (C2) belonging to the first group (group 1), and a third cell (C3).
  • Information i.e., group information
  • Figure 5 shows an example in which the SMO entity 100 provides ML xApp for each group, but the present invention is not limited to this.
  • the SMO entity 100 may provide one ML xApp including all ML models for each group.
  • FIG. 6 is a diagram illustrating an example of RIC controlling a cell and collecting data, according to an embodiment.
  • Assist xApp 356 can set up a subscription with the RAN and request a message (e.g., a message containing data and information for each cell).
  • the Assist xApp 356 requests data (e.g. KPI data) for each cell from the RAN, and the operation of receiving data for each cell from the RAN may be performed according to the standard specifications of O-RAN E2, but It is not limited.
  • Assist xApp (356) can transfer the data of each cell transmitted from the RAN to the ML xApp (354_1, 354_2, 354_2) corresponding to the group containing each cell based on the cell group information and request inference. .
  • Assist xApp 356 can obtain inference result data for each cell in response to the request.
  • Assist xApp (356) transmits data of the first cell (C1) and second cell (C2) included in the first group (group 1) to the ML xApp (354_1) for the first group. And, the inference result for the first cell and the inference result for the second cell of the first ML model may be received from the ML xApp (354_1). In addition, Assist xApp (356) transfers the data of the third cell (C3) included in the second group (group 2) to the ML xApp (354_2) for the second group, and transfers the data from the ML xApp (354_2) to the second ML Inference results for the third cell of the model can be received.
  • Assist xApp transfers the data of the fourth cell (C4) included in the third group (group 3) to the ML xApp (354_3) for the third group, and transfers the data from the ML xApp (354_3) to the third ML
  • the inference result for the fourth cell of the model can be received.
  • Assist xApp 356 can transmit a control message for each cell based on the inference result for each cell. In one embodiment of the present disclosure, Assist xApp 356 may transmit a control message to the RAN. Each cell can be controlled according to a control message. Assist xApp 356 can perform control on each cell periodically or aperiodically by repeatedly performing the operations of receiving data, sending inference requests, receiving inference results, and sending control messages for each cell as described above. .
  • the target RIC 120 may periodically or aperiodically collect various data about each cell by monitoring them while performing control on each cell through a service application.
  • the target RIC 120 may collect at least some of performance information indicating communication performance of each cell, control information performed for each cell, and inference information of the ML model for each cell.
  • the target RIC 120 may store descriptive statistics such as the average, minimum value, maximum value, variance, and standard deviation of a certain time interval for at least one of performance information, control information, or inference information, depending on the resource environment. there is.
  • the KPI monitoring xApp 358 of the target RIC 120 may collect KPI information of the RAN.
  • RAN KPI information may include at least one of a RAN-level KPI value or a cell-level KPI value.
  • the KPI monitoring xApp 358 can collect RAN KPI information through the E2 or O1 interface.
  • KPI monitoring xApp 358 can collect and store KPIs over time.
  • the KPI monitoring xApp 358 may follow the O-RAN E2SM-KPM standard, but is not limited thereto. Data monitored and collected by the KPI monitoring xApp 358 may be stored in the performance information DB 364.
  • Assist xApp 356 may store a history of when and which RAN control message was transmitted for which cell in the control information DB 362.
  • the target RIC 120 i.e., RIC platform
  • Assist xApp 356 may store control information.
  • the target RIC 120 decodes the payload when the type of RMR (RIC message routing) message transmitted by the application is RIC Control. You can save it.
  • the E2 terminator of the target RIC 120 may store information about the control message.
  • the E2 terminator can represent a module that supports SCTP to transfer data to the E2 interface.
  • ML xApp (354_1, 354_2, 354_3) may store at least some of the input data and output data for the inference operation of the ML model in the inference data DB 360.
  • the inference data DB 360 may include raw data for all inference operations.
  • the inference data DB 360 may include some sampled or processed data.
  • Inference data may correspond to classification criteria, but is not limited to this. For example, if the input data of the ML model corresponds to packet size and request interval, a plurality of cells may be classified based on packet size and request interval.
  • each DB is shown as a single component, but may be included in multiple storage devices in hardware.
  • Figure 7 is a diagram illustrating an example in which the SMO entity detects characteristic drift and model drift for each cell, according to an embodiment.
  • the SMO entity 100 can monitor the performance of the ML model using data stored in the target RIC 120. For example, the SMO entity 100 displays statistics such as the average value, variance, standard deviation, maximum/minimum, and range of data for each cell (e.g., KPI, ML model input data, output data, etc.). Changes can be monitored.
  • the performance of the ML model can correspond to the communication performance of the cell. Excellent communication performance of a cell indicates excellent control performance for the cell, and may indicate excellent performance of the ML model used to control the cell.
  • the performance of the ML model may be different for each cell.
  • a certain ML model may achieve baseline performance for a first cell, but may not achieve baseline performance for a second cell.
  • the corresponding ML model may be an appropriate model for the first cell but an inappropriate model for the second cell.
  • the SMO entity 100 may include reference data information for each ML model (e.g., reference ranges of input data and output data, etc.).
  • the reference data information of the ML model may be reference data information of a group corresponding to the ML model.
  • the reference data information of each ML model may include a preset normal range.
  • the reference data information of the first ML model is reference data information of the first cell group corresponding to the first ML model, and includes the normal range of data according to the characteristics of cells included in the first cell group, etc. can do.
  • reference data information for each ML model may be set based on data history (eg, data statistics, etc.).
  • the reference data information of the first ML model may be set according to the statistical value (eg, average, maximum/minimum value, etc.) of the accumulated input data of the first ML model.
  • the SMO entity 100 can determine whether feature drift occurs in each cell based on reference data information for each ML model.
  • the characteristic drift detection module 324 identifies input data for a first cell included in a first group, and determines that the identified input data is within a reference range for the first group (e.g., 1 As it is determined that the input data is outside the reference range of the ML model for the group, it may be determined that the environment of the first cell has changed. That is, it may be determined that the first cell no longer substantially belongs to the first group, and that the ML model corresponding to the first group is no longer suitable for the first cell.
  • the characteristic drift detection module 324 may determine that the group of the first cell should be redetermined based on determining that the environment of the first cell has changed. Additionally, the SMO entity 100 may further perform operations for cells in which characteristic drift is detected to determine whether the drift is a temporary phenomenon or corresponds to an error in data collection.
  • the characteristic drift detection module 324 may determine whether there is characteristic drift for each cell, and may generate an alert indicating characteristic drift for cells determined to have drifted characteristics. For example, the characteristic drift detection module 324 may transmit information about cells in which characteristic drift has occurred to the service management module 310. For example, the characteristic drift detection module 324 may request the cell classification module 312 to reclassify cells that are determined to have drifted characteristics.
  • the standard data for the cell group with high traffic is set to a packet size of 80 ⁇ 100mb and a request interval of 100us or less. It can be.
  • the SMO entity 100 determines that characteristic drift has occurred for the cell, and re-processes. Classification can be performed.
  • the KPI analysis module 322 and the model drift detection module 326 may determine the performance of the ML model for each cell based on data stored in the control information DB 362 and the performance information DB 364. In one embodiment of the present disclosure, the KPI analysis module 322 and the model drift detection module 326 determine the ML model for each cell based on the data stored in the control information DB 362 and the performance information DB 364. It is possible to detect whether drift has occurred. For example, the KPI analysis module 322 sends information about cells whose KPI value has fallen below the threshold (or target value) after the Assist xApp 356 delivers a control message to the RAN to the model drift detection module 326. It can be delivered.
  • the KPI analysis module 322 determines whether or not RAN control using the inference result of the ML model was successful based on the KPI change before and after the point when the Assist xApp 356 delivers the control message to the RAN. It can be determined. Accordingly, the model drift detection module 326 can determine whether drift of the ML model for the cell occurs.
  • the KPI analysis module 322 may include a KPI value after the control operation performed by the target RIC 120 at a second time point based on the first ML model for an arbitrary cell and a KPI value before the control operation (e.g. : previous value or average value, etc.) can be compared and analyzed, and the analysis results can be provided to the model drift detection module 326.
  • the model drift detection module 326 can determine whether the ML model drifts for each cell. For example, the model drift detection module 326 may determine that drift has occurred for the first cell and that no drift has occurred for the second cell in the same ML model. Specifically, based on the analysis result of the KPI analysis module 322, the model drift detection module 326 detects that the KPI value of the first cell falls below the threshold value, decreases sharply, or falls within the reference range after the control operation. As it deviates, it can be determined that drift of the ML model has occurred with respect to the first cell.
  • the model drift detection module 326 detects the drift of the ML model for the second cell as the KPI value of the second cell is within the reference range after the control operation, based on the analysis result of the KPI analysis module 322. It can be determined that has not occurred.
  • the model drift detection module 326 may generate an alert indicating model drift for an ML model that is determined to have drifted. For example, the model drift detection module 326 may output a notification indicating that drift of the ML model has occurred for an arbitrary cell. For example, the model drift detection module 326 may transmit information about cells in which drift of the ML model has occurred to the service management module 310. For example, the model drift detection module 326 may request the model learning module 314 to update the ML model that is determined to have drifted.
  • the RIC 120 continuously sends RAN control messages.
  • the inference performance of the prediction model may be judged to not meet the expected performance. That is, control based on the inference result of the corresponding prediction model may be judged as abnormal control, and accordingly, the model drift detection module 326 may generate a notification indicating model drift.
  • the ML monitoring and analysis module 320 updates the ML model in the service management module 310 when a drift in the characteristics of the cell is detected even if the ML model for any cell is detected. You may not request.
  • the SMO entity 100 detects only characteristic drift for a certain cell, and when model drift is not detected, the SMO entity 100 generates reference data information (e.g., reference data information) for the corresponding ML model.
  • reference data information e.g., reference data information
  • the standard data information of the group corresponding to the ML model can be modified.
  • the model drift detection module 326 may determine whether there is drift for each ML model. That is, the model drift detection module 326 may determine whether there is drift on an ML model basis rather than on a cell basis. For example, the model drift detection module 326 may determine whether the ML model is drifting based on the KPI change before and after the control operation of a plurality of cells corresponding to the ML model. Additionally or alternatively, the model drift detection module 326 may determine whether the ML model is drifting based on the degree of change in the KPI of cells and the number of cells that satisfy specific conditions.
  • Figure 8 is a diagram illustrating an example of a SMO entity reclassifying a cell according to an embodiment.
  • the service management module 310 of the SMO entity 100 may determine whether to reclassify cells and update the model based on at least one of the characteristic drift detection result or the model drift detection result of the ML monitoring and analysis module 320. . In one embodiment of the present disclosure, service management module 310 may identify or receive notifications (or requests) from characteristic drift detection module 324. In one embodiment of the present disclosure, service management module 310 may identify or receive notifications (or requests) from model drift detection module 326. The service management module 310 may determine whether to reclassify cells and update the model based on the notification (or request) from the ML monitoring and analysis module 320.
  • the cell classification module 312 may re-determine the group of cells in which characteristic drift has occurred. That is, the cell classification module 312 may perform a reclassification operation on cells in which characteristic drift has occurred. In one embodiment of the present disclosure, the cell classification module 312 may re-determine the group of cells in which both characteristic drift and model drift occur.
  • the cell classification module 312 may perform a reclassification operation on the second cell in which characteristic drift has occurred. For example, the cell classification module 312 may re-determine the group of the second cell from the first group to the second group by performing regrouping based on the latest data of the second cell.
  • the cell classification module 312 may provide new group information of the second cell to Assist xApp 356 of the target RIC 120. That is, the cell classification module 312 may provide information indicating that the second cell belongs to the second group to the Assist xApp 356. Assist xApp (356), which has received new group information, then inputs the data of the second cell to the ML xApp (354_2) corresponding to the second group to control the second cell, and based on the inference result, the second cell A control message can be transmitted. That is, the target RIC 120 may use the second ML model corresponding to the second group according to the changed group information to control the second cell.
  • the SMO entity 100 when it is determined that not only characteristic drift but also model drift has occurred with respect to the second cell, as the group of the second cell is redetermined from the first group to the second group, the SMO entity 100 It may be decided not to update (i.e., freeze) the first ML model corresponding to the first group. Additionally, if model drift occurs in other cells with respect to the first ML model, the SMO entity 100 may determine an update of the first ML model based on the latest data of cells included in the first group after the reclassification operation. .
  • the SMO entity 100 may perform regrouping on all cells belonging to the group for which characteristic drift has been detected. In one embodiment of the present disclosure, when a cell in which model drift occurs exists among cells in a group in which characteristic drift is detected, the SMO entity 100 may perform regrouping of the cell in which model drift occurred.
  • Figure 9 is a diagram illustrating an example of updating an ML model according to an embodiment.
  • the model learning module 314 determines whether to update an arbitrary ML model, the decision may be made based on at least some of the characteristic drift monitoring results and model drift monitoring results of cells included in the cell group corresponding to the ML model. . In one embodiment of the present disclosure, the model learning module 314 may determine an update of the ML model corresponding to the cell for which model drift is detected. In one embodiment of the present disclosure, model learning module 314 may determine to update the ML model for which model drift is detected.
  • the cell classification module 312 may perform a reclassification operation on cells in which characteristic drift and model drift are detected. If the corresponding cell is determined to still belong to the same group despite the reclassification operation, the model learning module 314 may determine to update the ML model corresponding to the group of the corresponding cell. For example, referring to FIG. 9, despite the reclassification operation of the cell classification module 312 for the second cell in which characteristic drift and model drift are detected, the group of the second cell may still be determined to be the first group. . In this case, the model learning module 314 may determine an update of the first ML model corresponding to the first group.
  • the model learning module 314 determines the first group after the reclassification operation.
  • An update of the first ML model may be determined based on the latest data of the included cell.
  • the model learning module 314 may determine an update of the ML model based on the number of cells in which model drift is detected for the ML model, the degree of drift (e.g., degree of KPI change, etc.), etc. .
  • the model learning module 314 may determine the update of the ML model corresponding to the cell group by considering the number of model drift alarms of cells included in the cell group.
  • the SMO entity 100 may perform operations for updating the ML model.
  • ML model updates can occur offline or along a learning pipeline.
  • the model learning module 314 may perform an operation to update the ML model based on model update-related information registered at the time of service registration.
  • updates to the ML model may be performed on a separate learning server or may be performed within the SMO entity 100.
  • the model learning module 314 of the SMO entity 100 may provide the updated ML model to the ML xApp of the corresponding cell group. Therefore, referring to FIG. 9, the target RIC 120 may use the updated first ML model to control cells included in the first group.
  • FIGS. 4 to 9 described above for convenience of explanation, four cells managed by the target RIC 120 are shown, but the number of cells is not limited thereto.
  • FIGS. 4 to 9 described above embodiments in which a plurality of cells are grouped are described, but the present invention is not limited thereto.
  • a super ML model applied to all cells or an ML model for each cell without grouping a plurality of cells at least some of the above-described embodiments can be applied.
  • operations such as the above-described KPI analysis module, model drift detection module, and model learning module can be performed.
  • the SMO entity 100 may determine whether the ML model is updated by monitoring changes in performance information (e.g., KPI value) according to the control operation of the RIC for the cell. In this case, some of the components related to grouping, such as the cell classification module 312 and the characteristic drift detection module 324, may be omitted from the SMO entity 100.
  • performance information e.g., KPI value
  • Figure 10 is an example of a block diagram of the SMO entity 100 according to an embodiment.
  • SMO entity 100 of FIG. 10 may include at least one processor 1010 and memory 1020.
  • the processor 1010 is electrically connected to components included in the SMO entity 100 and may perform operations or data processing related to control and/or communication of components included in the SMO entity 100.
  • the processor 1010 may load a request, command, or data received from at least one of the other components into the memory 1020 to process it, and store the resulting data in the memory 1020.
  • the processor 1010 includes a general-purpose processor such as a central processing unit (CPU), an application processor (AP), a digital signal processor (DSP), a graphic processing unit (GPU), and a vision processing unit (VPU). It may include at least one of a processor dedicated to graphics, or a processor dedicated to artificial intelligence, such as a neural processing unit (NPU).
  • NPU neural processing unit
  • the processor 1010 can control input data to be processed according to predefined operation rules or artificial intelligence models stored in memory.
  • the processor 1010 is an artificial intelligence-specific processor
  • the artificial intelligence-specific processor may be designed with a hardware structure specialized for processing a specific artificial intelligence model.
  • Predefined operation rules or artificial intelligence models may be characterized as being created through learning.
  • being created through learning means that the basic artificial intelligence model is learned using a large number of learning data by a learning algorithm, thereby creating a predefined operation rule or artificial intelligence model set to perform the desired characteristics (or purpose). It can mean a burden.
  • This learning may be performed on the device itself that performs the artificial intelligence according to the present disclosure, or may be performed through a separate server and/or system. Examples of learning algorithms include supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning, but are not limited to the examples described above.
  • the memory 1020 is electrically connected to the processor 1010 and may store one or more modules, at least one learning model, program, command, or data related to the operation of components included in the SMO entity 100.
  • the memory 1020 may store one or more modules, learning models, programs, instructions, or data for processing and control of the processor 1010.
  • the memory 1020 is a flash memory type, hard disk type, multimedia card micro type, card type memory (for example, SD or XD memory, etc.), RAM (Random Access Memory), SRAM (Static Random Access Memory), ROM (Read-Only Memory), EEPROM (Electrically Erasable Programmable Read-Only Memory), PROM (Programmable Read-Only Memory), magnetic memory, magnetic It may include at least one type of storage medium among disks and optical disks.
  • the module or model included in the memory 1020 is executed according to the control or command of the processor 1010 and may include a program, model, or algorithm configured to perform operations that derive output data for input data.
  • the memory 1020 may include a software module and a software configuration among the modules of the SMO entity 100 shown in FIG. 3 .
  • each module included in the memory 1020 may perform an operation by being executed by the processor 1010.
  • at least some of the modules of the SMO entity 100 shown in FIG. 3 may be implemented as separate hardware modules.
  • at least some of the modules of the SMO entity 100 shown in FIG. 3 may be implemented as a combination of software configuration and hardware configuration.
  • Memory 1020 may include DBs of the SMO entity 100 shown in FIG. 3.
  • Memory 1020 of SMO entity 100 may include an ML model for any service.
  • the memory 1020 may include a plurality of parameter values (weight values) constituting an ML model.
  • An ML model may be a learning model trained to provide an arbitrary service.
  • the ML model may be, but is not limited to, a learning model trained using supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning.
  • An ML model may be composed of multiple neural network layers. Each of the plurality of neural network layers has a plurality of weight values, and a neural network calculation can be performed through calculation between the calculation result of the previous layer and the plurality of weights. Multiple weights of multiple neural network layers can be optimized based on the learning results of the ML model.
  • ML models may include deep neural networks (DNN), such as Convolutional Neural Network (CNN), Deep Neural Network (DNN), Recurrent Neural Network (RNN), Restricted Boltzmann Machine (RBM), These include, but are not limited to, Deep Belief Network (DBN), Bidirectional Recurrent Deep Neural Network (BRDNN), or Deep Q-Networks.
  • DNN Deep Neural Network
  • DNN Deep Neural Network
  • RNN Restricted Boltzmann Machine
  • the SMO entity 100 may include more components than those shown in FIG. 8 .
  • the SMO entity 100 may further include a communication interface (or communication module) for communication with other entities and external devices.
  • the SMO entity 100 may further include a transmitter and receiver for transmitting and receiving signals with other entities and external devices. Signals that the SMO entity 100 transmits and receives through the transmitter and receiver may include control information and data.
  • the transceiver may include a wired or wireless transceiver, and may include various components for transmitting and receiving signals.
  • the transceiver may receive a signal, output it to the processor 1010, and transmit the signal output from the processor 1010.
  • At least one processor 1010 may control a series of processes so that the SMO entity 100 can operate according to at least one embodiment disclosed in FIGS. 1 to 10. In one embodiment of the present disclosure, at least one processor 1010 may execute one or more instructions stored in memory. In one embodiment of the present disclosure, at least one processor 1010 may perform an operation by executing one or more instructions.
  • At least one processor 1010 may provide a first machine learning model to a target RIC that controls at least one cell corresponding to the first machine learning model. In one embodiment of the present disclosure, at least one processor 1010 may identify first performance information indicating communication performance of the at least one cell at a first time. In one embodiment of the present disclosure, at least one processor 1010 may determine whether the identified first performance information satisfies a specific condition. In one embodiment of the present disclosure, at least one processor 1010 may determine whether to update the first machine learning model based on determining that the identified first performance information satisfies the specific condition.
  • the at least one processor 1010 may determine whether to update the first machine learning model in response to determining that the identified first performance information satisfies the specific condition. For example, when the identified first performance information satisfies the specific condition, at least one processor 1010 may determine whether to update the first machine learning model.
  • the first time point may be after the control operation performed by the target RIC at the second time point based on the first machine learning model for the at least one cell.
  • At least one processor 1010 is configured to configure the at least one cell based on the first performance information and second performance information indicating communication performance of the at least one cell before the first time point.
  • the amount of change in performance can be identified.
  • at least one processor 1010 may identify the amount of change in performance of the at least one cell using the second performance information and the first performance information.
  • at least one processor 1010 may determine whether the performance change satisfies the specific condition.
  • At least one processor 1010 may determine the group of the at least one cell as the first group.
  • the first machine learning model may be a machine learning model corresponding to the first group including the at least one cell.
  • At least one processor 1010 may identify inference information including at least one of input data or output data of the first machine learning model for the control operation. In one embodiment of the present disclosure, at least one processor 1010 may determine whether the environment of the at least one cell changes based on the inference information. For example, at least one processor 1010 may determine whether the environment of the at least one cell has changed using the inference information.
  • the at least one processor 1010 may determine that the environment of the at least one cell has changed, based on determining that the inference information is outside the reference data range for the first group. there is. For example, in response to determining that the inference information is outside the reference data range for the first group, the at least one processor 1010 may determine that the environment of the at least one cell has changed. For example, when the inference information is outside the reference data range for the first group, the at least one processor 1010 may determine that the environment of the at least one cell has changed.
  • At least one processor 1010 may re-determine the group of the at least one cell based on determining that the environment of the at least one cell has changed. For example, the at least one processor 1010 may re-determine the group of the at least one cell in response to determining that the environment of the at least one cell has changed. For example, when the environment of the at least one cell changes, the at least one processor 1010 may re-determine the group of the at least one cell.
  • At least one processor 1010 may determine whether to update the first machine learning model based on determining that the environment of the at least one cell has changed. For example, the at least one processor 1010 may determine whether to update the first machine learning model in response to determining that the environment of the at least one cell has changed. For example, when the environment of the at least one cell changes, at least one processor 1010 may determine whether to update the first machine learning model.
  • At least one processor 1010 may determine an update of the first machine learning model based on re-determining the group of the at least one cell as the first group. For example, the at least one processor 1010 may determine an update of the first machine learning model in response to re-determining the group of the at least one cell as the first group. For example, when re-determining the group of the at least one cell as the first group, the at least one processor 1010 may determine an update of the first machine learning model.
  • At least one processor 1010 may determine to freeze the first machine learning model based on re-determining the group of the at least one cell into the second group. For example, the at least one processor 1010 may determine to freeze the first machine learning model in response to re-determining the group of the at least one cell into the second group. For example, when re-determining the group of the at least one cell as the second group, the at least one processor 1010 may determine to freeze the first machine learning model.
  • the machine learning model corresponding to the second group may be a second machine learning model.
  • the second machine learning model and the first machine learning model may be models for the same service.
  • the second machine learning model and the first machine learning model may be models learned with different training data.
  • At least one processor 1010 may determine an update of the first machine learning model based on determining that the environment of the at least one cell has not changed. For example, the at least one processor 1010 may determine to update the first machine learning model in response to determining that the environment of the at least one cell has not changed. For example, when the environment of the at least one cell does not change, the at least one processor 1010 may determine to update the first machine learning model.
  • the method for the SMO entity to determine whether to update the machine learning model includes providing a first machine learning model to a target RIC that controls at least one cell corresponding to the first machine learning model. May include steps.
  • a method for an SMO entity to determine whether to update a machine learning model may include identifying first performance information indicating communication performance of the at least one cell at a first time.
  • a method for an SMO entity to determine whether to update a machine learning model may include determining whether the identified first performance information satisfies a specific condition.
  • the method for the SMO entity to determine whether to update the machine learning model is based on determining that the identified first performance information satisfies the specific condition. It may include a step of determining whether to update.
  • the first time point may be after the control operation performed by the target RIC 120 at the second time point based on the first machine learning model for the at least one cell.
  • the step of identifying the first performance information includes the at least one cell based on the first performance information and second performance information indicating communication performance of the at least one cell before the first time point. It may include identifying the amount of change in performance of one cell. In one embodiment of the present disclosure, determining whether the first performance information satisfies a specific condition may include determining whether the performance change amount satisfies the specific condition.
  • the method may include determining the group of the at least one cell as the first group.
  • the first machine learning model may be a machine learning model corresponding to the first group including the at least one cell.
  • the method may include identifying inference information including at least one of input data or output data of the first machine learning model for the control operation. In one embodiment of the present disclosure, the method may include determining whether the environment of the at least one cell has changed based on the inference information.
  • the step of determining whether the environment of the at least one cell changes includes determining that the inference information is outside the reference data range for the first group, It may include determining that the environment has changed.
  • the method may include re-determining the group of the at least one cell based on determining that the environment of the at least one cell has changed.
  • the step of determining whether to update the first machine learning model based on determining that the identified first performance information satisfies the specific condition includes the environment of the at least one cell. Based on determining that this has changed, it may include determining whether to update the first machine learning model.
  • the step of determining whether to update the first machine learning model based on determining that the environment of the at least one cell has changed includes dividing the group of the at least one cell into the first Based on the group re-determination, determining an update to the first machine learning model may be included.
  • the step of determining whether to update the first machine learning model based on determining that the environment of the at least one cell has changed includes dividing the group of the at least one cell into a second group. It may include determining to freeze the first machine learning model based on the re-determination.
  • the machine learning model corresponding to the second group may be a second machine learning model.
  • the step of determining whether to update the first machine learning model based on determining that the identified first performance information satisfies the specific condition includes the environment of the at least one cell. Based on determining that this has not changed, determining an update to the first machine learning model may be included.
  • Methods according to embodiments described in the claims or specification of the present disclosure may be implemented in the form of hardware, software, or a combination of hardware and software.
  • a computer-readable storage medium that stores one or more programs (software modules) may be provided.
  • One or more programs stored in a computer-readable storage medium are configured to be executable by one or more processors in an electronic device (configured for execution).
  • One or more programs include instructions that cause the electronic device to execute methods according to embodiments described in the claims or specification of the present disclosure.
  • These programs may include random access memory, non-volatile memory, including flash memory, read only memory (ROM), and electrically erasable programmable ROM. (electrically erasable programmable read only memory, EEPROM), magnetic disc storage device, compact disc-ROM (CD-ROM), digital versatile discs (DVDs), or other types of disk storage. It can be stored in an optical storage device or magnetic cassette. Alternatively, it may be stored in a memory consisting of a combination of some or all of these. Additionally, multiple configuration memories may be included.
  • non-volatile memory including flash memory, read only memory (ROM), and electrically erasable programmable ROM. (electrically erasable programmable read only memory, EEPROM), magnetic disc storage device, compact disc-ROM (CD-ROM), digital versatile discs (DVDs), or other types of disk storage. It can be stored in an optical storage device or magnetic cassette. Alternatively, it may be stored in a memory consisting of a combination of some or all of these. Additionally, multiple configuration memories may
  • the program may be distributed through a communication network such as the Internet, an intranet, a local area network (LAN), a wide area network (WAN), or a storage area network (SAN), or a combination thereof. It may be stored on an attachable storage device that is accessible. This storage device can be connected to a device performing an embodiment of the present disclosure through an external port. Additionally, a separate storage device on a communication network may be connected to the device performing an embodiment of the present disclosure.
  • a communication network such as the Internet, an intranet, a local area network (LAN), a wide area network (WAN), or a storage area network (SAN), or a combination thereof. It may be stored on an attachable storage device that is accessible. This storage device can be connected to a device performing an embodiment of the present disclosure through an external port. Additionally, a separate storage device on a communication network may be connected to the device performing an embodiment of the present disclosure.
  • cells can be grouped by service-specific features and multiple ML xApps can be used to achieve more optimized control and save resources. In other words, resources and management/operation costs can be reduced by managing multiple cells as a cell group.
  • group information can be updated through ML model performance monitoring.
  • the time of abnormal operation i.e., operation with poor performance
  • resource use can be reduced by not performing updates when updates are not needed.
  • the group information is updated using the environment information of each cell, thereby reassigning the model to suit changes in the cell, thereby reducing management and operation costs. You can.
  • a storage medium that can be read by a device may be provided in the form of a non-transitory storage medium.
  • 'non-transitory storage medium' only means that it is a tangible device and does not contain signals (e.g. electromagnetic waves). This term refers to cases where data is semi-permanently stored in a storage medium and temporary storage media. It does not distinguish between cases where it is stored as .
  • a 'non-transitory storage medium' may include a buffer where data is temporarily stored.
  • Computer program products are commodities and can be traded between sellers and buyers.
  • a computer program product may be distributed in the form of a machine-readable storage medium (e.g. compact disc read only memory (CD-ROM)) or through an application store or between two user devices (e.g. smartphones). It may be distributed in person or online (e.g., downloaded or uploaded). In the case of online distribution, at least a portion of the computer program product (e.g., a downloadable app) is stored on a machine-readable storage medium, such as the memory of a manufacturer's server, an application store's server, or a relay server. It can be temporarily stored or created temporarily.
  • a machine-readable storage medium such as the memory of a manufacturer's server, an application store's server, or a relay server. It can be temporarily stored or created temporarily.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Medical Informatics (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (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)
  • Mobile Radio Communication Systems (AREA)

Abstract

This method by which a service management and orchestration (SMO) entity determines whether to update a machine learning model may comprise the steps of: providing a first machine learning model to a target RIC that controls at least one cell corresponding to the first machine learning model; identifying first performance information that indicates the communication performance of the at least one cell of a first point in time; determining whether the identified first performance information satisfies a specific condition; and determining, on the basis of the determination that the identified first performance information satisfies the specific condition, whether to update the first machine learning model. The first point in time can be after a control operation performed, on the at least one cell, at a second point in time by means of the target RIC on the basis of the first machine learning model.

Description

서비스 관리 및 오케스트레이션 엔티티가 기계학습 모델의 업데이트 여부를 결정하는 방법 및 서비스 관리 및 오케스트레이션 엔티티How the service management and orchestration entity determines whether the machine learning model is updated, and the service management and orchestration entity
본 개시는 서비스 관리 및 오케스트레이션 엔티티가 기계학습 모델의 업데이트 여부를 결정하는 방법 및 서비스 관리 및 오케스트레이션 엔티티에 관한 것이다.This disclosure relates to a service management and orchestration entity and a method for determining whether a machine learning model is updated.
5G 이동통신 기술은 빠른 전송 속도와 새로운 서비스가 가능하도록 넓은 주파수 대역을 정의하고 있으며, 3.5 기가헤르츠(3.5GHz) 등 6GHz 이하 주파수(‘Sub 6GHz’) 대역은 물론 28GHz와 39GHz 등 밀리미터파(㎜Wave)로 불리는 초고주파 대역(‘Above 6GHz’)에서도 구현이 가능하다. 또한, 5G 통신 이후(Beyond 5G)의 시스템이라 불리어지는 6G 이동통신 기술의 경우, 5G 이동통신 기술 대비 50배 빨라진 전송 속도와 10분의 1로 줄어든 초저(Ultra Low) 지연시간을 달성하기 위해 테라헤르츠(Terahertz) 대역(예를 들어, 95GHz에서 3 테라헤르츠(3THz) 대역과 같은)에서의 구현이 고려되고 있다.5G mobile communication technology defines a wide frequency band to enable fast transmission speeds and new services, and includes sub-6 GHz ('Sub 6GHz') bands such as 3.5 gigahertz (3.5 GHz) as well as millimeter wave (mm) bands such as 28 GHz and 39 GHz. It is also possible to implement it in the ultra-high frequency band ('Above 6GHz') called Wave. In addition, in the case of 6G mobile communication technology, which is called the system of Beyond 5G, Terra is working to achieve a transmission speed that is 50 times faster than 5G mobile communication technology and an ultra-low delay time that is reduced to one-tenth. Implementation in Terahertz bands (e.g., 95 GHz to 3 THz) is being considered.
현재, 5G 이동통신 기술이 지원하고자 했던 서비스들을 고려하여 초기의 5G 이동통신 기술 개선(improvement) 및 성능 향상(enhancement)을 위한 논의가 진행 중에 있으며, 차량이 전송하는 자신의 위치 및 상태 정보에 기반하여 자율주행 차량의 주행 판단을 돕고 사용자의 편의를 증대하기 위한 V2X(Vehicle-to-Everything), 비면허 대역에서 각종 규제 상 요구사항들에 부합하는 시스템 동작을 목적으로 하는 NR-U(New Radio Unlicensed), NR 단말 저전력 소모 기술(UE Power Saving), 지상 망과의 통신이 불가능한 지역에서 커버리지 확보를 위한 단말-위성 직접 통신인 비 지상 네트워크(Non-Terrestrial Network, NTN), 위치 측위(Positioning) 등의 기술에 대한 물리계층 표준화가 진행 중이다. Currently, discussions are underway to improve and enhance the initial 5G mobile communication technology, considering the services that 5G mobile communication technology was intended to support, based on the vehicle's own location and status information. V2X (Vehicle-to-Everything) to help autonomous vehicles make driving decisions and increase user convenience, and NR-U (New Radio Unlicensed), which aims to operate a system that meets various regulatory requirements in unlicensed bands. ), NR terminal low power consumption technology (UE Power Saving), Non-Terrestrial Network (NTN), which is direct terminal-satellite communication to secure coverage in areas where communication with the terrestrial network is impossible, positioning, etc. Physical layer standardization for technology is in progress.
이와 같은 5G 이동통신 시스템이 상용화되면, 폭발적인 증가 추세에 있는 커넥티드 기기들이 통신 네트워크에 연결될 것이며, 이에 따라 5G 이동통신 시스템의 기능 및 성능 강화와 커넥티드 기기들의 통합 운용이 필요할 것으로 예상된다. 이를 위해, 증강현실(Augmented Reality, AR), 가상현실(Virtual Reality, VR), 혼합 현실(Mixed Reality, MR) 등을 효율적으로 지원하기 위한 확장 현실(eXtended Reality, XR), 인공지능(Artificial Intelligence, AI) 및 머신러닝(Machine Learning, ML)을 활용한 5G 성능 개선 및 복잡도 감소, AI 서비스 지원, 메타버스 서비스 지원, 드론 통신 등에 대한 새로운 연구가 진행될 예정이다.When this 5G mobile communication system is commercialized, an explosive increase in connected devices will be connected to the communication network. Accordingly, it is expected that strengthening the functions and performance of the 5G mobile communication system and integrated operation of connected devices will be necessary. To this end, eXtended Reality (XR) and Artificial Intelligence to efficiently support Augmented Reality (AR), Virtual Reality (VR), and Mixed Reality (MR). , AI) and machine learning (ML), new research will be conducted on 5G performance improvement and complexity reduction, AI service support, metaverse service support, and drone communication.
본 개시는 방법, 시스템, 장치 또는 컴퓨터 판독가능 저장매체에 저장된 컴퓨터 프로그램을 포함한 다양한 방식으로 구현될 수 있다.The present disclosure may be implemented in a variety of ways, including as a method, system, device, or computer program stored on a computer-readable storage medium.
본 개시의 일 실시예에 따른 SMO(service management and orchestration) 엔티티가 기계학습 모델의 업데이트 여부를 결정하는 방법은, 제1 기계학습 모델을 상기 제1 기계학습 모델에 대응하는 적어도 하나의 셀을 제어하는 타겟 RIC에 제공하는 단계를 포함할 수 있다. 본 개시의 일 실시예에서, 상기 방법은, 제1 시점의 상기 적어도 하나의 셀의 통신 성능을 나타내는 제1 성능 정보를 식별하는 단계를 포함할 수 있다. 본 개시의 일 실시예에서, 상기 방법은, 상기 식별된 제1 성능 정보가 특정 조건을 만족하는지 여부를 판정하는 단계를 포함할 수 있다. 본 개시의 일 실시예에서, 상기 방법은, 상기 식별된 제1 성능 정보가 상기 특정 조건을 만족하는 것으로 판정함에 기초하여, 상기 제1 기계학습 모델의 업데이트 여부를 결정하는 단계를 포함할 수 있다. 본 개시의 일 실시예에서, 상기 제1 시점은, 상기 타겟 RIC가 상기 적어도 하나의 셀에 대하여 상기 제1 기계학습 모델 기반으로 제2 시점에 수행한 제어 동작 이후일 수 있다.A method for a service management and orchestration (SMO) entity to determine whether to update a machine learning model according to an embodiment of the present disclosure includes controlling a first machine learning model at least one cell corresponding to the first machine learning model. It may include the step of providing to the target RIC. In one embodiment of the present disclosure, the method may include identifying first performance information indicating communication performance of the at least one cell at a first time. In one embodiment of the present disclosure, the method may include determining whether the identified first performance information satisfies a specific condition. In one embodiment of the present disclosure, the method may include determining whether to update the first machine learning model, based on determining that the identified first performance information satisfies the specific condition. . In one embodiment of the present disclosure, the first time point may be after the control operation performed by the target RIC at the second time point based on the first machine learning model for the at least one cell.
본 개시의 일 실시예에 따른, SMO 엔티티는 하나 이상의 명령어를 저장하는 메모리 및 상기 메모리에 저장된 상기 하나 이상의 명령어를 실행하는 적어도 하나의 프로세서를 포함할 수 있다. 본 개시의 일 실시예에서, 상기 적어도 하나의 프로세서는 상기 하나 이상의 명령어(instruction)를 실행함으로써, 제1 기계학습 모델을 상기 제1 기계학습 모델에 대응하는 적어도 하나의 셀을 제어하는 타겟 RIC에 제공할 수 있다. 본 개시의 일 실시예에서, 상기 적어도 하나의 프로세서는, 제1 시점의 상기 적어도 하나의 셀의 통신 성능을 나타내는 제1 성능 정보를 식별할 수 있다. 본 개시의 일 실시예에서, 상기 적어도 하나의 프로세서는, 상기 식별된 제1 성능 정보가 특정 조건을 만족하는지 여부를 판정할 수 있다. 본 개시의 일 실시예에서, 상기 적어도 하나의 프로세서는, 상기 식별된 제1 성능 정보가 상기 특정 조건을 만족하는 것으로 판정함에 기초하여, 상기 제1 기계학습 모델의 업데이트 여부를 결정할 수 있다. 본 개시의 일 실시예에서, 상기 적어도 하나의 프로세서는, 상기 제1 시점은, 상기 타겟 RIC가 상기 적어도 하나의 셀에 대하여 상기 제1 기계학습 모델 기반으로 제2 시점에 수행한 제어 동작 이후일 수 있다.According to an embodiment of the present disclosure, the SMO entity may include a memory that stores one or more instructions and at least one processor that executes the one or more instructions stored in the memory. In one embodiment of the present disclosure, the at least one processor executes the one or more instructions to apply a first machine learning model to a target RIC that controls at least one cell corresponding to the first machine learning model. can be provided. In one embodiment of the present disclosure, the at least one processor may identify first performance information indicating communication performance of the at least one cell at a first point in time. In one embodiment of the present disclosure, the at least one processor may determine whether the identified first performance information satisfies a specific condition. In one embodiment of the present disclosure, the at least one processor may determine whether to update the first machine learning model based on determining that the identified first performance information satisfies the specific condition. In an embodiment of the present disclosure, the at least one processor is configured to set the first time point to the date after the control operation performed by the target RIC at the second time point based on the first machine learning model for the at least one cell. You can.
본 개시의 일 실시예에 따른 기계학습 모델의 업데이트 여부를 결정하는 방법을 컴퓨터에서 수행하기 위한 프로그램은 컴퓨터로 읽을 수 있는 기록 매체에 기록될 수 있다.A program for performing on a computer a method of determining whether to update a machine learning model according to an embodiment of the present disclosure may be recorded on a computer-readable recording medium.
도 1은 일 실시예에 따른 O-RAN 구조를 나타내는 도면이다.Figure 1 is a diagram showing an O-RAN structure according to an embodiment.
도 2는 일 실시예에 따른 SMO 엔티티가 기계학습 모델의 업데이트 여부를 결정하는 방법을 나타내는 흐름도이다.Figure 2 is a flowchart showing how the SMO entity determines whether to update the machine learning model, according to one embodiment.
도 3은 일 실시예에 따른 SMO 엔티티와 RIC의 구조의 일례를 나타내는 블록도이다.Figure 3 is a block diagram showing an example of the structure of a SMO entity and RIC according to an embodiment.
도 4는 일 실시예에 따라, SMO 엔티티가 복수의 셀을 분류하는 예를 나타내는 도면이다.Figure 4 is a diagram illustrating an example of an SMO entity classifying a plurality of cells, according to an embodiment.
도 5는 일 실시예에 따라, SMO 엔티티가 타겟 RIC에 서비스를 배포하는 예시를 나타내는 도면이다.Figure 5 is a diagram illustrating an example of an SMO entity distributing a service to a target RIC, according to one embodiment.
도 6은 일 실시예에 따라, RIC가 셀을 제어하고, 데이터를 수집하는 예시를 나타내는 도면이다.FIG. 6 is a diagram illustrating an example of RIC controlling a cell and collecting data, according to an embodiment.
도 7은 일 실시예에 따라, SMO 엔티티가 각 셀에 대한 특성 드리프트 및 모델 드리프트를 감지하는 예시를 나타내는 도면이다.Figure 7 is a diagram illustrating an example in which the SMO entity detects characteristic drift and model drift for each cell, according to an embodiment.
도 8은 일 실시예에 따라 SMO 엔티티가 셀을 재분류하는 예를 나타내는 도면이다.Figure 8 is a diagram illustrating an example of a SMO entity reclassifying a cell according to an embodiment.
도 9는 일 실시예에 따라 ML 모델을 업데이트하는 예시를 나타내는 도면이다.Figure 9 is a diagram illustrating an example of updating an ML model according to an embodiment.
도 10은 일 실시예에 따른 SMO 엔티티(100)의 블록도를 나타내는 예시이다.Figure 10 is an example of a block diagram of the SMO entity 100 according to an embodiment.
본 명세서에서의 단수 또는 복수의 표현은 설명의 편의를 위해 제시한 상황에 적합하게 선택된 것으로서, 복수로 표현된 구성 요소라 하더라도 단수로 구성되거나, 단수로 표현된 구성 요소라 하더라도 복수로 구성될 수 있다. 즉, 단수의 표현은 문맥상 명백하게 단수인 것으로 특정하지 않는 한, 복수의 표현을 포함한다. 또한, 복수의 표현은 문맥상 명백하게 복수인 것으로 특정하지 않는 한, 단수의 표현을 포함한다. 명세서 전체에서 어떤 부분이 어떤 구성요소를 포함한다고 할 때, 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다.In this specification, singular or plural expressions are selected to suit the presented situation for convenience of explanation, and even components expressed in the plural may be composed of the singular, or components expressed in the singular may be composed of the plural. That is, singular expressions include plural expressions, unless the context clearly specifies that they are singular. Additionally, plural expressions include singular expressions, unless the context clearly specifies plural expressions. When it is said that a certain part includes a certain element throughout the specification, it does not mean that other elements are excluded, but that other elements may be further included, unless stated to the contrary.
발명에 대한 구체적인 설명에 앞서, 이하 본 명세서에서 사용되는 용어는 다음과 같이 정의되거나 이해될 수 있다.Prior to a detailed description of the invention, the terms used hereinafter may be defined or understood as follows.
본 개시에서, "a, b 또는 c 중 적어도 하나" 표현은 "a", "b", "c", "a 및 b", "a 및 c", "b 및 c", "a, b 및 c 모두", 혹은 그 변형들을 지칭할 수 있다.In the present disclosure, the expression “at least one of a, b, or c” refers to “a”, “b”, “c”, “a and b”, “a and c”, “b and c”, “a, b and c", or variations thereof.
본 명세서에서, '제1', '제2' 또는 '제3'의 기재는, 각 요소를 구분하기 위해 사용될 뿐, 순서를 의미하지 않을 수 있다. 또한, 제1 구성과 제2 구성이 반드시 상이한 구성을 의미하지 않을 수 있다. 예를 들어, 제1 모델 및 제2 모델은 각각 서로 상이한 셀 그룹에 대응하는 모델을 지칭할 수 있으나, 제1 모델과 제2 모델은 실질적으로 동일한 모델일 수 있다. 예를 들어, 제1 셀 그룹 및 제2 셀 그룹은 서로 상이한 그룹을 지칭할 수 있으나, 제1 셀 그룹에 셀과 제2 그룹에 속한 셀은 상이하거나, 일부 동일하거나 동일할 수 있다.In this specification, the description of 'first', 'second', or 'third' is only used to distinguish each element and may not indicate order. Additionally, the first configuration and the second configuration may not necessarily mean different configurations. For example, the first model and the second model may each refer to models corresponding to different cell groups, but the first model and the second model may be substantially the same model. For example, the first cell group and the second cell group may refer to different groups, but the cells in the first cell group and the cells in the second group may be different, partially identical, or identical.
본 명세서에서, 'ML(machine learning) 모델'은 RAN 통신 환경에서, 셀 또는 기지국을 제어하는데 사용될 수 있는 임의의 ML 모델을 의미할 수 있다. ML 모델의 일례로, 셀 또는 기지국의 자원 할당 또는 스케줄링을 위한 모델 등이 있을 수 있으나, 이에 한정되지 않는다. ML 모델의 일례로, 셀에 대한 특정 데이터를 기초로 특정 스케줄링 파라미터를 산출하도록 학습된 모델, 데이터 사용량 예측 모델 등이 있을 수 있으나, 이에 한정되지 않으며, RAN 환경에서 적용될 수 있는 다양한 모델일 수 있다.In this specification, 'ML (machine learning) model' may mean any ML model that can be used to control a cell or base station in a RAN communication environment. An example of an ML model may be a model for resource allocation or scheduling of a cell or base station, but is not limited thereto. Examples of ML models may include models learned to calculate specific scheduling parameters based on specific data about cells, data usage prediction models, etc., but are not limited to these and may be various models that can be applied in a RAN environment. .
본 명세서에서, 'RIC(radio access network intelligence controller)'는 O-RAN(open-radio access network) 환경에서 적어도 하나의 기지국을 제어하기 위한 엔티티를 지칭할 수 있으나, 이에 한정되지 않는다. 예를 들어, 다른 통신 시스템 환경에서, 기계학습 모델을 이용하여 적어도 하나의 기지국(또는 셀)을 제어하기 하기 위한 엔티티일 수 있다.In this specification, 'RIC (radio access network intelligence controller)' may refer to an entity for controlling at least one base station in an O-RAN (open-radio access network) environment, but is not limited thereto. For example, in another communication system environment, it may be an entity for controlling at least one base station (or cell) using a machine learning model.
본 명세서에서, 'SMO(service management and orchestration)'는 O-RAN 환경에서 RIC 또는 네트워크 기능 엔티티들을 관리하는 엔티티를 지칭할 수 있으나, 이에 한정되지 않는다. 예를 들어, 다른 통신 시스템 환경에서, 네트워크 기능 엔티티 등을 관리하고, 기계학습 모델의 성능을 모니터링하는 엔티티일 수 있다.In this specification, 'SMO (service management and orchestration)' may refer to an entity that manages RIC or network function entities in an O-RAN environment, but is not limited thereto. For example, in other communication system environments, it may be an entity that manages network function entities, etc., and monitors the performance of machine learning models.
본 명세서에서, '서비스'는 통신 네트워크 환경에서 수행되거나 사용되거나 제공되는 동작, 방법, 기능, 사업, 기술 지원, 상품 등을 지칭할 수 있다. 예를 들어, '서비스'는 RAN(radio access network), 기지국 또는 셀의 통신 네트워크의 성능 향상을 위한 것일 수 있다. 예를 들어, '서비스'는 기계학습 모델의 추론 결과를 기반으로 동작들을 수행하는 것을 의미할 수 있다.In this specification, 'service' may refer to an operation, method, function, business, technical support, product, etc. performed, used, or provided in a communication network environment. For example, 'service' may be for improving the performance of the communication network of a radio access network (RAN), a base station, or a cell. For example, 'service' may mean performing operations based on the inference results of a machine learning model.
본 명세서에서, '서비스를 배포하는 것'은 서비스를 제공하기 위한 정보들 배포하는 것을 의미할 수 있다. 예를 들어, SMO 엔티티가 서비스를 배포하는 것은, 서비스 제공을 위한 애플리케이션을 RIC에 설치하는 것을 의미할 수 있다. 예를 들어, SMO 엔티티가 특정 파라미터를 산출하는 서비스를 배포하는 것은, 특정 파라미터를 산출하기 위한 ML 모델, ML 모델 기반의 제어 동작 방법, 명령어 등에 대한 정보를 배포하는 것을 의미할 수 있다.In this specification, ‘distributing a service’ may mean distributing information to provide a service. For example, distributing a service by an SMO entity may mean installing an application to provide the service in the RIC. For example, when an SMO entity distributes a service that calculates a specific parameter, it may mean distributing information about an ML model for calculating a specific parameter, an ML model-based control operation method, and commands.
본 명세서에서, '시점'은 시간의 흐름에 있어서 어느 한 순간 및/또는 어느 한 구간을 지칭할 수 있다.In this specification, 'point in time' may refer to a certain moment and/or a certain section in the flow of time.
도 1은 일 실시예에 따른 O-RAN 구조를 나타내는 도면이다.Figure 1 is a diagram showing an O-RAN structure according to an embodiment.
도 1은 O-RAN 구조의 일례로, O-RAN 구성 요소들을 도시하고 있으나, 이에 한정되지 않는다. 즉, 도 1에 도시된 O-RAN 구조는, 본 개시의 실시예들을 설명하는데 있어서 불필요한 구성 요소 및 연결 관계 등이 생략된 것일 수 있다. 또한, 도 1에 도시된 구성 요소 및 연결 관계 중 적어도 일부는 O-RAN 구조의 필수적인 구성에 해당하지 않을 수 있다. 따라서, 도 1 에 도시된 O-RAN의 구조에서 일부 구성 요소가 변형되거나 생략되거나, 대체되거나, 추가될 수 있다. 예를 들어, O-RAN 구조는 적어도 하나의 표준 규격에 따라 변형될 수 있다. 또한, O-RAN에서의 동작은 적어도 하나의 표준 규격에 따라 수행될 수 있다.Figure 1 is an example of an O-RAN structure and shows O-RAN components, but is not limited thereto. That is, in the O-RAN structure shown in FIG. 1, unnecessary components and connection relationships may be omitted when explaining embodiments of the present disclosure. Additionally, at least some of the components and connection relationships shown in FIG. 1 may not correspond to essential components of the O-RAN structure. Accordingly, some components may be modified, omitted, replaced, or added in the structure of the O-RAN shown in FIG. 1. For example, the O-RAN structure may be modified according to at least one standard specification. Additionally, operations in O-RAN may be performed according to at least one standard specification.
O-RAN 시스템은 O-RAN 표준화 기구 (O-RAN alliance)의 인공지능(artificial intelligence, AI)/기계학습(ML) 워크플로우 표준 규격을 따를 수 있으며, 이에 따라, RAN 환경에 AI/ML 기술이 적용될 수 있다. O-RAN 시스템을 통해, 기존의 벤더 중심(vendor specific) RAN 인터페이스를 개방하여 통합된 인터페이스를 정의함으로써, 서로 다른 벤더의 장비들을 통합하여 운영할 수 있는 환경이 제공될 수 있다.The O-RAN system can follow the artificial intelligence (AI)/machine learning (ML) workflow standard specifications of the O-RAN standardization organization (O-RAN alliance), and accordingly, AI/ML technology in the RAN environment. This can be applied. Through the O-RAN system, an environment in which equipment from different vendors can be integrated and operated can be provided by opening the existing vendor-specific RAN interface and defining an integrated interface.
도 1을 참조하면, 서비스 관리 및 오케스트레이션(service management and orchestration, SMO) 엔티티(100)는 다양한 관리 서비스 및 네트워크 관리 기능을 제공하는 엔티티일 수 있다. RAN 지능형 컨트롤러(RAN Intelligent Controller, RIC) 엔티티는 O-RAN의 개방형 인터페이스를 이용하여, RAN으로부터 데이터를 획득하고, 제어 메시지를 전달할 수 있는, 서드 파티 애플리케이션(third party application)을 구동할 수 있는 플랫폼일 수 있다. 폐루프 래이턴시(Closed loop latency) 요구 사항에 따라, 비-실시간(Non-Real Time, Non-RT) RIC(110)(예: latency 1초 이상)와 근-실시간(Near-Real Time, Near-RT) RIC(120)(예: latency 1초 이내)로 분류될 수 있다.Referring to FIG. 1, a service management and orchestration (SMO) entity 100 may be an entity that provides various management services and network management functions. The RAN Intelligent Controller (RIC) entity is a platform that can run third party applications that can acquire data from the RAN and deliver control messages using the open interface of O-RAN. It can be. Depending on the closed loop latency requirements, Non-Real Time (Non-RT) RIC (110) (e.g. latency greater than 1 second) and Near-Real Time (Non-RT) RIC (110) (e.g. latency greater than 1 second) Near-RT) RIC (120) (e.g., latency less than 1 second).
예를 들어, Non-RT RIC(110)는, 마이크로-서비스 및 정책 관리, 무선 네트워크 분석 및 인공 지능 모델 트레이닝 등의 기능을 수행할 수 있다. 도시된 바와 같이, Non-RT RIC(110)는, SMO 엔티티(100)에 내장될 수 있다. 예를 들어, Near-RT RIC(120)는 무선 자원 관리(Radio Resource Management, RRM)의 기능을 수행할 수 있다.For example, the Non-RT RIC 110 may perform functions such as micro-service and policy management, wireless network analysis, and artificial intelligence model training. As shown, Non-RT RIC 110 may be embedded in the SMO entity 100. For example, the Near-RT RIC 120 may perform a radio resource management (RRM) function.
O-RAN 시스템은, O-RAN 중앙 유닛(O-RAN Central Unit, O-CU)(140, 150), O-RAN 분산 유닛(O-RAN Distributed Unit, O-DU)(160), O-RAN 무선 유닛(O-RAN Radio Unit, O-RU)(170) 등과 같은 엔티티들을 포함하며, Near-RT RIC(120)를 도입한 O-RAN 네트워크 기능이 포함될 수 있다. O-RAN의 네트워크 기능 부분은 5G(5th-Generation) 프로토콜을 지원하는 gNB 또는 4G(4th-Generation) LTE(Long Term Evolution) 프로토콜을 지원하는 eNB(130)일 수 있다.The O-RAN system includes O-RAN Central Unit (O-CU) (140, 150), O-RAN Distributed Unit (O-DU) (160), O- It includes entities such as a RAN radio unit (O-RAN Radio Unit, O-RU) 170, and may include an O-RAN network function introducing Near-RT RIC (120). The network function portion of the O-RAN may be a gNB supporting the 5th-Generation (5G) protocol or an eNB 130 supporting the 4th-Generation (4G) Long Term Evolution (LTE) protocol.
O-CU(140, 150)는 제어 정보를 전달하는 제어 평면의 O-CU-CP(140) 및 트래픽을 전달하는 사용자 평면의 O-CU-UP(150)으로 구분될 수 있으며, Near-RT RIC(120)로부터 전달받은 제어 명령을 수행할 수 있다. O-CU-CP(140) 및 O-CU-UP(150)은 non-O-RAN 시스템의 CU에 비해 E2 인터페이스(예: E2-cp 및 E2-up)를 추가적으로 지원할 수 있다. O-DU(160)는 non-O-RAN 시스템의 DU에 비해 E2 인터페이스(예: E2-du)를 추가적으로 지원할 수 있다. O-RAN 시스템에서, O-DU(160)와 O-RU(170)를 연결하는데 개방형 프론트홀(open fronthaul) 인터페이스가 사용될 수 있다.O-CU (140, 150) can be divided into O-CU-CP (140) of the control plane that transmits control information and O-CU-UP (150) of the user plane that transmits traffic, Near-RT Control commands received from the RIC 120 can be executed. O-CU-CP 140 and O-CU-UP 150 may additionally support E2 interfaces (e.g., E2-cp and E2-up) compared to CUs in non-O-RAN systems. The O-DU 160 may additionally support an E2 interface (e.g., E2-du) compared to the DU of a non-O-RAN system. In the O-RAN system, an open fronthaul interface may be used to connect the O-DU 160 and the O-RU 170.
O1 인터페이스는 SMO 엔티티(100)와 O-RAN 네트워크 기능 엔티티들을 연결하는데 사용될 수 있다. A1 인터페이스는 non-RT RIC(110)와 Near-RT RIC(120)를 연결하는데 사용될 수 있다. E1 인터페이스는 O-CU-CP(140)와 O-CU-UP(150) 간의 인터페이스일 수 있다. F1-c 인터페이스는 O-CU-CP(140)와 O-DU(160) 간의 인터페이스이고, F1-u는 O-CU-UP(150)와 O-DU(160) 간의 인터페이스 일 수 있다.The O1 interface may be used to connect the SMO entity 100 and O-RAN network functional entities. The A1 interface can be used to connect the non-RT RIC (110) and Near-RT RIC (120). The E1 interface may be an interface between O-CU-CP (140) and O-CU-UP (150). The F1-c interface may be an interface between the O-CU-CP (140) and the O-DU (160), and F1-u may be an interface between the O-CU-UP (150) and the O-DU (160).
E2 인터페이스는 Near-RT RIC(120)와 RAN 장비들 간의 인터페이스를 나타낼 수 있다. 예를 들어, E2 인터페이스는 Near-RT RIC(120)와 O-eNB(130), O-CU-CP(140), O-CU-UP(150), O-DU(160) 간의 인터페이스일 수 있다. 예를 들어, Near-RT RIC(120)는 E2 인터페이스를 통해 무선 네트워크의 각 기능 엔티티에 대한 측정 정보를 수집하고, 제어 명령어들을 적어도 하나의 기지국으로 전송하며, 적어도 하나의 기지국의 동작을 제어할 수 있다. O-RAN에서는 도시된 인터페이스 외에도 다른 인터페이스들이 더 사용될 수 있다.The E2 interface may represent an interface between the Near-RT RIC 120 and RAN equipment. For example, the E2 interface can be an interface between Near-RT RIC (120) and O-eNB (130), O-CU-CP (140), O-CU-UP (150), and O-DU (160). there is. For example, the Near-RT RIC 120 collects measurement information for each functional entity of the wireless network through the E2 interface, transmits control commands to at least one base station, and controls the operation of at least one base station. You can. In O-RAN, other interfaces in addition to the interfaces shown may be used.
네트워크 환경에서 기존의 룰(rule) 기반으로 해결하기 어려운 문제들에 인공지능 기술을 도입하여 해결하고자 할 수 있다. 예를 들어, 예측이 어렵고, 다양하게 변화하는 네트워크 환경에서, 변화하는 셀 환경에 맞는 적절한 제어를 위해 인공지능 기술을 적용할 수 있다.In a network environment, problems that are difficult to solve based on existing rules can be solved by introducing artificial intelligence technology. For example, in an unpredictable and diverse network environment, artificial intelligence technology can be applied for appropriate control according to the changing cell environment.
O-RAN 시스템 환경에서 AI/ML 기술을 적용하기 위해 필요한 논리 모듈(logical module)들이 정의될 수 있다. 예를 들어, ML training 모듈, ML inference 모듈 및 ML assisted solution 모듈이 정의될 수 있다. ML inference 모듈은 ML 모델의 추론을 수행하는 애플리케이션(ML xApp)으로써 동작할 수 있다. ML Assisted Solution 모듈은 추론 결과를 이용하는 애플리케이션(Assist xApp)으로써 동작할 수 있다.Logical modules necessary to apply AI/ML technology in the O-RAN system environment can be defined. For example, ML training module, ML inference module, and ML assisted solution module may be defined. The ML inference module can operate as an application (ML xApp) that performs ML model inference. The ML Assisted Solution module can operate as an application (Assist xApp) that uses inference results.
특정 네트워크 환경에 적용하고자 하는 ML 모델은, 해당 네트워크 환경에서 수집된 데이터들을 이용하여 생성될 수 있다. 즉, ML 모델을 학습할 때, 실제 적용하고자 하는 환경에서 수집한 데이터를 사용할 수 있다. 이에 따라, 동일한 문제를 해결하기 위한 ML 모델이더라도 제1 환경에서 사용할 ML 모델은 제1 환경(또는 제1 환경과 유사한 환경)에서 수집된 데이터를 기초로 생성되고, 제2 환경에서 사용할 ML 모델은 제2 환경(또는 제2 환경과 유사한 환경)에서 수집된 데이터를 기초로 생성될 수 있다.An ML model to be applied to a specific network environment can be created using data collected from that network environment. In other words, when learning an ML model, you can use data collected in the environment where you want to actually apply it. Accordingly, even if it is an ML model to solve the same problem, the ML model to be used in the first environment is created based on data collected in the first environment (or an environment similar to the first environment), and the ML model to be used in the second environment is It may be generated based on data collected in a second environment (or an environment similar to the second environment).
예를 들어, 상대적으로 단말의 수가 적고, 적은 양의 데이터 통신이 이루어지는 제1 환경 및 다수의 단말로부터 대용량의 데이터 통신이 요구되는 제2 환경은 서로 다른 환경으로, 제1 환경에서 수집된 데이터를 기초로 훈련된 ML 모델은 제2 환경에 적합하지 않을 수 있다. 마찬가지로, 제2 환경에서 수집된 데이터를 기초로 훈련된 ML 모델은 제1 환경에 적합하지 않을 수 있다. 즉, 서로 다른 환경에서 수집된 데이터로 각각 ML 모델을 훈련하는 경우, 각 ML 모델의 파라미터는 동일하게 학습되지 않을 수 있다.For example, a first environment with a relatively small number of terminals and a small amount of data communication and a second environment requiring large amounts of data communication from a large number of terminals are different environments, and the data collected in the first environment is different from the other. The ML model trained as a baseline may not be suitable for the second environment. Likewise, an ML model trained based on data collected in a second environment may not be suitable for the first environment. In other words, when each ML model is trained with data collected in different environments, the parameters of each ML model may not be learned identically.
이를 고려하여, 각 셀 별로 데이터를 수집하여, ML 모델을 훈련시킴으로써, 각 셀에 맞춤 ML 모델을 생성하여 사용하는 것이 ML 모델의 성능에 있어서 이상적일 수 있다. 그러나, 모든 셀에 대하여 개별 ML 모델을 생성하고 사용하는 것은 컴퓨팅 리소스 문제 및 관리의 복잡도 문제에 있어서 효율적이지 않을 수 있다.Considering this, collecting data for each cell and training the ML model to create and use a customized ML model for each cell may be ideal for ML model performance. However, creating and using individual ML models for every cell may not be efficient due to computing resource issues and management complexity issues.
상술한 문제를 해결하기 위해, 유사한 특성을 갖는 셀들을 하나의 셀 그룹으로 묶어, 각 셀 그룹에 맞는 ML 모델을 생성하여 사용하는 방안이 고려될 수 있다. 즉, 각 셀 그룹 별로 셀 그룹에 포함된 셀들에서 수집된 데이터를 기초로 ML 모델을 학습함으로써, 각 셀 그룹에 대한 ML 모델을 생성할 수 있다. 각 셀 그룹 별 ML 모델을 생성 및 사용함으로써 컴퓨팅 리소스 및 관리 문제가 일부 해결될 수 있다.In order to solve the above-described problem, a method of grouping cells with similar characteristics into one cell group and generating and using an ML model suitable for each cell group may be considered. That is, an ML model for each cell group can be created by learning an ML model based on data collected from cells included in the cell group. By creating and using ML models for each cell group, some computing resource and management issues can be solved.
유사한 특성을 갖는 셀들을 하나의 셀 그룹을 묶는데 있어서, 즉, 복수의 셀을 분류 또는 그루핑(grouping) 하는데 있어서, 셀의 통신 환경(예: 단말의 수, 트래픽 양 등), 주변 환경(예: 날씨 특성, 지형적 특성 등) 등 통신 네트워크에 영향을 줄 수 있는 다양한 요소들이 고려될 수 있다. 또한, 서비스 ML 모델 별로 상이한 기준으로 복수의 셀이 그루핑될 수 있다. 예를 들어, 특정 서비스에 대한 ML 모델에 대해서는 제1 셀과 제2 셀이 동일한 셀 그룹으로 그루핑되는 반면, 다른 서비스에 대한 ML 모델에 대해서는 상이한 셀 그룹으로 그루핑될 수 있다.In grouping cells with similar characteristics into one cell group, that is, classifying or grouping multiple cells, the cell's communication environment (e.g. number of terminals, traffic volume, etc.), surrounding environment (e.g. : Various factors that can affect communication networks, such as weather characteristics, topographical characteristics, etc., can be considered. Additionally, multiple cells may be grouped based on different criteria for each service ML model. For example, for an ML model for a specific service, the first cell and the second cell may be grouped into the same cell group, while for an ML model for another service, they may be grouped into different cell groups.
한편, 네트워크 환경은 각 셀이 관리하는 단말의 수, 종류, 단말이 사용하는 서비스 종류 및 특성 등 다양한 요소에 의해 시시각각 변화할 수 있다. 이에 따라, 기존(즉, 이전)의 셀 환경에 맞게 학습된 ML 모델에 의한 제어가 더 이상 해당 셀에 대한 최적의 제어가 아니게 될 수 있다. 따라서, 훈련된 ML 모델을 사용하는데 있어서, ML 모델의 성능 유지 및 개선을 위해 ML 모델이 잘 동작하는지, 업데이트가 필요한지 모니터링할 필요가 있다.Meanwhile, the network environment can change from time to time depending on various factors such as the number and type of terminals managed by each cell, and the types and characteristics of services used by the terminals. Accordingly, control by an ML model learned to suit the existing (i.e., previous) cell environment may no longer be optimal control for the cell. Therefore, when using a trained ML model, it is necessary to monitor whether the ML model is working well and whether updates are needed to maintain and improve the performance of the ML model.
예를 들어, 주기적으로 ML 모델이 적용된 환경에서 수집된 최신 데이터들을 기초로, ML 모델 업데이트가 수행될 수 있다. 예를 들어, RAN 환경에서, 모든 셀에 적용되는 하나의 슈퍼 ML 모델이 RIC에 배포되는 경우, 슈퍼 ML 모델은 RIC에서 관리하는 모든 셀의 최신 데이터를 기초로 업데이트될 수 있다. 예를 들어, 각 셀 그룹에 대한 ML 모델이 배포되는 경우, 각 셀 그룹에 대한 ML 모델은 각 셀 그룹에 속하는 셀들의 최신 데이터를 기초로 업데이트될 수 있다.For example, ML model updates may be periodically performed based on the latest data collected in an environment where the ML model is applied. For example, in a RAN environment, if one super ML model that applies to all cells is deployed to the RIC, the super ML model can be updated based on the latest data from all cells managed by the RIC. For example, when an ML model for each cell group is distributed, the ML model for each cell group may be updated based on the latest data of cells belonging to each cell group.
주기적으로 ML 모델을 업데이트 하는 방식은 빠르게 변화하는 환경에 대처하는데 어려움이 있을 수 있다. 또한, 주기적으로 ML 모델을 업데이트하는 방식은 업데이트가 불필요한 모델까지 업데이트하게 되므로, 컴퓨터 리소스를 낭비하는 등 비효율적일 수 있다. 따라서, 셀 환경의 변화 또는 ML 모델의 성능에 따른 셀에 대한 ML 모델의 변경 또는 ML 모델의 업데이트가 필요할 수 있다.Methods of periodically updating ML models may have difficulty coping with rapidly changing environments. In addition, the method of periodically updating the ML model can be inefficient, such as wasting computer resources, because it also updates models that do not need to be updated. Therefore, it may be necessary to change the ML model for the cell or update the ML model according to changes in the cell environment or performance of the ML model.
ML 모델의 성능은 ML 모델이 적용된 도메인에서의 KPI(key performance indicator)의 변화량에 대응할 수 있다. 통신 시스템에서 ML 모델을 적용하는 것은 특정 KPI 혹은 전체 성능을 향상시키는 것을 목표로 하기 때문이다. 예를 들어, RAN 도메인에서, ML 모델의 성능을 모니터링하기 위한 KPI는 평균 처리량(throughput) 및 SLA(service level agreement) 보장 여부 등을 포함할 수 있다.The performance of an ML model can respond to the amount of change in KPI (key performance indicator) in the domain to which the ML model is applied. Applying ML models in communication systems aims to improve specific KPIs or overall performance. For example, in the RAN domain, KPIs for monitoring the performance of ML models may include average throughput and whether service level agreement (SLA) is guaranteed.
예를 들어, 하나의 슈퍼 ML 모델이 모든 셀에 대하여 사용되는 경우, SMO 엔티티(100)는 RIC에서 관리하는 모든 셀의 데이터(즉, KPI 정보)를 모니터링함으로써, 해당 슈퍼 ML 모델의 성능을 모니터링할 수 있다. 예를 들어, 각 셀 별 ML 모델이 사용되는 경우, SMO 엔티티(100)는 각 셀의 데이터에 기초하여, RIC에서 관리하는 각 셀에 대한 ML 모델의 성능을 모니터링할 수 있다. 또는, 각 셀 그룹 별 ML 모델이 사용되는 경우, SMO 엔티티(100)는 각 셀 그룹에 포함된 셀들의 데이터에 기초하여, RIC에서 관리하는 각 셀 그룹(또는, 각 셀 그룹에 포함된 셀들)에 대한 ML 모델의 성능을 모니터링할 수 있다.For example, when one super ML model is used for all cells, the SMO entity 100 monitors the performance of the super ML model by monitoring data (i.e. KPI information) of all cells managed by the RIC. can do. For example, when an ML model for each cell is used, the SMO entity 100 can monitor the performance of the ML model for each cell managed by the RIC based on the data of each cell. Alternatively, when an ML model for each cell group is used, the SMO entity 100 manages each cell group (or cells included in each cell group) managed by the RIC based on the data of the cells included in each cell group. You can monitor the performance of ML models.
타겟 셀의 낮은 KPI 값은, 타겟 셀에 기 적용된 ML 모델이 더 이상 타겟 셀에 대하여 최적화된 추론 결과를 제공하지 못하는 것을 나타낼 수 있다. 이 경우, 타겟 셀에 적용된 ML 모델은 업데이트 주기에 도달하지 않았더라도 업데이트될 필요가 있다. 또는, 타겟 셀의 변화한 특성에 더욱 적합한 다른 ML 모델이 존재하는 경우, 타겟 셀에 상기 더욱 적합한 다른 ML 모델을 할당함으로써, 타겟 셀에 대한 성능을 향상시킬 수 있다. 이 경우, 타겟 셀에 대한 기존의 ML 모델(즉, 재할당 전 ML 모델)은 별도로 업데이트되지 않을 수 있다.A low KPI value of the target cell may indicate that the ML model already applied to the target cell no longer provides optimized inference results for the target cell. In this case, the ML model applied to the target cell needs to be updated even if the update cycle has not been reached. Alternatively, if there is another ML model more suitable for the changed characteristics of the target cell, performance for the target cell can be improved by allocating the other more suitable ML model to the target cell. In this case, the existing ML model for the target cell (i.e., the ML model before reallocation) may not be updated separately.
SMO 엔티티(100)는 상술한 바와 같이, 타겟 셀에 대한 ML 모델의 성능(즉, 타겟 셀의 성능)을 모니터링하여, 타겟 셀에 기 적용된 ML 모델을 업데이트를 결정하거나, 보다 적합한 다른 ML 모델을 할당함으로써, RIC가 타겟 셀에 대하여 최적의 제어를 수행하도록 할 수 있다. 이 경우, 주기적인 모델 업데이트에도 보다 신뢰도 높은 데이터가 사용될 수 있다. 즉, 환경 변화로 더 이상 ML 모델에 부적합한 셀의 데이터가 아닌, ML 모델에 여전히 적합한 셀의 데이터를 기초로 ML 모델의 업데이트가 수행됨으로써, ML 모델의 성능 및 신뢰도가 향상될 수 있다.As described above, the SMO entity 100 monitors the performance of the ML model for the target cell (i.e., the performance of the target cell) and decides to update the ML model already applied to the target cell or selects another ML model that is more suitable. By allocating, the RIC can perform optimal control on the target cell. In this case, more reliable data can be used for periodic model updates. In other words, the performance and reliability of the ML model can be improved by updating the ML model based on data from cells that are still suitable for the ML model, rather than data from cells that are no longer suitable for the ML model due to environmental changes.
본 개시에 따른 실시예들은, 표준화 기구의 표준 규격에 따라 실시될 수 있으나, 이에 한정되지 않는다.Embodiments according to the present disclosure may be implemented according to the standard specifications of a standardization organization, but are not limited thereto.
도 2는 일 실시예에 따른 SMO 엔티티가 기계학습 모델의 업데이트 여부를 결정하는 방법을 나타내는 흐름도이다.Figure 2 is a flowchart showing how the SMO entity determines whether to update the machine learning model, according to one embodiment.
도 2를 참조하면, 일 실시예에 따른 SMO 엔티티(예: 도 1의 100)가 기계학습 모델의 업데이트 여부를 결정하는 방법(200)은 단계 210 내지 240을 포함할 수 있다. 본 개시의 일 실시예에서, 단계 210 내지 240은 SMO 엔티티에 포함되는 적어도 하나의 프로세서에 의해 실행될 수 있다. 하나 이상의 실시예에서, 기계학습 모델의 업데이트 여부를 결정하는 방법(200)은 도 2에 도시된 바에 한정되지 않으며, 도 2에 도시되지 않은 단계를 더 포함할 수도 있다. 예를 들어, 방법(200)은, SMO 엔티티가 제1 기계학습 모델의 업데이트를 결정함에 따라, 제1 기계학습 모델의 업데이트를 위한 동작을 수행하는 단계를 더 포함할 수 있다. 또한, 방법(200)은, SMO 엔티티가 업데이트된 모델을 RIC에 제공하는 동작을 수행하는 단계를 더 포함할 수 있다.Referring to FIG. 2, a method 200 of determining whether an SMO entity (eg, 100 in FIG. 1) updates a machine learning model according to an embodiment may include steps 210 to 240. In one embodiment of the present disclosure, steps 210 to 240 may be executed by at least one processor included in the SMO entity. In one or more embodiments, the method 200 of determining whether to update a machine learning model is not limited to that shown in FIG. 2 and may further include steps not shown in FIG. 2 . For example, method 200 may further include performing an operation for updating the first machine learning model as the SMO entity determines to update the first machine learning model. Additionally, the method 200 may further include the SMO entity performing the operation of providing the updated model to the RIC.
단계 210에서, SMO 엔티티는 제1 기계학습 모델을 제1 기계학습 모델에 대응하는 적어도 하나의 셀을 제어하는 타겟 RIC에 제공할 수 있다. 제1 기계학습 모델에 대응하는 적어도 하나의 셀은, 타겟 RIC에 의해 제1 기계학습 모델 기반으로 제어되는 셀을 지칭할 수 있다. 예를 들어, 적어도 하나의 셀은, 제1 기계학습 모델에 대응하는 제1 셀 그룹에 포함된 복수의 셀 중 적어도 일부의 셀을 포함할 수 있다. 제1 기계학습 모델은 적어도 하나의 셀에 대하여 특정 서비스를 제공하기 위해 사용되는 모델일 수 있다. 타겟 RIC는 제공받은 제1 기계학습 모델을 기초로 적어도 하나의 셀에 대한 제어 동작을 수행할 수 있다.In step 210, the SMO entity may provide the first machine learning model to the target RIC that controls at least one cell corresponding to the first machine learning model. At least one cell corresponding to the first machine learning model may refer to a cell controlled by the target RIC based on the first machine learning model. For example, at least one cell may include at least some cells among a plurality of cells included in the first cell group corresponding to the first machine learning model. The first machine learning model may be a model used to provide a specific service to at least one cell. The target RIC may perform a control operation for at least one cell based on the provided first machine learning model.
단계 220에서, SMO 엔티티는 제1 시점의 적어도 하나의 셀의 통신 성능을 나타내는 제1 성능 정보를 식별할 수 있다. 제1 시점은, 타겟 RIC가 적어도 하나의 셀에 대하여 제1 기계학습 모델 기반으로 제2 시점에 수행한 제어 동작 이후의 시점을 나타낼 수 있다. 추가적으로, 타겟 RIC가 제2 시점에 수행한 제어 동작은 제1 시점을 기준으로 특정 서비스(제1 기계학습 모델과 연관된 서비스)에 대하여 최신의 제어 동작일 수 있다. 성능 정보는 KPI 값, KPI의 변화량 값 또는 KPI의 통계 값 중 적어도 하나를 포함할 수 있다.In step 220, the SMO entity may identify first performance information indicating communication performance of at least one cell at a first time. The first time point may represent a time point after the control operation performed by the target RIC at the second time point based on the first machine learning model for at least one cell. Additionally, the control operation performed by the target RIC at the second time point may be the latest control operation for a specific service (service associated with the first machine learning model) based on the first time point. Performance information may include at least one of a KPI value, a KPI change value, or a KPI statistical value.
본 개시의 일 실시예에서, SMO 엔티티는 제1 시점 이전의 적어도 하나의 셀의 통신 성능을 나타내는 제2 성능 정보 및 제1 성능 정보를 기초로 적어도 하나의 셀의 성능 변화량을 식별할 수 있다. 제2 성능 정보는 제1 시점 이전의 임의의 시간 구간 또는 임의의 순간에서의 적어도 하나의 셀의 통신 성능을 나타낼 수 있다. 예를 들어, 제2 성능 정보는 제2 시점 이전(즉, 상기 제어 동작 이전)의 적어도 하나의 셀의 성능을 나타낼 수 있다.In one embodiment of the present disclosure, the SMO entity may identify the amount of change in performance of at least one cell based on second performance information and first performance information indicating communication performance of at least one cell before the first time point. The second performance information may indicate the communication performance of at least one cell at any time interval or moment before the first time point. For example, the second performance information may indicate the performance of at least one cell before the second time point (i.e., before the control operation).
타겟 RIC의 제어 동작은 표준 규격에 따라 수행될 수 있으나, 이에 한정되지 않는다. 예를 들어, 타겟 RIC의 제어 동작은 기지국 또는 셀로 제어 메시지를 송신하는 동작, 기지국 또는 셀로부터 응답 메시지를 수신하는 동작 등을 포함할 수 있다. 제어 동작 이후의 시점은 제어 동작이 시작한 이후, 제어 동작이 완료된 이후 및/또는 제어 동작에 의해 셀 또는 기지국이 설정된 이후의 시점을 나타낼 수 있다. 제1 시점은, 제어 동작 이후 셀의 성능 정보 모니터링 주기에 따른 시점일 수 있다.Control operations of the target RIC may be performed according to standard specifications, but are not limited thereto. For example, the control operation of the target RIC may include transmitting a control message to the base station or cell, receiving a response message from the base station or cell, etc. The time point after the control operation may indicate the time point after the control operation starts, after the control operation is completed, and/or after the cell or base station is set by the control operation. The first time may be a time according to the performance information monitoring cycle of the cell after the control operation.
단계 230에서, SMO 엔티티는 식별된 제1 성능 정보가 특정 조건을 만족하는지 여부를 판정할 수 있다. 본 개시의 일 실시예에서, 특정 조건은 임계값 조건을 포함할 수 있다. 예를 들어, SMO 엔티티는 제1 성능 정보가 미리 결정된 임계값 미만(또는 이상)인지 여부를 판정할 수 있다. 이 경우, SMO 엔티티는 제1 성능 정보가 미리 결정된 임계값 미만(또는 이상)인 것으로 판정함에 따라 특정 조건을 만족하는 것으로 판정할 수 있다. 예를 들어, SMO 엔티티는 제1 성능 정보가 미리 결정된 기준 범위에 포함되는지(또는 벗어나는지)인지 여부를 판정할 수 있다. 이 경우, SMO 엔티티는 제1 성능 정보가 미리 결정된 기준 범위에 포함되는 것(또는 벗어나는 것)으로 판정함에 따라 특정 조건을 만족하는 것으로 판정할 수 있다.At step 230, the SMO entity may determine whether the identified first performance information satisfies a specific condition. In one embodiment of the present disclosure, the specific condition may include a threshold condition. For example, the SMO entity may determine whether the first performance information is below (or above) a predetermined threshold. In this case, the SMO entity may determine that a specific condition is satisfied as the first performance information is determined to be below (or above) a predetermined threshold. For example, the SMO entity may determine whether the first performance information is within (or outside) a predetermined reference range. In this case, the SMO entity may determine that a specific condition is satisfied as the first performance information is determined to be included (or outside) a predetermined reference range.
본 개시의 일 실시예에서, 특정 조건은 변화량 조건을 포함할 수 있다. 즉, SMO 엔티티는 적어도 하나의 셀의 성능 변화량이 특정 조건을 만족하는 지 여부를 판정할 수 있다. 예를 들어, SMO 엔티티는 성능 변화량이 미리 결정된 임계값 미만(또는 이상)인지 여부를 판정할 수 있다. 이 경우, SMO 엔티티는 성능 변화량이 미리 결정된 임계값 미만(또는 이상)인 것으로 판정함에 따라, 제1 성능 정보가 특정 조건을 만족하는 것으로 판정할 수 있다. 예를 들어, SMO 엔티티는 성능 변화량이 미리 결정된 기준 범위에 포함되는지(또는 벗어나는지)인지 여부를 판정할 수 있다. 이 경우, SMO 엔티티는 성능 변화량이 미리 결정된 기준 범위에 포함되는 것(또는 벗어나는 것)으로 판정함에 따라, 제1 성능 정보가 특정 조건을 만족하는 것으로 판정할 수 있다.In one embodiment of the present disclosure, the specific condition may include a change amount condition. That is, the SMO entity can determine whether the amount of change in performance of at least one cell satisfies a specific condition. For example, the SMO entity may determine whether the amount of performance change is below (or above) a predetermined threshold. In this case, the SMO entity may determine that the first performance information satisfies a specific condition as it determines that the performance change amount is below (or above) a predetermined threshold. For example, the SMO entity may determine whether the amount of performance variation is within (or outside of) a predetermined reference range. In this case, the SMO entity may determine that the first performance information satisfies a specific condition as it determines that the performance change amount is included (or deviates) from a predetermined reference range.
단계 240에서, 제1 성능 정보가 특정 조건을 만족하는 것으로 판정함에 기초하여, SMO 엔티티는 제1 기계학습 모델의 업데이트 여부를 결정할 수 있다. 본 개시의 일 실시예에서, SMO 엔티티는 제1 성능 정보가 특정 조건을 만족하는 것으로 판정함에 기초하여, 제1 기계학습 모델의 업데이트를 결정할 수 있다. 본 개시의 일 실시예에서, SMO 엔티티는 제1 성능 정보가 특정 조건을 만족하는 것으로 판정함에 기초하여, 적어도 하나의 셀에 대응하는 기계학습 모델을 제1 기계학습 모델에서 제2 기계학습 모델로 변경(또는 재할당)할 수 있다. 이 경우, SMO 엔티티는 제1 기계학습 모델을 업데이트 하지 않는 것(즉, 제1 기계학습 모델의 동결)으로 결정할 수 있다.At step 240, based on determining that the first performance information satisfies a specific condition, the SMO entity may determine whether to update the first machine learning model. In one embodiment of the present disclosure, the SMO entity may determine to update the first machine learning model based on determining that the first performance information satisfies a specific condition. In one embodiment of the present disclosure, the SMO entity changes the machine learning model corresponding to at least one cell from the first machine learning model to the second machine learning model, based on determining that the first performance information satisfies a specific condition. Can be changed (or reassigned). In this case, the SMO entity may decide not to update the first machine learning model (i.e., freeze the first machine learning model).
도 2는, SMO 엔티티가 제1 시점의 적어도 하나의 셀의 성능 정보를 식별하고, 특정 조건을 만족하는지 여부를 판정하는 단계만을 도시하고 있으나, 이에 한정되지 않는다. 예를 들어, SMO 엔티티는 주기적으로 또는 비주기적으로 타겟 RIC와 연관된 복수의 셀(즉, 타겟 RIC가 관리하는 복수의 셀)의 성능 정보를 모니터링할 수 있다.Figure 2 shows only the step of the SMO entity identifying performance information of at least one cell at a first time and determining whether a specific condition is satisfied, but the present invention is not limited thereto. For example, the SMO entity may periodically or aperiodically monitor performance information of a plurality of cells associated with the target RIC (i.e., a plurality of cells managed by the target RIC).
SMO 엔티티가 기계학습 모델의 업데이트 여부를 결정하는 방법(200)은 후술하는 SMO 엔티티의 동작 중 적어도 일부를 수행하는 단계를 더 포함할 수 있다.The method 200 for the SMO entity to determine whether to update the machine learning model may further include performing at least some of the operations of the SMO entity, which will be described later.
본 개시의 일 실시예에서, SMO 엔티티는 적어도 하나의 셀의 그룹을 제1 그룹으로 결정할 수 있다. 제1 기계학습 모델은, 적어도 하나의 셀이 포함된 제1 그룹에 대응하는 기계학습 모델일 수 있다. 예를 들어, 특정 서비스를 제공하기 위한 제1 기계학습 모델 및 제2 기계학습 모델은, 동일한 서비스에 대하여 서로 다른 학습 데이터로 학습된 것으로, 서로 다른 파라미터 값을 가질 수 있다. 이 경우, 상기 특정 서비스를 제공하기 위해 제1 그룹에 대하여 제1 기계학습 모델이 사용되고, 제2 그룹에 대하여 제2 기계학습 모델이 사용될 수 있다.In one embodiment of the present disclosure, the SMO entity may determine a group of at least one cell as the first group. The first machine learning model may be a machine learning model corresponding to the first group including at least one cell. For example, a first machine learning model and a second machine learning model for providing a specific service are trained with different learning data for the same service and may have different parameter values. In this case, in order to provide the specific service, a first machine learning model may be used for the first group, and a second machine learning model may be used for the second group.
본 개시의 일 실시예에서, SMO 엔티티는 상기 제어 동작에 대한 제1 기계학습 모델의 입력 데이터 또는 출력 데이터 중 적어도 하나를 포함하는 추론 정보를 식별할 수 있다. 본 개시의 일 실시예에서, SMO 엔티티는 추론 정보를 기초로 적어도 하나의 셀의 환경 변화 여부를 판정할 수 있다. 본 개시의 일 실시예에서, 추론 정보가 제1 그룹에 대한 기준 데이터 범위를 벗어나는 것으로 판정함에 기초하여, SMO 엔티티는 적어도 하나의 셀의 환경이 변화한 것으로 결정할 수 있다.In one embodiment of the present disclosure, the SMO entity may identify inference information including at least one of input data or output data of a first machine learning model for the control operation. In one embodiment of the present disclosure, the SMO entity may determine whether the environment of at least one cell has changed based on inferred information. In one embodiment of the present disclosure, based on determining that the inference information is outside the reference data range for the first group, the SMO entity may determine that the environment of at least one cell has changed.
본 개시의 일 실시예에서, 적어도 하나의 셀의 환경이 변화한 것으로 판정함에 기초하여, SMO 엔티티는 적어도 하나의 셀의 그룹을 재결정할 수 있다. 본 개시의 일 실시예에서, 적어도 하나의 셀의 환경이 변화한 것으로 판정함에 기초하여, SMO 엔티티는 제1 기계학습 모델의 업데이트 여부를 결정할 수 있다. 본 개시의 일 실시예에서, 적어도 하나의 셀의 그룹을 제1 그룹으로 재결정함에 기초하여, SMO 엔티티는 제1 기계학습 모델의 업데이트를 결정할 수 있다. 본 개시의 일 실시예에서, 적어도 하나의 셀의 그룹을 제2 그룹으로 재결정함에 기초하여, SMO 엔티티는 제1 기계학습 모델의 동결을 결정할 수 있다. 제2 그룹에 대응하는 기계학습 모델은 제2 기계학습 모델일 수 있다. 본 개시의 일 실시예에서, 적어도 하나의 셀의 환경이 변화하지 않은 것으로 판정함에 기초하여, SMO 엔티티는 제1 기계학습 모델의 업데이트를 결정할 수 있다.In one embodiment of the present disclosure, based on determining that the environment of at least one cell has changed, the SMO entity may re-determine the group of at least one cell. In one embodiment of the present disclosure, based on determining that the environment of at least one cell has changed, the SMO entity may determine whether to update the first machine learning model. In one embodiment of the present disclosure, based on re-determining the group of at least one cell to the first group, the SMO entity may determine to update the first machine learning model. In one embodiment of the present disclosure, based on re-determining a group of at least one cell to a second group, the SMO entity may determine to freeze the first machine learning model. The machine learning model corresponding to the second group may be a second machine learning model. In one embodiment of the present disclosure, based on determining that the environment of at least one cell has not changed, the SMO entity may determine to update the first machine learning model.
상술한 실시예들 중 적어도 일부에 따른 방법을 컴퓨터에서 수행하기 위한 프로그램은 컴퓨터로 읽을 수 있는 기록 매체에 기록될 수 있다.A program for performing the method according to at least some of the above-described embodiments on a computer may be recorded on a computer-readable recording medium.
도 3은 일 실시예에 따른 SMO 엔티티와 RIC의 구조의 일례를 나타내는 블록도이다.Figure 3 is a block diagram showing an example of the structure of a SMO entity and RIC according to an embodiment.
SMO 엔티티(100)는 적어도 하나의 RIC를 관리하기 위한 엔티티를 지칭할 수 있다. 즉, SMO 엔티티(100)는 O-RAN 정의된 서비스 관리 모듈로 RIC(예: Near-RT RIC)에 배포되는 애플리케이션의 라이프 사이클을 관리할 수 있다. SMO 엔티티(100)는 서비스 관리 등의 동작을 수행하기 위해, 하나 이상의 하드웨어 모듈 및/또는 소프트웨어 모듈을 포함할 수 있다. 도 3을 참조하면, SMO 엔티티(100)는 서비스 관리 모듈(310), ML 모니터링 및 분석 모듈(320), App(application) 데이터 베이스(data base, DB)(330), 모델 DB(340)를 포함할 수 있으나, 이에 한정되지 않는다. SMO entity 100 may refer to an entity for managing at least one RIC. That is, the SMO entity 100 can manage the life cycle of applications deployed to RIC (eg, Near-RT RIC) with an O-RAN defined service management module. The SMO entity 100 may include one or more hardware modules and/or software modules to perform operations such as service management. Referring to FIG. 3, the SMO entity 100 includes a service management module 310, an ML monitoring and analysis module 320, an App (application) database (DB) 330, and a model DB (340). It may include, but is not limited to this.
서비스 관리 모듈(310)은 SMO 엔티티(100)에 등록된 서비스 별로 정보를 관리할 수 있다. 서비스 관리 모듈(310)은 셀 분류 모듈(cell classifier)(312) 및 모델 학습 모듈(model updater)(314)을 포함할 수 있다. 본 개시의 일 실시예에서, 서비스 관리 모듈(310)은 서비스 제공자의 장치(예: 서버, 엔티티)로부터 서비스 등록 시점에 애플리케이션 배포를 위한 정보(App description)과 서비스 모델에 대한 정보를 수신할 수 있다. 추가적으로 또는 대안적으로, 서비스 관리 모듈(310)은 서비스 제공자의 장치로부터 RIC가 관리하는 셀들을 그룹화하기 위한 정보, 모델의 업데이트를 위한 정보 등을 수신할 수 있다.The service management module 310 can manage information for each service registered with the SMO entity 100. The service management module 310 may include a cell classifier 312 and a model updater 314. In one embodiment of the present disclosure, the service management module 310 may receive information about the service model and information for application distribution (App description) at the time of service registration from the service provider's device (e.g., server, entity). there is. Additionally or alternatively, the service management module 310 may receive information for grouping cells managed by the RIC, information for updating the model, etc. from the service provider's device.
셀 분류 모듈(312)은 SMO 엔티티(100)와 연관된 적어도 하나의 RIC가 관리하는 복수의 셀을 분류(classifying). 클러스터링(clustering) 또는 그루핑(grouping)할 수 있다. 예를 들어, 셀 분류 모듈(312)은 각 셀의 특성에 따라 복수의 셀 그룹으로 분류할 수 있다. 추가적으로 또는 대안적으로, 셀 분류 모듈(312)은 셀 또는 셀 그룹에 대한 재분류(re-classification) 요청에 따라, 해당 셀 또는 해당 셀 그룹에 포함된 셀들의 재분류를 수행할 수 있다.The cell classification module 312 classifies a plurality of cells managed by at least one RIC associated with the SMO entity 100. Can be clustered or grouped. For example, the cell classification module 312 can classify each cell into a plurality of cell groups according to its characteristics. Additionally or alternatively, the cell classification module 312 may perform reclassification of cells included in the cell or cell group according to a re-classification request for the cell or cell group.
셀 분류 모듈(312)은 서비스 별 셀 그루핑 정보를 포함할 수 있다. 즉, 제공하고자 하는 서비스에 따라 셀 분류 기준, 분류 알고리즘, 분류 모델 등이 상이할 수 있다. 예를 들어, 제1 서비스에 대하여, 단말의 수를 기준으로 셀을 분류하는 반면, 제2 서비스에 대하여는, 트래픽을 기준으로 셀을 분류할 수 있다. 셀 분류 모듈(312)이 셀들을 분류하는데 기계학습 모델(예: 복수의 셀을 분류하도록 학습된 기계학습 모델)을 사용하는 경우, 셀 분류 모듈(312)은 해당 기계학습 모델을 사용하기 위한 정보(예: 웨이트, 파라미터 등)를 포함할 수 있다.The cell classification module 312 may include cell grouping information for each service. That is, cell classification criteria, classification algorithms, classification models, etc. may differ depending on the service to be provided. For example, for the first service, cells may be classified based on the number of terminals, while for the second service, cells may be classified based on traffic. When the cell classification module 312 uses a machine learning model (e.g., a machine learning model learned to classify a plurality of cells) to classify cells, the cell classification module 312 provides information for using the machine learning model. (e.g. weights, parameters, etc.) may be included.
모델 학습 모듈(314)은 ML 모델의 업데이트가 필요한 경우(예: 재훈련 트리거링 요청을 수신한 경우), 해당 ML 모델의 업데이트를 위한 동작을 수행할 수 있다. 추가적으로 또는 대안적으로, 모델 학습 모듈(314)은 ML 모델이 업데이트됨에 따라, 업데이트된 ML 모델을 이용하여, 타겟 RIC(120)의 ML xApp(354) 업데이트를 수행할 수 있다.When the ML model needs to be updated (eg, when a retraining triggering request is received), the model learning module 314 may perform an operation to update the ML model. Additionally or alternatively, as the ML model is updated, the model learning module 314 may perform an update of the ML xApp 354 of the target RIC 120 using the updated ML model.
본 개시의 일 실시예에서, 모델 학습 모듈(314)은 업데이트 플로우(flow)(예: 알고리즘 등)에 대한 정보를 포함할 수 있다. 이 경우, 모델 학습 모듈(314)은 직접 ML 모델의 학습을 수행할 수 있다. 본 개시의 일 실시예에서, 모델 학습 모듈(314)은 재학습(즉, 업데이트)을 위한 장치(예: 서버)로 재학습을 요청할 수 있다. 예를 들어, 모델 학습 모듈(314)은 모델을 재학습하기 위한, 훈련 호스트(training host) 정보, 모델 업데이트 트리거링 API(model update triggering application programming interface), URL(uniform resource locator) 정보를 포함할 수 있다. 이 경우, 모델 학습 모듈(314)은 ML 모델의 재학습을 결정함에 따라, 훈련 호스트 정보, API, URL 정보 등을 이용하여, ML 모델의 재학습을 요청할 수 있다.In one embodiment of the present disclosure, the model learning module 314 may include information about an update flow (eg, algorithm, etc.). In this case, the model learning module 314 can directly perform learning of the ML model. In one embodiment of the present disclosure, the model learning module 314 may request retraining from a device (eg, server) for retraining (ie, update). For example, the model learning module 314 may include training host information, model update triggering application programming interface (API), and uniform resource locator (URL) information for retraining the model. there is. In this case, as the model learning module 314 decides to retrain the ML model, it may request retraining of the ML model using training host information, API, URL information, etc.
ML 모니터링 및 분석 모듈(320)은 각 서비스에 사용되는 기계학습 모델의 성능을 분석하기 위해 Near-RT RIC로부터 데이터를 수신하여 분석을 수행할 수 있다. 도시된 바와 같이, ML 모니터링 및 분석 모듈(320)은 KPI 분석 모듈(KPI analysis)(322), 특성 드리프트 감지 모듈(feature drift detector)(324) 및 모델 드리프트 감지 모듈(model drift detector)(326)을 포함할 수 있다. 예를 들어, KPI 분석 모듈(322)은 Near-RT RIC(120)내에 저장된 KPI 정보와 RIC 제어 히스토리(Control History) 정보를 기반으로 서비스에 대한 ML 모델에 의한 제어 동작(예: 제어 메시지 송신) 전후의 KPI 변화를 각 셀 별로 모니터링할 수 있다.The ML monitoring and analysis module 320 can receive data from the Near-RT RIC and perform analysis to analyze the performance of the machine learning model used for each service. As shown, the ML monitoring and analysis module 320 includes a KPI analysis module 322, a feature drift detector 324, and a model drift detector 326. may include. For example, the KPI analysis module 322 performs control operations (e.g., sending a control message) by an ML model for the service based on the KPI information and RIC control history information stored in the Near-RT RIC 120. KPI changes before and after can be monitored for each cell.
특성 드리프트 감지 모듈(324)은 ML 모델(ML xApp)의 추론 요청 데이터(즉, 입력 데이터) 및 추론 결과 데이터(즉, 출력 데이터)에 대한 정보를 모니터링하고 분석할 수 있다. 예를 들어, 특성 드리프트 감지 모듈(324)은 추론 데이터의 통계 정보를 모니터링할 수 있다. 셀의 특성 드리프트는, 셀의 환경적 특성의 변화를 의미할 수 있다. 예를 들어, 셀의 특성 드리프트의 발생은, 셀의 통신 성능에 영향을 줄 수 있는 환경 및 특성이 변화하였음을 나타낼 수 있다. 예를 들어, 셀의 특성 드리프트의 발생은, 셀의 변화한 환경 및 특성이 더 이상 셀이 속한 셀 그룹의 특성에 부합하지 않음을 의미할 수 있다. 예를 들어, 특성 드리프트가 판정된 셀(즉, 특성 드리프트가 발생한 셀)은, 기존의 ML 모델에 부적합할 수 있다.The feature drift detection module 324 may monitor and analyze information about the inference request data (i.e., input data) and inference result data (i.e., output data) of the ML model (ML xApp). For example, feature drift detection module 324 may monitor statistical information of inferred data. Drift in the characteristics of a cell may mean a change in the environmental characteristics of the cell. For example, the occurrence of a cell's characteristic drift may indicate that the environment and characteristics that may affect the cell's communication performance have changed. For example, the occurrence of characteristic drift of a cell may mean that the changed environment and characteristics of the cell no longer match the characteristics of the cell group to which the cell belongs. For example, a cell for which characteristic drift has been determined (i.e., a cell in which characteristic drift has occurred) may be unsuitable for an existing ML model.
본 개시의 일 실시예에서, 특정 셀 그룹에 대한 ML 모델에 입력 데이터와 출력 데이터의 정상 통계량 범위가 존재하는 경우, 특성 드리프트 감지 모듈(324)은 정상 통계량 범위에 대한 정보를 기초로, 셀의 특성 드리프트 여부를 감지할 수 있다. 본 개시의 일 실시예에서, 입력 데이터와 출력 데이터의 정상 통계량 범위가 존재하지 않는 경우, 통계치의 변화량을 트래킹하여 셀의 특성 드리프트 여부를 감지할 수 있다. 예를 들어, 추론 데이터의 히스토리에 따라 특성 드리프트 감지를 위한 기준이 결정될 수 있다.In one embodiment of the present disclosure, when a normal statistic range of input data and output data exists in the ML model for a specific cell group, the characteristic drift detection module 324 detects the cell's normal statistic range based on information about the normal statistic range. It is possible to detect whether there is characteristic drift. In one embodiment of the present disclosure, when there is no normal statistical range between input data and output data, it is possible to detect whether cell characteristics drift by tracking the amount of change in statistical values. For example, a criterion for detecting feature drift may be determined according to the history of the inference data.
특성 드리프트 감지 모듈(324)은 특성 드리프트가 발생한 것으로 판단되는 셀에 대하여 재분류를 요청할 수 있다. 예를 들어, 특성 드리프트 감지 모듈(324)은 셀 분류 모듈(312)에 셀의 재분류를 요청할 수 있다. 즉, 특성 드리프트 감지 모듈(324)은 특성이 드리프트한 셀의 그룹을 재결정할 것을 요청할 수 있다.The characteristic drift detection module 324 may request reclassification of cells in which characteristic drift is determined to have occurred. For example, the characteristic drift detection module 324 may request the cell classification module 312 to reclassify the cell. That is, the characteristic drift detection module 324 may request to re-determine the group of cells whose characteristics have drifted.
모델 드리프트 감지 모듈(326)은 KPI 모니터링 정보를 기초로, 임의의 서비스에 대한 RIC 제어 동작의 영향을 판단할 수 있다. 모델 드리프트의 발생은 ML 모델이 더 이상 기대 성능을 성취하지 못하는 것을 나타낼 수 있다. 즉, 모델이 드리프트하였다는 것은 해당 모델이 더 이상 기대 성능(또는 기준 성능)을 달성하지 못하는 것을 의미할 수 있다. 예를 들어, 모델 드리프트가 판정된 셀(즉, 모델 드리프트가 발생한 셀)은, ML 모델 기반의 제어에 의해, 통신 성능이 나빠진 셀일 수 있다.The model drift detection module 326 may determine the impact of the RIC control operation on any service based on KPI monitoring information. The occurrence of model drift may indicate that the ML model is no longer achieving expected performance. In other words, the fact that the model has drifted may mean that the model no longer achieves expected performance (or standard performance). For example, a cell in which model drift is determined (i.e., a cell in which model drift occurs) may be a cell in which communication performance has deteriorated due to ML model-based control.
예를 들어, 모델 드리프트 감지 모듈(326)은 모델 드리프트가 발생한 것으로 판단되는 셀에 대한 재분류를 요청할 수 있다. 예를 들어, 모델 드리프트 감지 모듈(326)은 모델 드리프트가 발생한 것으로 판단함에 따라, 해당 모델에 대응하는 그룹의 셀들에 대한 재분류를 요청할 수 있다. 예를 들어, 모델 드리프트 감지 모듈(326)은 모델 드리프트가 발생한 것으로 판단되는 ML 모델의 업데이트(재학습)를 요청할 수 있다.For example, the model drift detection module 326 may request reclassification of cells in which it is determined that model drift has occurred. For example, as the model drift detection module 326 determines that model drift has occurred, it may request reclassification of cells in a group corresponding to the model. For example, the model drift detection module 326 may request an update (retraining) of the ML model in which it is determined that model drift has occurred.
SMO 엔티티(100)는 App DB(330) 및 모델 DB(340)에 저장된 정보를 관리할 수 있다. App DB(330) 및 모델 DB(340)는 SMO 엔티티(100)에 등록된 애플리케이션(예: ML xApp(354) 및 Assist xApp(356))을 RIC에 배포하기 위해 필요한 정보(예: description)을 저장할 수 있다. App DB(330)는 서비스를 구성하는 ML xApp(354) 및 Assist xApp(356)에 대한 정보를 저장할 수 있다. 모델 DB(340)는 서비스에 대한 ML 모델의 정보를 저장할 수 있다. 예를 들어, 모델 DB(340)는 셀 그룹 별 ML 모델에 대한 정보를 포함할 수 있다.The SMO entity 100 can manage information stored in the App DB 330 and the Model DB 340. App DB 330 and Model DB 340 provide information (e.g. description) required to distribute applications registered in SMO entity 100 (e.g. ML xApp (354) and Assist xApp (356)) to RIC. You can save it. App DB 330 can store information about ML xApp 354 and Assist xApp 356 that constitute the service. The model DB 340 may store ML model information about the service. For example, the model DB 340 may include information about ML models for each cell group.
도 3의 타겟 RIC(120)는 도 3의 SMO 엔티티(100)의 관리를 받는 RIC로, Near-RT RIC일 수 있다. 타겟 RIC(120)는 모니터링 에이전트(monitoring agent) 모듈(352), ML xApp(354), Assist xApp(356) 및 KPI 모니터링 xApp(358)을 포함할 수 있으나, 이에 한정되지 않는다. 추가적으로 또는 대안적으로, 타겟 RIC(120)는 추론 데이터(inference data) DB(360), 제어 정보(RIC control) DB(362) 및 성능 정보 DB(KPIs per Cells/UEs)(364)를 포함할 수 있다.The target RIC 120 in FIG. 3 is a RIC managed by the SMO entity 100 in FIG. 3 and may be a Near-RT RIC. The target RIC 120 may include, but is not limited to, a monitoring agent module 352, ML xApp 354, Assist xApp 356, and KPI monitoring xApp 358. Additionally or alternatively, the target RIC 120 may include an inference data DB 360, a RIC control DB 362, and a performance information DB (KPIs per Cells/UEs) 364. You can.
ML xApp(354)은 추론 요청에 따라 ML 모델을 이용하여, 요청에 대한 응답을 제공하는 (Near-RT) RIC 용 애플리케이션일 수 있다. ML xApp(354)는 ML 모델의 추론 동작을 수행하는 애플리케이션일 수 있다. 본 개시의 일 실시예에서, 타겟 RIC(120)는 하나의 서비스에 대하여 복수의 그룹 각각에 대응하는 복수의 ML xApp을 포함할 수 있다. 예를 들어, 파라미터 산출에 대한 서비스에 있어서, 타겟 RIC(120)는 제1 그룹에 포함된 셀들의 파라미터를 산출하는 제1 ML xApp 및 제2 그룹에 포함된 셀들의 파라미터를 산출하는 제2 ML xApp을 포함할 수 있다.The ML xApp 354 may be a (Near-RT) RIC application that provides a response to the request using an ML model according to the inference request. ML xApp 354 may be an application that performs inference operations of an ML model. In one embodiment of the present disclosure, the target RIC 120 may include a plurality of ML xApps, each corresponding to a plurality of groups for one service. For example, in the service for parameter calculation, the target RIC 120 includes a first ML xApp that calculates parameters of cells included in the first group and a second ML that calculates parameters of cells included in the second group. Can include xApp.
Assist xApp(356)은 기계학습 모델의 추론 동작(즉, ML xApp의 동작)을 제외한 RAN 제어에 필요한 동작들을 수행하는 RIC 용 애플리케이션일 수 있다. Assist xApp은 다른 애플리케이션들과 마찬가지로 E2, A1, O1 등의 인터페이스를 지원하고 RIC 내부 메시징이 가능할 수 있다. 예를 들어, Assist xApp(356)은 RIC 내부 통신 및 O-RAN 인터페이스를 지원하고 ML xApp(354)으로 데이터, 신호, 정보, 요청, 메시지 등을 송신하거나, ML xApp(354)으로부터 데이터, 신호, 정보, 요청, 메시지 등을 수신할 수 있다. 예를 들어, Assist xApp(356)은 ML 모델을 이용한 서비스를 제공함에 있어 RAN으로 데이터를 송신하거나 RAN으로부터 데이터를 수신할 수 있다.Assist xApp 356 may be an application for RIC that performs operations required for RAN control excluding the inference operation of the machine learning model (i.e., operation of ML xApp). Assist xApp, like other applications, supports interfaces such as E2, A1, and O1 and can enable RIC internal messaging. For example, Assist xApp (356) supports RIC internal communication and O-RAN interface and transmits data, signals, information, requests, messages, etc. to ML xApp (354), or transmits data, signals, etc. from ML xApp (354). , information, requests, messages, etc. can be received. For example, Assist xApp 356 can transmit data to or receive data from RAN when providing a service using an ML model.
모니터링 에이전트 모듈(352)은 RIC 외부의 엔티티, 모듈, 장치 등으로부터 수신되는 요청에 따라, RIC 내부 데이터를 제공할 수 있다. 예를 들어, 모니터링 에이전트 모듈(352)은 SMO 엔티티(100)로부터 모니터링 데이터 요청을 수신하고, 수신된 요청에 따라 데이터를 송신할 수 있다. 모니터링 에이전트 모듈(352)은 데이터 송수신을 위해 O1 인터페이스를 사용할 수 있으나, 이에 한정되지 않는다.The monitoring agent module 352 may provide RIC internal data according to requests received from entities, modules, devices, etc. external to the RIC. For example, monitoring agent module 352 may receive a monitoring data request from SMO entity 100 and transmit data according to the received request. The monitoring agent module 352 may use the O1 interface for data transmission and reception, but is not limited to this.
KPI 모니터링 xApp(358)은 RAN으로부터 데이터(예: KPI 값)를 수집하여 RIC 내부에 저장할 수 있다. 성능 정보 DB(364)(예: KPI storage)는 KPI 모니터링 xApp(358)이 수집한 KPI 값을 저장하는 데이터 베이스일 수 있다. 예를 들어, O-RAN SC의 구현에 따르면, 성능 정보 DB(364)는 Redis 혹은 InfluxDB를 래핑(wrapping)하고 있는 SDL(Shared data layer) library를 이용하여 접근될 수 있다.The KPI monitoring xApp 358 may collect data (e.g., KPI values) from the RAN and store it within the RIC. The performance information DB 364 (e.g., KPI storage) may be a database that stores KPI values collected by the KPI monitoring xApp 358. For example, according to the implementation of O-RAN SC, the performance information DB 364 can be accessed using a shared data layer (SDL) library that wraps Redis or InfluxDB.
추론 데이터 DB(360)(예: inference data storage)는 ML xApp(354)이 수신한 추론 요청 데이터와 그에 대한 결과 데이터를 저장하는 데이터 베이스일 수 있다. 즉, ML xApp(354)이 ML 모델의 추론 동작을 수행하는데 있어서, ML 모델에 입력되는 데이터 및 ML 모델로부터 출력되는 데이터가 추론 데이터 DB(360)에 저장될 수 있다. 예를 들어, 추론 데이터 DB(360)는 각 RAN, 각 셀 그룹 또는 각 셀 단위로 ML xApp(354)에 입력되는 입력 데이터 및/또는 출력 데이터를 저장할 수 있다.The inference data DB 360 (e.g., inference data storage) may be a database that stores the inference request data received by the ML xApp 354 and the resulting data. That is, when the ML xApp 354 performs an inference operation of an ML model, data input to the ML model and data output from the ML model may be stored in the inference data DB 360. For example, the inference data DB 360 may store input data and/or output data input to the ML xApp 354 for each RAN, each cell group, or each cell.
제어 정보 DB(362)(예: RIC Control Storage)는 타겟 RIC(120)에서 송신되는 RIC 제어에 대한 정보(예: 제어 메시지 등)를 저장하는 데이터 베이스일 수 있다. 본 개시의 일 실시예에서, 제어 정보 DB(362)는 타겟 RIC(120)로부터 E2를 통해 전달되는 RIC 제어 정보를 저장할 수 있다. 예를 들어, 제어 정보 DB(362)는 RIC 용 애플리케이션(예: Assist xApp)이 RIC 제어 메시지를 RAN 또는 셀로 전송할 때의 시간 및 제어 메시지의 콘텐츠를 포함할 수 있다.The control information DB 362 (e.g., RIC Control Storage) may be a database that stores information about RIC control (e.g., control messages, etc.) transmitted from the target RIC 120. In one embodiment of the present disclosure, the control information DB 362 may store RIC control information transmitted from the target RIC 120 through E2. For example, the control information DB 362 may include the time when an RIC application (eg, Assist xApp) transmits a RIC control message to the RAN or cell and the contents of the control message.
예를 들어, 각 RIC 용 애플리케이션(xApp)이 제어 정보 DB(362)에 RIC 제어 정보를 저장할 수 있다. 추가적으로 또는 대안적으로, RIC 용 애플리케이션이 제어 메시지를 송신함에 따라, 타겟 RIC(120)(RIC 플랫폼)가 제어 메시지를 훅킹(hooking)하여 제어 정보 DB(362)에 저장할 수 있다. 추가적으로 또는 대안적으로, 타겟 RIC(120)가 제어 메시지에 해당하는 메시지 타입을 식별하여, 제어 메시지를 제어 정보 DB(362)에 저장할 수 있다. RIC 제어 정보를 제어 정보 DB(362)에 저장하는 방법 및 과정은 상술한 바에 한정되지 않는다.For example, each RIC application (xApp) may store RIC control information in the control information DB 362. Additionally or alternatively, as the RIC application transmits a control message, the target RIC 120 (RIC platform) may hook the control message and store it in the control information DB 362. Additionally or alternatively, the target RIC 120 may identify a message type corresponding to the control message and store the control message in the control information DB 362. The method and process for storing RIC control information in the control information DB 362 are not limited to the above.
도 3에 도시된 각 엔티티 및 모듈은 적어도 하나의 프로세서에 의해 동작을 수행할 수 있다. 도 3의 각 엔티티 및 모듈은 각 기능을 수행하기 위해 적어도 하나의 소프트웨어 구성 요소, 적어도 하나의 하드웨어 구성 요소 및 그 조합으로 구성될 수 있다.Each entity and module shown in FIG. 3 may perform operations by at least one processor. Each entity and module in FIG. 3 may be composed of at least one software component, at least one hardware component, and a combination thereof to perform each function.
도 4는 일 실시예에 따라, SMO 엔티티가 복수의 셀을 분류하는 예를 나타내는 도면이다.Figure 4 is a diagram illustrating an example of an SMO entity classifying a plurality of cells, according to an embodiment.
임의의 서비스를 지원하기 위해, 셀의 특성을 고려한 복수의 ML 모델이 존재할 수 있다. 예를 들어, 특정 파라미터의 값을 산출하는 ML 모델에 대하여, 트래픽(traffic)이 큰 셀 그룹에 대응하는 ML 모델과 트래픽이 작은 셀 그룹에 대응하는 ML 모델이 별도로 존재할 수 있다. 이 경우, 트래픽이 큰 셀 그룹에 대응하는 ML 모델은 트래픽이 큰 셀들의 데이터를 기초로 학습되고, 트래픽이 작은 셀 그룹에 대응하는 ML 모델은 트래픽이 작은 셀들의 데이터를 기초로 학습된 것일 수 있다. 따라서, SMO 엔티티(100)가 복수의 셀을 트래픽 양에 따라 분류함으로써, 각 셀이 트래픽 특성에 맞는 ML 모델의 추론 결과를 기반으로 제어되도록 할 수 있다. To support an arbitrary service, there may be multiple ML models that consider the characteristics of the cell. For example, for an ML model that calculates the value of a specific parameter, there may be separate ML models corresponding to cell groups with large traffic and ML models corresponding to cell groups with low traffic. In this case, the ML model corresponding to a cell group with large traffic may be learned based on data from cells with large traffic, and the ML model corresponding to a cell group with low traffic may be learned based on data from cells with low traffic. there is. Accordingly, the SMO entity 100 can classify a plurality of cells according to the amount of traffic so that each cell can be controlled based on the inference results of the ML model suitable for traffic characteristics.
SMO 엔티티(100)는 서비스(즉, 서비스를 위한 ML 모델, 정보 등)를 배포하기 전, 서비스를 배포하고자 하는 타겟 RIC(120)에서 관리하는 복수의 셀들에 대하여 그루핑을 수행할 수 있다. 본 개시의 일 실시예에서, SMO 엔티티(100)의 셀 분류 모듈(312)은 타겟 RIC(120)에서 관리하는 셀(즉, 타겟 RIC(120)에 의해 제어되는 셀)의 정보를 이용하여 셀 분류를 수행할 수 있다. 예를 들어, 셀 분류 모듈(312)은 타겟 RIC(120)의 성능 정보 DB(364)에 포함된 복수의 셀들의 성능 정보(예: KPI 정보)를 기초로, 셀 분류를 수행할 수 있다. 복수의 셀들의 성능 정보는, KPI 모니터링 xApp(도 3의 356)이 저장한 셀 별 KPI 및/또는 단말 별 KPI에 대한 정보를 포함할 수 있다. 추가적으로 또는 대안적으로, 셀 분류 모듈(312)은 복수의 셀의 기본 정보(예: RAN 셋업 시 등록된 정보)를 기초로, 셀 분류를 수행할 수 있다.Before distributing a service (i.e., ML model for the service, information, etc.), the SMO entity 100 may perform grouping on a plurality of cells managed by the target RIC 120 to which the service is to be distributed. In one embodiment of the present disclosure, the cell classification module 312 of the SMO entity 100 uses information on cells managed by the target RIC 120 (i.e., cells controlled by the target RIC 120) to classify cells. Classification can be performed. For example, the cell classification module 312 may perform cell classification based on performance information (eg, KPI information) of a plurality of cells included in the performance information DB 364 of the target RIC 120. The performance information of the plurality of cells may include information about the KPI for each cell and/or the KPI for each terminal stored by the KPI monitoring xApp (356 in FIG. 3). Additionally or alternatively, the cell classification module 312 may perform cell classification based on basic information (eg, information registered during RAN setup) of a plurality of cells.
본 개시의 일 실시예에서, 셀 분류 모듈(312)은 특성 클러스터링(feature clustering)과 시뮬레이션(simulation) 등을 기초로 복수의 셀을 분류할 수 있다. 예를 들어, 각 셀의 단말 의 수, 단말의 패킷 사이즈, 요청 인터벌, 단말의 이동성 패턴, 단말의 데이터 사용 패턴, 셀 평균 처리량(throughput) 추이 등을 기초로, 복수의 셀 중에서 유사한 특성을 갖는 셀들을 동일한 그룹으로 그루핑할 수 있다. 본 개시의 일 실시예에서, 셀 분류 모듈(312)은 룰 기반 및/또는 ML 모델(예: 셀을 분류하도록 학습된 모델) 기반으로 복수의 셀을 분류할 수 있으나, 이에 한정되지 않는다.In one embodiment of the present disclosure, the cell classification module 312 may classify a plurality of cells based on feature clustering, simulation, etc. For example, based on the number of terminals in each cell, packet size of the terminal, request interval, mobility pattern of the terminal, data usage pattern of the terminal, cell average throughput trend, etc., among a plurality of cells with similar characteristics Cells can be grouped into the same group. In one embodiment of the present disclosure, the cell classification module 312 may classify a plurality of cells based on rules and/or ML models (e.g., models learned to classify cells), but is not limited thereto.
본 개시의 일 실시예에서, 셀 분류 모듈(312)은 서비스 별로 상이한 방법(즉, 상이한 기준, 상이한 ML 모델, 상이한 알고리즘 등)으로 복수의 셀을 분류할 수 있다. 예를 들어, 제1 서비스에 대해서는, 제1 셀과 제2 셀이 동일한 셀로 분류되나, 제2 서비스에 대해서는 제1 셀과 제2 셀이 상이한 셀로 분류될 수도 있다.In one embodiment of the present disclosure, the cell classification module 312 may classify a plurality of cells in different ways (i.e., different criteria, different ML models, different algorithms, etc.) for each service. For example, for the first service, the first cell and the second cell may be classified as the same cell, but for the second service, the first cell and the second cell may be classified as different cells.
본 개시의 일 실시예에서, 각 서비스가 SMO 엔티티(100)에 등록될 때, SMO 엔티티(100)는 셀 분류 방법(즉, 분류 기준 등)을 함께 획득할 수 있다. SMO 엔티티(100)는 획득된 방법으로 셀을 분류할 수 있으나, 이에 한정되지 않는다.In one embodiment of the present disclosure, when each service is registered with the SMO entity 100, the SMO entity 100 may also obtain a cell classification method (i.e., classification criteria, etc.). The SMO entity 100 may classify cells using the obtained method, but is not limited to this.
본 개시의 일 실시예에서, SMO 엔티티(100)는 임의의 서비스에 대하여 하나의 ML 모델을 획득하더라도, 복수의 셀을 그루핑하여 각 그룹에 대하여 ML 모델을 관리(예: 모니터링 및 업데이트)할 수도 있다. 즉, SMO 엔티티(100)가 임의의 서비스에 대한 하나의 ML 모델을 각 그룹에 맞는 ML 모델들로 분리하여 발전시킬 수도 있다.In one embodiment of the present disclosure, even if the SMO entity 100 acquires one ML model for any service, it may group a plurality of cells and manage (e.g., monitor and update) the ML model for each group. there is. That is, the SMO entity 100 may develop one ML model for an arbitrary service by dividing it into ML models suitable for each group.
도 4를 참조하면, 서비스 관리 모듈(310)의 셀 분류 모듈(312)은 App DB(330) 또는 모델 DB(340) 중 적어도 하나에 포함된 서비스 정보에 따라, 타겟 RIC(120)의 성능 정보 DB(364)에 포함된 복수의 셀의 성능 정보를 기초로 복수의 셀을 분류할 수 있다. 예를 들어, App DB(330) 및 모델 DB(340)에 포함된 서비스 정보는, 분류 기준, 방법 또는 ML 모델의 수(즉, 최대 그룹 수) 등을 포함할 수 있으나, 이에 한정되지 않으며, 복수의 셀을 분류하는데 있어서 고려될 수 있는 서비스 정보를 포함할 수 있다.Referring to FIG. 4, the cell classification module 312 of the service management module 310 provides performance information of the target RIC 120 according to service information included in at least one of the App DB 330 or the model DB 340. A plurality of cells can be classified based on performance information of the plurality of cells included in the DB 364. For example, the service information included in the App DB 330 and the Model DB 340 may include, but is not limited to, classification criteria, methods, or the number of ML models (i.e., maximum number of groups). It may contain service information that can be considered when classifying multiple cells.
도 5는 일 실시예에 따라, SMO 엔티티가 타겟 RIC에 서비스를 배포하는 예시를 나타내는 도면이다.Figure 5 is a diagram illustrating an example of an SMO entity distributing a service to a target RIC, according to one embodiment.
SMO 엔티티(100)는 타겟 RIC(120)에 서비스 애플리케이션을 배포할 수 있다. 본 개시의 일 실시예에서, SMO 엔티티(100)는 임의의 서비스에 대한 추론 애플리케이션을 타겟 RIC(120)에 대한 셀들의 셀 그룹의 수만큼 패키징하여 배포할 수 있다. 예를 들어, SMO 엔티티(100)가 타겟 RIC(120)가 관리하는 셀들을 3개의 셀 그룹으로 분류하는 경우, SMO 엔티티(100)는 도 5에 도시된 바와 같이, 각 셀 그룹에 대응하는 ML xApp(354_1, 354_2, 354_3)을 타겟 RIC(120)로 제공할 수 있다. 각 ML xApp은 ML 모델을 포함할 수 있으며, 각 ML xApp(354_1, 354_2, 354_3)에 포함된 ML 모델은 서로 상이할 수 있으나, 이에 한정되지 않는다.The SMO entity 100 may distribute the service application to the target RIC 120. In one embodiment of the present disclosure, the SMO entity 100 may package and distribute an inference application for an arbitrary service as many as the number of cell groups of cells for the target RIC 120. For example, when the SMO entity 100 classifies cells managed by the target RIC 120 into three cell groups, the SMO entity 100 creates an ML corresponding to each cell group, as shown in FIG. 5. xApp (354_1, 354_2, 354_3) may be provided as the target RIC (120). Each ML xApp may include an ML model, and the ML models included in each ML xApp (354_1, 354_2, 354_3) may be different from each other, but are not limited to this.
본 개시의 일 실시예에서, SMO 엔티티(100)는 App DB(도 3의 330)에 포함된 텍스트 기반의 App 정보(예: App description)를 이용하여, O2 인터페이스를 통해 타겟 RIC(120)에 서비스 애플리케이션을 설치하는 동작을 수행할 수 있다. SMO 엔티티(100)는 서비스 애플리케이션을 패키징 및 배포하는데 있어서, 표준 규격을 따를 수 있으나, 이에 한정되지 않는다.In one embodiment of the present disclosure, the SMO entity 100 uses text-based App information (e.g., App description) included in the App DB (330 in FIG. 3) to the target RIC 120 through the O2 interface. You can perform the operation of installing a service application. The SMO entity 100 may follow standard specifications in packaging and distributing service applications, but is not limited thereto.
도 5를 참조하면, SMO 엔티티(100)는 제1 그룹에 대응하는 제1 ML 모델을 포함하는 제1 ML xApp(354_1), 제2 그룹에 대응하는 제2 ML 모델을 포함하는 제2 ML xApp(354_2) 및 제3 그룹에 대응하는 제3 ML 모델을 포함하는 제3 ML xApp(354_3)을 타겟 RIC(120)에 제공할 수 있다. 본 개시의 일 실시예에서, SMO 엔티티(100)는 각 그룹에 대응하는 ML xApp에 대한 정보와 각 셀의 그룹 정보를 Assist xApp(356)에 포함하여 배포할 수 있다. 예를 들어, SMO 엔티티(100)는 각 그룹과 각 ML xApp(354_1, 354_2, 354_3) 사이 대응 관계를 나타내는 정보를 Assist xApp(356)에 포함하여 타겟 RIC(120)에 제공할 수 있다. 예를 들어, 도 5에 도시된 바와 같이, SMO 엔티티(100)는 제1 셀(C1) 및 제2 셀(C2)은 제1 그룹(group 1)에 속하고, 제3 셀(C3)은 제2 그룹(group 2)에 속하고, 제4 셀(C4)은 제3 그룹(group 3)에 속함을 나타내는 정보(즉, 그룹 정보)를 Assist xApp(356)에 포함하여 제공할 수 있다.Referring to FIG. 5, the SMO entity 100 includes a first ML xApp 354_1 including a first ML model corresponding to the first group, and a second ML xApp including a second ML model corresponding to the second group. (354_2) and a third ML xApp (354_3) including a third ML model corresponding to the third group may be provided to the target RIC (120). In one embodiment of the present disclosure, the SMO entity 100 may include and distribute information about the ML xApp corresponding to each group and group information of each cell in the Assist xApp 356. For example, the SMO entity 100 may include information indicating the correspondence between each group and each ML xApp (354_1, 354_2, 354_3) in the Assist xApp (356) and provide it to the target RIC (120). For example, as shown in FIG. 5, the SMO entity 100 has a first cell (C1) and a second cell (C2) belonging to the first group (group 1), and a third cell (C3). Information (i.e., group information) indicating that the cell belongs to the second group (group 2) and the fourth cell (C4) belongs to the third group (group 3) can be provided by including it in the Assist xApp 356.
도 5는, SMO 엔티티(100)가 각 그룹 별 ML xApp을 제공하는 예를 도시하고 있으나, 이에 한정되지 않는다. 예를 들어, SMO 엔티티(100)는 하나의 ML xApp에 각 그룹 별 ML 모델을 모두 포함하여 제공할 수 있다.Figure 5 shows an example in which the SMO entity 100 provides ML xApp for each group, but the present invention is not limited to this. For example, the SMO entity 100 may provide one ML xApp including all ML models for each group.
도 6은 일 실시예에 따라, RIC가 셀을 제어하고, 데이터를 수집하는 예시를 나타내는 도면이다.FIG. 6 is a diagram illustrating an example of RIC controlling a cell and collecting data, according to an embodiment.
Assist xApp(356)은 RAN으로 서브스크립션(subscription)을 설정하고, 메시지(예: 각 셀에 대한 데이터 및 정보를 포함하는 메시지)를 요청할 수 있다. Assist xApp(356)이 RAN에 각 셀에 대한 데이터(예: KPI 데이터)를 요청하고, RAN으로부터 각 셀에 대한 데이터를 수신하는 동작은 O-RAN E2의 표준 규격에 따라 수행될 수 있으나, 이에 한정되지 않는다. Assist xApp(356)은 셀의 그룹 정보를 기초로, RAN로부터 전달된 각 셀의 데이터를 각 셀이 포함된 그룹에 대응하는 ML xApp(354_1, 354_2, 354_2)으로 전달하고, 추론을 요청할 수 있다. Assist xApp(356)은 요청에 대한 응답으로, 각 셀에 대한 추론 결과 데이터를 획득할 수 있다.Assist xApp 356 can set up a subscription with the RAN and request a message (e.g., a message containing data and information for each cell). The Assist xApp 356 requests data (e.g. KPI data) for each cell from the RAN, and the operation of receiving data for each cell from the RAN may be performed according to the standard specifications of O-RAN E2, but It is not limited. Assist xApp (356) can transfer the data of each cell transmitted from the RAN to the ML xApp (354_1, 354_2, 354_2) corresponding to the group containing each cell based on the cell group information and request inference. . Assist xApp 356 can obtain inference result data for each cell in response to the request.
도 6을 참조하면, Assist xApp(356)은 제1 그룹(group 1)에 포함된 제1 셀(C1) 및 제2 셀(C2)의 데이터를 제1 그룹에 대한 ML xApp(354_1)에 전달하고, ML xApp(354_1)로부터 제1 ML 모델의 제1 셀에 대한 추론 결과 및 제2 셀에 대한 추론 결과를 수신할 수 있다. 또한, Assist xApp(356)은 제2 그룹(group 2)에 포함된 제3 셀(C3)의 데이터를 제2 그룹에 대한 ML xApp(354_2)에 전달하고, ML xApp(354_2)로부터 제2 ML 모델의 제3 셀에 대한 추론 결과를 수신할 수 있다. 또한, Assist xApp(356)은 제3 그룹(group 3)에 포함된 제4 셀(C4)의 데이터를 제3 그룹에 대한 ML xApp(354_3)에 전달하고, ML xApp(354_3)로부터 제3 ML 모델의 제4 셀에 대한 추론 결과를 수신할 수 있다.Referring to FIG. 6, Assist xApp (356) transmits data of the first cell (C1) and second cell (C2) included in the first group (group 1) to the ML xApp (354_1) for the first group. And, the inference result for the first cell and the inference result for the second cell of the first ML model may be received from the ML xApp (354_1). In addition, Assist xApp (356) transfers the data of the third cell (C3) included in the second group (group 2) to the ML xApp (354_2) for the second group, and transfers the data from the ML xApp (354_2) to the second ML Inference results for the third cell of the model can be received. In addition, Assist xApp (356) transfers the data of the fourth cell (C4) included in the third group (group 3) to the ML xApp (354_3) for the third group, and transfers the data from the ML xApp (354_3) to the third ML The inference result for the fourth cell of the model can be received.
Assist xApp(356)은 각 셀에 대한 추론 결과에 기초하여 각 셀에 대한 제어 메시지를 송신할 수 있다. 본 개시의 일 실시예에서, Assist xApp(356)은 제어 메시지를 RAN으로 송신할 수 있다. 각 셀은 제어 메시지에 따라 제어될 수 있다. Assist xApp(356)은 상술한 바와 같은, 각 셀의 데이터 수신, 추론 요청 송신, 추론 결과 수신 및 제어 메시지 송신 동작 등을 반복 수행함으로써, 각 셀에 대한 제어를 주기적 또는 비 주기적으로 수행할 수 있다.Assist xApp 356 can transmit a control message for each cell based on the inference result for each cell. In one embodiment of the present disclosure, Assist xApp 356 may transmit a control message to the RAN. Each cell can be controlled according to a control message. Assist xApp 356 can perform control on each cell periodically or aperiodically by repeatedly performing the operations of receiving data, sending inference requests, receiving inference results, and sending control messages for each cell as described above. .
타겟 RIC(120)는 서비스 애플리케이션을 통해 각 셀에 대하여 제어를 수행하는 동안, 주기적으로 또는 비주기적으로 각 셀에 대한 다양한 데이터를 모니터링함으로써 수집할 수 있다. 본 개시의 일 실시예에서, 타겟 RIC(120)는 각 셀의 통신 성능을 나타내는 성능 정보, 각 셀에 대하여 수행한 제어 정보 및 각 셀에 대한 ML 모델의 추론 정보 중 적어도 일부를 수집할 수 있다. 예를 들어, 타겟 RIC(120)는 리소스 환경에 따라, 성능 정보, 제어 정보 또는 추론 정보 중 적어도 하나에 대하여, 일정 시간 구간의 평균, 최소값, 최대값, 분산, 표준편차 등 기술 통계량을 저장할 수 있다.The target RIC 120 may periodically or aperiodically collect various data about each cell by monitoring them while performing control on each cell through a service application. In one embodiment of the present disclosure, the target RIC 120 may collect at least some of performance information indicating communication performance of each cell, control information performed for each cell, and inference information of the ML model for each cell. . For example, the target RIC 120 may store descriptive statistics such as the average, minimum value, maximum value, variance, and standard deviation of a certain time interval for at least one of performance information, control information, or inference information, depending on the resource environment. there is.
본 개시의 일 실시예에서, 타겟 RIC(120)의 KPI 모니터링 xApp(358)은 RAN의 KPI 정보를 수집할 수 있다. RAN의 KPI 정보는 RAN 단위의 KPI 값 또는 셀 단위의 KPI 값 중 적어도 하나를 포함할 수 있다. 예를 들어, KPI 모니터링 xApp(358)은 E2 혹은 O1 인터페이스를 통해 RAN의 KPI 정보를 수집할 수 있다. 예를 들어, KPI 모니터링 xApp(358)은 시간에 따른 KPI를 수집 및 저장할 수 있다. KPI 모니터링 xApp(358)이 KPI 정보를 수집하는 데 있어서, O-RAN의 E2SM-KPM 표준 규격을 따를 수 있으나, 이에 한정되지 않는다. KPI 모니터링 xApp(358)이 모니터링 및 수집한 데이터는 성능 정보 DB(364)에 저장될 수 있다.In one embodiment of the present disclosure, the KPI monitoring xApp 358 of the target RIC 120 may collect KPI information of the RAN. RAN KPI information may include at least one of a RAN-level KPI value or a cell-level KPI value. For example, the KPI monitoring xApp 358 can collect RAN KPI information through the E2 or O1 interface. For example, KPI monitoring xApp 358 can collect and store KPIs over time. In collecting KPI information, the KPI monitoring xApp 358 may follow the O-RAN E2SM-KPM standard, but is not limited thereto. Data monitored and collected by the KPI monitoring xApp 358 may be stored in the performance information DB 364.
본 개시의 일 실시예에서, Assist xApp(356)은 어떤 셀에 대해서 언제, 어떤 RAN 제어 메시지를 송신했는 지에 대한 히스토리를 제어 정보 DB(362)에 저장할 수 있다. 예를 들어, 타겟 RIC(120)(즉, RIC 플랫폼)가 RIC 제어 메시지를 저장할 수 있다. 예를 들어, 보안이나 지연(latency) 문제로 인해, Assist xApp(356)이 제어 정보를 저장할 수 있다. 예를 들어, RIC 제어 정보는 RAN 환경에 크게 영향을 줄 수 있기 때문에 타겟 RIC(120)는 애플리케이션이 송신하는 RMR (RIC message routing) 메시지의 타입이 RIC Control인 경우에 페이로드(payload)를 디코딩하여 저장할 수 있다. 예를 들어, 타겟 RIC(120)의 E2 터미네이터(terminator)가 제어 메시지에 대한 정보를 저장할 수 있다. E2 터미네이터는 E2 인터페이스로 데이터를 전송하기 위해 SCTP를 지원하는 모듈을 나타낼 수 있다.In one embodiment of the present disclosure, Assist xApp 356 may store a history of when and which RAN control message was transmitted for which cell in the control information DB 362. For example, the target RIC 120 (i.e., RIC platform) may store RIC control messages. For example, due to security or latency issues, Assist xApp 356 may store control information. For example, because RIC control information can greatly affect the RAN environment, the target RIC 120 decodes the payload when the type of RMR (RIC message routing) message transmitted by the application is RIC Control. You can save it. For example, the E2 terminator of the target RIC 120 may store information about the control message. The E2 terminator can represent a module that supports SCTP to transfer data to the E2 interface.
본 개시의 일 실시예에서, ML xApp(354_1, 354_2, 354_3)은 ML 모델의 추론 동작에 대한 입력 데이터 및 출력 데이터 중 적어도 일부를 추론 데이터 DB(360)에 저장할 수 있다. 예를 들어, 추론 데이터 DB(360)는 모든 추론 동작에 대한 미가공(raw) 데이터를 포함할 수 있다. 예를 들어, 추론 데이터 DB(360)는 일부 샘플링되거나 가공된 데이터를 포함할 수 있다. 추론 데이터는 분류 기준에 대응할 수 있으나, 이에 한정되지 않는다. 예를 들어, ML 모델의 입력 데이터가, 패킷 사이즈 및 요청 인터벌에 해당하는 경우, 복수의 셀은 패킷 사이즈 및 요청 인터벌을 기초로 분류될 수 있다.In one embodiment of the present disclosure, ML xApp (354_1, 354_2, 354_3) may store at least some of the input data and output data for the inference operation of the ML model in the inference data DB 360. For example, the inference data DB 360 may include raw data for all inference operations. For example, the inference data DB 360 may include some sampled or processed data. Inference data may correspond to classification criteria, but is not limited to this. For example, if the input data of the ML model corresponds to packet size and request interval, a plurality of cells may be classified based on packet size and request interval.
도 6에 도시된 복수의 DB는 별도의 구성 요소로 도시되어 있으나, 적어도 일부의 DB는 하드웨어 상 동일한 저장 장치에 포함될 수 있다. 추가적으로 또는 대안적으로, 각 DB는 하나의 구성 요소로 도시되어 있으나, 하드웨어 상 복수의 저장 장치에 포함될 수 있다.Although the plurality of DBs shown in FIG. 6 are shown as separate components, at least some DBs may be included in the same hardware storage device. Additionally or alternatively, each DB is shown as a single component, but may be included in multiple storage devices in hardware.
도 7은 일 실시예에 따라, SMO 엔티티가 각 셀에 대한 특성 드리프트 및 모델 드리프트를 감지하는 예시를 나타내는 도면이다.Figure 7 is a diagram illustrating an example in which the SMO entity detects characteristic drift and model drift for each cell, according to an embodiment.
SMO 엔티티(100)는 타겟 RIC(120)에 저장된 데이터를 이용하여, ML 모델의 성능을 모니터링할 수 있다. 예를 들어, SMO 엔티티(100)는 각 셀에 대한 데이터(예: KPI, ML 모델의 입력 데이터, 출력 데이터 등)의 평균 값, 분산, 표준 편차, 최대/최소, 범위(range) 등 통계치의 변화를 모니터링할 수 있다. ML 모델의 성능은, 셀의 통신 성능에 대응할 수 있다. 셀의 통신 성능이 우수하다는 것은, 해당 셀에 대한 제어 성능이 우수함을 나타내며, 해당 셀의 제어에 사용된 ML 모델의 성능이 우수함을 나타낼 수 있다.The SMO entity 100 can monitor the performance of the ML model using data stored in the target RIC 120. For example, the SMO entity 100 displays statistics such as the average value, variance, standard deviation, maximum/minimum, and range of data for each cell (e.g., KPI, ML model input data, output data, etc.). Changes can be monitored. The performance of the ML model can correspond to the communication performance of the cell. Excellent communication performance of a cell indicates excellent control performance for the cell, and may indicate excellent performance of the ML model used to control the cell.
한편, 동일한 ML 모델이더라도 ML 모델의 성능은 각 셀 별로 상이할 수 있다. 예를 들어, 임의의 ML 모델이 제1 셀에 대해서는 기준 성능을 달성 수 있으나, 제2 셀에 대해서는 기준 성능을 달성하지 못할 수 있다. 이 경우, 해당 ML 모델은 제1 셀에 대해서는 적합한 모델이나 제2 셀에 대해서는 부적합한 모델일 수 있다.Meanwhile, even if it is the same ML model, the performance of the ML model may be different for each cell. For example, a certain ML model may achieve baseline performance for a first cell, but may not achieve baseline performance for a second cell. In this case, the corresponding ML model may be an appropriate model for the first cell but an inappropriate model for the second cell.
본 개시의 일 실시예에서, SMO 엔티티(100)는 각 ML 모델 별 기준 데이터 정보(예: 입력 데이터와 출력 데이터의 기준 범위 등)를 포함할 수 있다. ML 모델의 기준 데이터 정보는, ML 모델에 대응하는 그룹의 기준 데이터 정보일 수 있다. 본 개시의 일 실시예에서, 각 ML 모델의 기준 데이터 정보는 미리 설정된 정상 범위를 포함할 수 있다. 예를 들어, 제1 ML 모델의 기준 데이터 정보는, 제1 ML 모델에 대응하는 제1 셀 그룹의 기준 데이터 정보로서, 제1 셀 그룹에 포함되는 셀들의 특성에 따른 데이터의 정상 범위 등을 포함할 수 있다. 본 개시의 일 실시예에서, 각 ML 모델 별 기준 데이터 정보는 데이터 히스토리(예: 데이터 통계량 등)를 기초로 설정될 수 있다. 예를 들어, 제1 ML 모델의 기준 데이터 정보는, 제1 ML 모델의 누적 입력 데이터의 통계값(예: 평균, 최대/최소값 등)에 따라 설정될 수 있다.In one embodiment of the present disclosure, the SMO entity 100 may include reference data information for each ML model (e.g., reference ranges of input data and output data, etc.). The reference data information of the ML model may be reference data information of a group corresponding to the ML model. In one embodiment of the present disclosure, the reference data information of each ML model may include a preset normal range. For example, the reference data information of the first ML model is reference data information of the first cell group corresponding to the first ML model, and includes the normal range of data according to the characteristics of cells included in the first cell group, etc. can do. In one embodiment of the present disclosure, reference data information for each ML model may be set based on data history (eg, data statistics, etc.). For example, the reference data information of the first ML model may be set according to the statistical value (eg, average, maximum/minimum value, etc.) of the accumulated input data of the first ML model.
SMO 엔티티(100)는 각 ML 모델 별 기준 데이터 정보를 기초로 각 셀의 특성 드리프트(feature drift) 발생 여부를 결정할 수 있다. 본 개시의 일 실시예에서, 특성 드리프트 감지 모듈(324)은 제1 그룹에 포함된 제1 셀에 대한 입력 데이터를 식별하고, 식별된 입력 데이터가 제1 그룹에 대한 기준 범위(예: 제1 그룹에 대한 ML 모델의 입력 데이터 기준 범위)를 벗어나는 것으로 판정함에 따라, 제1 셀의 환경이 변화한 것으로 결정할 수 있다. 즉, 제1 셀이 더 이상 제1 그룹에 실질적으로 속하지 않으며, 제1 그룹에 대응하는 ML 모델이 더 이상 제1 셀에 적합하지 않음을 결정할 수 있다. 예를 들어, 특성 드리프트 감지 모듈(324)은 제1 셀의 환경이 변화한 것으로 결정함에 기초하여, 제1 셀의 그룹을 재결정해야 함을 결정할 수 있다. 추가적으로, SMO 엔티티(100)는 특성 드리프트가 감지된 셀에 대하여 드리프트가 일시적인 현상인지 혹은 데이터 수집의 오류에 해당하는지에 대한 판정을 위한 동작들을 더 수행할 수 있다.The SMO entity 100 can determine whether feature drift occurs in each cell based on reference data information for each ML model. In one embodiment of the present disclosure, the characteristic drift detection module 324 identifies input data for a first cell included in a first group, and determines that the identified input data is within a reference range for the first group (e.g., 1 As it is determined that the input data is outside the reference range of the ML model for the group, it may be determined that the environment of the first cell has changed. That is, it may be determined that the first cell no longer substantially belongs to the first group, and that the ML model corresponding to the first group is no longer suitable for the first cell. For example, the characteristic drift detection module 324 may determine that the group of the first cell should be redetermined based on determining that the environment of the first cell has changed. Additionally, the SMO entity 100 may further perform operations for cells in which characteristic drift is detected to determine whether the drift is a temporary phenomenon or corresponds to an error in data collection.
예를 들어, 특성 드리프트 감지 모듈(324)은 각 셀에 대하여 특성 드리프트 여부를 결정하고, 특성이 드리프트한 것으로 판정되는 셀에 대하여, 특성 드리프트를 나타내는 알림(alert)을 발생시킬 수 있다. 예를 들어, 특성 드리프트 감지 모듈(324)은 서비스 관리 모듈(310)에 특성 드리프트가 발생한 셀에 대한 정보를 송신할 수 있다. 예를 들어, 특성 드리프트 감지 모듈(324)은 셀 분류 모듈(312)에 특성이 드리프트한 것으로 판정되는 셀에 대한 재분류를 요청할 수 있다.For example, the characteristic drift detection module 324 may determine whether there is characteristic drift for each cell, and may generate an alert indicating characteristic drift for cells determined to have drifted characteristics. For example, the characteristic drift detection module 324 may transmit information about cells in which characteristic drift has occurred to the service management module 310. For example, the characteristic drift detection module 324 may request the cell classification module 312 to reclassify cells that are determined to have drifted characteristics.
일례로, 트래픽이 큰 셀 그룹에 속한 셀들의 패킷 사이즈 및 요청 인터벌(request interval)의 통계 값에 따라, 트래픽이 큰 셀 그룹의 기준 데이터는 80~100mb의 패킷 사이즈, 100us 이하의 요청 인터벌로 설정될 수 있다. 이 경우, 셀 그룹에 포함된 임의의 셀의 패킷 사이즈가 20~30mb로 낮아지거나, 요청 인터벌이 1ms로 식별되는 경우, SMO 엔티티(100)는 해당 셀에 대하여 특성 드리프트가 발생한 것으로 판정하고, 재분류를 수행할 수 있다.For example, according to the statistical values of the packet size and request interval of the cells belonging to the cell group with high traffic, the standard data for the cell group with high traffic is set to a packet size of 80~100mb and a request interval of 100us or less. It can be. In this case, when the packet size of any cell included in the cell group is lowered to 20~30mb or the request interval is identified as 1ms, the SMO entity 100 determines that characteristic drift has occurred for the cell, and re-processes. Classification can be performed.
KPI 분석 모듈(322) 및 모델 드리프트 감지 모듈(326)은 제어 정보 DB(362) 및 성능 정보 DB(364)에 저장된 데이터들을 기초로, 각 셀에 대한 ML 모델의 성능을 판정할 수 있다. 본 개시의 일 실시예에서, KPI 분석 모듈(322) 및 모델 드리프트 감지 모듈(326)은 제어 정보 DB(362) 및 성능 정보 DB(364)에 저장된 데이터들을 기초로, 각 셀에 대한 ML 모델의 드리프트 발생 여부를 감지할 수 있다. 예를 들어, KPI 분석 모듈(322)은 Assist xApp(356)이 RAN으로 제어 메시지를 전달한 시점 후의 KPI 값이 임계값(또는 목표치) 미만으로 떨어진 셀에 대한 정보를 모델 드리프트 감지 모듈(326)에 전달할 수 있다.The KPI analysis module 322 and the model drift detection module 326 may determine the performance of the ML model for each cell based on data stored in the control information DB 362 and the performance information DB 364. In one embodiment of the present disclosure, the KPI analysis module 322 and the model drift detection module 326 determine the ML model for each cell based on the data stored in the control information DB 362 and the performance information DB 364. It is possible to detect whether drift has occurred. For example, the KPI analysis module 322 sends information about cells whose KPI value has fallen below the threshold (or target value) after the Assist xApp 356 delivers a control message to the RAN to the model drift detection module 326. It can be delivered.
본 개시의 일 실시예에서, KPI 분석 모듈(322)은 Assist xApp(356)이 RAN으로 제어 메시지를 전달한 시점 전후의 KPI 변화를 기초로, ML 모델의 추론 결과를 이용한 RAN 제어가 성공적이었는지 아닌지를 판별할 수 있다. 이에 따라, 모델 드리프트 감지 모듈(326)은 셀에 대한 ML 모델의 드리프트 발생 여부를 판정할 수 있다. 예를 들어, KPI 분석 모듈(322)은 타겟 RIC(120)가 임의의 셀에 대하여 제1 ML 모델을 기반으로 제2 시점에 수행한 제어 동작 이후의 KPI 값과 제어 동작 이전의 KPI 값(예: 직전 값 또는 평균 값 등)을 비교 분석하고, 분석 결과를 모델 드리프트 감지 모듈(326)에 제공할 수 있다.In one embodiment of the present disclosure, the KPI analysis module 322 determines whether or not RAN control using the inference result of the ML model was successful based on the KPI change before and after the point when the Assist xApp 356 delivers the control message to the RAN. It can be determined. Accordingly, the model drift detection module 326 can determine whether drift of the ML model for the cell occurs. For example, the KPI analysis module 322 may include a KPI value after the control operation performed by the target RIC 120 at a second time point based on the first ML model for an arbitrary cell and a KPI value before the control operation (e.g. : previous value or average value, etc.) can be compared and analyzed, and the analysis results can be provided to the model drift detection module 326.
모델 드리프트 감지 모듈(326)은 각 셀에 대하여 ML 모델의 드리프트 여부를 결정할 수 있다. 예를 들어, 모델 드리프트 감지 모듈(326)은 동일한 ML 모델에서, 제1 셀에 대해서는 드리프트가 발생한 것으로, 제2 셀에 대해서는 드리프트가 발생하지 않은 것으로 판정할 수 있다. 구체적으로, 모델 드리프트 감지 모듈(326)은, KPI 분석 모듈(322)의 분석 결과를 기초로, 제어 동작 이후 제1 셀의 KPI 값이 임계값 미만으로 떨어지거나, 급격하게 감소하거나, 기준 범위를 벗어남에 따라, 제1 셀에 대하여 ML 모델의 드리프트가 발생한 것으로 판정할 수 있다. 이와 달리, 모델 드리프트 감지 모듈(326)은, KPI 분석 모듈(322)의 분석 결과를 기초로, 제어 동작 이후 제2 셀의 KPI 값이 기준 범위 내에 포함됨에 따라 제2 셀에 대하여 ML 모델의 드리프트가 발생하지 않은 것으로 판정할 수 있다.The model drift detection module 326 can determine whether the ML model drifts for each cell. For example, the model drift detection module 326 may determine that drift has occurred for the first cell and that no drift has occurred for the second cell in the same ML model. Specifically, based on the analysis result of the KPI analysis module 322, the model drift detection module 326 detects that the KPI value of the first cell falls below the threshold value, decreases sharply, or falls within the reference range after the control operation. As it deviates, it can be determined that drift of the ML model has occurred with respect to the first cell. In contrast, the model drift detection module 326 detects the drift of the ML model for the second cell as the KPI value of the second cell is within the reference range after the control operation, based on the analysis result of the KPI analysis module 322. It can be determined that has not occurred.
예를 들어, 모델 드리프트 감지 모듈(326)은 드리프트한 것으로 판정되는 ML 모델에 대하여 모델 드리프트(drift)를 나타내는 알림(alert)을 발생시킬 수 있다. 예를 들어, 모델 드리프트 감지 모듈(326)은 임의의 셀에 대하여 ML 모델의 드리프트가 발생하였음을 나타내는 알림을 출력할 수 있다. 예를 들어, 모델 드리프트 감지 모듈(326)은 서비스 관리 모듈(310)에 ML 모델의 드리프트가 발생한 셀에 대한 정보를 송신할 수 있다. 예를 들어, 모델 드리프트 감지 모듈(326)은 모델 학습 모듈(314)에 드리프트한 것으로 판정되는 ML 모델의 업데이트를 요청할 수 있다.For example, the model drift detection module 326 may generate an alert indicating model drift for an ML model that is determined to have drifted. For example, the model drift detection module 326 may output a notification indicating that drift of the ML model has occurred for an arbitrary cell. For example, the model drift detection module 326 may transmit information about cells in which drift of the ML model has occurred to the service management module 310. For example, the model drift detection module 326 may request the model learning module 314 to update the ML model that is determined to have drifted.
일례로, 셀의 데이터 사용량을 미리 예측하여 사용량이 셀의 한계를 넘어서는 것이 예측될 때 미리 로드밸런싱을 수행하여, 셀에 과부하가 걸리지 않도록 동작하는 서비스에 있어서, RIC(120)가 지속적인 RAN 제어 메시지를 전달하였음에도, 셀의 데이터 사용량이 일정 수준을 넘어서거나, 셀의 데이터 사용량이 급격히 치솟는 경우, 예측 모델의 추론 성능이 기대 성능에 미치지 못한 것으로 판단될 수 있다. 즉, 해당 예측 모델의 추론 결과를 기반으로 하는 제어는 이상 제어로 판단될 수 있으며, 이에 따라, 모델 드리프트 감지 모듈(326)은 모델 드리프트를 나타내는 알림을 발생시킬 수 있다.For example, in a service that predicts the data usage of a cell in advance and performs load balancing in advance when the usage is predicted to exceed the limit of the cell to prevent the cell from being overloaded, the RIC 120 continuously sends RAN control messages. Despite being delivered, if the data usage of the cell exceeds a certain level or the data usage of the cell soars sharply, the inference performance of the prediction model may be judged to not meet the expected performance. That is, control based on the inference result of the corresponding prediction model may be judged as abnormal control, and accordingly, the model drift detection module 326 may generate a notification indicating model drift.
본 개시의 일 실시예에서, ML 모니터링 및 분석 모듈(320)은 임의의 셀에 대한 ML 모델의 드리프트를 감지하더라도, 셀의 특성 드리프트가 감지된 경우, 서비스 관리 모듈(310)에 ML 모델의 업데이트를 요청하지 않을 수도 있다.In one embodiment of the present disclosure, the ML monitoring and analysis module 320 updates the ML model in the service management module 310 when a drift in the characteristics of the cell is detected even if the ML model for any cell is detected. You may not request.
본 개시의 일 실시예에서, SMO 엔티티(100)는 임의의 셀에 대하여 특성 드리프트만 감지되고, 모델 드리프트는 감지되지 않은 경우, SMO 엔티티(100)는 해당 ML 모델에 대한 기준 데이터 정보(예: ML 모델에 대응하는 그룹의 기준 데이터 정보)를 수정할 수 있다.In one embodiment of the present disclosure, the SMO entity 100 detects only characteristic drift for a certain cell, and when model drift is not detected, the SMO entity 100 generates reference data information (e.g., reference data information) for the corresponding ML model. The standard data information of the group corresponding to the ML model) can be modified.
상술한 특성 드리프트 감지 및 모델 드리프트 감지는 각 셀 단위로 수행되고 있으나, 이에 한정되지 않는다. 예를 들어, 특성 드리프트 감지 및/또는 모델 드리프트 감지는 셀 그룹 단위, RAN 단위, RIC 단위, ML 모델 단위, 서비스 단위로 수행될 수 있다. 본 개시의 일 실시예에서, 모델 드리프트 감지 모듈(326)은 각 ML 모델에 대하여 드리프트 여부를 결정할 수 있다. 즉, 모델 드리프트 감지 모듈(326)은, 셀 단위가 아닌 ML 모델 단위로 드리프트 여부를 결정할 수도 있다. 예를 들어, 모델 드리프트 감지 모듈(326)은 ML 모델에 대응하는 복수의 셀의, 제어 동작 전후의 KPI 변화를 기초로, ML 모델의 드리프트 여부를 판정할 수 있다. 추가적으로 또는 대안적으로, 모델 드리프트 감지 모듈(326)은 ML 모델에 대하여, 셀들의 KPI 변화 정도 및 특정 조건을 만족하는 셀의 수 등을 기초로, ML 모델의 드리프트 여부를 판정할 수 있다.The above-described characteristic drift detection and model drift detection are performed on a per-cell basis, but are not limited to this. For example, feature drift detection and/or model drift detection may be performed on a cell group basis, RAN unit, RIC unit, ML model unit, and service unit. In one embodiment of the present disclosure, the model drift detection module 326 may determine whether there is drift for each ML model. That is, the model drift detection module 326 may determine whether there is drift on an ML model basis rather than on a cell basis. For example, the model drift detection module 326 may determine whether the ML model is drifting based on the KPI change before and after the control operation of a plurality of cells corresponding to the ML model. Additionally or alternatively, the model drift detection module 326 may determine whether the ML model is drifting based on the degree of change in the KPI of cells and the number of cells that satisfy specific conditions.
도 8은 일 실시예에 따라 SMO 엔티티가 셀을 재분류하는 예를 나타내는 도면이다.Figure 8 is a diagram illustrating an example of a SMO entity reclassifying a cell according to an embodiment.
SMO 엔티티(100)의 서비스 관리 모듈(310)은 ML 모니터링 및 분석 모듈(320)의 특성 드리프트 감지 결과 또는 모델 드리프트 감지 결과 중 적어도 하나를 기초로, 셀 재분류 여부 및 모델 업데이트 여부를 결정할 수 있다. 본 개시의 일 실시예에서, 서비스 관리 모듈(310)은 특성 드리프트 감지 모듈(324)의 알림(또는 요청)을 식별하거나 수신할 수 있다. 본 개시의 일 실시예에서, 서비스 관리 모듈(310)은 모델 드리프트 감지 모듈(326)의 알림(또는 요청)을 식별하거나 수신할 수 있다. 서비스 관리 모듈(310)은 ML 모니터링 및 분석 모듈(320)의 알림(또는 요청)를 기초로, 셀 재분류 및 모델 업데이트 여부를 결정할 수 있다.The service management module 310 of the SMO entity 100 may determine whether to reclassify cells and update the model based on at least one of the characteristic drift detection result or the model drift detection result of the ML monitoring and analysis module 320. . In one embodiment of the present disclosure, service management module 310 may identify or receive notifications (or requests) from characteristic drift detection module 324. In one embodiment of the present disclosure, service management module 310 may identify or receive notifications (or requests) from model drift detection module 326. The service management module 310 may determine whether to reclassify cells and update the model based on the notification (or request) from the ML monitoring and analysis module 320.
본 개시의 일 실시예에서, 셀 분류 모듈(312)은 특성 드리프트가 발생한 셀의 그룹을 재결정할 수 있다. 즉, 셀 분류 모듈(312)은 특성 드리프트가 발생한 셀에 대하여 재분류 동작을 수행할 수 있다. 본 개시의 일 실시예에서, 셀 분류 모듈(312)은 특성 드리프트와 모델 드리프트가 모두 발생한 셀의 그룹을 재결정할 수 있다.In one embodiment of the present disclosure, the cell classification module 312 may re-determine the group of cells in which characteristic drift has occurred. That is, the cell classification module 312 may perform a reclassification operation on cells in which characteristic drift has occurred. In one embodiment of the present disclosure, the cell classification module 312 may re-determine the group of cells in which both characteristic drift and model drift occur.
도 8을 참조하면, 셀 분류 모듈(312)은 특성 드리프트가 발생한 제2 셀에 대하여, 재분류 동작을 수행할 수 있다. 예를 들어, 셀 분류 모듈(312)은 제2 셀의 최신 데이터를 기초로 재 그루핑을 수행함으로써, 제2 셀의 그룹을 제1 그룹에서 제2 그룹으로 재결정할 수 있다.Referring to FIG. 8, the cell classification module 312 may perform a reclassification operation on the second cell in which characteristic drift has occurred. For example, the cell classification module 312 may re-determine the group of the second cell from the first group to the second group by performing regrouping based on the latest data of the second cell.
이 경우, 셀 분류 모듈(312)은 제2 셀의 새로운 그룹 정보를 타겟 RIC(120)의 Assist xApp(356)으로 제공할 수 있다. 즉, 셀 분류 모듈(312)은 제2 셀이 제2 그룹에 속함을 나타내는 정보를 Assist xApp(356)에 제공할 수 있다. 새로운 그룹 정보를 제공받은 Assist xApp(356)은 이후 제2 셀을 제어하기 위해, 제2 셀의 데이터를 제2 그룹에 대응하는 ML xApp(354_2)에 입력하고, 추론 결과를 기초로 제2 셀에 대한 제어 메시지를 송신할 수 있다. 즉, 타겟 RIC(120)는, 제2 셀을 제어하기 위해, 변경된 그룹 정보에 따라 제2 그룹에 대응하는 제2 ML 모델을 이용할 수 있다.In this case, the cell classification module 312 may provide new group information of the second cell to Assist xApp 356 of the target RIC 120. That is, the cell classification module 312 may provide information indicating that the second cell belongs to the second group to the Assist xApp 356. Assist xApp (356), which has received new group information, then inputs the data of the second cell to the ML xApp (354_2) corresponding to the second group to control the second cell, and based on the inference result, the second cell A control message can be transmitted. That is, the target RIC 120 may use the second ML model corresponding to the second group according to the changed group information to control the second cell.
본 개시의 일 실시예에서, 제2 셀에 대하여 특성 드리프트 뿐만 아니라 모델 드리프트가 발생한 것으로 판정되는 경우, 제2 셀의 그룹이 제1 그룹에서 제2 그룹으로 재결정됨에 따라, SMO 엔티티(100)는 제1 그룹에 대응하는 제1 ML 모델을 업데이트 하지 않는 것(즉, 동결)으로 결정할 수 있다. 추가적으로, 제1 ML 모델에 대하여 다른 셀에서도 모델 드리프트가 발생한 경우, SMO 엔티티(100)는 재분류 동작 이후 제1 그룹에 포함된 셀의 최신 데이터를 기초로 제1 ML 모델의 업데이트를 결정할 수 있다.In one embodiment of the present disclosure, when it is determined that not only characteristic drift but also model drift has occurred with respect to the second cell, as the group of the second cell is redetermined from the first group to the second group, the SMO entity 100 It may be decided not to update (i.e., freeze) the first ML model corresponding to the first group. Additionally, if model drift occurs in other cells with respect to the first ML model, the SMO entity 100 may determine an update of the first ML model based on the latest data of cells included in the first group after the reclassification operation. .
본 개시의 일 실시예에서, 특성 드리프트 감지가 셀 그룹 단위로 수행되는 경우, SMO 엔티티(100)는 특성 드리프트가 감지된 그룹에 속한 모든 셀에 대하여 재그룹핑을 수행할 수 있다. 본 개시의 일 실시예에서, 특성 드리프트가 감지된 그룹 내의 셀들 중에서 모델 드리프트가 발생한 셀이 존재하는 경우, SMO 엔티티(100)는 모델 드리프트가 발생한 셀의 재그룹핑을 수행할 수 있다.In one embodiment of the present disclosure, when characteristic drift detection is performed on a cell group basis, the SMO entity 100 may perform regrouping on all cells belonging to the group for which characteristic drift has been detected. In one embodiment of the present disclosure, when a cell in which model drift occurs exists among cells in a group in which characteristic drift is detected, the SMO entity 100 may perform regrouping of the cell in which model drift occurred.
도 9는 일 실시예에 따라 ML 모델을 업데이트하는 예시를 나타내는 도면이다.Figure 9 is a diagram illustrating an example of updating an ML model according to an embodiment.
모델 학습 모듈(314)이 임의의 ML 모델의 업데이트 여부를 결정하는데 있어서, 해당 ML 모델에 대응하는 셀 그룹에 포함된 셀의 특성 드리프트 모니터링 결과 및 모델 드리프트 모니터링 결과 중 적어도 일부를 기초로 결정할 수 있다. 본 개시의 일 실시예에서, 모델 학습 모듈(314)은 모델 드리프트가 감지된 셀에 대응하는 ML 모델의 업데이트를 결정할 수 있다. 본 개시의 일 실시예에서, 모델 학습 모듈(314)은 모델 드리프트가 감지된 ML 모델의 업데이트를 결정할 수 있다.When the model learning module 314 determines whether to update an arbitrary ML model, the decision may be made based on at least some of the characteristic drift monitoring results and model drift monitoring results of cells included in the cell group corresponding to the ML model. . In one embodiment of the present disclosure, the model learning module 314 may determine an update of the ML model corresponding to the cell for which model drift is detected. In one embodiment of the present disclosure, model learning module 314 may determine to update the ML model for which model drift is detected.
본 개시의 일 실시예에서, 특성 드리프트와 모델 드리프트가 감지된 셀에 대하여, 셀 분류 모듈(312)은 재분류 동작을 수행할 수 있다. 해당 셀이 재분류 동작에도 여전히 동일한 그룹에 속하는 것으로 결정되는 경우, 모델 학습 모듈(314)은 해당 셀의 그룹에 대응하는 ML 모델의 업데이트를 결정할 수 있다. 예를 들어, 도 9를 참조하면, 특성 드리프트와 모델 드리프트가 감지된 제2 셀에 대한, 셀 분류 모듈(312)의 재분류 동작에도, 제2 셀의 그룹이 여전히 제1 그룹으로 결정될 수 있다. 이 경우, 모델 학습 모듈(314)은 제1 그룹에 대응하는 제1 ML 모델의 업데이트를 결정할 수 있다.In one embodiment of the present disclosure, the cell classification module 312 may perform a reclassification operation on cells in which characteristic drift and model drift are detected. If the corresponding cell is determined to still belong to the same group despite the reclassification operation, the model learning module 314 may determine to update the ML model corresponding to the group of the corresponding cell. For example, referring to FIG. 9, despite the reclassification operation of the cell classification module 312 for the second cell in which characteristic drift and model drift are detected, the group of the second cell may still be determined to be the first group. . In this case, the model learning module 314 may determine an update of the first ML model corresponding to the first group.
본 개시의 일 실시예에서, 제1 ML 모델에 대하여 다른 셀에서도 모델 드리프트가 발생한 경우, 제2 셀의 그룹이 다른 그룹으로 재결정되더라도, 모델 학습 모듈(314)은 재분류 동작 이후 제1 그룹에 포함된 셀의 최신 데이터를 기초로 제1 ML 모델의 업데이트를 결정할 수 있다. 본 개시의 일 실시예에서, 모델 학습 모듈(314)은 ML 모델에 대하여 모델 드리프트가 감지된 셀의 수, 드리프트 정도(예: KPI 변화 정도 등) 등에 기초하여, ML 모델의 업데이트를 결정할 수 있다. 예를 들어, 모델 학습 모듈(314)은 셀 그룹에 포함된 셀들의 모델 드리프트 발생 알람의 수 등을 고려하여 해당 셀 그룹에 대응하는 ML 모델의 업데이트를 결정할 수 있다.In one embodiment of the present disclosure, when model drift occurs in other cells with respect to the first ML model, even if the group of the second cell is redetermined to another group, the model learning module 314 determines the first group after the reclassification operation. An update of the first ML model may be determined based on the latest data of the included cell. In one embodiment of the present disclosure, the model learning module 314 may determine an update of the ML model based on the number of cells in which model drift is detected for the ML model, the degree of drift (e.g., degree of KPI change, etc.), etc. . For example, the model learning module 314 may determine the update of the ML model corresponding to the cell group by considering the number of model drift alarms of cells included in the cell group.
SMO 엔티티(100)는 ML 모델의 업데이트를 결정함에 따라, ML 모델의 업데이트를 위한 동작들을 수행할 수 있다. 예를 들어, ML 모델 업데이트는 오프라인으로 진행되거나 학습 파이프라인에 따라 진행될 수 있다. 예를 들어, 모델 학습 모듈(314)은 서비스 등록 시점에 등록된 모델 업데이트 관련 정보를 기초로 ML 모델의 업데이트를 위한 동작을 수행할 수 있다. 예를 들어, ML 모델의 업데이트는 별도의 학습 서버에서 수행되거나 SMO 엔티티(100) 내부에서 수행될 수 있다.As the SMO entity 100 determines to update the ML model, it may perform operations for updating the ML model. For example, ML model updates can occur offline or along a learning pipeline. For example, the model learning module 314 may perform an operation to update the ML model based on model update-related information registered at the time of service registration. For example, updates to the ML model may be performed on a separate learning server or may be performed within the SMO entity 100.
SMO 엔티티(100)의 모델 학습 모듈(314)은 업데이트된 ML 모델을 대응하는 셀 그룹의 ML xApp으로 제공할 수 있다. 따라서, 도 9를 참조하면, 타겟 RIC(120)가 제1 그룹에 포함된 셀들을 제어하기 위해, 업데이트된 제1 ML 모델을 사용할 수 있다.The model learning module 314 of the SMO entity 100 may provide the updated ML model to the ML xApp of the corresponding cell group. Therefore, referring to FIG. 9, the target RIC 120 may use the updated first ML model to control cells included in the first group.
상술한 도 4 내지 도 9에서는 설명의 편의를 위해, 타겟 RIC(120)가 관리하는 4개의 셀의 도시하고 있으나, 셀의 수는 이에 한정되지 않는다. In FIGS. 4 to 9 described above, for convenience of explanation, four cells managed by the target RIC 120 are shown, but the number of cells is not limited thereto.
또한, 상술한 도 4 내지 도 9에서는, 복수의 셀이 그루핑되는 경우의 실시예들을 설명하고 있으나, 이에 한정되지 않는다. 예를 들어, 복수의 셀을 그루핑하지 않고, 모든 셀에 적용하는 슈퍼 ML 모델 또는 각 셀 별 ML 모델을 사용하는 경우에도, 상술한 실시예들 중 적어도 일부가 적용될 수 있다. 예를 들어, 복수의 셀 그룹 및 각 그룹에 대응하는 모델을 제공하지 않는 실시예에서도, 상술한 KPI 분석 모듈, 모델 드리프트 감지 모듈 및 모델 학습 모듈 등의 동작들이 수행될 수 있다.In addition, in FIGS. 4 to 9 described above, embodiments in which a plurality of cells are grouped are described, but the present invention is not limited thereto. For example, even when using a super ML model applied to all cells or an ML model for each cell without grouping a plurality of cells, at least some of the above-described embodiments can be applied. For example, even in an embodiment that does not provide a plurality of cell groups and a model corresponding to each group, operations such as the above-described KPI analysis module, model drift detection module, and model learning module can be performed.
예를 들어, SMO 엔티티(100)는 셀에 대한 RIC의 제어 동작에 따른 성능 정보(예: KPI 값) 변화를 모니터링함으로써, ML 모델의 업데이트 여부를 판정할 수 있다. 이 경우, SMO 엔티티(100)에서 셀 분류 모듈(312), 특성 드리프트 감지 모듈(324)과 같이 그루핑과 연관된 구성 요소 중 일부는 생략될 수 있다.For example, the SMO entity 100 may determine whether the ML model is updated by monitoring changes in performance information (e.g., KPI value) according to the control operation of the RIC for the cell. In this case, some of the components related to grouping, such as the cell classification module 312 and the characteristic drift detection module 324, may be omitted from the SMO entity 100.
도 10은 일 실시예에 따른 SMO 엔티티(100)의 블록도를 나타내는 예시이다.Figure 10 is an example of a block diagram of the SMO entity 100 according to an embodiment.
도 10의 SMO 엔티티(100)는 적어도 하나의 프로세서(1010) 및 메모리(1020)를 포함할 수 있다. 프로세서(1010)는 SMO 엔티티(100)에 포함된 구성들과 전기적으로 연결되어, SMO 엔티티(100)에 포함된 구성들의 제어 및/또는 통신에 관한 연산이나 데이터 처리를 실행할 수 있다. 일 실시예에 따르면, 프로세서(1010)는 다른 구성들 중 적어도 하나로부터 수신된 요청, 명령 또는 데이터를 메모리(1020)에 로드하여 처리하고, 결과 데이터를 메모리(1020)에 저장할 수 있다. 하나 이상의 실시예에 따르면, 프로세서(1010)는 CPU(central processing unit), AP(application processor), DSP(Digital Signal Processor) 등과 같은 범용 프로세서, GPU(graphic processing unit), VPU(Vision Processing Unit)와 같은 그래픽 전용 프로세서, 또는 NPU(neural processing unit)와 같은 인공지능 전용 프로세서 중 적어도 하나를 포함할 수 있다. SMO entity 100 of FIG. 10 may include at least one processor 1010 and memory 1020. The processor 1010 is electrically connected to components included in the SMO entity 100 and may perform operations or data processing related to control and/or communication of components included in the SMO entity 100. According to one embodiment, the processor 1010 may load a request, command, or data received from at least one of the other components into the memory 1020 to process it, and store the resulting data in the memory 1020. According to one or more embodiments, the processor 1010 includes a general-purpose processor such as a central processing unit (CPU), an application processor (AP), a digital signal processor (DSP), a graphic processing unit (GPU), and a vision processing unit (VPU). It may include at least one of a processor dedicated to graphics, or a processor dedicated to artificial intelligence, such as a neural processing unit (NPU).
프로세서(1010)는, 메모리에 저장된 기 정의된 동작 규칙 또는 인공지능 모델에 따라, 입력 데이터를 처리하도록 제어할 수 있다. 또는, 프로세서(1010)가 인공지능 전용 프로세서인 경우, 인공지능 전용 프로세서는, 특정 인공지능 모델의 처리에 특화된 하드웨어 구조로 설계될 수 있다.The processor 1010 can control input data to be processed according to predefined operation rules or artificial intelligence models stored in memory. Alternatively, when the processor 1010 is an artificial intelligence-specific processor, the artificial intelligence-specific processor may be designed with a hardware structure specialized for processing a specific artificial intelligence model.
기 정의된 동작 규칙 또는 인공지능 모델은 학습을 통해 만들어진 것을 특징으로 할 수 있다. 여기서, 학습을 통해 만들어진다는 것은, 기본 인공지능 모델이 학습 알고리즘에 의하여 다수의 학습 데이터들을 이용하여 학습됨으로써, 원하는 특성(또는, 목적)을 수행하도록 설정된 기 정의된 동작 규칙 또는 인공지능 모델이 만들어짐을 의미할 수 있다. 이러한 학습은 본 개시에 따른 인공지능이 수행되는 기기 자체에서 이루어질 수도 있고, 별도의 서버 및/또는 시스템을 통해 이루어 질 수도 있다. 학습 알고리즘의 예로는, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)이 있으나, 전술한 예에 한정되지 않는다.Predefined operation rules or artificial intelligence models may be characterized as being created through learning. Here, being created through learning means that the basic artificial intelligence model is learned using a large number of learning data by a learning algorithm, thereby creating a predefined operation rule or artificial intelligence model set to perform the desired characteristics (or purpose). It can mean a burden. This learning may be performed on the device itself that performs the artificial intelligence according to the present disclosure, or may be performed through a separate server and/or system. Examples of learning algorithms include supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning, but are not limited to the examples described above.
메모리(1020)는 프로세서(1010)와 전기적으로 연결되고 SMO 엔티티(100)에 포함된 구성들의 동작과 관련된 하나 이상의 모듈, 적어도 하나의 학습 모델, 프로그램, 명령어 또는 데이터를 저장할 수 있다. 예를 들어, 메모리(1020)는 프로세서(1010)의 처리 및 제어를 위한 하나 이상의 모듈, 학습 모델, 프로그램, 명령어 또는 데이터를 저장할 수 있다. 메모리(1020)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어, SD 또는 XD 메모리 등), 램(RAM, Random Access Memory) SRAM(Static Random Access Memory), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다.The memory 1020 is electrically connected to the processor 1010 and may store one or more modules, at least one learning model, program, command, or data related to the operation of components included in the SMO entity 100. For example, the memory 1020 may store one or more modules, learning models, programs, instructions, or data for processing and control of the processor 1010. The memory 1020 is a flash memory type, hard disk type, multimedia card micro type, card type memory (for example, SD or XD memory, etc.), RAM (Random Access Memory), SRAM (Static Random Access Memory), ROM (Read-Only Memory), EEPROM (Electrically Erasable Programmable Read-Only Memory), PROM (Programmable Read-Only Memory), magnetic memory, magnetic It may include at least one type of storage medium among disks and optical disks.
메모리(1020)에 포함된 모듈 또는 모델은, 프로세서(1010)의 제어 또는 명령에 따라 실행되며, 입력 데이터에 대한 출력 데이터를 도출하는 동작들을 수행하도록 구성된 프로그램, 모델 또는 알고리즘을 포함할 수 있다. 메모리(1020)는 도 3에 도시된 SMO 엔티티(100)의 모듈들 중 소프트웨어 모듈 및 소프트웨어 구성을 포함할 수 있다. 본 개시의 일 실시예에서, 메모리(1020)에 포함된 각 모듈은 프로세서(1010)에 의해 실행됨으로써, 동작을 수행할 수 있다. 예를 들어, 도 3에 도시된 SMO 엔티티(100)의 모듈들 증 적어도 일부는 별도의 하드웨어 모듈로 구현될 수도 있다. 예를 들어, 도 3에 도시된 SMO 엔티티(100)의 모듈들 증 적어도 일부는 소프트웨어 구성과 하드웨어 구성의 조합으로 구현될 수 있다. 메모리(1020)는 도 3에 도시된 SMO 엔티티(100)의 DB들을 포함할 수 있다.The module or model included in the memory 1020 is executed according to the control or command of the processor 1010 and may include a program, model, or algorithm configured to perform operations that derive output data for input data. The memory 1020 may include a software module and a software configuration among the modules of the SMO entity 100 shown in FIG. 3 . In one embodiment of the present disclosure, each module included in the memory 1020 may perform an operation by being executed by the processor 1010. For example, at least some of the modules of the SMO entity 100 shown in FIG. 3 may be implemented as separate hardware modules. For example, at least some of the modules of the SMO entity 100 shown in FIG. 3 may be implemented as a combination of software configuration and hardware configuration. Memory 1020 may include DBs of the SMO entity 100 shown in FIG. 3.
SMO 엔티티(100)의 메모리(1020)는 임의의 서비스에 대한 ML 모델을 포함할 수 있다. 예를 들어, 메모리(1020)는 ML 모델을 구성하는 복수의 파라미터 값(가중치 값)을 포함할 수 있다. ML 모델은, 임의의 서비스를 제공하기 위해 훈련된 학습 모델일 수 있다. 예를 들어, ML 모델은, 지도 학습, 비지도 학습, 준지도 학습 또는 강화 학습으로 훈련된 학습 모델일 수 있으나, 이에 한정되지 않는다. ML 모델은, 복수의 신경망 레이어들로 구성될 수 있다. 복수의 신경망 레이어들 각각은 복수의 가중치들(weight values)을 갖고 있으며, 이전(previous) 레이어의 연산 결과와 복수의 가중치들 간의 연산을 통해 신경망 연산을 수행할 수 있다. 복수의 신경망 레이어들이 갖고 있는 복수의 가중치들은 ML 모델의 학습 결과에 의해 최적화될 수 있다. 예를 들어, 학습 과정 동안 ML 모델에서 획득한 로스(loss) 값 또는 코스트(cost) 값이 감소 또는 최소화되도록 복수의 가중치들이 갱신될 수 있다. ML 모델은 심층 신경망(DNN: Deep Neural Network)를 포함할 수 있으며, 예를 들어, CNN (Convolutional Neural Network), DNN (Deep Neural Network), RNN (Recurrent Neural Network), RBM (Restricted Boltzmann Machine), DBN (Deep Belief Network), BRDNN(Bidirectional Recurrent Deep Neural Network) 또는 심층 Q-네트워크 (Deep Q-Networks) 등이 있으나, 이에 한정되지 않는다. Memory 1020 of SMO entity 100 may include an ML model for any service. For example, the memory 1020 may include a plurality of parameter values (weight values) constituting an ML model. An ML model may be a learning model trained to provide an arbitrary service. For example, the ML model may be, but is not limited to, a learning model trained using supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning. An ML model may be composed of multiple neural network layers. Each of the plurality of neural network layers has a plurality of weight values, and a neural network calculation can be performed through calculation between the calculation result of the previous layer and the plurality of weights. Multiple weights of multiple neural network layers can be optimized based on the learning results of the ML model. For example, a plurality of weights may be updated so that loss or cost values obtained from the ML model are reduced or minimized during the learning process. ML models may include deep neural networks (DNN), such as Convolutional Neural Network (CNN), Deep Neural Network (DNN), Recurrent Neural Network (RNN), Restricted Boltzmann Machine (RBM), These include, but are not limited to, Deep Belief Network (DBN), Bidirectional Recurrent Deep Neural Network (BRDNN), or Deep Q-Networks.
SMO 엔티티(100)는 도 8에 도시된 구성 요소들보다 더 많은 구성 요소들을 포함할 수 있다. 예를 들어, SMO 엔티티(100)는 다른 엔티티, 외부 장치와의 통신을 위한 통신 인터페이스(또는 통신 모듈)을 더 포함할 수 있다. 예를 들어, SMO 엔티티(100)는 다른 엔티티, 외부 장치와 신호를 송수신하기 위한 송수신부를 더 포함할 수 있다. SMO 엔티티(100)가 송수신부를 통해 송수신하는 신호는 제어 정보와 데이터를 포함할 수 있다. 송수신부는 유무선 송수신부를 포함할 수 있으며, 신호를 송수신하기 위한 다양한 구성을 포함할 수 있다. 예를 들어, 송수신부는 신호를 수신하여 프로세서(1010)로 출력하고, 프로세서(1010)로부터 출력된 신호를 전송할 수 있다. SMO entity 100 may include more components than those shown in FIG. 8 . For example, the SMO entity 100 may further include a communication interface (or communication module) for communication with other entities and external devices. For example, the SMO entity 100 may further include a transmitter and receiver for transmitting and receiving signals with other entities and external devices. Signals that the SMO entity 100 transmits and receives through the transmitter and receiver may include control information and data. The transceiver may include a wired or wireless transceiver, and may include various components for transmitting and receiving signals. For example, the transceiver may receive a signal, output it to the processor 1010, and transmit the signal output from the processor 1010.
적어도 하나의 프로세서(1010)는 도 1 내지 도 10에 개시된 적어도 하나의 실시예에 따라 SMO 엔티티(100)가 동작할 수 있도록 일련의 과정을 제어할 수 있다. 본 개시의 일 실시예에서, 적어도 하나의 프로세서(1010)는 메모리에 저장된 하나 이상의 명령어를 실행할 수 있다. 본 개시의 일 실시예에서, 적어도 하나의 프로세서(1010)는 하나 이상의 명령어를 실행함으로써, 동작을 수행할 수 있다.At least one processor 1010 may control a series of processes so that the SMO entity 100 can operate according to at least one embodiment disclosed in FIGS. 1 to 10. In one embodiment of the present disclosure, at least one processor 1010 may execute one or more instructions stored in memory. In one embodiment of the present disclosure, at least one processor 1010 may perform an operation by executing one or more instructions.
본 개시의 일 실시예에서, 적어도 하나의 프로세서(1010)는 제1 기계학습 모델을 상기 제1 기계학습 모델에 대응하는 적어도 하나의 셀을 제어하는 타겟 RIC에 제공할 수 있다. 본 개시의 일 실시예에서, 적어도 하나의 프로세서(1010)는 제1 시점의 상기 적어도 하나의 셀의 통신 성능을 나타내는 제1 성능 정보를 식별할 수 있다. 본 개시의 일 실시예에서, 적어도 하나의 프로세서(1010)는 상기 식별된 제1 성능 정보가 특정 조건을 만족하는지 여부를 판정할 수 있다. 본 개시의 일 실시예에서, 적어도 하나의 프로세서(1010)는 상기 식별된 제1 성능 정보가 상기 특정 조건을 만족하는 것으로 판정함에 기초하여, 상기 제1 기계학습 모델의 업데이트 여부를 결정할 수 있다. 예를 들어, 적어도 하나의 프로세서(1010)는 상기 식별된 제1 성능 정보가 상기 특정 조건을 만족하는 것으로 판정함에 응답하여, 상기 제1 기계학습 모델의 업데이트 여부를 결정할 수 있다. 예를 들어, 적어도 하나의 프로세서(1010)는 상기 식별된 제1 성능 정보가 상기 특정 조건을 만족하는 경우, 상기 제1 기계학습 모델의 업데이트 여부를 결정할 수 있다. 본 개시의 일 실시예에서, 상기 제1 시점은, 상기 타겟 RIC가 상기 적어도 하나의 셀에 대하여 상기 제1 기계학습 모델 기반으로 제2 시점에 수행한 제어 동작 이후일 수 있다.In one embodiment of the present disclosure, at least one processor 1010 may provide a first machine learning model to a target RIC that controls at least one cell corresponding to the first machine learning model. In one embodiment of the present disclosure, at least one processor 1010 may identify first performance information indicating communication performance of the at least one cell at a first time. In one embodiment of the present disclosure, at least one processor 1010 may determine whether the identified first performance information satisfies a specific condition. In one embodiment of the present disclosure, at least one processor 1010 may determine whether to update the first machine learning model based on determining that the identified first performance information satisfies the specific condition. For example, the at least one processor 1010 may determine whether to update the first machine learning model in response to determining that the identified first performance information satisfies the specific condition. For example, when the identified first performance information satisfies the specific condition, at least one processor 1010 may determine whether to update the first machine learning model. In one embodiment of the present disclosure, the first time point may be after the control operation performed by the target RIC at the second time point based on the first machine learning model for the at least one cell.
본 개시의 일 실시예에서, 적어도 하나의 프로세서(1010)는 상기 제1 시점 이전의 상기 적어도 하나의 셀의 통신 성능을 나타내는 제2 성능 정보 및 상기 제1 성능 정보를 기초로 상기 적어도 하나의 셀의 성능 변화량을 식별할 수 있다. 예를 들어, 적어도 하나의 프로세서(1010)는 상기 제2 성능 정보 및 상기 제1 성능 정보를 이용하여 상기 적어도 하나의 셀의 성능 변화량을 식별할 수 있다. 본 개시의 일 실시예에서, 적어도 하나의 프로세서(1010)는 상기 성능 변화량이 상기 특정 조건을 만족하는지 여부를 판정할 수 있다.In one embodiment of the present disclosure, at least one processor 1010 is configured to configure the at least one cell based on the first performance information and second performance information indicating communication performance of the at least one cell before the first time point. The amount of change in performance can be identified. For example, at least one processor 1010 may identify the amount of change in performance of the at least one cell using the second performance information and the first performance information. In one embodiment of the present disclosure, at least one processor 1010 may determine whether the performance change satisfies the specific condition.
본 개시의 일 실시예에서, 적어도 하나의 프로세서(1010)는 상기 적어도 하나의 셀의 그룹을 제1 그룹으로 결정할 수 있다. 본 개시의 일 실시예에서, 상기 제1 기계학습 모델은, 상기 적어도 하나의 셀이 포함된 제1 그룹에 대응하는 기계학습 모델일 수 있다.In one embodiment of the present disclosure, at least one processor 1010 may determine the group of the at least one cell as the first group. In one embodiment of the present disclosure, the first machine learning model may be a machine learning model corresponding to the first group including the at least one cell.
본 개시의 일 실시예에서, 적어도 하나의 프로세서(1010)는 상기 제어 동작에 대한 상기 제1 기계학습 모델의 입력 데이터 또는 출력 데이터 중 적어도 하나를 포함하는 추론 정보를 식별할 수 있다. 본 개시의 일 실시예에서, 적어도 하나의 프로세서(1010)는 상기 추론 정보를 기초로 상기 적어도 하나의 셀의 환경 변화 여부를 판정할 수 있다. 예를 들어, 적어도 하나의 프로세서(1010)는 상기 추론 정보를 이용하여 상기 적어도 하나의 셀의 환경 변화 여부를 판정할 수 있다.In one embodiment of the present disclosure, at least one processor 1010 may identify inference information including at least one of input data or output data of the first machine learning model for the control operation. In one embodiment of the present disclosure, at least one processor 1010 may determine whether the environment of the at least one cell changes based on the inference information. For example, at least one processor 1010 may determine whether the environment of the at least one cell has changed using the inference information.
본 개시의 일 실시예에서, 적어도 하나의 프로세서(1010)는 상기 추론 정보가 상기 제1 그룹에 대한 기준 데이터 범위를 벗어나는 것으로 판정함에 기초하여, 상기 적어도 하나의 셀의 환경이 변화한 것으로 결정할 수 있다. 예를 들어, 적어도 하나의 프로세서(1010)는 상기 추론 정보가 상기 제1 그룹에 대한 기준 데이터 범위를 벗어나는 것으로 판정함에 응답하여, 상기 적어도 하나의 셀의 환경이 변화한 것으로 결정할 수 있다. 예를 들어, 적어도 하나의 프로세서(1010)는 상기 추론 정보가 상기 제1 그룹에 대한 기준 데이터 범위를 벗어나는 경우, 상기 적어도 하나의 셀의 환경이 변화한 것으로 결정할 수 있다.In one embodiment of the present disclosure, the at least one processor 1010 may determine that the environment of the at least one cell has changed, based on determining that the inference information is outside the reference data range for the first group. there is. For example, in response to determining that the inference information is outside the reference data range for the first group, the at least one processor 1010 may determine that the environment of the at least one cell has changed. For example, when the inference information is outside the reference data range for the first group, the at least one processor 1010 may determine that the environment of the at least one cell has changed.
본 개시의 일 실시예에서, 적어도 하나의 프로세서(1010)는 상기 적어도 하나의 셀의 환경이 변화한 것으로 판정함에 기초하여, 상기 적어도 하나의 셀의 그룹을 재결정할 수 있다. 예를 들어, 적어도 하나의 프로세서(1010)는 상기 적어도 하나의 셀의 환경이 변화한 것으로 판정함에 응답하여, 상기 적어도 하나의 셀의 그룹을 재결정할 수 있다. 예를 들어, 상기 적어도 하나의 셀의 환경이 변화한 경우, 적어도 하나의 프로세서(1010)는 상기 적어도 하나의 셀의 그룹을 재결정할 수 있다.In one embodiment of the present disclosure, at least one processor 1010 may re-determine the group of the at least one cell based on determining that the environment of the at least one cell has changed. For example, the at least one processor 1010 may re-determine the group of the at least one cell in response to determining that the environment of the at least one cell has changed. For example, when the environment of the at least one cell changes, the at least one processor 1010 may re-determine the group of the at least one cell.
본 개시의 일 실시예에서, 적어도 하나의 프로세서(1010)는 상기 적어도 하나의 셀의 환경이 변화한 것으로 판정함에 기초하여, 상기 제1 기계학습 모델의 업데이트 여부를 결정할 수 있다. 예를 들어, 적어도 하나의 프로세서(1010)는 상기 적어도 하나의 셀의 환경이 변화한 것으로 판정함에 응답하여, 상기 제1 기계학습 모델의 업데이트 여부를 결정할 수 있다. 예를 들어, 상기 적어도 하나의 셀의 환경이 변화한 경우, 적어도 하나의 프로세서(1010)는 상기 제1 기계학습 모델의 업데이트 여부를 결정할 수 있다.In one embodiment of the present disclosure, at least one processor 1010 may determine whether to update the first machine learning model based on determining that the environment of the at least one cell has changed. For example, the at least one processor 1010 may determine whether to update the first machine learning model in response to determining that the environment of the at least one cell has changed. For example, when the environment of the at least one cell changes, at least one processor 1010 may determine whether to update the first machine learning model.
본 개시의 일 실시예에서, 적어도 하나의 프로세서(1010)는 상기 적어도 하나의 셀의 그룹을 상기 제1 그룹으로 재결정함에 기초하여, 상기 제1 기계학습 모델의 업데이트를 결정할 수 있다. 예를 들어, 적어도 하나의 프로세서(1010)는 상기 적어도 하나의 셀의 그룹을 상기 제1 그룹으로 재결정함에 응답하여, 상기 제1 기계학습 모델의 업데이트를 결정할 수 있다. 예를 들어, 상기 적어도 하나의 셀의 그룹을 상기 제1 그룹으로 재결정하는 경우, 적어도 하나의 프로세서(1010)는 상기 제1 기계학습 모델의 업데이트를 결정할 수 있다.In one embodiment of the present disclosure, at least one processor 1010 may determine an update of the first machine learning model based on re-determining the group of the at least one cell as the first group. For example, the at least one processor 1010 may determine an update of the first machine learning model in response to re-determining the group of the at least one cell as the first group. For example, when re-determining the group of the at least one cell as the first group, the at least one processor 1010 may determine an update of the first machine learning model.
본 개시의 일 실시예에서, 적어도 하나의 프로세서(1010)는 상기 적어도 하나의 셀의 그룹을 제2 그룹으로 재결정함에 기초하여, 상기 제1 기계학습 모델의 동결을 결정할 수 있다. 예를 들어, 적어도 하나의 프로세서(1010)는 상기 적어도 하나의 셀의 그룹을 제2 그룹으로 재결정함에 응답하여, 상기 제1 기계학습 모델의 동결을 결정할 수 있다. 예를 들어, 상기 적어도 하나의 셀의 그룹을 제2 그룹으로 재결정하는 경우, 적어도 하나의 프로세서(1010)는 상기 제1 기계학습 모델의 동결을 결정할 수 있다.In one embodiment of the present disclosure, at least one processor 1010 may determine to freeze the first machine learning model based on re-determining the group of the at least one cell into the second group. For example, the at least one processor 1010 may determine to freeze the first machine learning model in response to re-determining the group of the at least one cell into the second group. For example, when re-determining the group of the at least one cell as the second group, the at least one processor 1010 may determine to freeze the first machine learning model.
본 개시의 일 실시예에서, 상기 제2 그룹에 대응하는 기계학습 모델은 제2 기계학습 모델일 수 있다. 예를 들어, 제2 기계학습 모델과 제1 기계학습 모델은 동일한 서비스에 대한 모델일 수 있다. 예를 들어, 제2 기계학습 모델과 제1 기계학습 모델은 상이한 학습 데이터로 학습된 모델일 수 있다.In one embodiment of the present disclosure, the machine learning model corresponding to the second group may be a second machine learning model. For example, the second machine learning model and the first machine learning model may be models for the same service. For example, the second machine learning model and the first machine learning model may be models learned with different training data.
본 개시의 일 실시예에서, 적어도 하나의 프로세서(1010)는 상기 적어도 하나의 셀의 환경이 변화하지 않은 것으로 판정함에 기초하여, 상기 제1 기계학습 모델의 업데이트를 결정할 수 있다. 예를 들어, 적어도 하나의 프로세서(1010)는 상기 적어도 하나의 셀의 환경이 변화하지 않은 것으로 판정함에 응답하여, 상기 제1 기계학습 모델의 업데이트를 결정할 수 있다. 예를 들어, 상기 적어도 하나의 셀의 환경이 변화하지 않은 경우, 적어도 하나의 프로세서(1010)는 상기 제1 기계학습 모델의 업데이트를 결정할 수 있다.In one embodiment of the present disclosure, at least one processor 1010 may determine an update of the first machine learning model based on determining that the environment of the at least one cell has not changed. For example, the at least one processor 1010 may determine to update the first machine learning model in response to determining that the environment of the at least one cell has not changed. For example, when the environment of the at least one cell does not change, the at least one processor 1010 may determine to update the first machine learning model.
본 개시의 일 실시예에서, SMO 엔티티가 기계학습 모델의 업데이트 여부를 결정하는 방법은, 제1 기계학습 모델을 상기 제1 기계학습 모델에 대응하는 적어도 하나의 셀을 제어하는 타겟 RIC에 제공하는 단계를 포함할 수 있다. 본 개시의 일 실시예에서, SMO 엔티티가 기계학습 모델의 업데이트 여부를 결정하는 방법은, 제1 시점의 상기 적어도 하나의 셀의 통신 성능을 나타내는 제1 성능 정보를 식별하는 단계를 포함할 수 있다. 본 개시의 일 실시예에서, SMO 엔티티가 기계학습 모델의 업데이트 여부를 결정하는 방법은, 상기 식별된 제1 성능 정보가 특정 조건을 만족하는지 여부를 판정하는 단계를 포함할 수 있다. 본 개시의 일 실시예에서, SMO 엔티티가 기계학습 모델의 업데이트 여부를 결정하는 방법은, 상기 식별된 제1 성능 정보가 상기 특정 조건을 만족하는 것으로 판정함에 기초하여, 상기 제1 기계학습 모델의 업데이트 여부를 결정하는 단계를 포함할 수 있다. 본 개시의 일 실시예에서, 상기 제1 시점은, 상기 타겟 RIC(120)가 상기 적어도 하나의 셀에 대하여 상기 제1 기계학습 모델 기반으로 제2 시점에 수행한 제어 동작 이후일 수 있다.In one embodiment of the present disclosure, the method for the SMO entity to determine whether to update the machine learning model includes providing a first machine learning model to a target RIC that controls at least one cell corresponding to the first machine learning model. May include steps. In one embodiment of the present disclosure, a method for an SMO entity to determine whether to update a machine learning model may include identifying first performance information indicating communication performance of the at least one cell at a first time. . In one embodiment of the present disclosure, a method for an SMO entity to determine whether to update a machine learning model may include determining whether the identified first performance information satisfies a specific condition. In one embodiment of the present disclosure, the method for the SMO entity to determine whether to update the machine learning model is based on determining that the identified first performance information satisfies the specific condition. It may include a step of determining whether to update. In one embodiment of the present disclosure, the first time point may be after the control operation performed by the target RIC 120 at the second time point based on the first machine learning model for the at least one cell.
본 개시의 일 실시예에서, 상기 제1 성능 정보를 식별하는 단계는, 상기 제1 시점 이전의 상기 적어도 하나의 셀의 통신 성능을 나타내는 제2 성능 정보 및 상기 제1 성능 정보를 기초로 상기 적어도 하나의 셀의 성능 변화량을 식별하는 단계를 포함할 수 있다. 본 개시의 일 실시예에서, 상기 제1 성능 정보가 특정 조건을 만족하는지 여부를 판정하는 단계는, 상기 성능 변화량이 상기 특정 조건을 만족하는지 여부를 판정하는 단계를 포함할 수 있다.In one embodiment of the present disclosure, the step of identifying the first performance information includes the at least one cell based on the first performance information and second performance information indicating communication performance of the at least one cell before the first time point. It may include identifying the amount of change in performance of one cell. In one embodiment of the present disclosure, determining whether the first performance information satisfies a specific condition may include determining whether the performance change amount satisfies the specific condition.
본 개시의 일 실시예에서, 상기 방법은 상기 적어도 하나의 셀의 그룹을 제1 그룹으로 결정하는 단계를 포함할 수 있다. 본 개시의 일 실시예에서, 상기 제1 기계학습 모델은, 상기 적어도 하나의 셀이 포함된 제1 그룹에 대응하는 기계학습 모델일 수 있다. In one embodiment of the present disclosure, the method may include determining the group of the at least one cell as the first group. In one embodiment of the present disclosure, the first machine learning model may be a machine learning model corresponding to the first group including the at least one cell.
본 개시의 일 실시예에서, 상기 방법은 상기 제어 동작에 대한 상기 제1 기계학습 모델의 입력 데이터 또는 출력 데이터 중 적어도 하나를 포함하는 추론 정보를 식별하는 단계를 포함할 수 있다. 본 개시의 일 실시예에서, 상기 방법은, 상기 추론 정보를 기초로 상기 적어도 하나의 셀의 환경 변화 여부를 판정하는 단계를 포함할 수 있다. In one embodiment of the present disclosure, the method may include identifying inference information including at least one of input data or output data of the first machine learning model for the control operation. In one embodiment of the present disclosure, the method may include determining whether the environment of the at least one cell has changed based on the inference information.
본 개시의 일 실시예에서, 상기 적어도 하나의 셀의 환경 변화 여부를 판정하는 단계는, 상기 추론 정보가 상기 제1 그룹에 대한 기준 데이터 범위를 벗어나는 것으로 판정함에 기초하여, 상기 적어도 하나의 셀의 환경이 변화한 것으로 결정하는 단계를 포함할 수 있다.In one embodiment of the present disclosure, the step of determining whether the environment of the at least one cell changes includes determining that the inference information is outside the reference data range for the first group, It may include determining that the environment has changed.
본 개시의 일 실시예에서, 상기 방법은 상기 적어도 하나의 셀의 환경이 변화한 것으로 판정함에 기초하여, 상기 적어도 하나의 셀의 그룹을 재결정하는 단계를 포함할 수 있다.In one embodiment of the present disclosure, the method may include re-determining the group of the at least one cell based on determining that the environment of the at least one cell has changed.
본 개시의 일 실시예에서, 상기 식별된 제1 성능 정보가 상기 특정 조건을 만족하는 것으로 판정함에 기초하여, 상기 제1 기계학습 모델의 업데이트 여부를 결정하는 단계는, 상기 적어도 하나의 셀의 환경이 변화한 것으로 판정함에 기초하여, 상기 제1 기계학습 모델의 업데이트 여부를 결정하는 단계를 포함할 수 있다.In one embodiment of the present disclosure, the step of determining whether to update the first machine learning model based on determining that the identified first performance information satisfies the specific condition includes the environment of the at least one cell. Based on determining that this has changed, it may include determining whether to update the first machine learning model.
본 개시의 일 실시예에서, 상기 적어도 하나의 셀의 환경이 변화한 것으로 판정함에 기초하여, 상기 제1 기계학습 모델의 업데이트 여부를 결정하는 단계는, 상기 적어도 하나의 셀의 그룹을 상기 제1 그룹으로 재결정함에 기초하여, 상기 제1 기계학습 모델의 업데이트를 결정하는 단계를 포함할 수 있다.In one embodiment of the present disclosure, the step of determining whether to update the first machine learning model based on determining that the environment of the at least one cell has changed includes dividing the group of the at least one cell into the first Based on the group re-determination, determining an update to the first machine learning model may be included.
본 개시의 일 실시예에서, 상기 적어도 하나의 셀의 환경이 변화한 것으로 판정함에 기초하여, 상기 제1 기계학습 모델의 업데이트 여부를 결정하는 단계는, 상기 적어도 하나의 셀의 그룹을 제2 그룹으로 재결정함에 기초하여, 상기 제1 기계학습 모델의 동결을 결정하는 단계를 포함할 수 있다. 본 개시의 일 실시예에서, 상기 제2 그룹에 대응하는 기계학습 모델은 제2 기계학습 모델일 수 있다.In one embodiment of the present disclosure, the step of determining whether to update the first machine learning model based on determining that the environment of the at least one cell has changed includes dividing the group of the at least one cell into a second group. It may include determining to freeze the first machine learning model based on the re-determination. In one embodiment of the present disclosure, the machine learning model corresponding to the second group may be a second machine learning model.
본 개시의 일 실시예에서, 상기 식별된 제1 성능 정보가 상기 특정 조건을 만족하는 것으로 판정함에 기초하여, 상기 제1 기계학습 모델의 업데이트 여부를 결정하는 단계는, 상기 적어도 하나의 셀의 환경이 변화하지 않은 것으로 판정함에 기초하여, 상기 제1 기계학습 모델의 업데이트를 결정하는 단계를 포함할 수 있다.In one embodiment of the present disclosure, the step of determining whether to update the first machine learning model based on determining that the identified first performance information satisfies the specific condition includes the environment of the at least one cell. Based on determining that this has not changed, determining an update to the first machine learning model may be included.
본 개시의 청구항 또는 명세서에 기재된 실시 예들에 따른 방법들은 하드웨어, 소프트웨어, 또는 하드웨어와 소프트웨어의 조합의 형태로 구현될(implemented) 수 있다. 소프트웨어로 구현하는 경우, 하나 이상의 프로그램(소프트웨어 모듈)을 저장하는 컴퓨터 판독 가능 저장 매체가 제공될 수 있다. 컴퓨터 판독 가능 저장 매체에 저장되는 하나 이상의 프로그램은, 전자 장치(device) 내의 하나 이상의 프로세서에 의해 실행 가능하도록 구성된다(configured for execution). 하나 이상의 프로그램은, 전자 장치로 하여금 본 개시의 청구항 또는 명세서에 기재된 실시 예들에 따른 방법들을 실행하게 하는 명령어(instructions)를 포함한다.Methods according to embodiments described in the claims or specification of the present disclosure may be implemented in the form of hardware, software, or a combination of hardware and software. When implemented as software, a computer-readable storage medium that stores one or more programs (software modules) may be provided. One or more programs stored in a computer-readable storage medium are configured to be executable by one or more processors in an electronic device (configured for execution). One or more programs include instructions that cause the electronic device to execute methods according to embodiments described in the claims or specification of the present disclosure.
이러한 프로그램(소프트웨어 모듈, 소프트웨어)은 랜덤 액세스 메모리(random access memory), 플래시(flash) 메모리를 포함하는 불휘발성(non-volatile) 메모리, 롬(read only memory, ROM), 전기적 삭제가능 프로그램가능 롬(electrically erasable programmable read only memory, EEPROM), 자기 디스크 저장 장치(magnetic disc storage device), 컴팩트 디스크 롬(compact disc-ROM, CD-ROM), 디지털 다목적 디스크(digital versatile discs, DVDs) 또는 다른 형태의 광학 저장 장치, 마그네틱 카세트(magnetic cassette)에 저장될 수 있다. 또는, 이들의 일부 또는 전부의 조합으로 구성된 메모리에 저장될 수 있다. 또한, 각각의 구성 메모리는 다수 개 포함될 수도 있다. These programs (software modules, software) may include random access memory, non-volatile memory, including flash memory, read only memory (ROM), and electrically erasable programmable ROM. (electrically erasable programmable read only memory, EEPROM), magnetic disc storage device, compact disc-ROM (CD-ROM), digital versatile discs (DVDs), or other types of disk storage. It can be stored in an optical storage device or magnetic cassette. Alternatively, it may be stored in a memory consisting of a combination of some or all of these. Additionally, multiple configuration memories may be included.
또한, 프로그램은 인터넷(Internet), 인트라넷(Intranet), LAN(local area network), WAN(wide area network), 또는 SAN(storage area network)과 같은 통신 네트워크, 또는 이들의 조합으로 구성된 통신 네트워크를 통하여 접근(access)할 수 있는 부착 가능한(attachable) 저장 장치(storage device)에 저장될 수 있다. 이러한 저장 장치는 외부 포트를 통하여 본 개시의 실시 예를 수행하는 장치에 접속할 수 있다. 또한, 통신 네트워크상의 별도의 저장장치가 본 개시의 실시 예를 수행하는 장치에 접속할 수도 있다.In addition, the program may be distributed through a communication network such as the Internet, an intranet, a local area network (LAN), a wide area network (WAN), or a storage area network (SAN), or a combination thereof. It may be stored on an attachable storage device that is accessible. This storage device can be connected to a device performing an embodiment of the present disclosure through an external port. Additionally, a separate storage device on a communication network may be connected to the device performing an embodiment of the present disclosure.
모든 셀의 환경을 다 커버할 수 있는 슈퍼 모델을 확보하고 유지하는 것은 모델 개발 기간, 모델의 크기를 크게 할 수 있다. 또한, 모든 셀에 대한 최적의 제어를 보장할 수 없다. 각 셀 별 모델을 각각 학습하여 관리하는 것은, RIC 및 SMO의 리소스 사용 및 관리/운용 비용을 증가시킬 수 있다. 일 실시예에 따르면, 셀을 서비스 별 특징으로 그룹핑하여 복수의 ML xApp을 사용함으로써, 보다 최적화된 제어를 도모하고 리소스 절약을 도모할 수 있다. 즉, 복수의 셀을 셀 그룹으로 관리함으로써 리소스 및 관리/운용 비용이 절감될 수 있다.Securing and maintaining a super model that can cover the environment of all cells can increase the model development period and model size. Additionally, optimal control of all cells cannot be guaranteed. Learning and managing models for each cell separately can increase resource use and management/operation costs of RIC and SMO. According to one embodiment, cells can be grouped by service-specific features and multiple ML xApps can be used to achieve more optimized control and save resources. In other words, resources and management/operation costs can be reduced by managing multiple cells as a cell group.
본 개시의 일 실시예에서, ML 모델 성능 모니터링을 통해 그룹 정보를 업데이트할 수 있다. 즉, 모델 성능을 모니터링하여, 업데이트가 필요한 시점에 ML 모델을 업데이트함으로써 비정상 동작(즉, 성능이 좋지 않은 동작) 시간을 최소화할 수 있다. 또한, 업데이트가 필요 없는 때에는 업데이트를 진행하지 않음으로써 리소스 사용을 절감할 수 있다.In one embodiment of the present disclosure, group information can be updated through ML model performance monitoring. In other words, by monitoring model performance and updating the ML model when an update is needed, the time of abnormal operation (i.e., operation with poor performance) can be minimized. Additionally, resource use can be reduced by not performing updates when updates are not needed.
본 개시의 일 실시예에서, ML 모델의 재학습과 업데이트 전에, 각 셀의 환경 정보를 이용하여 그룹 정보를 갱신함으로써, 셀의 변화에 맞는 모델을 재할당할 수 있으므로 관리 및 운용 비용을 절감할 수 있다.In one embodiment of the present disclosure, before retraining and updating the ML model, the group information is updated using the environment information of each cell, thereby reassigning the model to suit changes in the cell, thereby reducing management and operation costs. You can.
기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, ‘비일시적 저장매체'는 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다. 예로, '비일시적 저장매체'는 데이터가 임시적으로 저장되는 버퍼를 포함할 수 있다.A storage medium that can be read by a device may be provided in the form of a non-transitory storage medium. Here, 'non-transitory storage medium' only means that it is a tangible device and does not contain signals (e.g. electromagnetic waves). This term refers to cases where data is semi-permanently stored in a storage medium and temporary storage media. It does not distinguish between cases where it is stored as . For example, a 'non-transitory storage medium' may include a buffer where data is temporarily stored.
일 실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어를 통해 또는 두개의 사용자 장치들(예: 스마트폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품(예: 다운로더블 앱(downloadable app))의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.According to one embodiment, methods according to various embodiments disclosed in this document may be provided and included in a computer program product. Computer program products are commodities and can be traded between sellers and buyers. A computer program product may be distributed in the form of a machine-readable storage medium (e.g. compact disc read only memory (CD-ROM)) or through an application store or between two user devices (e.g. smartphones). It may be distributed in person or online (e.g., downloaded or uploaded). In the case of online distribution, at least a portion of the computer program product (e.g., a downloadable app) is stored on a machine-readable storage medium, such as the memory of a manufacturer's server, an application store's server, or a relay server. It can be temporarily stored or created temporarily.

Claims (15)

  1. SMO(service management and orchestration) 엔티티(100)가 기계학습 모델의 업데이트 여부를 결정하는 방법에 있어서,In the method of the SMO (service management and orchestration) entity 100 determining whether to update the machine learning model,
    제1 기계학습 모델을 상기 제1 기계학습 모델에 대응하는 적어도 하나의 셀을 제어하는 타겟 RIC(radio access network intelligence controller)(120)에 제공하는 단계;Providing a first machine learning model to a target radio access network intelligence controller (RIC) 120 that controls at least one cell corresponding to the first machine learning model;
    제1 시점의 상기 적어도 하나의 셀의 통신 성능을 나타내는 제1 성능 정보를 식별하는 단계;Identifying first performance information indicating communication performance of the at least one cell at a first time;
    상기 식별된 제1 성능 정보가 특정 조건을 만족하는지 여부를 판정하는 단계; 및determining whether the identified first performance information satisfies a specific condition; and
    상기 식별된 제1 성능 정보가 상기 특정 조건을 만족하는 것으로 판정함에 기초하여, 상기 제1 기계학습 모델의 업데이트 여부를 결정하는 단계를 포함하고Based on determining that the identified first performance information satisfies the specific condition, determining whether to update the first machine learning model;
    상기 제1 시점은, 상기 타겟 RIC(120)가 상기 적어도 하나의 셀에 대하여 상기 제1 기계학습 모델 기반으로 제2 시점에 수행한 제어 동작 이후인, 방법.The first time point is after the control operation performed by the target RIC 120 at the second time point based on the first machine learning model for the at least one cell.
  2. 제1항에 있어서,According to paragraph 1,
    상기 제1 성능 정보를 식별하는 단계는,The step of identifying the first performance information includes:
    상기 제1 시점 이전의 상기 적어도 하나의 셀의 통신 성능을 나타내는 제2 성능 정보 및 상기 제1 성능 정보를 기초로 상기 적어도 하나의 셀의 성능 변화량을 식별하는 단계를 포함하고,Comprising: identifying a performance change amount of the at least one cell based on the first performance information and second performance information indicating communication performance of the at least one cell before the first time point,
    상기 제1 성능 정보가 특정 조건을 만족하는지 여부를 판정하는 단계는,The step of determining whether the first performance information satisfies a specific condition is,
    상기 성능 변화량이 상기 특정 조건을 만족하는지 여부를 판정하는 단계를 포함하는, 방법.Method comprising determining whether the amount of performance change satisfies the specific condition.
  3. 제1항 또는 제2항에 있어서,According to claim 1 or 2,
    상기 적어도 하나의 셀의 그룹을 제1 그룹으로 결정하는 단계를 더 포함하고,Further comprising determining a group of the at least one cell as a first group,
    상기 제1 기계학습 모델은, 상기 적어도 하나의 셀이 포함된 제1 그룹에 대응하는 기계학습 모델인, 방법.The first machine learning model is a machine learning model corresponding to the first group including the at least one cell.
  4. 제1항 내지 3항 중 어느 한 항에 있어서,According to any one of claims 1 to 3,
    상기 제어 동작에 대한 상기 제1 기계학습 모델의 입력 데이터 또는 출력 데이터 중 적어도 하나를 포함하는 추론 정보를 식별하는 단계; 및identifying inference information including at least one of input data or output data of the first machine learning model for the control operation; and
    상기 추론 정보를 기초로 상기 적어도 하나의 셀의 환경 변화 여부를 판정하는 단계를 더 포함하는, 방법.The method further includes determining whether the environment of the at least one cell has changed based on the inference information.
  5. 제4항에 있어서,According to clause 4,
    상기 적어도 하나의 셀의 환경 변화 여부를 판정하는 단계는,The step of determining whether the environment of the at least one cell has changed,
    상기 추론 정보가 상기 제1 그룹에 대한 기준 데이터 범위를 벗어나는 것으로 판정함에 기초하여, 상기 적어도 하나의 셀의 환경이 변화한 것으로 결정하는 단계를 포함하는, 방법.Based on determining that the inference information is outside the reference data range for the first group, determining that the environment of the at least one cell has changed.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서,According to any one of claims 1 to 5,
    상기 적어도 하나의 셀의 환경이 변화한 것으로 판정함에 기초하여, 상기 적어도 하나의 셀의 그룹을 재결정하는 단계를 더 포함하는, 방법.The method further includes re-determining the group of the at least one cell based on determining that the environment of the at least one cell has changed.
  7. 제1항 내지 제6항 중 어느 한 항에 있어서,According to any one of claims 1 to 6,
    상기 식별된 제1 성능 정보가 상기 특정 조건을 만족하는 것으로 판정함에 기초하여, 상기 제1 기계학습 모델의 업데이트 여부를 결정하는 단계는,The step of determining whether to update the first machine learning model based on determining that the identified first performance information satisfies the specific condition includes,
    상기 적어도 하나의 셀의 환경이 변화한 것으로 판정함에 기초하여, 상기 제1 기계학습 모델의 업데이트 여부를 결정하는 단계를 포함하는, 방법.A method comprising determining whether to update the first machine learning model based on determining that the environment of the at least one cell has changed.
  8. 제7항에 있어서,In clause 7,
    상기 적어도 하나의 셀의 환경이 변화한 것으로 판정함에 기초하여, 상기 제1 기계학습 모델의 업데이트 여부를 결정하는 단계는,The step of determining whether to update the first machine learning model based on determining that the environment of the at least one cell has changed includes:
    상기 적어도 하나의 셀의 그룹을 상기 제1 그룹으로 재결정함에 기초하여, 상기 제1 기계학습 모델의 업데이트를 결정하는 단계를 포함하는, 방법.Based on re-determining the group of the at least one cell to the first group, determining an update to the first machine learning model.
  9. 제7항 또는 제8항에 있어서,According to paragraph 7 or 8,
    상기 적어도 하나의 셀의 환경이 변화한 것으로 판정함에 기초하여, 상기 제1 기계학습 모델의 업데이트 여부를 결정하는 단계는,The step of determining whether to update the first machine learning model based on determining that the environment of the at least one cell has changed includes:
    상기 적어도 하나의 셀의 그룹을 제2 그룹으로 재결정함에 기초하여, 상기 제1 기계학습 모델의 동결을 결정하는 단계를 포함하고,Determining to freeze the first machine learning model based on re-determining the group of at least one cell into a second group,
    상기 제2 그룹에 대응하는 기계학습 모델은 제2 기계학습 모델인, 방법.The method wherein the machine learning model corresponding to the second group is a second machine learning model.
  10. 제1항 내지 제9항 중 어느 한 항에 있어서,According to any one of claims 1 to 9,
    상기 식별된 제1 성능 정보가 상기 특정 조건을 만족하는 것으로 판정함에 기초하여, 상기 제1 기계학습 모델의 업데이트 여부를 결정하는 단계는,The step of determining whether to update the first machine learning model based on determining that the identified first performance information satisfies the specific condition includes,
    상기 적어도 하나의 셀의 환경이 변화하지 않은 것으로 판정함에 기초하여, 상기 제1 기계학습 모델의 업데이트를 결정하는 단계를 포함하는, 방법.Based on determining that the environment of the at least one cell has not changed, determining an update to the first machine learning model.
  11. 제1항 내지 제10항 중 어느 한 항의 방법을 컴퓨터에서 수행하기 위한 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체.A computer-readable recording medium on which a program for performing the method of any one of claims 1 to 10 is recorded on a computer.
  12. SMO 엔티티(service management and orchestration entity)(100)에 있어서,In the SMO entity (service management and orchestration entity) 100,
    하나 이상의 명령어를 저장하는 메모리(1020); 및A memory 1020 that stores one or more instructions; and
    상기 메모리(1020)에 저장된 상기 하나 이상의 명령어를 실행하는 적어도 하나의 프로세서(1010)를 포함하고,At least one processor 1010 that executes the one or more instructions stored in the memory 1020,
    상기 적어도 하나의 프로세서(1010)는 상기 하나 이상의 명령어(instruction)를 실행함으로써,The at least one processor 1010 executes the one or more instructions,
    제1 기계학습 모델을 상기 제1 기계학습 모델에 대응하는 적어도 하나의 셀을 제어하는 타겟 RIC(radio access network intelligence controller)(120)에 제공하고,Providing a first machine learning model to a target RIC (radio access network intelligence controller) 120 that controls at least one cell corresponding to the first machine learning model,
    제1 시점의 상기 적어도 하나의 셀의 통신 성능을 나타내는 제1 성능 정보를 식별하고,Identify first performance information indicating communication performance of the at least one cell at a first point in time,
    상기 식별된 제1 성능 정보가 특정 조건을 만족하는지 여부를 판정하고,Determine whether the identified first performance information satisfies a specific condition,
    상기 식별된 제1 성능 정보가 상기 특정 조건을 만족하는 것으로 판정함에 기초하여, 상기 제1 기계학습 모델의 업데이트 여부를 결정하고,Based on determining that the identified first performance information satisfies the specific condition, determine whether to update the first machine learning model,
    상기 제1 시점은, 상기 타겟 RIC(120)가 상기 적어도 하나의 셀에 대하여 상기 제1 기계학습 모델 기반으로 제2 시점에 수행한 제어 동작 이후인, 엔티티.The first time point is after the control operation performed by the target RIC 120 at the second time point based on the first machine learning model for the at least one cell.
  13. 제12항에 있어서,According to clause 12,
    상기 적어도 하나의 프로세서(1010)는,The at least one processor 1010,
    상기 제1 시점 이전의 상기 적어도 하나의 셀의 통신 성능을 나타내는 제2 성능 정보 및 상기 제1 성능 정보를 기초로 상기 적어도 하나의 셀의 성능 변화량을 식별하고,Identifying a performance change amount of the at least one cell based on the first performance information and second performance information indicating communication performance of the at least one cell before the first time point,
    상기 성능 변화량이 상기 특정 조건을 만족하는지 여부를 판정하는, 엔티티.An entity that determines whether the performance change satisfies the specific condition.
  14. 제12항 또는 제13항에 있어서,According to claim 12 or 13,
    상기 적어도 하나의 프로세서(1010)는,The at least one processor 1010,
    상기 적어도 하나의 셀의 그룹을 제1 그룹으로 결정하고,Determine a group of the at least one cell as a first group,
    상기 제1 기계학습 모델은, 상기 적어도 하나의 셀이 포함된 제1 그룹에 대응하는 기계학습 모델인, 엔티티.The first machine learning model is a machine learning model corresponding to the first group including the at least one cell.
  15. 제12항 내지 14항 중 어느 한 항에 있어서,According to any one of claims 12 to 14,
    상기 적어도 하나의 프로세서(1010)는,The at least one processor 1010,
    상기 제어 동작에 대한 상기 제1 기계학습 모델의 입력 데이터 또는 출력 데이터 중 적어도 하나를 포함하는 추론 정보를 식별하고,Identifying inference information including at least one of input data or output data of the first machine learning model for the control operation,
    상기 추론 정보를 기초로 상기 적어도 하나의 셀의 환경 변화 여부를 판정하는, 엔티티.An entity that determines whether the environment of the at least one cell changes based on the inference information.
PCT/KR2023/018433 2022-11-22 2023-11-16 Method by which service management and orchestration entity determines whether to update machine learning model, and service management and orchestration entity WO2024111996A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2022-0157501 2022-11-22
KR1020220157501A KR20240076531A (en) 2022-11-22 2022-11-22 Service management orchestration entity and method for determing whether to update machine learning model, performed by service management orchestration entity

Publications (1)

Publication Number Publication Date
WO2024111996A1 true WO2024111996A1 (en) 2024-05-30

Family

ID=91196034

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2023/018433 WO2024111996A1 (en) 2022-11-22 2023-11-16 Method by which service management and orchestration entity determines whether to update machine learning model, and service management and orchestration entity

Country Status (2)

Country Link
KR (1) KR20240076531A (en)
WO (1) WO2024111996A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210039311A (en) * 2019-10-01 2021-04-09 삼성전자주식회사 Apparatus and method for service subscription over e2 interface in radio access network communication system
EP3869847A1 (en) * 2020-02-24 2021-08-25 INTEL Corporation Multi-access traffic management in open ran (o-ran)
US20210337420A1 (en) * 2020-04-22 2021-10-28 Samsung Electronics Co., Ltd. Functional architecture and interface for non-real-time ran intelligent controller
US20220014942A1 (en) * 2021-09-24 2022-01-13 Dawei Ying Ml model management in o-ran

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210039311A (en) * 2019-10-01 2021-04-09 삼성전자주식회사 Apparatus and method for service subscription over e2 interface in radio access network communication system
EP3869847A1 (en) * 2020-02-24 2021-08-25 INTEL Corporation Multi-access traffic management in open ran (o-ran)
US20210337420A1 (en) * 2020-04-22 2021-10-28 Samsung Electronics Co., Ltd. Functional architecture and interface for non-real-time ran intelligent controller
US20220014942A1 (en) * 2021-09-24 2022-01-13 Dawei Ying Ml model management in o-ran

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"Technical Report. O-RAN.WG1.MMIMO-USE-CASES-TR-v01.00", 1 July 2022, O-RAN ALLIANCE, DE, article ANONYMOUS: "O-RAN Working Group 1; Massive MIMO Use Cases; Technical Report", XP009553405 *

Also Published As

Publication number Publication date
KR20240076531A (en) 2024-05-30

Similar Documents

Publication Publication Date Title
EP1987682B1 (en) System and method for selectively manipulating control traffic to improve network performance
US20070002736A1 (en) System and method for improving network resource utilization
Jiang et al. Intelligent network management for 5G systems: The SELFNET approach
EP3665604A1 (en) Security enhancement method and electronic device therefor
US20220201490A1 (en) Method and device for processing an alert message indicating the detection of an anomaly in traffic transmitted via a network
US20190268786A1 (en) Supplemental voltage controller for radio frequency (rf) antennas
EP4214912A1 (en) Non-realtime services for ai/ml
US20210042578A1 (en) Feature engineering orchestration method and apparatus
US11700187B2 (en) Systems and methods for configuring and deploying multi-access edge computing applications
WO2022045700A1 (en) Method and apparatus for autoscaling containers in a cloud-native core network
WO2022065622A1 (en) Method of scheduling plurality of packets related to tasks of plurality of user equipments using artificial intelligence and electronic device performing the method
WO2024111996A1 (en) Method by which service management and orchestration entity determines whether to update machine learning model, and service management and orchestration entity
US20200027031A1 (en) Device identifier classification
US20190190951A1 (en) Honeypot adaptive security system
WO2020076056A1 (en) Device and method for controlling traffic offloading
Faezi et al. A comprehensive survey on machine learning using in software defined networks (SDN)
EP4238289A1 (en) Online learning at a near-real time ric
EP3863227B1 (en) Detecting vlan misconfiguration
WO2022211553A1 (en) Methods and systems for enabling ci-cd in wireless network
WO2020209471A1 (en) Quality prediction information provision device for providing quality prediction-based dynamic wireless network variable access and operating method therefor, and wireless terminal device and operating method therefor
WO2021107488A1 (en) Server and method for controlling server
US20240036999A1 (en) System and method for predicting and avoiding hardware failures using classification supervised machine learning
WO2022244953A1 (en) Method and apparatus for service level agreement monitoring and violation mitigation in wireless communication networks
Ampririt et al. An integrated fuzzy-based admission control system (ifacs) for 5g wireless networks: Its implementation and performance evaluation
Ramya et al. Prediction Based Dynamic Controller Placement in SDN