Shrikanth19 commited on
Commit
dc726af
·
verified ·
1 Parent(s): ec10afb

Project Uroboros: Stage 2 — ARC

Browse files
README.md ADDED
@@ -0,0 +1,49 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: apache-2.0
3
+ base_model: ByteDance/Ouro-2.6B-Thinking
4
+ tags:
5
+ - roste
6
+ - lora
7
+ - 4bit
8
+ - arc-reasoning
9
+ - stage2
10
+ ---
11
+
12
+ # Project Uroboros — RoSTE Stage 2 Adapter
13
+
14
+ **Stage 2 of 2** in the Uroboros continual-learning pipeline.
15
+
16
+ ## Training details
17
+
18
+ | Setting | Value |
19
+ |---|---|
20
+ | Base model | `ByteDance/Ouro-2.6B-Thinking` |
21
+ | Datasets | UltraChat-200k → NVARC-augmented-puzzles |
22
+ | Quantization | 4-bit NF4 double-quant (BitsAndBytes) |
23
+ | LoRA r / alpha | 16 / 32 |
24
+ | Bits (w / a / kv) | 4 / 4 / 4 |
25
+ | Rotations used | R3 (Q/K head_dim), R4 (down_proj input, block-Hadamard) |
26
+ | Max seq length | 1024 |
27
+ | Transformers | `4.54.1` |
28
+
29
+ ## Files
30
+
31
+ | File | Description |
32
+ |---|---|
33
+ | `roste_adapter.pt` | Trained `lora_A` + `lora_B` tensors from `apply_roste` |
34
+ | `roste_config.json` | Hyperparameters needed to reconstruct the model |
35
+ | `tokenizer.*` | Tokenizer saved from base model |
36
+
37
+ ## How to load
38
+
39
+ See the [project notebook](https://www.kaggle.com/) for the full `apply_roste` implementation.
40
+ The weight-injection pattern is:
41
+
42
+ ```python
43
+ saved = torch.load("roste_adapter.pt", map_location="cpu")
44
+ current = dict(model.named_parameters())
45
+ with torch.no_grad():
46
+ for name, tensor in saved.items():
47
+ if name in current and current[name].shape == tensor.shape:
48
+ current[name].copy_(tensor.to(current[name].device, current[name].dtype))
49
+ ```
chat_template.jinja ADDED
@@ -0,0 +1 @@
 
 
1
+ {%- if messages[0]['role'] == 'system' -%}{{- '<|im_start|>system\n' + messages[0]['content'] + '<|im_end|>\n' }}{%- else -%}{{- '<|im_start|>system\nYou are a helpful assistant.<|im_end|>\n' }}{%- endif -%}{%- for message in messages -%}{%- if message.role == 'system' and loop.first -%}{# Skip #}{%- else -%}{{- '<|im_start|>' + message['role'] + '\n' + message['content'] + '<|im_end|>' + '\n' }}{%- endif -%}{%- endfor -%}{%- if add_generation_prompt -%}{{- '<|im_start|>assistant\n' }}{%- if enable_thinking is defined and enable_thinking is true -%}{{- '<think>\n' }}{%- endif -%}{%- endif -%}
merges.txt ADDED
The diff for this file is too large to render. See raw diff
 
roste_adapter.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:bc37949c86480a0e9538151182c646f0b20b0fd6fac0ab07327046d65b92ab6b
3
+ size 122159843
roste_config.json ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "model_name": "ByteDance/Ouro-2.6B-Thinking",
3
+ "w_bits": 4,
4
+ "a_bits": 4,
5
+ "kv_bits": 4,
6
+ "lora_r": 16,
7
+ "lora_alpha": 32,
8
+ "lora_dropout": 0.05,
9
+ "rotations_used": [
10
+ "R3 (Q/K head_dim)",
11
+ "R4 (down_proj input, block-Hadamard)"
12
+ ],
13
+ "rotations_skipped": [
14
+ "R1",
15
+ "R2"
16
+ ],
17
+ "max_seq_len": 1024,
18
+ "transformers_version": "4.54.1",
19
+ "trl_version": "0.11.4",
20
+ "peft_version": "0.13.2",
21
+ "stages": [
22
+ "UltraChat-200k",
23
+ "NVARC-augmented-puzzles"
24
+ ]
25
+ }
special_tokens_map.json ADDED
@@ -0,0 +1,49 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "additional_special_tokens": [
3
+ "<|endoftext|>",
4
+ "<|im_start|>",
5
+ "<|im_end|>",
6
+ "<think>",
7
+ "</think>",
8
+ "<file_sep>",
9
+ "<filename>",
10
+ "<gh_stars>",
11
+ "<issue_start>",
12
+ "<issue_comment>",
13
+ "<issue_closed>",
14
+ "<jupyter_start>",
15
+ "<jupyter_text>",
16
+ "<jupyter_code>",
17
+ "<jupyter_output>",
18
+ "<jupyter_script>",
19
+ "<empty_output>"
20
+ ],
21
+ "bos_token": {
22
+ "content": "<|im_start|>",
23
+ "lstrip": false,
24
+ "normalized": false,
25
+ "rstrip": false,
26
+ "single_word": false
27
+ },
28
+ "eos_token": {
29
+ "content": "<|im_end|>",
30
+ "lstrip": false,
31
+ "normalized": false,
32
+ "rstrip": false,
33
+ "single_word": false
34
+ },
35
+ "pad_token": {
36
+ "content": "<|im_end|>",
37
+ "lstrip": false,
38
+ "normalized": false,
39
+ "rstrip": false,
40
+ "single_word": false
41
+ },
42
+ "unk_token": {
43
+ "content": "<|endoftext|>",
44
+ "lstrip": false,
45
+ "normalized": false,
46
+ "rstrip": false,
47
+ "single_word": false
48
+ }
49
+ }
tokenizer.json ADDED
The diff for this file is too large to render. See raw diff
 
tokenizer_config.json ADDED
@@ -0,0 +1,169 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "add_prefix_space": false,
3
+ "added_tokens_decoder": {
4
+ "0": {
5
+ "content": "<|endoftext|>",
6
+ "lstrip": false,
7
+ "normalized": false,
8
+ "rstrip": false,
9
+ "single_word": false,
10
+ "special": true
11
+ },
12
+ "1": {
13
+ "content": "<|im_start|>",
14
+ "lstrip": false,
15
+ "normalized": false,
16
+ "rstrip": false,
17
+ "single_word": false,
18
+ "special": true
19
+ },
20
+ "2": {
21
+ "content": "<|im_end|>",
22
+ "lstrip": false,
23
+ "normalized": false,
24
+ "rstrip": false,
25
+ "single_word": false,
26
+ "special": true
27
+ },
28
+ "3": {
29
+ "content": "<think>",
30
+ "lstrip": false,
31
+ "normalized": false,
32
+ "rstrip": false,
33
+ "single_word": false,
34
+ "special": true
35
+ },
36
+ "4": {
37
+ "content": "</think>",
38
+ "lstrip": false,
39
+ "normalized": false,
40
+ "rstrip": false,
41
+ "single_word": false,
42
+ "special": true
43
+ },
44
+ "5": {
45
+ "content": "<file_sep>",
46
+ "lstrip": false,
47
+ "normalized": false,
48
+ "rstrip": false,
49
+ "single_word": false,
50
+ "special": true
51
+ },
52
+ "6": {
53
+ "content": "<filename>",
54
+ "lstrip": false,
55
+ "normalized": false,
56
+ "rstrip": false,
57
+ "single_word": false,
58
+ "special": true
59
+ },
60
+ "7": {
61
+ "content": "<gh_stars>",
62
+ "lstrip": false,
63
+ "normalized": false,
64
+ "rstrip": false,
65
+ "single_word": false,
66
+ "special": true
67
+ },
68
+ "8": {
69
+ "content": "<issue_start>",
70
+ "lstrip": false,
71
+ "normalized": false,
72
+ "rstrip": false,
73
+ "single_word": false,
74
+ "special": true
75
+ },
76
+ "9": {
77
+ "content": "<issue_comment>",
78
+ "lstrip": false,
79
+ "normalized": false,
80
+ "rstrip": false,
81
+ "single_word": false,
82
+ "special": true
83
+ },
84
+ "10": {
85
+ "content": "<issue_closed>",
86
+ "lstrip": false,
87
+ "normalized": false,
88
+ "rstrip": false,
89
+ "single_word": false,
90
+ "special": true
91
+ },
92
+ "11": {
93
+ "content": "<jupyter_start>",
94
+ "lstrip": false,
95
+ "normalized": false,
96
+ "rstrip": false,
97
+ "single_word": false,
98
+ "special": true
99
+ },
100
+ "12": {
101
+ "content": "<jupyter_text>",
102
+ "lstrip": false,
103
+ "normalized": false,
104
+ "rstrip": false,
105
+ "single_word": false,
106
+ "special": true
107
+ },
108
+ "13": {
109
+ "content": "<jupyter_code>",
110
+ "lstrip": false,
111
+ "normalized": false,
112
+ "rstrip": false,
113
+ "single_word": false,
114
+ "special": true
115
+ },
116
+ "14": {
117
+ "content": "<jupyter_output>",
118
+ "lstrip": false,
119
+ "normalized": false,
120
+ "rstrip": false,
121
+ "single_word": false,
122
+ "special": true
123
+ },
124
+ "15": {
125
+ "content": "<jupyter_script>",
126
+ "lstrip": false,
127
+ "normalized": false,
128
+ "rstrip": false,
129
+ "single_word": false,
130
+ "special": true
131
+ },
132
+ "16": {
133
+ "content": "<empty_output>",
134
+ "lstrip": false,
135
+ "normalized": false,
136
+ "rstrip": false,
137
+ "single_word": false,
138
+ "special": true
139
+ }
140
+ },
141
+ "additional_special_tokens": [
142
+ "<|endoftext|>",
143
+ "<|im_start|>",
144
+ "<|im_end|>",
145
+ "<think>",
146
+ "</think>",
147
+ "<file_sep>",
148
+ "<filename>",
149
+ "<gh_stars>",
150
+ "<issue_start>",
151
+ "<issue_comment>",
152
+ "<issue_closed>",
153
+ "<jupyter_start>",
154
+ "<jupyter_text>",
155
+ "<jupyter_code>",
156
+ "<jupyter_output>",
157
+ "<jupyter_script>",
158
+ "<empty_output>"
159
+ ],
160
+ "bos_token": "<|im_start|>",
161
+ "clean_up_tokenization_spaces": false,
162
+ "eos_token": "<|im_end|>",
163
+ "extra_special_tokens": {},
164
+ "model_max_length": 131072,
165
+ "pad_token": "<|im_end|>",
166
+ "tokenizer_class": "GPT2Tokenizer",
167
+ "unk_token": "<|endoftext|>",
168
+ "vocab_size": 49152
169
+ }
vocab.json ADDED
The diff for this file is too large to render. See raw diff