7 Information model definitions for AI/ML management
28.1053GPPArtificial Intelligence/ Machine Learning (AI/ML) managementManagement and orchestrationRelease 17TS
7.1 Imported and associated information entities
7.1.1 Imported information entities and local labels
Table 7.1.1-1
Label reference |
Local label |
3GPP TS 28.622 [12], IOC, Top |
Top |
3GPP TS 28.622 [12], IOC, SubNetwork |
SubNetwork |
3GPP TS 28.622 [12], IOC, ManagedElement |
ManagedElement |
3GPP TS 28.622 [12], IOC, ManagedFunction |
ManagedFunction |
7.2 Class diagram
7.2.1 Relationships
This clause depicts the set of classes (e.g. IOCs) that encapsulates the information relevant to AI/ML model training. For the UML semantics, see 3GPP TS 32.156 [13].
Figure 7.2.1-1: NRM fragment for ML training
7.2.2 Inheritance
Figure 7.2.2-1: Inheritance Hierarchy for ML training related NRMs
7.3 Class definitions
7.3.1 MLTrainingFunction
7.3.1.1 Definition
The IOC MLTrainingFunction represents the entity that undertakes ML training and is also the container of the MLTrainingRequest IOC(s).
The entity represented by MLTrainingFunction MOI supports training of one or more MLEntity(s).
7.3.1.2 Attributes
Table 7.3.1.2-1
Attribute name |
Support Qualifier |
isReadable |
isWritable |
isInvariant |
isNotifyable |
mLEntityList |
M |
T |
F |
F |
F |
7.3.1.3 Attribute constraints
None.
7.3.1.4 Notifications
The common notifications defined in clause 7.6 are valid for this IOC, without exceptions or additions.
7.3.2 MLTrainingRequest
7.3.2.1 Definition
The IOC MLTrainingRequest represents the AI/ML model training request that is created by the ML training MnS consumer.
The MLTrainingRequest MOI is contained under one MLTrainingFunction MOI. Each AIMLTrainingRequest is associated to at least one MLEntity.
The MLTrainingRequest may have a source to identify where it is coming from, and which may be used to prioritize the training resources for different sources. The sources may be for example the network functions, operator roles, or other functional differentiations.
Each MLTrainingRequest may indicate the expectedRunTimeContext that describes the specific conditions for which the MLEntity should be trained for.
In case the request is accepted, the ML training MnS producer decides when to start the ML training. Once the MnS producer decides to start the training based on the request, the ML training MnS producer instantiates one or more MLTrainingProcess MOI(s) that are responsible to perform the followings:
– collects (more) data for training, if the training data are not available or the data are available but not sufficient for the training;
– prepares and selects the required training data, with consideration of the consumer’s request provided candidate training data if any. The ML training MnS producer may examine the consumer’s provided candidate training data and select none, some or all of them for training. In addition, the ML training MnS producer may select some other training data that are available in order to meet the consumer’s requirements for the MLentity training;
– trains the MLEntity using the selected and prepared training data.
The MLTrainingRequest may have a requestStatus field to represent the status of the specific MLTrainingRequest:
– The attribute values are "NOT_STARTED", "TRAINING_IN_PROGRESS", "SUSPENDED", "FINISHED", and "CANCELLED".
– When value turns to "TrainingInProcess", the ML training MnS producer instantiates one or more MLTrainingProcess MOI(s) representing the training process(es) being performed per the request and notifies the MLT MnS consumer(s) who subscribed to the notification.
When all of the training process associated to this request are completed, the value turns to "FINISHED.
7.3.2.2 Attributes
Table 7.3.2.2-1
Attribute name |
Support Qualifier |
isReadable |
isWritable |
isInvariant |
isNotifyable |
mLEntityId |
M |
T |
T |
F |
T |
candidateTraingDataSource |
O |
T |
T |
F |
T |
traingDataQualityScore |
O |
T |
T |
F |
T |
trainingRequestSource |
M |
T |
T |
F |
T |
requestStatus |
M |
T |
T |
F |
T |
expectedRuntimeContext |
O |
T |
T |
F |
T |
performanceRequirements |
M |
T |
T |
F |
T |
cancelRequest |
O |
T |
T |
F |
T |
suspendRequest |
O |
T |
T |
F |
T |
Attribute related to role |
|||||
7.3.2.3 Attribute constraints
None.
7.3.2.4 Notifications
The common notifications defined in clause 7.6 are valid for this IOC, without exceptions or additions.
7.3.3 MLTrainingReport
7.3.3.1 Definition
The IOC MLTrainingReport represents the ML model training report that is provided by the training MnS producer.
The MLTrainingReport MOI is contained under one MLTrainingFunction MOI.
7.3.3.2 Attributes
Table 7.3.3.2-1
Attribute name |
Support Qualifier |
isReadable |
isWritable |
isInvariant |
isNotifyable |
mLEntityId |
M |
T |
F |
F |
T |
areConsumerTrainingDataUsed |
M |
T |
F |
F |
T |
usedConsumerTrainingData |
CM |
T |
F |
F |
T |
confidenceIndication |
O |
T |
F |
F |
T |
modelPerformanceTraining |
CM |
T |
F |
F |
T |
areNewTrainingDataUsed |
CO |
T |
F |
F |
T |
Attribute related to role |
|||||
trainingRequestRef |
CM |
T |
F |
F |
T |
trainingProcessRef |
M |
T |
F |
F |
T |
lastTrainingRef |
CM |
T |
F |
F |
T |
7.3.3.3 Attribute constraints
Table 7.3.3.3-1
Name |
Definition |
usedConsumerTrainingData Support Qualifier |
Condition: The value of areConsumerTrainingDataUsed attribute is ALL or PARTIALLY. |
trainingRequestRef Support Qualifier |
Condition: The AIMLTrainingReport MOI represents the report for the AI/ML model training that was requested by the MnS consumer (via AIMLTrainingRequest MOI). |
lastTrainingRef Support Qualifier |
Condition: The AIMLTrainingReport MOI represents the report for the AI/ML model training that was not initial training (i.e. the model has been trained before). |
modelPerformanceTraining |
The condition is use case " AI/ML training initiated by consumer" is supported. |
areNewTrainingDataUsed |
The condition is use case " AI/ML training initiated by producer" is supported. |
7.3.3.4 Notifications
The common notifications defined in clause 7.6 are valid for this IOC, without exceptions or additions.
7.3.4 MLTrainingProcess
7.3.4.1 Definition
The IOC MLTrainingProcess represents the ML training process.
One MLTrainingProcess MOI may be instantiated for each MLTrainingRequest MOI or a set of MLTrainingRequest MOIs.
For each MLEntity under training, a AIMLTrainingProcess is instantiated, i.e. an AIMLTrainingProcess is associated with exactly one MLEntity. The MLTrainingProcess may be associated with one or more MLTrainingRequest MOI.
The MLTrainingProcess does not have to correspond to a specific MLTrainingRequest, i.e. a MLTrainingRequest does not have to be associated to a specific MLTrainingProcess. The MLTrainingProcess may be managed separately from the MLTrainingRequest MOIs, e.g. the MLTrainingRequest MOI may come from consumers which are network functions while the operator may wish to manage the MLTrainingProcess that is instantiated following the requests. Thus, the MLTrainingProcess may be associated to either one or more MLTrainingRequest MOI.
Each MLTrainingProcess instance needs to be managed differently from the related MLEntity, although the MLTrainingProcess may be associated to only one MLEntity. For example, the MLTrainingProcess may be triggered to start with a specific version of the MLEntity and multiple MLTrainingProcess instances may be triggered for different versions of the MLEntity. In either case the MLTrainingProcesse instances are still associated with the same MLEntity but are managed separately from the MLEntity.
Each MLTrainingProcess has a priority that may be used to prioritize the execution of different MLTrainingProcesse instances. By default, the priority of the MLTrainingProcess may be related in a 1:1 manner with the priority of the MLTrainingRequest for which the MLTrainingProcess is instantiated.
Each MLTrainingProcess may have one or more termination conditions used to define the points at which the MLTrainingProcess may terminate.
The "ProgressStatus" attribute represents the status of the ML model training and includes information the MnS consumer can use to monitor the progress and results. The data type of this attribute is "ProcessMonitor" (see 3GPP TS 28.622 [11]). The following specializations are provided for this data type for the ML training process:
The "ProgressStatus" attribute represents the status of the ML model training and includes information the ML training MnS consumer can use to monitor the progress and results. The data type of this attribute is "ProcessMonitor" (see 3GPP TS 28.622 [12]). The following specializations are provided for this data type for the ML training process:
– The "status" attribute values are "RUNNING", "CANCELLING", "SUSPENDED", "FINISHED", and "CANCELLED". The other values are not used.
– The "timer" attribute is not used.
– When the "status" is equal to "RUNNING" the "progressStateInfo" attribute shall indicate one of the following states: "COLLECTING_DATA", "PREPARING_TRAINING_DATA", "TRAINING".
– No specifications are provided for the "resultStateInfo" attribute. Vendor specific information may be provided though.
When the training is completed with "status" equal to "FINISHED", the MLT MnS producer provides the training report, by creating an MLTrainingReport MOI, to the MLT MnS consumer.
7.3.4.2 Attributes
Table 7.3.4.2-1
Attribute name |
Support Qualifier |
isReadable |
isWritable |
isInvariant |
isNotifyable |
mLTrainingProcessId |
M |
T |
T |
F |
T |
priority |
M |
T |
T |
F |
T |
terminationConditions |
M |
T |
T |
F |
T |
progressStatus |
M |
T |
F |
F |
T |
cancelProcess |
O |
T |
T |
F |
T |
suspendProcess |
O |
T |
T |
F |
T |
Attribute related to role |
|||||
trainingRequestRef |
CM |
T |
F |
F |
T |
trainingReportRef |
M |
T |
F |
F |
T |
7.3.4.3 Attribute constraints
Table 7.3.5.3-1
Name |
Definition |
trainingRequestRef Support Qualifier |
Condition: The AIMLTrainingReport MOI represents the report for the AI/ML model training that was requested by the training MnS consumer (via AIMLTrainingRequest MOI). |
7.3.4.4 Notifications
The common notifications defined in clause 7.6 are valid for this IOC, without exceptions or additions.
7.4 Data type definitions
7.4.1 ModelPerformance <<dataType>>
7.4.1.1 Definition
This data type specifies the performance of an AI/ML entity when performing inference. The performance score is provided for each inference output.
7.4.1.2 Attributes
Table 7.4.1.2-1
Attribute name |
Support Qualifier |
isReadable |
isWritable |
isInvariant |
isNotifyable |
inferenceOutputName |
M |
T |
F |
F |
T |
performanceScore |
M |
T |
F |
F |
T |
performanceMetric |
M |
T |
F |
F |
T |
decisionConfidenceScore |
O |
T |
F |
F |
T |
7.4.1.3 Attribute constraints
None.
7.4.1.4 Notifications
The notifications specified for the IOC using this <<dataType>> for its attribute(s), shall be applicable.
7.4.2 MLEntity <<dataType>>
7.4.2.1 Definition
This data type represents the properties of an ML entity ML training may be requested for either an ML model or ML entity. The algorithm of ML model or ML entity is not to be standardized.
For each MLEntity under training, one or more MLTrainingProcess are instantiated.
The MLEntity may contain 3 types of contexts – TrainingContext which is the context under which the MLEntity has been trained, the ExpectedRunTimeContext which is the context where an MLEntity is expected to be applied or/and the RunTimeContext which is the context where the MLmodel or entity is being applied.
7.4.2.2 Attributes
Table 7.4.2.2-1
Attribute name |
Support Qualifier |
isReadable |
isWritable |
isInvariant |
isNotifyable |
mLEntityId |
M |
T |
F |
F |
T |
inferenceType |
M |
T |
F |
F |
T |
mLEntityVersion |
M |
T |
F |
F |
T |
expectedRunTimeContext |
O |
T |
T |
F |
T |
trainingContext |
CM |
T |
F |
F |
T |
runTimeContext |
O |
T |
F |
F |
T |
7.4.3.3 Attribute constraints
Table 7.4.3.3-1
Name |
Definition |
trainingContext Support Qualifier |
Condition: The trainingContext represents the status and conditions related to training and should be added when training is completed. |
7.4.3.4 Notifications
The notifications specified for the IOC using this <<dataType>> for its attribute(s), shall be applicable.
7.4.3 MLContext <<dataType>>
7.4.3.1 Definition
The MLContext represents the status and conditions related to the MLEntity. Specially it may be one of three types of context – the ExpectedRunTimeContext, the TrainingContext and the RunTimeContext.
7.4.3.2 Attributes
Table 7.4.3.2-1
Attribute name |
Support Qualifier |
isReadable |
isWritable |
isInvariant |
isNotifyable |
inferenceEntityRef |
M |
T |
F |
F |
F |
dataProviderRef |
M |
T |
F |
F |
F |
7.4.3.3 Attribute constraints
None.
7.4.3.4 Notifications
The notifications specified for the IOC using this <<dataType>> for its attribute(s), shall be applicable.
7.5 Attribute definitions
7.5.1 Attribute properties
Table 7.5.1-1
Attribute Name |
Documentation and Allowed Values |
Properties |
---|---|---|
mLEntityId |
It identifies the ML entity. It is unique in each MnS producer. allowedValues: N/A. |
type: String multiplicity: 1 isOrdered: N/A isUnique: N/A defaultValue: None isNullable: True |
candidateTraingDataSource |
It provides the address(es) of the candidate training data source provided by MnS consumer. The detailed training data format is vendor specific. allowedValues: N/A. |
type: String multiplicity: * isOrdered: False isUnique: True defaultValue: None isNullable: True |
inferenceType |
It indicates the type of inference that the ML model supports. allowedValues: the values of the MDA type (see 3GPP TS 28.104 [2]), Analytics ID(s) of NWDAF (see 3GPP TS 23.288 [3]), types of inference for RAN‑intelligence, and vendor’s specific extensions. |
type: String multiplicity: 1 isOrdered: N/A isUnique: N/A defaultValue: None isNullable: True |
areConsumerTrainingDataUsed |
It indicates whether the consumer provided training data have been used for the ML model training. allowedValues: ALL, PARTIALLY, NONE. |
type: Enum multiplicity: 1 isOrdered: N/A isUnique: N/A defaultValue: None isNullable: True |
usedConsumerTrainingData |
It provides the address(es) where lists of the consumer-provided training data are located, which have been used for the ML model training. allowedValues: N/A. |
type: String multiplicity: * isOrdered: False isUnique: True defaultValue: None isNullable: True |
trainingRequestRef |
It is the DN(s) of the related MLTrainingRequest MOI(s). allowedValues: DN. |
type: DN (see TS 32.156 [13]) multiplicity: * isOrdered: False isUnique: True defaultValue: None isNullable: True |
trainingReportRef |
It is the DN of the MLTrainingReport MOI that represents the reports of the ML training. allowedValues: DN. |
type: DN (see 3GPP TS 32.156 [12]) multiplicity: 1 isOrdered: N/A isUnique: N/A defaultValue: None isNullable: True |
lastTrainingRef |
It is the DN of the MLTrainingReport MOI that represents the reports for the last training of the AI/ML model. allowedValues: DN. |
type: DN (see 3GPP TS 32.156 [13]) multiplicity: 1 isOrdered: N/A isUnique: N/A defaultValue: None isNullable: True |
confidenceIndication |
It indicates the confidence (in unit of percentage) that the ML model would perform for inference on the data with the same distribution as training data. allowedValues: { 0..100 }. |
type: integer multiplicity: 1 isOrdered: N/A isUnique: N/A defaultValue: None isNullable: False |
mLEntityList |
It describes the list of MLEntity. |
type: MLEntity multiplicity: * isOrdered: False isUnique: N/True defaultValue: None isNullable: False |
trainingRequestSource |
It describes the entity that requested to instantiate the MLTrainingRequest MOI. |
type: integer multiplicity: 1 isOrdered: N/A isUnique: N/A defaultValue: None isNullable: False |
requestStatus |
It describes the status of a particular ML training request. T. allowedValues: NOT_STARTED, TRAINING_IN_PROGRESS, CANCELLING, SUSPENDED, FINISHED, and CANCELLED. |
type: Enum multiplicity: 1 isOrdered: N/A isUnique: N/A defaultValue: None isNullable: False |
mLTrainingProcessId |
It identifies the training process. It is unique in each instantiated process in the MnS producer. allowedValues: N/A. |
type: String multiplicity: 1 isOrdered: N/A isUnique: N/A defaultValue: None isNullable: True |
priority |
It indicates the priority of the training process. The priority may be used by the ML training to schedule the training processes. Lower value indicates a higher priority. allowedValues: { 0..65535 }. |
type: Integer multiplicity: 1 isOrdered: N/A isUnique: N/A defaultValue: 0 isNullable: False |
terminationConditions |
It indicates the conditions to be considered by the MLtraining MnS producer to terminate a specific training process. allowedValues: MODEL UPDATED_IN_INFERENCE_FUNCTION, INFERENCE FUNCTION_TERMINATED, INFERENCE FUNCTION_UPGRADED, INFERENCE_CONTEXT_CHANGED. |
type: String multiplicity: 1 isOrdered: N/A isUnique: N/A defaultValue: None isNullable: False |
progressStatus |
It indicates the status of the ML training process. allowedValues: N/A. |
type: ProcessMonitor (see TS 28.622 [12]) multiplicity: 1 isOrdered: N/A isUnique: N/A defaultValue: None isNullable: False |
mLEntityVersion |
It indicates the version number of the ML entity. allowedValues: N/A. |
type: String multiplicity: 1 isOrdered: N/A isUnique: N/A defaultValue: None isNullable: False |
performanceRequirements |
It indicates the expected performance for a trained ML entity when performing on the training data. allowedValues: N/A. |
type: ModelPerformance multiplicity: * isOrdered: N/A isUnique: N/A defaultValue: None isNullable: True |
modelperformanceTraining |
It indicates the performance score of the ML entity when performing on the training data. allowedValues: N/A. |
type: ModelPerformance multiplicity: * isOrdered: N/A isUnique: N/A defaultValue: None isNullable: False |
mLTrainingProcess.progressStatus.progressStateInfo |
It provides the following specialization for the "progressStateInfo" attribute of the "ProcessMonitor" data type for the "MLTrainingProcess". When the ML training is in progress, and the "status" is equal to " RUNNING" it provides the more detailed progress information. allowedValues for "status" = "RUNNING": – COLLECTING_DATA – PREPARING_TRAINING_DATA – TRAINING The allowed values for "status" = "CANCELLED" are vendor specific. |
Type: String multiplicity: 0..1 isOrdered: N/A isUnique: N/A defaultValue: None isNullable: False |
inferenceOutputName |
It indicates the name of an inference output of an AI/ML entity. allowedValues: the name of the MDA output IEs (see 3GPP TS 28.104 [2]), name of analytics output IEs of NWDAF (see TS 23.288 [3]), RAN-intelligence inference output IE name(s), and vendor’s specific extensions. |
Type: String multiplicity: 0..1 isOrdered: N/A isUnique: N/A defaultValue: None isNullable: False |
performanceMetric |
It indicates the performance metric used to evaluate the performance of an ML entity, e.g. "accuracy", "precision", "F1 score", etc. allowedValues: N/A. |
Type: String multiplicity: 1 isOrdered: N/A isUnique: True defaultValue: None isNullable: False |
performanceScore |
It indicates the performance score (in unit of percentage) of an ML entity when performing inference on a specific data set (Note). The performance metrics may be different for different kinds of AI/ML models depending on the nature of the model. For instance, for numeric prediction, the metric may be accuracy; for classification, the metric may be a combination of precision and recall, like the "F1 score". allowedValues: { 0..100 }. |
Type: Real multiplicity: 0..1 isOrdered: N/A isUnique: N/A defaultValue: None isNullable: False |
cancelRequest |
It indicates whether the ML training MnS consumer cancels the ML training request. Setting this attribute to "TRUE" cancels the ML training request. Cancellation is possible when the requestStatus is the "NOT_STARTED", " TRAINING_IN_PROGRESS", and "SUSPENDED" state. Setting the attribute to "FALSE" has no observable result. Default value is set to "FALSE". allowedValues: TRUE, FALSE. |
Type: Boolean multiplicity: 0..1 isOrdered: N/A isUnique: N/A defaultValue: FALSE isNullable: False |
suspendRequest |
It indicates whether the ML training MnS consumer suspends the /ML training request. Setting this attribute to "TRUE" suspends the ML training request. Suspension is possible when the requestStatus is the not "FINISHED" state. Setting the attribute to "FALSE" has no observable result. Default value is set to "FALSE". allowedValues: TRUE, FALSE. |
Type: Boolean multiplicity: 0..1 isOrdered: N/A isUnique: N/A defaultValue: FALSE isNullable: False |
cancelProcess |
It indicates whether the ML training MnS consumer cancels the ML training process. Setting this attribute to "TRUE" cancels the ML training request. Cancellation is possible when the progressStateInfo is the not "FINISHED" state. Setting the attribute to "FALSE" has no observable result. Default value is set to "FALSE". allowedValues: TRUE, FALSE. |
Type: Boolean multiplicity: 0..1 isOrdered: N/A isUnique: N/A defaultValue: FALSE isNullable: False |
suspendProcess |
It indicates whether the ML training MnS consumer suspends the ML training process. Setting this attribute to "TRUE" suspends the ML training request. Suspension is possible when the progressStateInfo is the not "FINISHED", "CANCELLING" or "CANCELLED" state. Setting the attribute to "FALSE" has no observable result. Default value is set to "FALSE". allowedValues: TRUE, FALSE. |
Type: Boolean multiplicity: 0..1 isOrdered: N/A isUnique: N/A defaultValue: FALSE isNullable: False |
inferenceEntityRef |
It describes the target entities that will use the ML entity for inference. |
Type: DN (see 3GPP TS 32.156 [13]) multiplicity: * isOrdered: False isUnique: True defaultValue: None isNullable: True |
dataProviderRef |
It describes the entities that have provided or should provide data needed by the ML entity e.g. for training or inference |
Type: DN (see 3GPP TS 32.156 [13]) multiplicity: * isOrdered: False isUnique: True defaultValue: None isNullable: True |
areNewTrainingDataUsed |
It indicates whether the other new training data have been used for the ML model training. allowedValues: TRUE, FALSE. |
type: Boolean multiplicity: 1 isOrdered: N/A isUnique: N/A defaultValue: None isNullable: False |
traingDataQualityScore |
It indicates numerical value that represents the dependability/quality of a given observation and measurement type. The lowest value indicates the lowest level of dependability of the data, i.e. that the data is not usable at all. allowedValues: { 0..100 }. |
Type: Real multiplicity: 0..1 isOrdered: N/A isUnique: N/A defaultValue: None isNullable: False |
decisionConfidenceScore |
It is the numerical value that represents the dependability/quality of a given decision generated by the AI/ML inference function. The lowest value indicates the lowest level of dependability of the decisions, i.e. that the data is not usable at all. allowedValues: { 0..100 }. |
Type: Real multiplicity: 0..1 isOrdered: N/A isUnique: N/A defaultValue: None isNullable: False |
expectedRuntimeContext |
This describes the context where an MLEntity is expected to be applied or/and the RunTimeContext which is the context where the MLmodel or entity is being applied. allowedValues: NA |
Type: MLContext multiplicity: 1 isOrdered: N/A isUnique: N/A defaultValue: None isNullable: False |
trainingContext |
This specify the context under which the MLEntity has been trained allowedValues: NA |
Type: MLContext multiplicity: 1 isOrdered: N/A isUnique: N/A defaultValue: None isNullable: False |
runTimeContext |
This specifies the context where the MLmodel or entity is being applied allowedValues: NA |
Type: MLContext multiplicity: 1 isOrdered: N/A isUnique: N/A defaultValue: None isNullable: False |
NOTE: When the performanceScore is to indicate the performance score for ML training, the data set is the training data set. |
7.5.2 Constraints
None.
7.6 Common notifications
7.6.1 Configuration notifications
This clause presents a list of notifications, defined in 3GPP TS 28.532 [11], that an MnS consumer may receive. The notification header attribute objectClass/objectInstance shall capture the DN of an instance of a class defined in the present document.
Table 7.6.1-1
Name |
Qualifier |
Notes |
---|---|---|
notifyMOICreation |
O |
— |
notifyMOIDeletion |
O |
— |
notifyMOIAttributeValueChanges |
O |
— |
notifyEvent |
O |
— |