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