tarekziade HF Staff commited on
Commit
ff3c8d1
·
verified ·
1 Parent(s): 2b1bc90

Publish MIC usage, slim fixture and reviewed Transformers expectations

Browse files
.mic-repo.json ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ {
2
+ "format": "mic-umbrella-v1",
3
+ "contract_files": [
4
+ "integration.json",
5
+ "integrations/transformers/usage.md"
6
+ ]
7
+ }
README.md ADDED
@@ -0,0 +1,37 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ tags:
3
+ - mic
4
+ - test-artifact
5
+ base_model: FacebookAI/roberta-base
6
+ ---
7
+
8
+ # roberta-base-mic
9
+
10
+ Slim model weights, executable usage and framework expectations in one repository.
11
+
12
+ - [Contract manifest](integration.json)
13
+ - [Transformers usage](integrations/transformers/usage.md)
14
+ - [Transformers expectations](integrations/transformers/expectations)
15
+ - [Fixture provenance](build.json)
16
+
17
+ ## Contract
18
+
19
+ ### RoBERTa fill-mask
20
+
21
+ Runnable usage and the framework expectations directory are linked above.
22
+
23
+ ## Slim model
24
+
25
+ ### Slim fixture: roberta-base-mic
26
+
27
+ A 3.4M-parameter fixture for the [RoBERTa MIC](https://huggingface.co/huggingface-mic/roberta-base-mic), covering [`FacebookAI/roberta-base`](https://huggingface.co/FacebookAI/roberta-base). It is a test artifact, not a usable model, tagged `test-artifact` to keep it out of candidate-model search.
28
+
29
+ - **Fixture key `05ec051e3d97`.** It covers every checkpoint whose processor files are byte-identical and whose config matches after shrinking.
30
+ - **Same architecture, smaller config:** `RobertaForMaskedLM`, shrunk by the generic rule in [`sweep.py`](https://github.com/huggingface/transformers-mic/blob/main/experiments/sweep.py) (num_hidden_layers 2).
31
+ - **Processor files copied byte for byte** from `FacebookAI/roberta-base`: `dict.txt`, `merges.txt`, `tokenizer.json`, `tokenizer_config.json`, `vocab.json`.
32
+ - **Random weights (seed 17).** They passed the input-sensitivity gate: every perturbation of the contract's inputs moved the logits by at least 0.001 (weakest: `attention_mask:all_ones`, 0.0024), so no training was needed.
33
+ - **Same tensor names as the real checkpoint.** The real checkpoint has every parameter, and so does the fixture.
34
+ - **Saved in float32**, the dtype `FacebookAI/roberta-base` loads in by default.
35
+ - **Finite in float32, bfloat16, and float16** (forward, loss, gradients).
36
+
37
+ Built by [`build_fixtures.py`](https://github.com/huggingface/transformers-mic/blob/main/example/build_fixtures.py); [`build.json`](build.json) records the pinned sources, gate results, and file hashes. This repository includes the slim weights, usage and framework expectations; rebuild the other files with `python example/build_fixtures.py --fixture roberta-base-mic`.
build.json ADDED
@@ -0,0 +1,126 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "fixture": "huggingface-mic/roberta-base-mic",
3
+ "key": "05ec051e3d97c7210a49a8776fb18ac2156a51f1e08fedd0de7d1af05e8368f0",
4
+ "key_fields": {
5
+ "architectures": [
6
+ "RobertaForMaskedLM"
7
+ ],
8
+ "output_hidden_states": false,
9
+ "return_dict": true,
10
+ "chunk_size_feed_forward": 0,
11
+ "is_encoder_decoder": false,
12
+ "id2label": {
13
+ "0": "LABEL_0",
14
+ "1": "LABEL_1"
15
+ },
16
+ "label2id": {
17
+ "LABEL_0": 0,
18
+ "LABEL_1": 1
19
+ },
20
+ "problem_type": null,
21
+ "vocab_size": 50265,
22
+ "hidden_size": 64,
23
+ "num_hidden_layers": 2,
24
+ "num_attention_heads": 4,
25
+ "intermediate_size": 128,
26
+ "hidden_act": "gelu",
27
+ "hidden_dropout_prob": 0.1,
28
+ "attention_probs_dropout_prob": 0.1,
29
+ "max_position_embeddings": 514,
30
+ "type_vocab_size": 1,
31
+ "initializer_range": 0.02,
32
+ "layer_norm_eps": 1e-05,
33
+ "pad_token_id": 1,
34
+ "bos_token_id": 0,
35
+ "eos_token_id": 2,
36
+ "use_cache": true,
37
+ "classifier_dropout": null,
38
+ "is_decoder": false,
39
+ "add_cross_attention": false,
40
+ "tie_word_embeddings": true,
41
+ "model_type": "roberta",
42
+ "output_attentions": false
43
+ },
44
+ "covers": {
45
+ "FacebookAI/roberta-base": "e2da8e2f811d1448a5b465c236feacd80ffbac7b"
46
+ },
47
+ "built_from": {
48
+ "repo": "FacebookAI/roberta-base",
49
+ "revision": "e2da8e2f811d1448a5b465c236feacd80ffbac7b"
50
+ },
51
+ "seed": 17,
52
+ "dtype": "float32",
53
+ "builder": "example/build_fixtures.py",
54
+ "model_class": "RobertaForMaskedLM",
55
+ "parameters": 3371545,
56
+ "missing_parameters": [],
57
+ "checkpoint_inspection": "parameter headers/indexes; bounded binary fallback",
58
+ "numeric_health_scope": "CPU float32/bfloat16/float16; autocast for low-precision losses",
59
+ "captured": {
60
+ "call": "training step",
61
+ "inputs": [
62
+ "attention_mask",
63
+ "input_ids",
64
+ "labels"
65
+ ],
66
+ "class": "RobertaForMaskedLM"
67
+ },
68
+ "weights": "random",
69
+ "gate": {
70
+ "random": {
71
+ "pass": true,
72
+ "accepted_insensitive": {},
73
+ "threshold": 0.001,
74
+ "deltas": {
75
+ "input_ids:roll_batch": 0.6873351335525513,
76
+ "input_ids:reverse": 0.8940852284431458,
77
+ "attention_mask:all_ones": 0.002395316958427429
78
+ },
79
+ "weakest": "attention_mask:all_ones",
80
+ "no_perturbation_defined": []
81
+ }
82
+ },
83
+ "numeric_health": {
84
+ "float32": {
85
+ "outputs_finite": true,
86
+ "loss_finite": true,
87
+ "gradients_finite": true,
88
+ "finite": true
89
+ },
90
+ "bfloat16": {
91
+ "outputs_finite": true,
92
+ "loss_finite": true,
93
+ "gradients_finite": true,
94
+ "finite": true
95
+ },
96
+ "float16": {
97
+ "outputs_finite": true,
98
+ "loss_finite": true,
99
+ "unscaled_gradients_finite": true,
100
+ "finite": true
101
+ }
102
+ },
103
+ "copied_unchanged": [
104
+ "dict.txt",
105
+ "merges.txt",
106
+ "tokenizer.json",
107
+ "tokenizer_config.json",
108
+ "vocab.json"
109
+ ],
110
+ "environment": {
111
+ "python": "3.12.12",
112
+ "machine": "arm64",
113
+ "torch": "2.14.1",
114
+ "transformers": "5.22.0.dev0",
115
+ "tokenizers": "0.23.3"
116
+ },
117
+ "sha256": {
118
+ "config.json": "830930b5ae6b215a3ec3b24228c61179c7965a1a519bb3abed82630a6c3ad06c",
119
+ "dict.txt": "2c31c5b236661067fe8626775eb995ef5fe808ac87d2ad4a6ddbef68550f5cc6",
120
+ "merges.txt": "1ce1664773c50f3e0cc8842619a93edc4624525b728b188a9e0be33b7726adc5",
121
+ "model.safetensors": "039fe2a956ec50b3d5fe667490873e9d1697b906fa0d9f82cf5a727c53c97bbf",
122
+ "tokenizer.json": "847bbeab6174d66a88898f729d52fa8d355fafe1bea101cf960dd404581df70e",
123
+ "tokenizer_config.json": "994f46754c5bf4014f1aa92d34b1374319c3a6b3f702105cd5b742beaecd18ce",
124
+ "vocab.json": "9e7f63c2d15d666b52e21d250d2e513b87c9b713cfa6987a82ed89e5e6e50655"
125
+ }
126
+ }
config.json ADDED
@@ -0,0 +1,28 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "add_cross_attention": false,
3
+ "architectures": [
4
+ "RobertaForMaskedLM"
5
+ ],
6
+ "attention_probs_dropout_prob": 0.1,
7
+ "bos_token_id": 0,
8
+ "classifier_dropout": null,
9
+ "dtype": "float32",
10
+ "eos_token_id": 2,
11
+ "hidden_act": "gelu",
12
+ "hidden_dropout_prob": 0.1,
13
+ "hidden_size": 64,
14
+ "initializer_range": 0.02,
15
+ "intermediate_size": 128,
16
+ "is_decoder": false,
17
+ "layer_norm_eps": 1e-05,
18
+ "max_position_embeddings": 514,
19
+ "model_type": "roberta",
20
+ "num_attention_heads": 4,
21
+ "num_hidden_layers": 2,
22
+ "pad_token_id": 1,
23
+ "tie_word_embeddings": true,
24
+ "transformers_version": "5.22.0.dev0",
25
+ "type_vocab_size": 1,
26
+ "use_cache": true,
27
+ "vocab_size": 50265
28
+ }
dict.txt ADDED
The diff for this file is too large to render. See raw diff
 
integration.json ADDED
@@ -0,0 +1,83 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "mic": "0.3",
3
+ "name": "RoBERTa fill-mask",
4
+ "usage": "AutoTokenizer + AutoModelForMaskedLM, batched, right padding, masked-token probing and one SGD step",
5
+ "architecture": "RobertaForMaskedLM",
6
+ "checkpoints": {
7
+ "FacebookAI/roberta-base": {
8
+ "fixture": "huggingface-mic/roberta-base-mic"
9
+ }
10
+ },
11
+ "fixtures": {
12
+ "huggingface-mic/roberta-base-mic": {
13
+ "built_from": "FacebookAI/roberta-base",
14
+ "covers": [
15
+ "FacebookAI/roberta-base"
16
+ ],
17
+ "build": {
18
+ "seed": 17
19
+ }
20
+ }
21
+ },
22
+ "integrations": {
23
+ "transformers": {
24
+ "entry_point": "integrations/transformers/usage.md",
25
+ "format": "runnable-markdown",
26
+ "requires": [
27
+ "transformers>=5",
28
+ "torch"
29
+ ],
30
+ "targets": [
31
+ "fixtures",
32
+ "checkpoints"
33
+ ],
34
+ "variants": {
35
+ "default": {},
36
+ "eager": {
37
+ "attn_implementation": "eager"
38
+ },
39
+ "bfloat16": {
40
+ "dtype": "bfloat16"
41
+ }
42
+ },
43
+ "training": true,
44
+ "resources": {
45
+ "fixture": {
46
+ "memory_gb": 1,
47
+ "download_mb": 20
48
+ },
49
+ "FacebookAI/roberta-base": {
50
+ "memory_gb": 3,
51
+ "download_mb": 500
52
+ }
53
+ }
54
+ }
55
+ },
56
+ "outputs": {
57
+ "runtime": {
58
+ "compare": "exact"
59
+ },
60
+ "predicted_tokens": {
61
+ "compare": "exact"
62
+ },
63
+ "predicted_text": {
64
+ "compare": "exact"
65
+ },
66
+ "answer_logits": {
67
+ "compare": "allclose",
68
+ "atol": 0.0001,
69
+ "rtol": 0.0001
70
+ },
71
+ "training.loss": {
72
+ "compare": "allclose",
73
+ "atol": 0.0001,
74
+ "rtol": 0.0001
75
+ },
76
+ "training.gradients": {
77
+ "compare": "all_true"
78
+ },
79
+ "training.updated": {
80
+ "compare": "true"
81
+ }
82
+ }
83
+ }
integrations/transformers/expectations/cpu-x86_64-bf16/roberta-base-mic.bfloat16.json ADDED
@@ -0,0 +1,90 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "recorded_with": {
3
+ "contract": "huggingface-mic/roberta-base-mic",
4
+ "contract_name": "RoBERTa",
5
+ "contract_revision": "e97ac109af90cfd8a1bced0870753c342658a702",
6
+ "framework": "transformers",
7
+ "variant": "bfloat16",
8
+ "target": "roberta-base-mic",
9
+ "kind": "fixture",
10
+ "revision": "e97ac109af90cfd8a1bced0870753c342658a702",
11
+ "environment": {
12
+ "python": "3.11.18",
13
+ "transformers": "5.22.0.dev0",
14
+ "torch": "2.14.0+cpu",
15
+ "torchvision": "0.29.2+cpu",
16
+ "torchaudio": "2.11.1+cpu",
17
+ "tokenizers": "0.23.3",
18
+ "numpy": "2.3.5",
19
+ "pillow": "13.0.0",
20
+ "accelerate": "1.15.0",
21
+ "safetensors": "0.8.0",
22
+ "huggingface-hub": "2.3.0",
23
+ "sentencepiece": "0.2.2",
24
+ "protobuf": "7.36.2",
25
+ "librosa": "0.11.0",
26
+ "soundfile": "0.14.0",
27
+ "scipy": "1.17.1"
28
+ },
29
+ "seconds": 7.3,
30
+ "environment_differs": {
31
+ "torchvision": "0.29.2+cpu (pinned 0.29.1)",
32
+ "torchaudio": "2.11.1+cpu (pinned 2.11.0)",
33
+ "pillow": "13.0.0 (pinned 12.3.0)"
34
+ },
35
+ "platform": "cpu-x86_64-bf16"
36
+ },
37
+ "outputs": {
38
+ "runtime": {
39
+ "device": "cpu",
40
+ "dtype": "bfloat16",
41
+ "attn_implementation": "sdpa"
42
+ },
43
+ "predicted_tokens": [
44
+ 33326,
45
+ 33326,
46
+ 33326,
47
+ 5069
48
+ ],
49
+ "predicted_text": [
50
+ "teenth",
51
+ "teenth",
52
+ "teenth",
53
+ "ains"
54
+ ],
55
+ "answer_logits": [
56
+ [
57
+ -0.279296875,
58
+ 0.0712890625,
59
+ 0.0712890625,
60
+ 0.031005859375
61
+ ],
62
+ [
63
+ -0.279296875,
64
+ 0.0703125,
65
+ 0.0703125,
66
+ 0.031494140625
67
+ ],
68
+ [
69
+ -0.279296875,
70
+ 0.0693359375,
71
+ 0.0693359375,
72
+ 0.0302734375
73
+ ],
74
+ [
75
+ -0.166015625,
76
+ 0.037841796875,
77
+ 0.037841796875,
78
+ 0.0150146484375
79
+ ]
80
+ ],
81
+ "training": {
82
+ "loss": 10.8125,
83
+ "gradients": {
84
+ "roberta.encoder.layer.0.attention.self.query.weight": true,
85
+ "roberta.encoder.layer.0.intermediate.dense.weight": true
86
+ },
87
+ "updated": true
88
+ }
89
+ }
90
+ }
integrations/transformers/expectations/cpu-x86_64-bf16/roberta-base.bfloat16.json ADDED
@@ -0,0 +1,90 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "recorded_with": {
3
+ "contract": "huggingface-mic/roberta-base-mic",
4
+ "contract_name": "RoBERTa",
5
+ "contract_revision": "e97ac109af90cfd8a1bced0870753c342658a702",
6
+ "framework": "transformers",
7
+ "variant": "bfloat16",
8
+ "target": "roberta-base",
9
+ "kind": "checkpoint",
10
+ "revision": "e2da8e2f811d1448a5b465c236feacd80ffbac7b",
11
+ "environment": {
12
+ "python": "3.11.18",
13
+ "transformers": "5.22.0.dev0",
14
+ "torch": "2.14.0+cpu",
15
+ "torchvision": "0.29.2+cpu",
16
+ "torchaudio": "2.11.1+cpu",
17
+ "tokenizers": "0.23.3",
18
+ "numpy": "2.3.5",
19
+ "pillow": "13.0.0",
20
+ "accelerate": "1.15.0",
21
+ "safetensors": "0.8.0",
22
+ "huggingface-hub": "2.3.0",
23
+ "sentencepiece": "0.2.2",
24
+ "protobuf": "7.36.2",
25
+ "librosa": "0.11.0",
26
+ "soundfile": "0.14.0",
27
+ "scipy": "1.17.1"
28
+ },
29
+ "seconds": 7.76,
30
+ "environment_differs": {
31
+ "torchvision": "0.29.2+cpu (pinned 0.29.1)",
32
+ "torchaudio": "2.11.1+cpu (pinned 2.11.0)",
33
+ "pillow": "13.0.0 (pinned 12.3.0)"
34
+ },
35
+ "platform": "cpu-x86_64-bf16"
36
+ },
37
+ "outputs": {
38
+ "runtime": {
39
+ "device": "cpu",
40
+ "dtype": "bfloat16",
41
+ "attn_implementation": "sdpa"
42
+ },
43
+ "predicted_tokens": [
44
+ 2201,
45
+ 5459,
46
+ 8947,
47
+ 928
48
+ ],
49
+ "predicted_text": [
50
+ "\u0120Paris",
51
+ "\u0120Berlin",
52
+ "\u0120Rome",
53
+ "\u0120London"
54
+ ],
55
+ "answer_logits": [
56
+ [
57
+ 13.3125,
58
+ -4.53125,
59
+ -4.53125,
60
+ 4.1875
61
+ ],
62
+ [
63
+ 5.65625,
64
+ -4.21875,
65
+ -4.21875,
66
+ 2.90625
67
+ ],
68
+ [
69
+ 5.1875,
70
+ -4.375,
71
+ -4.375,
72
+ 2.640625
73
+ ],
74
+ [
75
+ 7.59375,
76
+ -4.9375,
77
+ -4.9375,
78
+ 13.75
79
+ ]
80
+ ],
81
+ "training": {
82
+ "loss": 17.0,
83
+ "gradients": {
84
+ "roberta.encoder.layer.0.attention.self.query.weight": true,
85
+ "roberta.encoder.layer.0.intermediate.dense.weight": true
86
+ },
87
+ "updated": true
88
+ }
89
+ }
90
+ }
integrations/transformers/expectations/cpu-x86_64/roberta-base-mic.eager.json ADDED
@@ -0,0 +1,90 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "recorded_with": {
3
+ "contract": "huggingface-mic/roberta-base-mic",
4
+ "contract_name": "RoBERTa",
5
+ "contract_revision": "e97ac109af90cfd8a1bced0870753c342658a702",
6
+ "framework": "transformers",
7
+ "variant": "eager",
8
+ "target": "roberta-base-mic",
9
+ "kind": "fixture",
10
+ "revision": "e97ac109af90cfd8a1bced0870753c342658a702",
11
+ "environment": {
12
+ "python": "3.11.18",
13
+ "transformers": "5.22.0.dev0",
14
+ "torch": "2.14.0+cpu",
15
+ "torchvision": "0.29.2+cpu",
16
+ "torchaudio": "2.11.1+cpu",
17
+ "tokenizers": "0.23.3",
18
+ "numpy": "2.3.5",
19
+ "pillow": "13.0.0",
20
+ "accelerate": "1.15.0",
21
+ "safetensors": "0.8.0",
22
+ "huggingface-hub": "2.3.0",
23
+ "sentencepiece": "0.2.2",
24
+ "protobuf": "7.36.2",
25
+ "librosa": "0.11.0",
26
+ "soundfile": "0.14.0",
27
+ "scipy": "1.17.1"
28
+ },
29
+ "seconds": 7.31,
30
+ "environment_differs": {
31
+ "torchvision": "0.29.2+cpu (pinned 0.29.1)",
32
+ "torchaudio": "2.11.1+cpu (pinned 2.11.0)",
33
+ "pillow": "13.0.0 (pinned 12.3.0)"
34
+ },
35
+ "platform": "cpu-x86_64"
36
+ },
37
+ "outputs": {
38
+ "runtime": {
39
+ "device": "cpu",
40
+ "dtype": "float32",
41
+ "attn_implementation": "eager"
42
+ },
43
+ "predicted_tokens": [
44
+ 33326,
45
+ 33326,
46
+ 33326,
47
+ 5069
48
+ ],
49
+ "predicted_text": [
50
+ "teenth",
51
+ "teenth",
52
+ "teenth",
53
+ "ains"
54
+ ],
55
+ "answer_logits": [
56
+ [
57
+ -0.2789422869682312,
58
+ 0.07029282301664352,
59
+ 0.07029282301664352,
60
+ 0.031082605943083763
61
+ ],
62
+ [
63
+ -0.27898332476615906,
64
+ 0.07068226486444473,
65
+ 0.07068226486444473,
66
+ 0.030745984986424446
67
+ ],
68
+ [
69
+ -0.2788700461387634,
70
+ 0.07043246179819107,
71
+ 0.07043246179819107,
72
+ 0.03071228601038456
73
+ ],
74
+ [
75
+ -0.1644011288881302,
76
+ 0.03672807663679123,
77
+ 0.03672807663679123,
78
+ 0.014085066504776478
79
+ ]
80
+ ],
81
+ "training": {
82
+ "loss": 10.869681358337402,
83
+ "gradients": {
84
+ "roberta.encoder.layer.0.attention.self.query.weight": true,
85
+ "roberta.encoder.layer.0.intermediate.dense.weight": true
86
+ },
87
+ "updated": true
88
+ }
89
+ }
90
+ }
integrations/transformers/expectations/cpu-x86_64/roberta-base-mic.json ADDED
@@ -0,0 +1,90 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "recorded_with": {
3
+ "contract": "huggingface-mic/roberta-base-mic",
4
+ "contract_name": "RoBERTa",
5
+ "contract_revision": "e97ac109af90cfd8a1bced0870753c342658a702",
6
+ "framework": "transformers",
7
+ "variant": "default",
8
+ "target": "roberta-base-mic",
9
+ "kind": "fixture",
10
+ "revision": "e97ac109af90cfd8a1bced0870753c342658a702",
11
+ "environment": {
12
+ "python": "3.11.18",
13
+ "transformers": "5.22.0.dev0",
14
+ "torch": "2.14.0+cpu",
15
+ "torchvision": "0.29.2+cpu",
16
+ "torchaudio": "2.11.1+cpu",
17
+ "tokenizers": "0.23.3",
18
+ "numpy": "2.3.5",
19
+ "pillow": "13.0.0",
20
+ "accelerate": "1.15.0",
21
+ "safetensors": "0.8.0",
22
+ "huggingface-hub": "2.3.0",
23
+ "sentencepiece": "0.2.2",
24
+ "protobuf": "7.36.2",
25
+ "librosa": "0.11.0",
26
+ "soundfile": "0.14.0",
27
+ "scipy": "1.17.1"
28
+ },
29
+ "seconds": 7.32,
30
+ "environment_differs": {
31
+ "torchvision": "0.29.2+cpu (pinned 0.29.1)",
32
+ "torchaudio": "2.11.1+cpu (pinned 2.11.0)",
33
+ "pillow": "13.0.0 (pinned 12.3.0)"
34
+ },
35
+ "platform": "cpu-x86_64"
36
+ },
37
+ "outputs": {
38
+ "runtime": {
39
+ "device": "cpu",
40
+ "dtype": "float32",
41
+ "attn_implementation": "sdpa"
42
+ },
43
+ "predicted_tokens": [
44
+ 33326,
45
+ 33326,
46
+ 33326,
47
+ 5069
48
+ ],
49
+ "predicted_text": [
50
+ "teenth",
51
+ "teenth",
52
+ "teenth",
53
+ "ains"
54
+ ],
55
+ "answer_logits": [
56
+ [
57
+ -0.2789422571659088,
58
+ 0.07029280811548233,
59
+ 0.07029280811548233,
60
+ 0.031082598492503166
61
+ ],
62
+ [
63
+ -0.27898332476615906,
64
+ 0.07068228721618652,
65
+ 0.07068228721618652,
66
+ 0.030745979398489
67
+ ],
68
+ [
69
+ -0.27887001633644104,
70
+ 0.07043246924877167,
71
+ 0.07043246924877167,
72
+ 0.030712297186255455
73
+ ],
74
+ [
75
+ -0.164401113986969,
76
+ 0.036728061735630035,
77
+ 0.036728061735630035,
78
+ 0.014085096307098866
79
+ ]
80
+ ],
81
+ "training": {
82
+ "loss": 10.869681358337402,
83
+ "gradients": {
84
+ "roberta.encoder.layer.0.attention.self.query.weight": true,
85
+ "roberta.encoder.layer.0.intermediate.dense.weight": true
86
+ },
87
+ "updated": true
88
+ }
89
+ }
90
+ }
integrations/transformers/expectations/cpu-x86_64/roberta-base.eager.json ADDED
@@ -0,0 +1,90 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "recorded_with": {
3
+ "contract": "huggingface-mic/roberta-base-mic",
4
+ "contract_name": "RoBERTa",
5
+ "contract_revision": "e97ac109af90cfd8a1bced0870753c342658a702",
6
+ "framework": "transformers",
7
+ "variant": "eager",
8
+ "target": "roberta-base",
9
+ "kind": "checkpoint",
10
+ "revision": "e2da8e2f811d1448a5b465c236feacd80ffbac7b",
11
+ "environment": {
12
+ "python": "3.11.18",
13
+ "transformers": "5.22.0.dev0",
14
+ "torch": "2.14.0+cpu",
15
+ "torchvision": "0.29.2+cpu",
16
+ "torchaudio": "2.11.1+cpu",
17
+ "tokenizers": "0.23.3",
18
+ "numpy": "2.3.5",
19
+ "pillow": "13.0.0",
20
+ "accelerate": "1.15.0",
21
+ "safetensors": "0.8.0",
22
+ "huggingface-hub": "2.3.0",
23
+ "sentencepiece": "0.2.2",
24
+ "protobuf": "7.36.2",
25
+ "librosa": "0.11.0",
26
+ "soundfile": "0.14.0",
27
+ "scipy": "1.17.1"
28
+ },
29
+ "seconds": 8.06,
30
+ "environment_differs": {
31
+ "torchvision": "0.29.2+cpu (pinned 0.29.1)",
32
+ "torchaudio": "2.11.1+cpu (pinned 2.11.0)",
33
+ "pillow": "13.0.0 (pinned 12.3.0)"
34
+ },
35
+ "platform": "cpu-x86_64"
36
+ },
37
+ "outputs": {
38
+ "runtime": {
39
+ "device": "cpu",
40
+ "dtype": "float32",
41
+ "attn_implementation": "eager"
42
+ },
43
+ "predicted_tokens": [
44
+ 2201,
45
+ 5459,
46
+ 8947,
47
+ 928
48
+ ],
49
+ "predicted_text": [
50
+ "\u0120Paris",
51
+ "\u0120Berlin",
52
+ "\u0120Rome",
53
+ "\u0120London"
54
+ ],
55
+ "answer_logits": [
56
+ [
57
+ 13.223998069763184,
58
+ -4.527599334716797,
59
+ -4.527599334716797,
60
+ 4.151352882385254
61
+ ],
62
+ [
63
+ 5.728464603424072,
64
+ -4.235149383544922,
65
+ -4.235149383544922,
66
+ 2.941866636276245
67
+ ],
68
+ [
69
+ 5.227426528930664,
70
+ -4.355234146118164,
71
+ -4.355234146118164,
72
+ 2.6994330883026123
73
+ ],
74
+ [
75
+ 7.649934768676758,
76
+ -4.918882846832275,
77
+ -4.918882846832275,
78
+ 13.74776554107666
79
+ ]
80
+ ],
81
+ "training": {
82
+ "loss": 16.974332809448242,
83
+ "gradients": {
84
+ "roberta.encoder.layer.0.attention.self.query.weight": true,
85
+ "roberta.encoder.layer.0.intermediate.dense.weight": true
86
+ },
87
+ "updated": true
88
+ }
89
+ }
90
+ }
integrations/transformers/expectations/cpu-x86_64/roberta-base.json ADDED
@@ -0,0 +1,90 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "recorded_with": {
3
+ "contract": "huggingface-mic/roberta-base-mic",
4
+ "contract_name": "RoBERTa",
5
+ "contract_revision": "e97ac109af90cfd8a1bced0870753c342658a702",
6
+ "framework": "transformers",
7
+ "variant": "default",
8
+ "target": "roberta-base",
9
+ "kind": "checkpoint",
10
+ "revision": "e2da8e2f811d1448a5b465c236feacd80ffbac7b",
11
+ "environment": {
12
+ "python": "3.11.18",
13
+ "transformers": "5.22.0.dev0",
14
+ "torch": "2.14.0+cpu",
15
+ "torchvision": "0.29.2+cpu",
16
+ "torchaudio": "2.11.1+cpu",
17
+ "tokenizers": "0.23.3",
18
+ "numpy": "2.3.5",
19
+ "pillow": "13.0.0",
20
+ "accelerate": "1.15.0",
21
+ "safetensors": "0.8.0",
22
+ "huggingface-hub": "2.3.0",
23
+ "sentencepiece": "0.2.2",
24
+ "protobuf": "7.36.2",
25
+ "librosa": "0.11.0",
26
+ "soundfile": "0.14.0",
27
+ "scipy": "1.17.1"
28
+ },
29
+ "seconds": 8.01,
30
+ "environment_differs": {
31
+ "torchvision": "0.29.2+cpu (pinned 0.29.1)",
32
+ "torchaudio": "2.11.1+cpu (pinned 2.11.0)",
33
+ "pillow": "13.0.0 (pinned 12.3.0)"
34
+ },
35
+ "platform": "cpu-x86_64"
36
+ },
37
+ "outputs": {
38
+ "runtime": {
39
+ "device": "cpu",
40
+ "dtype": "float32",
41
+ "attn_implementation": "sdpa"
42
+ },
43
+ "predicted_tokens": [
44
+ 2201,
45
+ 5459,
46
+ 8947,
47
+ 928
48
+ ],
49
+ "predicted_text": [
50
+ "\u0120Paris",
51
+ "\u0120Berlin",
52
+ "\u0120Rome",
53
+ "\u0120London"
54
+ ],
55
+ "answer_logits": [
56
+ [
57
+ 13.2239990234375,
58
+ -4.527599334716797,
59
+ -4.527599334716797,
60
+ 4.151357650756836
61
+ ],
62
+ [
63
+ 5.728463649749756,
64
+ -4.235146999359131,
65
+ -4.235146999359131,
66
+ 2.9418599605560303
67
+ ],
68
+ [
69
+ 5.227415561676025,
70
+ -4.3552350997924805,
71
+ -4.3552350997924805,
72
+ 2.6994333267211914
73
+ ],
74
+ [
75
+ 7.6499223709106445,
76
+ -4.918882846832275,
77
+ -4.918882846832275,
78
+ 13.74775505065918
79
+ ]
80
+ ],
81
+ "training": {
82
+ "loss": 16.974342346191406,
83
+ "gradients": {
84
+ "roberta.encoder.layer.0.attention.self.query.weight": true,
85
+ "roberta.encoder.layer.0.intermediate.dense.weight": true
86
+ },
87
+ "updated": true
88
+ }
89
+ }
90
+ }
integrations/transformers/expectations/cuda/roberta-base-mic.bfloat16.json ADDED
@@ -0,0 +1,91 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "recorded_with": {
3
+ "contract": "huggingface-mic/roberta-base-mic",
4
+ "contract_name": "RoBERTa",
5
+ "contract_revision": "e97ac109af90cfd8a1bced0870753c342658a702",
6
+ "framework": "transformers",
7
+ "variant": "bfloat16",
8
+ "target": "roberta-base-mic",
9
+ "kind": "fixture",
10
+ "revision": "e97ac109af90cfd8a1bced0870753c342658a702",
11
+ "environment": {
12
+ "python": "3.11.18",
13
+ "transformers": "5.22.0.dev0",
14
+ "torch": "2.14.0+cu130",
15
+ "torchvision": "0.29.2",
16
+ "torchaudio": "2.11.0+cu130",
17
+ "tokenizers": "0.23.3",
18
+ "numpy": "2.4.6",
19
+ "pillow": "13.0.0",
20
+ "accelerate": "1.16.0.dev0",
21
+ "safetensors": "0.8.0",
22
+ "huggingface-hub": "2.3.0",
23
+ "sentencepiece": "0.2.2",
24
+ "protobuf": "7.36.2",
25
+ "librosa": "0.11.0",
26
+ "soundfile": "0.14.0",
27
+ "scipy": "1.17.1"
28
+ },
29
+ "seconds": 7.15,
30
+ "environment_differs": {
31
+ "torchvision": "0.29.2 (pinned 0.29.1)",
32
+ "numpy": "2.4.6 (pinned 2.3.5)",
33
+ "pillow": "13.0.0 (pinned 12.3.0)",
34
+ "accelerate": "1.16.0.dev0 (pinned 1.15.0)"
35
+ },
36
+ "platform": "cuda"
37
+ },
38
+ "outputs": {
39
+ "runtime": {
40
+ "device": "cuda",
41
+ "dtype": "bfloat16",
42
+ "attn_implementation": "sdpa"
43
+ },
44
+ "predicted_tokens": [
45
+ 33326,
46
+ 33326,
47
+ 33326,
48
+ 5069
49
+ ],
50
+ "predicted_text": [
51
+ "teenth",
52
+ "teenth",
53
+ "teenth",
54
+ "ains"
55
+ ],
56
+ "answer_logits": [
57
+ [
58
+ -0.279296875,
59
+ 0.07080078125,
60
+ 0.07080078125,
61
+ 0.0303955078125
62
+ ],
63
+ [
64
+ -0.279296875,
65
+ 0.0703125,
66
+ 0.0703125,
67
+ 0.031494140625
68
+ ],
69
+ [
70
+ -0.279296875,
71
+ 0.0693359375,
72
+ 0.0693359375,
73
+ 0.0302734375
74
+ ],
75
+ [
76
+ -0.166015625,
77
+ 0.037841796875,
78
+ 0.037841796875,
79
+ 0.0150146484375
80
+ ]
81
+ ],
82
+ "training": {
83
+ "loss": 10.875,
84
+ "gradients": {
85
+ "roberta.encoder.layer.0.attention.self.query.weight": true,
86
+ "roberta.encoder.layer.0.intermediate.dense.weight": true
87
+ },
88
+ "updated": true
89
+ }
90
+ }
91
+ }
integrations/transformers/expectations/cuda/roberta-base-mic.eager.json ADDED
@@ -0,0 +1,91 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "recorded_with": {
3
+ "contract": "huggingface-mic/roberta-base-mic",
4
+ "contract_name": "RoBERTa",
5
+ "contract_revision": "e97ac109af90cfd8a1bced0870753c342658a702",
6
+ "framework": "transformers",
7
+ "variant": "eager",
8
+ "target": "roberta-base-mic",
9
+ "kind": "fixture",
10
+ "revision": "e97ac109af90cfd8a1bced0870753c342658a702",
11
+ "environment": {
12
+ "python": "3.11.18",
13
+ "transformers": "5.22.0.dev0",
14
+ "torch": "2.14.0+cu130",
15
+ "torchvision": "0.29.2",
16
+ "torchaudio": "2.11.0+cu130",
17
+ "tokenizers": "0.23.3",
18
+ "numpy": "2.4.6",
19
+ "pillow": "13.0.0",
20
+ "accelerate": "1.16.0.dev0",
21
+ "safetensors": "0.8.0",
22
+ "huggingface-hub": "2.3.0",
23
+ "sentencepiece": "0.2.2",
24
+ "protobuf": "7.36.2",
25
+ "librosa": "0.11.0",
26
+ "soundfile": "0.14.0",
27
+ "scipy": "1.17.1"
28
+ },
29
+ "seconds": 7.39,
30
+ "environment_differs": {
31
+ "torchvision": "0.29.2 (pinned 0.29.1)",
32
+ "numpy": "2.4.6 (pinned 2.3.5)",
33
+ "pillow": "13.0.0 (pinned 12.3.0)",
34
+ "accelerate": "1.16.0.dev0 (pinned 1.15.0)"
35
+ },
36
+ "platform": "cuda"
37
+ },
38
+ "outputs": {
39
+ "runtime": {
40
+ "device": "cuda",
41
+ "dtype": "float32",
42
+ "attn_implementation": "eager"
43
+ },
44
+ "predicted_tokens": [
45
+ 33326,
46
+ 33326,
47
+ 33326,
48
+ 5069
49
+ ],
50
+ "predicted_text": [
51
+ "teenth",
52
+ "teenth",
53
+ "teenth",
54
+ "ains"
55
+ ],
56
+ "answer_logits": [
57
+ [
58
+ -0.2789422571659088,
59
+ 0.07029278576374054,
60
+ 0.07029278576374054,
61
+ 0.031082633882761
62
+ ],
63
+ [
64
+ -0.27898329496383667,
65
+ 0.07068229466676712,
66
+ 0.07068229466676712,
67
+ 0.03074600175023079
68
+ ],
69
+ [
70
+ -0.27887001633644104,
71
+ 0.07043243199586868,
72
+ 0.07043243199586868,
73
+ 0.030712302774190903
74
+ ],
75
+ [
76
+ -0.164401113986969,
77
+ 0.036728065460920334,
78
+ 0.036728065460920334,
79
+ 0.014085044153034687
80
+ ]
81
+ ],
82
+ "training": {
83
+ "loss": 10.831308364868164,
84
+ "gradients": {
85
+ "roberta.encoder.layer.0.attention.self.query.weight": true,
86
+ "roberta.encoder.layer.0.intermediate.dense.weight": true
87
+ },
88
+ "updated": true
89
+ }
90
+ }
91
+ }
integrations/transformers/expectations/cuda/roberta-base-mic.json ADDED
@@ -0,0 +1,91 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "recorded_with": {
3
+ "contract": "huggingface-mic/roberta-base-mic",
4
+ "contract_name": "RoBERTa",
5
+ "contract_revision": "e97ac109af90cfd8a1bced0870753c342658a702",
6
+ "framework": "transformers",
7
+ "variant": "default",
8
+ "target": "roberta-base-mic",
9
+ "kind": "fixture",
10
+ "revision": "e97ac109af90cfd8a1bced0870753c342658a702",
11
+ "environment": {
12
+ "python": "3.11.18",
13
+ "transformers": "5.22.0.dev0",
14
+ "torch": "2.14.0+cu130",
15
+ "torchvision": "0.29.2",
16
+ "torchaudio": "2.11.0+cu130",
17
+ "tokenizers": "0.23.3",
18
+ "numpy": "2.4.6",
19
+ "pillow": "13.0.0",
20
+ "accelerate": "1.16.0.dev0",
21
+ "safetensors": "0.8.0",
22
+ "huggingface-hub": "2.3.0",
23
+ "sentencepiece": "0.2.2",
24
+ "protobuf": "7.36.2",
25
+ "librosa": "0.11.0",
26
+ "soundfile": "0.14.0",
27
+ "scipy": "1.17.1"
28
+ },
29
+ "seconds": 7.34,
30
+ "environment_differs": {
31
+ "torchvision": "0.29.2 (pinned 0.29.1)",
32
+ "numpy": "2.4.6 (pinned 2.3.5)",
33
+ "pillow": "13.0.0 (pinned 12.3.0)",
34
+ "accelerate": "1.16.0.dev0 (pinned 1.15.0)"
35
+ },
36
+ "platform": "cuda"
37
+ },
38
+ "outputs": {
39
+ "runtime": {
40
+ "device": "cuda",
41
+ "dtype": "float32",
42
+ "attn_implementation": "sdpa"
43
+ },
44
+ "predicted_tokens": [
45
+ 33326,
46
+ 33326,
47
+ 33326,
48
+ 5069
49
+ ],
50
+ "predicted_text": [
51
+ "teenth",
52
+ "teenth",
53
+ "teenth",
54
+ "ains"
55
+ ],
56
+ "answer_logits": [
57
+ [
58
+ -0.2789422869682312,
59
+ 0.07029278576374054,
60
+ 0.07029278576374054,
61
+ 0.031082620844244957
62
+ ],
63
+ [
64
+ -0.27898329496383667,
65
+ 0.07068225741386414,
66
+ 0.07068225741386414,
67
+ 0.030746012926101685
68
+ ],
69
+ [
70
+ -0.27887001633644104,
71
+ 0.07043244689702988,
72
+ 0.07043244689702988,
73
+ 0.030712293460965157
74
+ ],
75
+ [
76
+ -0.164401113986969,
77
+ 0.03672804683446884,
78
+ 0.03672804683446884,
79
+ 0.01408504880964756
80
+ ]
81
+ ],
82
+ "training": {
83
+ "loss": 10.831787109375,
84
+ "gradients": {
85
+ "roberta.encoder.layer.0.attention.self.query.weight": true,
86
+ "roberta.encoder.layer.0.intermediate.dense.weight": true
87
+ },
88
+ "updated": true
89
+ }
90
+ }
91
+ }
integrations/transformers/expectations/cuda/roberta-base.bfloat16.json ADDED
@@ -0,0 +1,91 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "recorded_with": {
3
+ "contract": "huggingface-mic/roberta-base-mic",
4
+ "contract_name": "RoBERTa",
5
+ "contract_revision": "e97ac109af90cfd8a1bced0870753c342658a702",
6
+ "framework": "transformers",
7
+ "variant": "bfloat16",
8
+ "target": "roberta-base",
9
+ "kind": "checkpoint",
10
+ "revision": "e2da8e2f811d1448a5b465c236feacd80ffbac7b",
11
+ "environment": {
12
+ "python": "3.11.18",
13
+ "transformers": "5.22.0.dev0",
14
+ "torch": "2.14.0+cu130",
15
+ "torchvision": "0.29.2",
16
+ "torchaudio": "2.11.0+cu130",
17
+ "tokenizers": "0.23.3",
18
+ "numpy": "2.4.6",
19
+ "pillow": "13.0.0",
20
+ "accelerate": "1.16.0.dev0",
21
+ "safetensors": "0.8.0",
22
+ "huggingface-hub": "2.3.0",
23
+ "sentencepiece": "0.2.2",
24
+ "protobuf": "7.36.2",
25
+ "librosa": "0.11.0",
26
+ "soundfile": "0.14.0",
27
+ "scipy": "1.17.1"
28
+ },
29
+ "seconds": 7.62,
30
+ "environment_differs": {
31
+ "torchvision": "0.29.2 (pinned 0.29.1)",
32
+ "numpy": "2.4.6 (pinned 2.3.5)",
33
+ "pillow": "13.0.0 (pinned 12.3.0)",
34
+ "accelerate": "1.16.0.dev0 (pinned 1.15.0)"
35
+ },
36
+ "platform": "cuda"
37
+ },
38
+ "outputs": {
39
+ "runtime": {
40
+ "device": "cuda",
41
+ "dtype": "bfloat16",
42
+ "attn_implementation": "sdpa"
43
+ },
44
+ "predicted_tokens": [
45
+ 2201,
46
+ 5459,
47
+ 8947,
48
+ 928
49
+ ],
50
+ "predicted_text": [
51
+ "\u0120Paris",
52
+ "\u0120Berlin",
53
+ "\u0120Rome",
54
+ "\u0120London"
55
+ ],
56
+ "answer_logits": [
57
+ [
58
+ 13.25,
59
+ -4.53125,
60
+ -4.53125,
61
+ 4.1875
62
+ ],
63
+ [
64
+ 5.65625,
65
+ -4.25,
66
+ -4.25,
67
+ 2.90625
68
+ ],
69
+ [
70
+ 5.1875,
71
+ -4.34375,
72
+ -4.34375,
73
+ 2.625
74
+ ],
75
+ [
76
+ 7.5,
77
+ -4.90625,
78
+ -4.90625,
79
+ 13.625
80
+ ]
81
+ ],
82
+ "training": {
83
+ "loss": 15.75,
84
+ "gradients": {
85
+ "roberta.encoder.layer.0.attention.self.query.weight": true,
86
+ "roberta.encoder.layer.0.intermediate.dense.weight": true
87
+ },
88
+ "updated": true
89
+ }
90
+ }
91
+ }
integrations/transformers/expectations/cuda/roberta-base.eager.json ADDED
@@ -0,0 +1,91 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "recorded_with": {
3
+ "contract": "huggingface-mic/roberta-base-mic",
4
+ "contract_name": "RoBERTa",
5
+ "contract_revision": "e97ac109af90cfd8a1bced0870753c342658a702",
6
+ "framework": "transformers",
7
+ "variant": "eager",
8
+ "target": "roberta-base",
9
+ "kind": "checkpoint",
10
+ "revision": "e2da8e2f811d1448a5b465c236feacd80ffbac7b",
11
+ "environment": {
12
+ "python": "3.11.18",
13
+ "transformers": "5.22.0.dev0",
14
+ "torch": "2.14.0+cu130",
15
+ "torchvision": "0.29.2",
16
+ "torchaudio": "2.11.0+cu130",
17
+ "tokenizers": "0.23.3",
18
+ "numpy": "2.4.6",
19
+ "pillow": "13.0.0",
20
+ "accelerate": "1.16.0.dev0",
21
+ "safetensors": "0.8.0",
22
+ "huggingface-hub": "2.3.0",
23
+ "sentencepiece": "0.2.2",
24
+ "protobuf": "7.36.2",
25
+ "librosa": "0.11.0",
26
+ "soundfile": "0.14.0",
27
+ "scipy": "1.17.1"
28
+ },
29
+ "seconds": 7.7,
30
+ "environment_differs": {
31
+ "torchvision": "0.29.2 (pinned 0.29.1)",
32
+ "numpy": "2.4.6 (pinned 2.3.5)",
33
+ "pillow": "13.0.0 (pinned 12.3.0)",
34
+ "accelerate": "1.16.0.dev0 (pinned 1.15.0)"
35
+ },
36
+ "platform": "cuda"
37
+ },
38
+ "outputs": {
39
+ "runtime": {
40
+ "device": "cuda",
41
+ "dtype": "float32",
42
+ "attn_implementation": "eager"
43
+ },
44
+ "predicted_tokens": [
45
+ 2201,
46
+ 5459,
47
+ 8947,
48
+ 928
49
+ ],
50
+ "predicted_text": [
51
+ "\u0120Paris",
52
+ "\u0120Berlin",
53
+ "\u0120Rome",
54
+ "\u0120London"
55
+ ],
56
+ "answer_logits": [
57
+ [
58
+ 13.224016189575195,
59
+ -4.527595520019531,
60
+ -4.527595520019531,
61
+ 4.151366233825684
62
+ ],
63
+ [
64
+ 5.728461265563965,
65
+ -4.235146522521973,
66
+ -4.235146522521973,
67
+ 2.9418551921844482
68
+ ],
69
+ [
70
+ 5.227436542510986,
71
+ -4.3552350997924805,
72
+ -4.3552350997924805,
73
+ 2.699455738067627
74
+ ],
75
+ [
76
+ 7.649930953979492,
77
+ -4.918882369995117,
78
+ -4.918882369995117,
79
+ 13.747785568237305
80
+ ]
81
+ ],
82
+ "training": {
83
+ "loss": 15.65516471862793,
84
+ "gradients": {
85
+ "roberta.encoder.layer.0.attention.self.query.weight": true,
86
+ "roberta.encoder.layer.0.intermediate.dense.weight": true
87
+ },
88
+ "updated": true
89
+ }
90
+ }
91
+ }
integrations/transformers/expectations/cuda/roberta-base.json ADDED
@@ -0,0 +1,91 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "recorded_with": {
3
+ "contract": "huggingface-mic/roberta-base-mic",
4
+ "contract_name": "RoBERTa",
5
+ "contract_revision": "e97ac109af90cfd8a1bced0870753c342658a702",
6
+ "framework": "transformers",
7
+ "variant": "default",
8
+ "target": "roberta-base",
9
+ "kind": "checkpoint",
10
+ "revision": "e2da8e2f811d1448a5b465c236feacd80ffbac7b",
11
+ "environment": {
12
+ "python": "3.11.18",
13
+ "transformers": "5.22.0.dev0",
14
+ "torch": "2.14.0+cu130",
15
+ "torchvision": "0.29.2",
16
+ "torchaudio": "2.11.0+cu130",
17
+ "tokenizers": "0.23.3",
18
+ "numpy": "2.4.6",
19
+ "pillow": "13.0.0",
20
+ "accelerate": "1.16.0.dev0",
21
+ "safetensors": "0.8.0",
22
+ "huggingface-hub": "2.3.0",
23
+ "sentencepiece": "0.2.2",
24
+ "protobuf": "7.36.2",
25
+ "librosa": "0.11.0",
26
+ "soundfile": "0.14.0",
27
+ "scipy": "1.17.1"
28
+ },
29
+ "seconds": 7.6,
30
+ "environment_differs": {
31
+ "torchvision": "0.29.2 (pinned 0.29.1)",
32
+ "numpy": "2.4.6 (pinned 2.3.5)",
33
+ "pillow": "13.0.0 (pinned 12.3.0)",
34
+ "accelerate": "1.16.0.dev0 (pinned 1.15.0)"
35
+ },
36
+ "platform": "cuda"
37
+ },
38
+ "outputs": {
39
+ "runtime": {
40
+ "device": "cuda",
41
+ "dtype": "float32",
42
+ "attn_implementation": "sdpa"
43
+ },
44
+ "predicted_tokens": [
45
+ 2201,
46
+ 5459,
47
+ 8947,
48
+ 928
49
+ ],
50
+ "predicted_text": [
51
+ "\u0120Paris",
52
+ "\u0120Berlin",
53
+ "\u0120Rome",
54
+ "\u0120London"
55
+ ],
56
+ "answer_logits": [
57
+ [
58
+ 13.224020004272461,
59
+ -4.527596473693848,
60
+ -4.527596473693848,
61
+ 4.151369094848633
62
+ ],
63
+ [
64
+ 5.728462219238281,
65
+ -4.2351460456848145,
66
+ -4.2351460456848145,
67
+ 2.9418606758117676
68
+ ],
69
+ [
70
+ 5.227438449859619,
71
+ -4.3552327156066895,
72
+ -4.3552327156066895,
73
+ 2.699451208114624
74
+ ],
75
+ [
76
+ 7.6499409675598145,
77
+ -4.918882369995117,
78
+ -4.918882369995117,
79
+ 13.747784614562988
80
+ ]
81
+ ],
82
+ "training": {
83
+ "loss": 14.964488983154297,
84
+ "gradients": {
85
+ "roberta.encoder.layer.0.attention.self.query.weight": true,
86
+ "roberta.encoder.layer.0.intermediate.dense.weight": true
87
+ },
88
+ "updated": true
89
+ }
90
+ }
91
+ }
integrations/transformers/usage.md ADDED
@@ -0,0 +1,72 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # RoBERTa: fill-mask with Transformers
2
+
3
+ This page is the Transformers contract of the RoBERTa MIC and also a usage example. [doc-builder](https://github.com/huggingface/doc-builder/blob/main/docs/runnable-code-blocks.md) renders the `runnable` blocks below as documentation, and its pytest plugin runs them as written against `FacebookAI/roberta-base`. The MIC runner runs the same blocks against each slim fixture and each checkpoint in [`integration.json`](../../integration.json). Lines marked `# doc-builder: hide` only matter there: they swap in the pinned checkpoint or variant and print the result record.
4
+
5
+ ## Predict the masked word
6
+
7
+ ```py runnable:fill_mask
8
+ import torch
9
+ from transformers import AutoModelForMaskedLM, AutoTokenizer, set_seed
10
+ import json # doc-builder: hide
11
+ import os # doc-builder: hide
12
+
13
+ model_id = "FacebookAI/roberta-base"
14
+ model_id = os.environ.get("MIC_MODEL", model_id) # doc-builder: hide
15
+ variant = json.loads(os.environ.get("MIC_MODEL_KWARGS", "{}")) # doc-builder: hide
16
+ device = "cuda" if torch.cuda.is_available() else "cpu"
17
+ set_seed(0) # seeds torch, NumPy, and Python: loading, dropout, and data augmentation draw random numbers
18
+
19
+ tokenizer = AutoTokenizer.from_pretrained(model_id)
20
+ model = AutoModelForMaskedLM.from_pretrained(model_id).to(device)
21
+ if variant: # doc-builder: hide
22
+ del model # doc-builder: hide
23
+ model = AutoModelForMaskedLM.from_pretrained(model_id, **variant).to(device) # doc-builder: hide
24
+
25
+ countries = ["France", "Germany", "Italy", "the United Kingdom"]
26
+ prompts = [f"The capital of {country} is {tokenizer.mask_token}." for country in countries]
27
+ inputs = tokenizer(prompts, return_tensors="pt", padding=True)
28
+ inputs = inputs.to(device)
29
+
30
+ with torch.no_grad():
31
+ logits = model(**inputs).logits
32
+ masked = inputs["input_ids"] == tokenizer.mask_token_id
33
+ predicted = logits[masked].argmax(dim=-1)
34
+ print(tokenizer.convert_ids_to_tokens(predicted))
35
+ ```
36
+
37
+ ## One training step
38
+
39
+ ```py runnable:fill_mask:2
40
+ answers = ["Paris", "Berlin", "Rome", "London"]
41
+ answer_ids = tokenizer.convert_tokens_to_ids(answers)
42
+ labels = torch.full_like(inputs["input_ids"], -100)
43
+ labels[masked] = torch.tensor(answer_ids, device=device)
44
+
45
+ model.train()
46
+ optimizer = torch.optim.SGD([p for p in model.parameters() if p.requires_grad], lr=0.01)
47
+ loss = model(**inputs, labels=labels).loss
48
+ loss.backward()
49
+ before = {n: p.detach().cpu().clone() for n, p in model.named_parameters() if p.requires_grad} # doc-builder: hide
50
+ optimizer.step()
51
+ print(f"loss: {loss.item():.4f}")
52
+
53
+ if os.environ.get("MIC_RUNNER"): # doc-builder: hide
54
+ named = dict(model.named_parameters())
55
+ checked = ("roberta.encoder.layer.0.attention.self.query.weight", "roberta.encoder.layer.0.intermediate.dense.weight")
56
+ result = {
57
+ "runtime": {
58
+ "device": model.device.type,
59
+ "dtype": str(model.dtype).removeprefix("torch."),
60
+ "attn_implementation": model.config._attn_implementation,
61
+ },
62
+ "predicted_tokens": predicted.tolist(),
63
+ "predicted_text": tokenizer.convert_ids_to_tokens(predicted),
64
+ "answer_logits": logits[masked][:, answer_ids].float().tolist(),
65
+ "training": {
66
+ "loss": loss.item(),
67
+ "gradients": {n: bool(named[n].grad is not None and torch.count_nonzero(named[n].grad) > 0 and torch.isfinite(named[n].grad).all()) for n in checked},
68
+ "updated": any(not torch.equal(p.detach().cpu(), before[n]) for n, p in model.named_parameters() if n in before),
69
+ },
70
+ }
71
+ print(json.dumps(result))
72
+ ```
merges.txt ADDED
The diff for this file is too large to render. See raw diff
 
model.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:039fe2a956ec50b3d5fe667490873e9d1697b906fa0d9f82cf5a727c53c97bbf
3
+ size 13490924
tokenizer.json ADDED
The diff for this file is too large to render. See raw diff
 
tokenizer_config.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"model_max_length": 512}
vocab.json ADDED
The diff for this file is too large to render. See raw diff