Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
143 commits
Select commit Hold shift + click to select a range
c676586
EU AI Act mapping draft
mrutkows Apr 30, 2026
21bee3c
EU AI Act mapping draft
mrutkows May 1, 2026
29ef3da
EU AI Act mapping draft
mrutkows May 1, 2026
11e8c8b
EU AI Act mapping draft
mrutkows May 1, 2026
383ef2b
EU AI Act mapping draft
mrutkows May 1, 2026
cabe164
EU AI Act mapping draft
mrutkows May 1, 2026
220bba7
EU AI Act mapping draft
mrutkows May 1, 2026
0c782f2
EU AI Act mapping draft
mrutkows May 1, 2026
20db299
EU AI Act mapping draft
mrutkows May 1, 2026
bc26403
EU AI Act mapping draft
mrutkows May 1, 2026
717ec1f
EU AI Act mapping draft
mrutkows May 1, 2026
ccd2bd6
EU AI Act mapping draft
mrutkows May 1, 2026
2fb58a7
EU AI Act mapping draft
mrutkows May 4, 2026
abad223
EU AI Act mapping draft
mrutkows May 4, 2026
412ce55
EU AI Act mapping draft
mrutkows May 4, 2026
8d44bdd
EU AI Act mapping draft
mrutkows May 4, 2026
cec62f1
EU AI Act mapping draft
mrutkows May 4, 2026
dd06c3d
EU AI Act mapping draft
mrutkows May 4, 2026
6fd33b8
EU AI Act mapping draft
mrutkows May 4, 2026
b773005
EU AI Act mapping draft
mrutkows May 4, 2026
0ea94b2
EU AI Act mapping draft
mrutkows May 4, 2026
86a82fa
EU AI Act mapping draft
mrutkows May 4, 2026
fb2b6e7
EU AI Act mapping draft
mrutkows May 4, 2026
2148494
EU AI Act mapping draft
mrutkows May 4, 2026
aa4d0c9
EU AI Act mapping draft
mrutkows May 4, 2026
4588f44
EU AI Act mapping draft
mrutkows May 5, 2026
eeb7244
EU AI Act mapping draft
mrutkows May 5, 2026
7934271
EU AI Act mapping draft
mrutkows May 5, 2026
012e37f
EU AI Act mapping draft
mrutkows May 5, 2026
a6a0c7c
EU AI Act mapping draft
mrutkows May 5, 2026
5f17f17
EU AI Act mapping draft
mrutkows May 12, 2026
da957e7
EU AI Act mapping draft
mrutkows May 12, 2026
2119954
EU AI Act mapping draft
mrutkows May 12, 2026
4559581
EU AI Act mapping draft
mrutkows May 12, 2026
2f4ed6f
EU AI Act mapping draft
mrutkows May 12, 2026
48365c3
EU AI Act mapping draft
mrutkows May 12, 2026
cd4aae6
EU AI Act mapping draft
mrutkows May 12, 2026
2944564
EU AI Act mapping draft
mrutkows May 12, 2026
a772157
EU AI Act mapping draft
mrutkows May 12, 2026
094deeb
EU AI Act mapping draft
mrutkows May 13, 2026
088d372
EU AI Act mapping draft
mrutkows May 13, 2026
15b54b0
EU AI Act mapping draft
mrutkows May 13, 2026
1aab308
EU AI Act mapping draft
mrutkows May 13, 2026
42569aa
EU AI Act mapping draft
mrutkows May 13, 2026
ab53236
EU AI Act mapping draft
mrutkows May 13, 2026
1884e2e
EU AI Act mapping draft
mrutkows May 13, 2026
7c9f6e3
EU AI Act mapping draft
mrutkows May 14, 2026
21e2035
EU AI Act mapping draft
mrutkows May 14, 2026
76ae86b
EU AI Act mapping draft
mrutkows May 14, 2026
c2c5e6c
EU AI Act mapping draft
mrutkows May 14, 2026
6fcf651
EU AI Act mapping draft
mrutkows May 14, 2026
7680289
EU AI Act mapping draft
mrutkows May 14, 2026
05168bb
EU AI Act mapping draft
mrutkows May 14, 2026
c4246c1
EU AI Act mapping draft
mrutkows May 14, 2026
adfaebc
EU AI Act mapping draft
mrutkows May 14, 2026
f043e7d
EU AI Act mapping draft
mrutkows May 14, 2026
d8a3cbf
EU AI Act mapping draft
mrutkows May 14, 2026
ce08717
EU AI Act mapping draft
mrutkows May 14, 2026
eb5c2f5
EU AI Act mapping draft
mrutkows May 14, 2026
6c39ffc
EU AI Act mapping draft
mrutkows May 14, 2026
f5300d5
EU AI Act mapping draft
mrutkows May 14, 2026
6086180
EU AI Act mapping draft
mrutkows May 14, 2026
c976cbf
EU AI Act mapping draft
mrutkows May 14, 2026
4152a72
EU AI Act mapping draft
mrutkows May 14, 2026
42c7f5e
EU AI Act mapping draft
mrutkows May 14, 2026
21a6b2e
EU AI Act mapping draft
mrutkows May 14, 2026
352acaf
EU AI Act mapping draft
mrutkows May 14, 2026
64f9b68
EU AI Act mapping draft
mrutkows May 14, 2026
427fe2d
EU AI Act mapping draft
mrutkows May 15, 2026
2f9f2ee
EU AI Act mapping draft
mrutkows May 15, 2026
05e36cb
EU AI Act mapping draft
mrutkows May 15, 2026
da73ea4
EU AI Act mapping draft
mrutkows May 15, 2026
28f010f
EU AI Act mapping draft
mrutkows May 15, 2026
f163c9a
EU AI Act mapping draft
mrutkows May 15, 2026
5ab54d1
EU AI Act mapping draft
mrutkows May 15, 2026
b81ec6a
EU AI Act mapping draft
mrutkows May 15, 2026
0586028
EU AI Act mapping draft
mrutkows May 15, 2026
8d9546b
EU AI Act mapping draft
mrutkows May 15, 2026
a64827d
EU AI Act mapping draft
mrutkows May 15, 2026
fc041d1
EU AI Act mapping draft
mrutkows May 15, 2026
09e4356
EU AI Act mapping draft
mrutkows May 18, 2026
8363d6c
EU AI Act mapping draft
mrutkows May 18, 2026
43150dc
EU AI Act mapping draft
mrutkows May 18, 2026
0747434
EU AI Act mapping draft
mrutkows May 18, 2026
d087612
EU AI Act mapping draft
mrutkows May 18, 2026
fdd5a80
EU AI Act mapping draft
mrutkows May 18, 2026
aeff414
EU AI Act mapping draft
mrutkows May 18, 2026
a36ec1e
EU AI Act mapping draft
mrutkows May 18, 2026
e731550
EU AI Act mapping draft
mrutkows May 20, 2026
68d515b
EU AI Act mapping draft
mrutkows May 20, 2026
99e1366
EU AI Act mapping draft
mrutkows May 20, 2026
ebfaf0d
EU AI Act mapping draft
mrutkows May 20, 2026
bc43cfb
EU AI Act mapping draft
mrutkows May 20, 2026
89099a8
EU AI Act mapping draft
mrutkows May 20, 2026
43ada7a
EU AI Act mapping draft
mrutkows May 20, 2026
b239c22
EU AI Act mapping draft
mrutkows May 20, 2026
fed6a26
EU AI Act mapping draft
mrutkows May 20, 2026
90c5e08
EU AI Act mapping draft
mrutkows May 20, 2026
ba48a0c
EU AI Act mapping draft
mrutkows May 20, 2026
c71cbe9
EU AI Act mapping draft
mrutkows May 20, 2026
9118ca7
EU AI Act mapping draft
mrutkows May 20, 2026
eb9f193
EU AI Act mapping draft
mrutkows May 20, 2026
56da200
EU AI Act mapping draft
mrutkows May 20, 2026
a4492ee
EU AI Act mapping draft
mrutkows May 20, 2026
fd5cca6
EU AI Act mapping draft
mrutkows May 20, 2026
6a358fa
EU AI Act mapping draft
mrutkows May 20, 2026
da5f16e
EU AI Act mapping draft
mrutkows May 20, 2026
f4e629d
EU AI Act mapping draft
mrutkows May 20, 2026
65ea3d3
EU AI Act mapping draft
mrutkows May 20, 2026
f9a1110
EU AI Act mapping draft
mrutkows May 20, 2026
0716bb1
EU AI Act mapping draft
mrutkows May 20, 2026
a5c8471
EU AI Act mapping draft
mrutkows May 20, 2026
68e636e
EU AI Act mapping draft
mrutkows May 20, 2026
cac052a
EU AI Act mapping draft
mrutkows May 20, 2026
6bd839e
EU AI Act mapping draft
mrutkows May 20, 2026
2a72fbb
EU AI Act mapping draft
mrutkows May 20, 2026
3aa9b22
EU AI Act mapping draft
mrutkows May 20, 2026
f263a68
EU AI Act mapping draft
mrutkows May 20, 2026
bbd7326
EU AI Act mapping draft
mrutkows May 20, 2026
23701f1
EU AI Act mapping draft
mrutkows May 20, 2026
6713afe
EU AI Act mapping draft
mrutkows May 20, 2026
94a0330
EU AI Act mapping draft
mrutkows May 20, 2026
5c0d61d
EU AI Act mapping draft
mrutkows May 20, 2026
6ebd3a5
EU AI Act mapping draft
mrutkows May 20, 2026
5e920ea
EU AI Act mapping draft
mrutkows May 20, 2026
39b73b9
EU AI Act mapping draft
mrutkows May 20, 2026
1660d27
EU AI Act mapping draft
mrutkows May 20, 2026
e206bb3
EU AI Act mapping draft
mrutkows May 20, 2026
8e1e6e2
EU AI Act mapping draft
mrutkows May 20, 2026
9964f3f
EU AI Act mapping draft
mrutkows May 20, 2026
1ed0e6c
EU AI Act mapping draft
mrutkows May 20, 2026
e110b93
EU AI Act mapping draft
mrutkows May 20, 2026
8265a4a
EU AI Act mapping draft
mrutkows May 21, 2026
4ed0968
EU AI Act mapping draft
mrutkows May 21, 2026
d078620
EU AI Act mapping draft
mrutkows May 21, 2026
7bfcee8
EU AI Act mapping draft
mrutkows May 21, 2026
f2594aa
EU AI Act mapping draft
mrutkows May 21, 2026
37429a1
EU AI Act mapping draft
mrutkows May 21, 2026
cc0e9e5
EU AI Act mapping draft
mrutkows May 21, 2026
e91f09d
EU AI Act mapping draft
mrutkows May 21, 2026
4dad040
EU AI Act mapping draft
mrutkows May 21, 2026
eb50ce1
EU AI Act mapping draft
mrutkows May 21, 2026
b63f8ca
EU AI Act mapping draft
mrutkows May 21, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
56 changes: 52 additions & 4 deletions ML-BOM/en/0x20-Design-Model-Component-Metadata.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ For convenience, here are links to the specific sections for each of those infor
* [Describing models as components](#describing-models-as-components)
* [Model repositories as components](#model-repositories-as-components)
* [Model identifiers](#model-identifiers)
* [Providing model release notes](#providing-model-release-notes)
* [Describing a model repository as a CycloneDX assembly](#describing-a-model-repository-as-a-cyclonedx-assembly)
* [Declaring a model's pedigree](#declaring-a-models-pedigree)

Expand Down Expand Up @@ -58,8 +59,18 @@ The CycloneDX JSON pseudocode below shows how an ML model would be declared as t
"bom-ref": "pkg:huggingface/Qwen/Qwen-7B@ef3c5c9",
"purl": "pkg:huggingface/Qwen/Qwen-7B@ef3c5c9c57b252f3149c1408daf4d649ec8b6c85",
"version": "ef3c5c9c57b252f3149c1408daf4d649ec8b6c85",
"licenses": [
{
"license": {
"name": "Tongyi Qianwen LICENSE AGREEMENT",
"text": {
"content": "By clicking to agree or by using or distributing any portion or element of the Tongyi Qianwen Materials, ..."
}
}
}
]
// ...
}
},
// ...
}
// ...
Expand All @@ -69,6 +80,7 @@ The CycloneDX JSON pseudocode below shows how an ML model would be declared as t
###### Field discussion

* **bom-ref** - Please note the `bom-ref` value includes the first seven characters of the larger hash value from the `purl` component identifier which is sufficient for local identification within the BOM itself.
* **license** - The `licenses` object shown in the example is a "custom" license which, in this case, we chose to provide the unencoded license text. It is preferable, when possible to use an SPDX license identifier and supply it in the `id` field of the `license` (e.g., `"license": { "id": "Apache-2.0" }` ).

#### Model repositories as components

Expand Down Expand Up @@ -166,7 +178,7 @@ If the model being described by an ML-BOM is instead hosted in a GitHub reposito

Organizations that produce BOMs for hardware or software components they produce may have multiple domain-specific identifiers for the same component. In these cases, it is best practice to register (reserve) an official namespace for these domains with the [CycloneDX Property Taxonomy](), which is the authoritative source of official namespaces used in CycloneDX `properties`.

###### Example:
###### Example: domain-specific identifiers

The following example shows how a registered name for a fictional company, ACME, which registered the namespace `acme`, could provide a property to identify one of its internal ML models.

Expand Down Expand Up @@ -224,11 +236,47 @@ Each can be specifically identified in a CycloneDX component using a Package URL
}
```

##### Providing model release notes

It is important to disclose information regarding a model's release. This is accomplished by utilizing the CycloneDX component's `releaseNotes` object and its fields.

###### Example: release notes

```json
{
"$schema": "http://cyclonedx.org/schema/bom-1.7.schema.json",
// ...
"metadata":
{
"component":
{
"type": "machine-learning-model",
"bom-ref": "pkg:huggingface/Qwen/Qwen-7B@ef3c5c9",
// ...
"releaseNotes": [
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
"releaseNotes": [
"releaseNotes": {

releaseNotes is not an array but object?

Image

{
"type": "major",
"title": "Qwen 7B initial release",
"timestamp": "2023-08-03T15:30:00Z",
"notes": {
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
"notes": {
"notes": [

{
"locale": "en-US",
"text": "United States (US), English release date."
}
// ...
}
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
}
]

}
]
},
// ...
}
}
```

###### Field discussion

* **type** - the type has the value `machine-learning-model` since the single file contains all the information (e.g., default configuration parameters, references to architectures and tokenizers, prompt template, etc.) needed to run the model in GGUF inference frameworks.


#### Describing a model repository as a CycloneDX assembly

CycloneDX allows for declarations of software compositions (e.g., hardware products, software applications, packages, libraries, archives, etc.).
Expand Down Expand Up @@ -387,7 +435,7 @@ It is important to capture any of these transformations in the model's lineage (

* **ancestors** - `ancestors` entries are themselves CycloneDX `component` objects. It should be noted that these models may have their own ML-BOMs, which can be located via their identifiers (e.g., `purl`) or via `externalReferences` for readers to follow.

##### Declaring known descendents
##### Declaring known descendants

If, at the time an ML-BOM is created for a model, its downstream model variants (e.g., finetunings, quantizations, etc., derived from the model) are known, these can also be recorded within the `pedigree` object as `descendants` in a similar manner.

Expand Down
62 changes: 62 additions & 0 deletions ML-BOM/en/0x40-Design-Additional-Model-Information.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,9 @@ Currently, the v1.7 CycloneDX specification may not have specific objects or fie
For convenience, here are links to the specific sections for some of these acknowledged informational areas:

* [Using CycloneDX AI/ML properties](#using-cyclonedx-aiml-properties)
* [Declaring a model's modalities](#declaring-a-models-modalities)
* [Annotating a model's supported languages](#annotating-a-models-supported-languages)
* [Providing a model's usage policy](#providing-a-models-usage-policy)
* [Providing free-form tags for search](#providing-free-form-tags-for-search)
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
* [Providing free-form tags for search](#providing-free-form-tags-for-search)
* [Providing free-form tags for search](#providing-free-form-tags-for-search)
* [Providing a model's usage policy](#providing-a-models-usage-policy)

Below the sections are in this order

* [Tokenizers and prompt templates](#tokenizers-and-prompt-templates)
* [Including manufacturing information for the ML model](#including-manufacturing-information-for-the-ml-model)
Expand All @@ -20,6 +22,44 @@ For convenience, here are links to the specific sections for some of these ackno
This section includes discussion and examples of supported AI/ML-related metadata properties that can be used to classify models in their model card information. This method utilizes reserved [AI/ML property names](https://github.com/CycloneDX/cyclonedx-property-taxonomy/cdx/ai-ml.md) registered under the [CycloneDX Property Taxonomy](https://github.com/CycloneDX/cyclonedx-property-taxonomy).


## Declaring a model's modalities
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
## Declaring a model's modalities
### Declaring a model's modalities

It should be inner section?


Models are trained to support processing and analysis of one or more types types of input data for specific tasks or data modalities.
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Models are trained to support processing and analysis of one or more types types of input data for specific tasks or data modalities.
Models are trained to support processing and analysis of one or more types of input data for specific tasks or data modalities.


* **Property name**: The CycloneDX reserved property taxonomy name to use to annotate a model with its supported modalities is: `cdx:ai-ml:model:modality`

* **Property value**: The values for this property includes:

* `text` - Natural Language Processing (NLP) and specializations such as Natural Language Understanding (NLU) for tasks like translation, summarization, conversation, classification and sentiment analysis.
* `code` - Specialized text-based modality used for software engineering and logic.
* `instruct` - Specialized text-based fine-tuned for understanding and executing natural language directives (i.e., instruction following).
* `image` (vision) - Computer vision for object detection, generation, and classification as well as document processing.
* `video` - Video processing tasks to extract structured information, including object detection, action recognition, scene detection, and temporal understanding.
* `audio` - Audio processing tasks such as Automatic Speech Recognition (ASR), Speech-to-Text, music generation, and sound pattern recognition.
* `sensor` (telemetry) - Processes data from specialized sensors or hardware, such as LiDAR for autonomous vehicles or IoT sensor feeds.
* `biometric` - Specialized sensor-based modality used for analyzing biological traits for tasks such as facial recognition, fingerprint scanning, or voice authentication.
* `genomic` (telemetry) - Processes high-dimensional data used in drug discovery and medical research.
* `_undefined:<NAME>` - `<NAME>` placeholder, used to provide an arbitrary model modality name.

###### Example: Tagging a model with its modalities

```json
"component":
{
"type": "machine-learning-model",
"bom-ref": "pkg:huggingface/FakeAI/CoderModel",
// ...,
"properties": [
{
"name": "cdx:ai-ml:model:modality:code"
},
{
"name": "cdx:ai-ml:model:modality:instruct"
}
]
}
```

## Annotating a model's supported languages
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
## Annotating a model's supported languages
### Annotating a model's supported languages

It should be inner section?


Models can be trained in one or more languages (i.e., multilingual models).
Expand Down Expand Up @@ -81,6 +121,28 @@ This section describes how to "tag" model components with non-standard keywords
* **properties** - The tag values shown above might be used to search for models in a catalog that are compatible with the `pytorch` framework and (the Hugging Face) `transformers` library. The `text-to-speech` and `speech-to-speech` tags could identify the model with those input/output capabilities.


## Providing a model's usage policy
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
## Providing a model's usage policy
### Providing a model's usage policy

It should be inner section?


Model usage policies can be provided using `externalReferences` associated with the model's component definition.

###### Example: Providing a link to a model's usage policy

```json
"component": {
"type": "machine-learning-model",
"bom-ref": "pkg:huggingface/Qwen/Qwen-7B@ef3c5c9",
// ...,
"externalReferences": [
{
"url": "https://qwen.ai/usagepolicy",
"type": "documentation",
"comment": "Usage policy"
}
],
// ...
}
```

## Tokenizers and prompt templates

Tokenizers provide the preprocessing (encoding) and postprocessing (decoding) functions to convert input and output information to tokens that the associated ML model was trained on and used for inference.
Expand Down
2 changes: 1 addition & 1 deletion ML-BOM/en/0x91-Appendix-B_References.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ This appendix includes references to resources, standards, technologies, and mod
* [ECMA-428 Common Lifecycle Enumeration (CLE) specification](https://ecma-international.org/publications-and-standards/standards/ecma-428/) - The CLE provides a standardized format for communicating software component lifecycle events in a machine-readable format.
* [European Union's Cyber Resilience Act (EU CRA)](https://www.european-cyber-resilience-act.com/)
* [Cyber Resilience Act (CRA)](https://www.european-cyber-resilience-act.com/Cyber_Resilience_Act_Articles.html) - "The Final Text"
* [EU’s AI Act](https://artificialintelligenceact.eu/) ([text](https://eur-lex.europa.eu/eli/reg/2024/1689/oj/eng)) - The European Union's comprehensive legal framework for artificial intelligence, designed to ensure that AI systems used in the European Union are safe, ethical, and trustworthy.
* [EU AI Act](https://artificialintelligenceact.eu/) ([index](https://artificialintelligenceact.eu/ai-act-explorer/)) - The European Union's comprehensive legal framework for artificial intelligence, designed to ensure that AI systems used in the European Union are safe, ethical, and trustworthy.
* [Article 53: Obligations for Providers of General-Purpose AI Models](https://artificialintelligenceact.eu/article/53/)
* [Annex XI: Technical Documentation Referred to in Article 53(1), Point (a) – Technical Documentation for Providers of General-Purpose AI Models](https://artificialintelligenceact.eu/annex/11/)
* [Explanatory Notice and Template for the Public Summary of Training Content for general-purpose AI models](https://digital-strategy.ec.europa.eu/en/library/explanatory-notice-and-template-public-summary-training-content-general-purpose-ai-models)
Expand Down
Loading