Alienanthony commited on
Commit
fef393c
·
verified ·
1 Parent(s): 2e9d390

Underlining

Browse files
.gitattributes CHANGED
@@ -33,3 +33,4 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ global_loss_landscape.png filter=lfs diff=lfs merge=lfs -text
LICENSE.md ADDED
@@ -0,0 +1,40 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # License
2
+
3
+ This repository contains materials under two licenses. The licenses apply only
4
+ to rights held by the repository's contributors. They do not relicense training
5
+ datasets, source recordings, lyrics, compositions, images, documents,
6
+ trademarks, personalities, or other third-party material.
7
+
8
+ ## Model weights, documentation, and visual assets
9
+
10
+ The `model-*.safetensors` files, model card, configuration, architecture
11
+ diagram, and other non-code original materials are licensed under the
12
+ **Creative Commons Attribution-NonCommercial 4.0 International License**
13
+ (CC BY-NC 4.0):
14
+
15
+ https://creativecommons.org/licenses/by-nc/4.0/legalcode
16
+
17
+ You must provide appropriate attribution, link to the license, and indicate
18
+ whether changes were made. You may not use these materials for commercial
19
+ purposes under this license.
20
+
21
+ ## Inference source code
22
+
23
+ The Python source files in this repository are licensed under the
24
+ **Apache License, Version 2.0**:
25
+
26
+ https://www.apache.org/licenses/LICENSE-2.0
27
+
28
+ Unless required by applicable law or agreed to in writing, software distributed
29
+ under that license is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
30
+ CONDITIONS OF ANY KIND, either express or implied. See the Apache License for
31
+ the specific language governing permissions and limitations.
32
+
33
+ ## Training-data and output rights
34
+
35
+ No training dataset is included in this repository. All upstream dataset terms
36
+ and content rights remain in effect. In particular, the source audio and lyrics
37
+ represented by `webshart/suno-various-94k` are marked source-rights-retained and
38
+ remain subject to their creators' rights. Nothing in this license grants a
39
+ right to reproduce protected material that may be recalled or generated by the
40
+ model.
README.md CHANGED
@@ -1,3 +1,210 @@
1
  ---
2
- license: apache-2.0
 
 
 
 
 
 
 
 
 
 
 
 
 
3
  ---
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  ---
2
+ library_name: custom
3
+ pipeline_tag: text-generation
4
+ license: other
5
+ license_name: cc-by-nc-4.0-weights-apache-2.0-code
6
+ license_link: LICENSE.md
7
+ tags:
8
+ - mamba2
9
+ - byte-level
10
+ - state-space-model
11
+ - multimodal
12
+ - custom-code
13
+ - causal-lm
14
+ language:
15
+ - en
16
  ---
17
+
18
+ # Three-Level Nested Byte Mamba-2
19
+
20
+ This repository contains a research checkpoint for a **2.478B-parameter causal byte model** with three nested Mamba-2 resolutions. It predicts raw bytes rather than tokenizer IDs and was trained on a mixture of web/PDF text, serialized image-text examples, and serialized audio.
21
+
22
+ It is not a Transformers `AutoModel` checkpoint and is not instruction-formatted as a conventional chat model. Use the included cached inference script.
23
+
24
+ ![Three-level nested Mamba-2 architecture](architecture.svg)
25
+
26
+ ## Checkpoint contents
27
+
28
+ The published weights are sharded SafeTensors containing only the 980 model tensors. The original optimizer, scaler, training phase, data cursor, dataset paths, source fingerprints, and other training-only checkpoint objects were removed.
29
+
30
+ - Parameters: **2,478,820,575**
31
+ - Weight precision on disk: **FP32**
32
+ - Raw tensor size: **9,915,282,300 bytes**
33
+ - Source checkpoint step: **889,000**
34
+ - Recommended runtime precision: **BF16**
35
+ - Recommended placement: fine/decoder on `cuda:0`, level 2 on `cuda:1`, level 3 on `cuda:2`
36
+
37
+ The source checkpoint step is documentation only; it is not embedded in the SafeTensors weights or inference configuration.
38
+
39
+ ## Latest validation results
40
+
41
+ The latest recorded validation event is step **890,000**, one scheduled validation event after the packaged `last.pt` weight step.
42
+
43
+ | Validation stream | Cross entropy (nats/byte) | Bits per byte | Scored bytes |
44
+ |---|---:|---:|---:|
45
+ | Aggregate mixed validation | **3.828962** | **5.524025** | 14,530,840 |
46
+ | JSONL text | 0.937809 | 1.352973 | 1,246,101 |
47
+ | Parquet text | 0.820114 | 1.183175 | 1,929,612 |
48
+ | Image + text multimodal | 1.397195 | 2.015726 | 1,626,324 |
49
+ | Audio objectives | 5.189134 | 7.486338 | 9,824,803 |
50
+
51
+ The aggregate should not be interpreted as a pure language score: audio accounts for most evaluated bytes and has a substantially different entropy scale. For text use, the JSONL and Parquet rows are the relevant measurements.
52
+
53
+ ## Architecture
54
+
55
+ ### Byte vocabulary
56
+
57
+ There is no learned tokenizer:
58
+
59
+ ```text
60
+ PAD=0, BOS=1, EOS=2, UNK=3
61
+ raw byte 0..255 -> ID 4..259
62
+ vocabulary size = 260
63
+ ```
64
+
65
+ UTF-8 text and serialized binary modalities therefore share one next-byte objective.
66
+
67
+ ### Three causal resolutions
68
+
69
+ 1. **Fine level:** a local causal convolutional encoder and 6 Mamba-2 blocks operate at byte resolution. A learned causal boundary head closes variable pools between 1 and 96 bytes.
70
+ 2. **Level 2:** 20 Mamba-2 blocks consume completed fine-pool states. A learned boundary head groups 4–16 completed fine pools.
71
+ 3. **Level 3:** 30 Mamba-2 blocks consume completed level-2 states and group 2–16 level-2 pools.
72
+
73
+ Every Mamba block uses model width 2,000, Mamba-2 `d_state=64`, and head dimension 100. A pool can use only states already available in its causal prefix. A closure never revises an earlier prediction.
74
+
75
+ ### Fusion decoder
76
+
77
+ For each byte, the decoder concatenates four 2,000-dimensional signals:
78
+
79
+ - byte-local contextual state;
80
+ - current fine latent;
81
+ - latest level-2 latent;
82
+ - latest level-3 latent.
83
+
84
+ The 10,000-dimensional concatenation is normalized, projected through an 8,000-wide GELU fusion layer, reduced to width 2,000, and mapped to 260 next-byte logits. This enlarged decoder was added to avoid choking the information arriving from three recurrent resolutions.
85
+
86
+ ### Pool-density fallback
87
+
88
+ Fine pooling includes a rolling short-pool quota. Among the most recent 6,000 completed fine pools, at most 3,000 may be shorter than 6 bytes. When that quota fills, the next pool must reach the secondary minimum; short closures become eligible again as older short pools leave the rolling window. The quota counts completed pools, not raw bytes.
89
+
90
+ ### Delayed decoder controller
91
+
92
+ The checkpoint includes an optional hold/refresh/compress controller. Its output at time `t` can influence closure only at `t+1`:
93
+
94
+ ```text
95
+ decode byte t -> controller C[t] -> choose closure at t+1 -> decode byte t+1
96
+ ```
97
+
98
+ The included cached inference path applies this without future leakage or a second full-model pass.
99
+
100
+ ### Parameter distribution
101
+
102
+ | Component | Parameters |
103
+ |---|---:|
104
+ | Fine level, shared byte modules, decoder, and LM head | 411,954,571 |
105
+ | Level 2 pooler and 20 Mamba-2 blocks | 831,559,202 |
106
+ | Level 3 pooler and 30 Mamba-2 blocks | 1,235,306,802 |
107
+
108
+ Pooling reduces sequence activations and recurrent update frequency, not layer-weight storage. This is why the deepest level remains the largest parameter group even though it updates least frequently.
109
+
110
+ ## Inference
111
+
112
+ ### Dependencies
113
+
114
+ Use Linux, CUDA, and versions of PyTorch, `mamba-ssm`, Triton, and `causal-conv1d` that are mutually compatible:
115
+
116
+ ```bash
117
+ pip install -r requirements.txt
118
+ ```
119
+
120
+ BF16 is strongly recommended. FP16 cached rollouts can become numerically unstable on some Mamba-2 builds.
121
+
122
+ ### Three-GPU inference
123
+
124
+ From the downloaded repository:
125
+
126
+ ```bash
127
+ python infer_nested_model.py \
128
+ --checkpoint . \
129
+ --prompt "The history of state space models begins" \
130
+ --max-new-bytes 512 \
131
+ --precision bf16 \
132
+ --fine-device cuda:0 \
133
+ --nested-devices cuda:1 \
134
+ --tertiary-device cuda:2 \
135
+ --temperature 0.8 \
136
+ --top-p 0.9
137
+ ```
138
+
139
+ The script accepts `--prompt-file` for arbitrary byte prefixes, `--output` for raw generated bytes, `--html-output` for hierarchy-attribution output, and `--image-output-dir` to extract complete generated P6 images.
140
+
141
+ Single-GPU inference is supported when the GPU can hold the requested precision:
142
+
143
+ ```bash
144
+ python infer_nested_model.py --checkpoint . --device cuda:0 \
145
+ --prompt "Once upon a time" --max-new-bytes 256 --precision bf16
146
+ ```
147
+
148
+ ### Stateful generation
149
+
150
+ Generation prefills the prompt once, then caches the convolution and SSM states for the fine, level-2, and level-3 stacks. New bytes advance those caches token by token; the entire prefix is not reprocessed for every generated byte.
151
+
152
+ ## Training mixture and modality representation
153
+
154
+ The training run mixed educational web text, PDF-derived text, image/question
155
+ and instruction examples, and paired music/cover data from the following
156
+ repositories:
157
+
158
+ | Training source | Use in this model | Upstream licensing and rights notice |
159
+ |---|---|---|
160
+ | [HuggingFaceM4/FineVision](https://huggingface.co/datasets/HuggingFaceM4/FineVision) | Image, document, question, and instruction examples | FineVision is an aggregation. Each constituent dataset retains its own license; rights in prompts contributed by FineVision are offered under CC BY 4.0. Consult the license metadata for the constituent subsets. |
161
+ | [HuggingFaceFW/finepdfs](https://huggingface.co/datasets/HuggingFaceFW/finepdfs) | PDF-derived document text | ODC-By 1.0; use is also subject to applicable Common Crawl terms and upstream-content rights. |
162
+ | [HuggingFaceFW/fineweb-edu](https://huggingface.co/datasets/HuggingFaceFW/fineweb-edu) | Educational web text | ODC-By 1.0; source pages retain their applicable rights. |
163
+ | [webshart/suno-various-94k](https://huggingface.co/datasets/webshart/suno-various-94k) | Music, captions, lyrics, and generated cover pairs | Marked `source-rights-retained`. Rights in source audio and lyrics remain with their creators; the dataset does not grant rights over the underlying content. |
164
+
165
+ These datasets are not redistributed in this repository. Their upstream terms
166
+ continue to apply independently and are not replaced by this repository's
167
+ license.
168
+
169
+ - Text and code are UTF-8 bytes.
170
+ - Images are complete RGB PPM byte sequences plus associated text.
171
+ - Audio uses 24 kHz EnCodec payloads with generation and detection objectives.
172
+ - Instruction and dialogue fields present in source records were serialized in full rather than using assistant-response-only loss.
173
+
174
+ This mixture makes the checkpoint experimental and general-purpose at the byte level; it does not guarantee strong image or audio generation quality.
175
+
176
+ ## Limitations
177
+
178
+ - This is custom research code, not an official Mamba or Transformers architecture.
179
+ - The model is not a safety-aligned chat assistant.
180
+ - Raw-byte sampling can produce invalid UTF-8, malformed images, or incomplete audio containers.
181
+ - Image training used small PPM rasters, limiting fine visual detail.
182
+ - Audio validation remains much weaker than text validation.
183
+ - The audio corpus includes third-party creator material whose source rights are retained. The model license does not grant rights to reproduce protected training content, lyrics, compositions, voices, or recordings.
184
+ - The current weights are FP32 and large; practical use generally requires BF16 casting.
185
+ - The delayed pooling controller is causal but makes exact routing inherently sequential.
186
+ - The latest CSV validation event is at step 890,000, while the packaged `last.pt` weights identify step 889,000; the table must therefore be read as the latest run validation, not an evaluation re-run performed directly on this exported artifact.
187
+
188
+ ## Intended use
189
+
190
+ Intended for research into byte-level modeling, hierarchical state-space models, adaptive causal pooling, long recurrent context, and mixed text/binary generation. Validate outputs independently before using them in downstream systems.
191
+
192
+ ## License
193
+
194
+ The model weights, model card, and visual assets are available under
195
+ [CC BY-NC 4.0](https://creativecommons.org/licenses/by-nc/4.0/). The Python
196
+ inference source is available under
197
+ [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0). Training
198
+ datasets and third-party content are not covered by either grant. See
199
+ [LICENSE.md](LICENSE.md) for the precise repository scope and notices.
200
+
201
+ ## Repository files
202
+
203
+ - `model-*.safetensors`: inference-only model shards
204
+ - `model.safetensors.index.json`: tensor-to-shard map
205
+ - `config.json`: architecture-only inference configuration
206
+ - `modeling_nested_mamba.py`: custom model implementation
207
+ - `nested_inference_tools.py`: SafeTensors loading, state caching, and sampling
208
+ - `infer_nested_model.py`: command-line generator
209
+ - `architecture.svg`: architecture visualization
210
+ - `LICENSE.md`: weight, documentation, and code license scope
architecture.svg ADDED
config.json ADDED
@@ -0,0 +1,49 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "model_type": "nested_byte_mamba2",
3
+ "architectures": ["ForwardBackwardRepairModel"],
4
+ "architecture": "byte_latent_mamba_nested_jsonl",
5
+ "vocab_size": 260,
6
+ "byte_offset": 4,
7
+ "special_token_ids": {
8
+ "pad": 0,
9
+ "bos": 1,
10
+ "eos": 2,
11
+ "unk": 3
12
+ },
13
+ "dim": 2000,
14
+ "layers": 26,
15
+ "fine_layers": 6,
16
+ "nested_layers": 20,
17
+ "tertiary_layers": 30,
18
+ "decoder_dim": 8000,
19
+ "position_bins": 8192,
20
+ "mamba_version": 2,
21
+ "mamba_d_state": 64,
22
+ "mamba2_headdim": 100,
23
+ "no_mamba": false,
24
+ "blt_min_patch_bytes": 1,
25
+ "blt_max_patch_bytes": 96,
26
+ "blt_patch_change_threshold": 48,
27
+ "blt_close_threshold": 0.98,
28
+ "blt_mid_close_bonus": 0.05,
29
+ "blt_short_pool_budget": 3000,
30
+ "blt_short_pool_window": 6000,
31
+ "blt_secondary_min_patch_bytes": 6,
32
+ "nested_pool_factor": 16,
33
+ "nested_min_pool_factor": 4,
34
+ "nested_close_threshold": 0.98,
35
+ "tertiary_pool_factor": 16,
36
+ "tertiary_min_pool_factor": 2,
37
+ "tertiary_close_threshold": 0.98,
38
+ "detach_inactive_coarse_gradients": true,
39
+ "decoder_pool_controller": true,
40
+ "pool_controller_alpha": 1.0,
41
+ "pool_controller_beta": 0.5,
42
+ "pool_controller_gamma": 1.0,
43
+ "recommended_precision": "bf16",
44
+ "recommended_placement": {
45
+ "fine_device": "cuda:0",
46
+ "nested_devices": ["cuda:1"],
47
+ "tertiary_device": "cuda:2"
48
+ }
49
+ }
global_loss_landscape.png ADDED

Git LFS Details

  • SHA256: cf5cff7a5e7464b92030acdad0c4859b8e81dea01f491a5fdff03cacbd64007b
  • Pointer size: 131 Bytes
  • Size of remote file: 532 kB
infer_nested_model.py ADDED
@@ -0,0 +1,463 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/usr/bin/env python3
2
+ """Cached byte generation for two- and three-level nested Mamba checkpoints."""
3
+ from __future__ import annotations
4
+
5
+ import argparse
6
+ import base64
7
+ import gc
8
+ import io
9
+ import json
10
+ import time
11
+ from pathlib import Path
12
+ from typing import Dict, List, Optional
13
+
14
+ import torch
15
+
16
+ from nested_inference_tools import generate_bytes, load_nested_checkpoint
17
+
18
+
19
+ def parse_args() -> argparse.Namespace:
20
+ parser = argparse.ArgumentParser(description=__doc__)
21
+ parser.add_argument(
22
+ "--checkpoint",
23
+ default=".",
24
+ help="Hugging Face model directory (default: current directory) or legacy last.pt.",
25
+ )
26
+ prompt = parser.add_mutually_exclusive_group()
27
+ prompt.add_argument("--prompt", default="", help="UTF-8 prompt text.")
28
+ prompt.add_argument("--prompt-file", help="Read prompt bytes from this file.")
29
+ parser.add_argument("--max-new-bytes", type=int, default=256)
30
+ parser.add_argument("--temperature", type=float, default=0.8)
31
+ parser.add_argument("--top-p", type=float, default=0.9)
32
+ parser.add_argument("--top-k", type=int, default=0)
33
+ parser.add_argument("--repeat-penalty", type=float, default=1.05)
34
+ parser.add_argument("--repeat-window", type=int, default=256)
35
+ parser.add_argument("--greedy", action="store_true")
36
+ parser.add_argument("--seed", type=int, default=1234)
37
+ parser.add_argument(
38
+ "--precision",
39
+ choices=["fp16", "bf16", "fp32"],
40
+ default="bf16",
41
+ help=(
42
+ "Model weight/activation precision. BF16 is the safe default for "
43
+ "Mamba-2's long cached rollouts; use FP16 only for checkpoints and "
44
+ "GPUs verified to remain finite."
45
+ ),
46
+ )
47
+ parser.add_argument("--device", default="cuda:0", help="Single-device inference target.")
48
+ parser.add_argument("--fine-device", default=None)
49
+ parser.add_argument("--nested-devices", default=None)
50
+ parser.add_argument("--tertiary-device", default=None)
51
+ parser.add_argument("--use-saved-placement", action="store_true")
52
+ parser.add_argument("--output", help="Optional raw-byte output file.")
53
+ parser.add_argument("--stats-json", help="Optional JSON statistics output.")
54
+ parser.add_argument(
55
+ "--image-output-dir",
56
+ help=(
57
+ "Extract complete generated P6 PPM images, convert them to PNG, and "
58
+ "write them to this directory. Images are also embedded in --html-output."
59
+ ),
60
+ )
61
+ parser.add_argument("--html-output", "--output-html", dest="html_output", help="Write a self-contained prompt/response report with toggleable L2/L3 influence coloring.")
62
+ return parser.parse_args()
63
+
64
+
65
+ def _ppm_token(data: bytes, position: int) -> tuple[bytes, int]:
66
+ """Read one whitespace/comment-delimited PPM header token."""
67
+ size = len(data)
68
+ while position < size:
69
+ if data[position] in b" \t\r\n":
70
+ position += 1
71
+ continue
72
+ if data[position] == ord("#"):
73
+ newline = data.find(b"\n", position)
74
+ if newline < 0:
75
+ raise ValueError("unterminated PPM header comment")
76
+ position = newline + 1
77
+ continue
78
+ break
79
+ start = position
80
+ while position < size and data[position] not in b" \t\r\n#":
81
+ position += 1
82
+ if position == start:
83
+ raise ValueError("missing PPM header token")
84
+ return data[start:position], position
85
+
86
+
87
+ def extract_ppm_images(data: bytes) -> tuple[List[Dict[str, object]], List[str]]:
88
+ """Extract complete P6 RGB images from an arbitrary generated byte stream."""
89
+ try:
90
+ from PIL import Image
91
+ except ImportError as error:
92
+ return [], [f"Pillow is required to render generated images: {error}"]
93
+
94
+ images: List[Dict[str, object]] = []
95
+ warnings: List[str] = []
96
+ search_from = 0
97
+ while len(images) < 32:
98
+ start = data.find(b"P6", search_from)
99
+ if start < 0:
100
+ break
101
+ search_from = start + 2
102
+ if start > 0 and data[start - 1] not in b" \t\r\n>":
103
+ continue
104
+ if start + 2 >= len(data) or data[start + 2] not in b" \t\r\n":
105
+ continue
106
+ try:
107
+ width_token, position = _ppm_token(data, start + 2)
108
+ height_token, position = _ppm_token(data, position)
109
+ maximum_token, position = _ppm_token(data, position)
110
+ width, height, maximum = int(width_token), int(height_token), int(maximum_token)
111
+ if width < 1 or height < 1 or width * height > 16_777_216:
112
+ raise ValueError(f"unsafe dimensions {width}x{height}")
113
+ if maximum != 255:
114
+ raise ValueError(f"unsupported maximum channel value {maximum}; expected 255")
115
+ if position >= len(data) or data[position] not in b" \t\r\n":
116
+ raise ValueError("missing whitespace before PPM pixel payload")
117
+ # The delimiter is one whitespace unit. Treat CRLF as one unit so
118
+ # the first pixel is never shifted on Windows-produced headers.
119
+ pixel_start = position + 1
120
+ if data[position] == ord("\r") and pixel_start < len(data) and data[pixel_start] == ord("\n"):
121
+ pixel_start += 1
122
+ pixel_bytes = width * height * 3
123
+ pixel_end = pixel_start + pixel_bytes
124
+ if pixel_end > len(data):
125
+ warnings.append(
126
+ f"Incomplete PPM at byte {start}: {width}x{height} needs "
127
+ f"{pixel_bytes:,} RGB bytes, but only {max(0, len(data)-pixel_start):,} remain."
128
+ )
129
+ continue
130
+ image = Image.frombytes("RGB", (width, height), data[pixel_start:pixel_end])
131
+ encoded = io.BytesIO()
132
+ image.save(encoded, format="PNG", optimize=True)
133
+ images.append(
134
+ {
135
+ "width": width,
136
+ "height": height,
137
+ "start": start,
138
+ "end": pixel_end,
139
+ "png": encoded.getvalue(),
140
+ }
141
+ )
142
+ search_from = pixel_end
143
+ except (TypeError, ValueError) as error:
144
+ warnings.append(f"Invalid PPM candidate at byte {start}: {error}.")
145
+ return images, warnings
146
+
147
+
148
+ def image_report_payload(images: List[Dict[str, object]], warnings: List[str]) -> Dict[str, object]:
149
+ return {
150
+ "images": [
151
+ {
152
+ "width": int(item["width"]),
153
+ "height": int(item["height"]),
154
+ "start": int(item["start"]),
155
+ "end": int(item["end"]),
156
+ "data_uri": "data:image/png;base64," + base64.b64encode(item["png"]).decode("ascii"),
157
+ }
158
+ for item in images
159
+ ],
160
+ "warnings": list(warnings),
161
+ }
162
+
163
+
164
+ def write_extracted_images(
165
+ directory: Path, images: List[Dict[str, object]], *, prefix: str
166
+ ) -> List[str]:
167
+ directory.mkdir(parents=True, exist_ok=True)
168
+ paths: List[str] = []
169
+ for index, item in enumerate(images, 1):
170
+ path = directory / f"{prefix}_{index:03d}_{item['width']}x{item['height']}.png"
171
+ path.write_bytes(item["png"])
172
+ paths.append(str(path))
173
+ return paths
174
+
175
+
176
+ def attributed_utf8_segments(
177
+ data: bytes, attributions: List[Dict[str, object]]
178
+ ) -> List[Dict[str, object]]:
179
+ """Group byte attribution into valid UTF-8 characters without losing data."""
180
+ segments: List[Dict[str, object]] = []
181
+ index = 0
182
+ while index < len(data):
183
+ first = data[index]
184
+ width = (
185
+ 1
186
+ if first < 0x80
187
+ else 2
188
+ if 0xC2 <= first <= 0xDF
189
+ else 3
190
+ if 0xE0 <= first <= 0xEF
191
+ else 4
192
+ if 0xF0 <= first <= 0xF4
193
+ else 1
194
+ )
195
+ chunk = data[index : index + width]
196
+ try:
197
+ text = chunk.decode("utf-8", "strict")
198
+ except UnicodeDecodeError:
199
+ width = 1
200
+ chunk = data[index : index + 1]
201
+ text = chunk.decode("utf-8", "replace")
202
+ values = attributions[index : index + width]
203
+ count = max(1, len(values))
204
+ segments.append(
205
+ {
206
+ "text": text,
207
+ "bytes": list(chunk),
208
+ "level2_active": any(bool(item.get("level2_active")) for item in values),
209
+ "level3_active": any(bool(item.get("level3_active")) for item in values),
210
+ "level2_delta_logp": sum(
211
+ float(item.get("level2_delta_logp", 0.0)) for item in values
212
+ )
213
+ / count,
214
+ "level3_delta_logp": sum(
215
+ float(item.get("level3_delta_logp", 0.0)) for item in values
216
+ )
217
+ / count,
218
+ "hierarchy_delta_logp": sum(
219
+ float(item.get("hierarchy_delta_logp", 0.0)) for item in values
220
+ )
221
+ / count,
222
+ }
223
+ )
224
+ index += width
225
+ return segments
226
+
227
+
228
+ def make_generation_html(
229
+ prompt: bytes,
230
+ generated: bytes,
231
+ attributions: List[Dict[str, object]],
232
+ stats: Dict[str, object],
233
+ comparisons: Optional[List[Dict[str, object]]] = None,
234
+ image_report: Optional[Dict[str, object]] = None,
235
+ ) -> str:
236
+ segments = attributed_utf8_segments(generated, attributions)
237
+ payload = json.dumps(
238
+ {
239
+ "prompt": prompt.decode("utf-8", "replace"),
240
+ "segments": segments,
241
+ "stats": stats,
242
+ "comparisons": comparisons or [],
243
+ "image_report": image_report or {"images": [], "warnings": []},
244
+ },
245
+ separators=(",", ":"),
246
+ ).replace("</", "<\\/")
247
+ return f"""<!doctype html>
248
+ <html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1">
249
+ <title>Nested Mamba generation influence</title>
250
+ <style>
251
+ :root{{--bg:#090d17;--panel:#111a2b;--line:#273652;--text:#e7edf9;--muted:#91a0b8;--prompt:#d6deec;--response:#63a4ff;--fine:#51d6ca;--l2:#ffbe55;--l3:#a78bfa;--negative:#fb7185}}
252
+ *{{box-sizing:border-box}}body{{margin:0;background:linear-gradient(145deg,#080c15,#11192b);color:var(--text);font:14px/1.5 system-ui,sans-serif}}main{{max-width:1200px;margin:auto;padding:28px}}
253
+ h1{{margin:0 0 6px;font-size:27px}}p{{color:var(--muted)}}.toolbar,.panel{{background:#111a2bf2;border:1px solid var(--line);border-radius:12px}}
254
+ .toolbar{{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:13px 16px;margin:18px 0}}label{{display:flex;align-items:center;gap:8px;font-weight:650}}input{{accent-color:var(--l3)}}
255
+ .legend{{display:flex;gap:14px;flex-wrap:wrap;color:var(--muted);font-size:12px}}.dot{{width:10px;height:10px;border-radius:50%;display:inline-block;margin-right:5px}}
256
+ .panel{{padding:20px}}.text{{white-space:pre-wrap;overflow-wrap:anywhere;font:16px/1.65 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}}.responses{{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}}.response-card{{min-width:0;background:#0c1321;border:1px solid var(--line);border-radius:10px;padding:14px}}.response-card h2{{font:700 14px system-ui,sans-serif;margin:0 0 4px}}.response-meta{{color:var(--muted);font:11px system-ui,sans-serif;margin-bottom:11px}}
257
+ .prompt{{color:var(--prompt)}}.generated{{color:var(--response);transition:color .15s,opacity .15s}}.divider{{display:block;color:var(--muted);font:12px system-ui,sans-serif;margin:18px 0 7px;border-top:1px solid var(--line);padding-top:10px}}
258
+ .cards{{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin-top:14px}}.card{{background:#0c1321;border:1px solid var(--line);border-radius:9px;padding:11px}}.name{{color:var(--muted);font-size:11px;text-transform:uppercase}}.value{{font-size:18px;font-weight:700}}
259
+ .note{{border-left:3px solid var(--l2);padding:9px 12px;background:#ffbe550d}}
260
+ .image-panel{{margin-top:16px}}.image-galleries{{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}}.image-gallery{{background:#0c1321;border:1px solid var(--line);border-radius:10px;padding:12px;min-width:0}}.image-gallery h2{{font-size:14px;margin:0 0 9px}}.image-item{{margin:0 0 12px}}.image-item img{{display:block;max-width:100%;height:auto;image-rendering:auto;border:1px solid #354766;background:#05070b}}.image-item figcaption,.image-status{{color:var(--muted);font-size:11px;margin-top:5px;white-space:pre-wrap}}
261
+ @media(max-width:900px){{.responses{{grid-template-columns:1fr}}}}
262
+ </style></head><body><main>
263
+ <h1>Nested Mamba generation influence</h1><p id="subtitle"></p>
264
+ <div class="toolbar"><label><input id="influence" type="checkbox" checked> Color generated text by hierarchy influence</label><div class="legend"><span><i class="dot" style="background:var(--fine)"></i>fine only</span><span><i class="dot" style="background:var(--l2)"></i>L2 dominant</span><span><i class="dot" style="background:var(--l3)"></i>L3 dominant</span><span><i class="dot" style="background:var(--negative)"></i>dominant branch reduced selected-byte probability</span></div></div>
265
+ <p class="note">Color is a decoder counterfactual, not merely an activation marker. Positive delta means the cached dynamic level increased the selected byte's log probability relative to replacing that level with its beginning-of-document state. Hover text for exact values.</p>
266
+ <section class="panel"><div class="text"><span class="divider">PROMPT SHARED BY ALL ROLLOUTS</span><span class="prompt" id="prompt"></span></div><div class="responses"><article class="response-card"><h2>Level 1 only</h2><div class="response-meta" id="level1Meta"></div><div class="text generated" id="level1Response"></div></article><article class="response-card"><h2>Levels 1 + 2</h2><div class="response-meta" id="level12Meta"></div><div class="text generated" id="level12Response"></div></article><article class="response-card"><h2>Levels 1 + 2 + 3</h2><div class="response-meta" id="fullMeta"></div><div class="text" id="response"></div></article></div><div class="cards" id="cards"></div></section>
267
+ <section class="panel image-panel"><h1>Generated image rendering</h1><p>Complete P6 RGB byte sequences found in each prompt-plus-rollout stream are validated and embedded here as PNG.</p><div class="image-galleries"><div class="image-gallery"><h2>Level 1 only</h2><div id="level1Images"></div></div><div class="image-gallery"><h2>Levels 1 + 2</h2><div id="level12Images"></div></div><div class="image-gallery"><h2>Levels 1 + 2 + 3</h2><div id="fullImages"></div></div></div></section>
268
+ <script>
269
+ const R={payload},prompt=document.getElementById("prompt"),response=document.getElementById("response"),toggle=document.getElementById("influence");
270
+ prompt.textContent=R.prompt;document.getElementById("subtitle").textContent=`${{R.stats.checkpoint}} • step ${{Number(R.stats.checkpoint_step).toLocaleString()}}`;
271
+ const byMode=Object.fromEntries(R.comparisons.map(x=>[x.mode,x]));for(const [mode,id,color] of [["level1","level1Response","#51d6ca"],["level12","level12Response","#ffbe55"]]){{const item=byMode[mode]||{{text:"",generated_bytes:0,seconds:0}};document.getElementById(id).textContent=item.text;document.getElementById(id).dataset.color=color;document.getElementById(mode+"Meta").textContent=`${{Number(item.generated_bytes).toLocaleString()}} bytes • ${{Number(item.seconds).toFixed(2)}} s`;}}document.getElementById("fullMeta").textContent=`${{Number(R.stats.generated_bytes).toLocaleString()}} bytes • ${{Number(R.stats.generation_seconds_including_prefill).toFixed(2)}} s`;
272
+ const magnitudes=R.segments.flatMap(x=>[Math.abs(x.level2_delta_logp),Math.abs(x.level3_delta_logp)]).filter(Number.isFinite).sort((a,b)=>a-b),scale=magnitudes[Math.floor(magnitudes.length*.9)]||.01;
273
+ function classification(x){{const candidates=[];if(x.level2_active)candidates.push([Math.abs(x.level2_delta_logp),x.level2_delta_logp,"#ffbe55","L2"]);if(x.level3_active)candidates.push([Math.abs(x.level3_delta_logp),x.level3_delta_logp,"#a78bfa","L3"]);if(!candidates.length)return ["#51d6ca",.72,"fine only"];candidates.sort((a,b)=>b[0]-a[0]);const best=candidates[0],color=best[1]<0?"#fb7185":best[2],opacity=.48+.52*Math.min(1,best[0]/scale);return [color,opacity,best[1]<0?best[3]+" negative":best[3]+" dominant"]}}
274
+ R.segments.forEach(x=>{{const span=document.createElement("span"),style=classification(x);span.className="generated";span.textContent=x.text;span.dataset.color=style[0];span.dataset.opacity=style[1];span.title=`${{style[2]}} • bytes ${{x.bytes.join(",")}} • L2 Δlogp ${{x.level2_delta_logp.toFixed(5)}} • L3 Δlogp ${{x.level3_delta_logp.toFixed(5)}} • combined Δlogp ${{x.hierarchy_delta_logp.toFixed(5)}}`;response.appendChild(span)}});
275
+ function recolor(){{response.querySelectorAll(".generated").forEach(span=>{{span.style.color=toggle.checked?span.dataset.color:"#63a4ff";span.style.opacity=toggle.checked?span.dataset.opacity:"1"}});for(const id of ["level1Response","level12Response"]){{const node=document.getElementById(id);node.style.color=toggle.checked?node.dataset.color:"#63a4ff"}}}}toggle.addEventListener("change",recolor);recolor();
276
+ const attrs=R.segments,mean=key=>attrs.length?attrs.reduce((s,x)=>s+Number(x[key]||0),0)/attrs.length:0,cards=[["Prompt bytes",R.stats.prompt_bytes],["Generated bytes",R.stats.generated_bytes],["Generation tok/s",Number(R.stats.generated_bytes_per_second_including_prefill).toFixed(1)],["Mean L2 Δlogp",mean("level2_delta_logp").toFixed(5)],["Mean L3 Δlogp",mean("level3_delta_logp").toFixed(5)],["Mean combined Δlogp",mean("hierarchy_delta_logp").toFixed(5)]];
277
+ document.getElementById("cards").innerHTML=cards.map(x=>`<div class="card"><div class="name">${{x[0]}}</div><div class="value">${{x[1]}}</div></div>`).join("");
278
+ function renderImages(target,report){{const root=document.getElementById(target),images=report?.images||[],warnings=report?.warnings||[];if(!images.length&&!warnings.length){{root.innerHTML='<div class="image-status">No complete P6 image detected.</div>';return}}images.forEach((item,index)=>{{const figure=document.createElement("figure");figure.className="image-item";const image=document.createElement("img");image.src=item.data_uri;image.alt=`Generated image ${{index+1}}, ${{item.width}} by ${{item.height}} pixels`;const caption=document.createElement("figcaption");caption.textContent=`Image ${{index+1}} • ${{item.width}}×${{item.height}} • byte range ${{item.start.toLocaleString()}}–${{(item.end-1).toLocaleString()}}`;figure.append(image,caption);root.appendChild(figure)}});if(warnings.length){{const status=document.createElement("div");status.className="image-status";status.textContent=warnings.join("\\n");root.appendChild(status)}}}}
279
+ renderImages("fullImages",R.image_report);renderImages("level1Images",byMode.level1?.image_report);renderImages("level12Images",byMode.level12?.image_report);
280
+ </script></main></body></html>"""
281
+
282
+
283
+ def main() -> None:
284
+ args = parse_args()
285
+ if args.max_new_bytes < 0 or args.temperature <= 0 or not 0 < args.top_p <= 1:
286
+ raise ValueError("max-new-bytes must be non-negative, temperature positive, and top-p in (0, 1]")
287
+ if args.prompt_file:
288
+ prompt = Path(args.prompt_file).expanduser().read_bytes()
289
+ else:
290
+ prompt = args.prompt.encode("utf-8")
291
+
292
+ load_started = time.perf_counter()
293
+ loaded = load_nested_checkpoint(
294
+ args.checkpoint,
295
+ precision=args.precision,
296
+ device=args.device,
297
+ fine_device=args.fine_device,
298
+ nested_devices=args.nested_devices,
299
+ tertiary_device=args.tertiary_device,
300
+ use_saved_placement=args.use_saved_placement,
301
+ )
302
+ torch.cuda.synchronize()
303
+ load_seconds = time.perf_counter() - load_started
304
+ generation_started = time.perf_counter()
305
+ generated, stream = generate_bytes(
306
+ loaded,
307
+ prompt,
308
+ max_new_bytes=args.max_new_bytes,
309
+ temperature=args.temperature,
310
+ top_p=args.top_p,
311
+ top_k=args.top_k,
312
+ repeat_penalty=args.repeat_penalty,
313
+ repeat_window=args.repeat_window,
314
+ greedy=args.greedy,
315
+ seed=args.seed,
316
+ collect_hierarchy_attribution=bool(args.html_output),
317
+ )
318
+ torch.cuda.synchronize()
319
+ generation_seconds = time.perf_counter() - generation_started
320
+ combined = prompt + generated
321
+ full_images, full_image_warnings = extract_ppm_images(combined)
322
+ full_image_report = image_report_payload(full_images, full_image_warnings)
323
+ print(combined.decode("utf-8", "replace"))
324
+ attributions = list(stream.get("generated_attribution", []))
325
+ stats = {
326
+ "checkpoint": str(loaded.checkpoint_path),
327
+ "checkpoint_step": loaded.checkpoint_step,
328
+ "trained_tokens": loaded.trained_tokens,
329
+ "precision": loaded.precision,
330
+ "model_parallel": loaded.model_parallel,
331
+ "prompt_bytes": len(prompt),
332
+ "generated_bytes": len(generated),
333
+ "load_seconds": load_seconds,
334
+ "generation_seconds_including_prefill": generation_seconds,
335
+ "generated_bytes_per_second_including_prefill": (
336
+ len(generated) / generation_seconds if generation_seconds else 0.0
337
+ ),
338
+ "fine_patches": int(stream["completed_patches"]),
339
+ "level2_pools": int(stream["completed_nested_patches"]),
340
+ "level3_pools": int(stream.get("completed_tertiary_patches", 0)),
341
+ "hierarchy_attribution": bool(args.html_output),
342
+ "rendered_images": len(full_images),
343
+ "image_render_warnings": full_image_warnings,
344
+ }
345
+ if attributions:
346
+ stats.update(
347
+ {
348
+ "attributed_bytes": len(attributions),
349
+ "level2_active_generated_bytes": sum(
350
+ bool(item.get("level2_active")) for item in attributions
351
+ ),
352
+ "level3_active_generated_bytes": sum(
353
+ bool(item.get("level3_active")) for item in attributions
354
+ ),
355
+ "mean_level2_delta_logp": sum(
356
+ float(item.get("level2_delta_logp", 0.0))
357
+ for item in attributions
358
+ )
359
+ / len(attributions),
360
+ "mean_level3_delta_logp": sum(
361
+ float(item.get("level3_delta_logp", 0.0))
362
+ for item in attributions
363
+ )
364
+ / len(attributions),
365
+ "mean_hierarchy_delta_logp": sum(
366
+ float(item.get("hierarchy_delta_logp", 0.0))
367
+ for item in attributions
368
+ )
369
+ / len(attributions),
370
+ }
371
+ )
372
+ comparisons: List[Dict[str, object]] = []
373
+ del stream
374
+ gc.collect()
375
+ if args.html_output:
376
+ for mode, label in (("level1", "Level 1 only"), ("level12", "Levels 1 + 2")):
377
+ comparison_started = time.perf_counter()
378
+ comparison_bytes, comparison_stream = generate_bytes(
379
+ loaded,
380
+ prompt,
381
+ max_new_bytes=args.max_new_bytes,
382
+ temperature=args.temperature,
383
+ top_p=args.top_p,
384
+ top_k=args.top_k,
385
+ repeat_penalty=args.repeat_penalty,
386
+ repeat_window=args.repeat_window,
387
+ greedy=args.greedy,
388
+ seed=args.seed,
389
+ hierarchy_mode=mode,
390
+ )
391
+ torch.cuda.synchronize()
392
+ comparison_seconds = time.perf_counter() - comparison_started
393
+ comparisons.append(
394
+ {
395
+ "mode": mode,
396
+ "label": label,
397
+ "text": comparison_bytes.decode("utf-8", "replace"),
398
+ "generated_bytes": len(comparison_bytes),
399
+ "seconds": comparison_seconds,
400
+ "fine_patches": int(comparison_stream["completed_patches"]),
401
+ "level2_pools": int(
402
+ comparison_stream["completed_nested_patches"]
403
+ ),
404
+ "level3_pools": int(
405
+ comparison_stream.get("completed_tertiary_patches", 0)
406
+ ),
407
+ "image_report": image_report_payload(
408
+ *extract_ppm_images(prompt + comparison_bytes)
409
+ ),
410
+ }
411
+ )
412
+ del comparison_stream
413
+ gc.collect()
414
+ # Keep base64 PNG payloads in the HTML only; terminal/stats JSON should
415
+ # stay compact even when a rollout contains a large rendered image.
416
+ stats["comparison_rollouts"] = [
417
+ {key: value for key, value in item.items() if key != "image_report"}
418
+ for item in comparisons
419
+ ]
420
+ if args.output:
421
+ Path(args.output).expanduser().write_bytes(combined)
422
+ if args.image_output_dir:
423
+ image_paths = write_extracted_images(
424
+ Path(args.image_output_dir).expanduser(), full_images, prefix="full"
425
+ )
426
+ stats["image_output_files"] = image_paths
427
+ for item in comparisons:
428
+ report = item.get("image_report") or {}
429
+ comparison_images = []
430
+ for encoded in report.get("images", []):
431
+ raw = base64.b64decode(str(encoded["data_uri"]).split(",", 1)[1])
432
+ comparison_images.append({**encoded, "png": raw})
433
+ stats.setdefault("comparison_image_output_files", {})[item["mode"]] = (
434
+ write_extracted_images(
435
+ Path(args.image_output_dir).expanduser(),
436
+ comparison_images,
437
+ prefix=str(item["mode"]),
438
+ )
439
+ )
440
+ print(json.dumps(stats, indent=2))
441
+ if args.stats_json:
442
+ Path(args.stats_json).expanduser().write_text(
443
+ json.dumps(stats, indent=2), encoding="utf-8"
444
+ )
445
+ if args.html_output:
446
+ html_path = Path(args.html_output).expanduser()
447
+ html_path.parent.mkdir(parents=True, exist_ok=True)
448
+ html_path.write_text(
449
+ make_generation_html(
450
+ prompt,
451
+ generated,
452
+ attributions,
453
+ stats,
454
+ comparisons=comparisons,
455
+ image_report=full_image_report,
456
+ ),
457
+ encoding="utf-8",
458
+ )
459
+ print(f"wrote hierarchy influence report: {html_path}")
460
+
461
+
462
+ if __name__ == "__main__":
463
+ main()
model.safetensors.index.json ADDED
@@ -0,0 +1,987 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "metadata": {
3
+ "total_size": 9915282300
4
+ },
5
+ "weight_map": {
6
+ "forward_model.boe_patch": "model-00001-of-00003.safetensors",
7
+ "forward_model.byte_emb.weight": "model-00001-of-00003.safetensors",
8
+ "forward_model.decoder.0.bias": "model-00003-of-00003.safetensors",
9
+ "forward_model.decoder.0.weight": "model-00003-of-00003.safetensors",
10
+ "forward_model.decoder.1.bias": "model-00003-of-00003.safetensors",
11
+ "forward_model.decoder.1.weight": "model-00003-of-00003.safetensors",
12
+ "forward_model.decoder.3.bias": "model-00003-of-00003.safetensors",
13
+ "forward_model.decoder.3.weight": "model-00003-of-00003.safetensors",
14
+ "forward_model.global_blocks.0.ff.0.bias": "model-00001-of-00003.safetensors",
15
+ "forward_model.global_blocks.0.ff.0.weight": "model-00001-of-00003.safetensors",
16
+ "forward_model.global_blocks.0.ff.1.bias": "model-00001-of-00003.safetensors",
17
+ "forward_model.global_blocks.0.ff.1.weight": "model-00001-of-00003.safetensors",
18
+ "forward_model.global_blocks.0.ff.3.bias": "model-00001-of-00003.safetensors",
19
+ "forward_model.global_blocks.0.ff.3.weight": "model-00001-of-00003.safetensors",
20
+ "forward_model.global_blocks.0.mixer.A_log": "model-00001-of-00003.safetensors",
21
+ "forward_model.global_blocks.0.mixer.D": "model-00001-of-00003.safetensors",
22
+ "forward_model.global_blocks.0.mixer.conv1d.bias": "model-00001-of-00003.safetensors",
23
+ "forward_model.global_blocks.0.mixer.conv1d.weight": "model-00001-of-00003.safetensors",
24
+ "forward_model.global_blocks.0.mixer.dt_bias": "model-00001-of-00003.safetensors",
25
+ "forward_model.global_blocks.0.mixer.in_proj.weight": "model-00001-of-00003.safetensors",
26
+ "forward_model.global_blocks.0.mixer.norm.weight": "model-00001-of-00003.safetensors",
27
+ "forward_model.global_blocks.0.mixer.out_proj.weight": "model-00001-of-00003.safetensors",
28
+ "forward_model.global_blocks.0.norm.bias": "model-00001-of-00003.safetensors",
29
+ "forward_model.global_blocks.0.norm.weight": "model-00001-of-00003.safetensors",
30
+ "forward_model.global_blocks.1.ff.0.bias": "model-00001-of-00003.safetensors",
31
+ "forward_model.global_blocks.1.ff.0.weight": "model-00001-of-00003.safetensors",
32
+ "forward_model.global_blocks.1.ff.1.bias": "model-00001-of-00003.safetensors",
33
+ "forward_model.global_blocks.1.ff.1.weight": "model-00001-of-00003.safetensors",
34
+ "forward_model.global_blocks.1.ff.3.bias": "model-00001-of-00003.safetensors",
35
+ "forward_model.global_blocks.1.ff.3.weight": "model-00001-of-00003.safetensors",
36
+ "forward_model.global_blocks.1.mixer.A_log": "model-00001-of-00003.safetensors",
37
+ "forward_model.global_blocks.1.mixer.D": "model-00001-of-00003.safetensors",
38
+ "forward_model.global_blocks.1.mixer.conv1d.bias": "model-00001-of-00003.safetensors",
39
+ "forward_model.global_blocks.1.mixer.conv1d.weight": "model-00001-of-00003.safetensors",
40
+ "forward_model.global_blocks.1.mixer.dt_bias": "model-00001-of-00003.safetensors",
41
+ "forward_model.global_blocks.1.mixer.in_proj.weight": "model-00001-of-00003.safetensors",
42
+ "forward_model.global_blocks.1.mixer.norm.weight": "model-00001-of-00003.safetensors",
43
+ "forward_model.global_blocks.1.mixer.out_proj.weight": "model-00001-of-00003.safetensors",
44
+ "forward_model.global_blocks.1.norm.bias": "model-00001-of-00003.safetensors",
45
+ "forward_model.global_blocks.1.norm.weight": "model-00001-of-00003.safetensors",
46
+ "forward_model.global_blocks.2.ff.0.bias": "model-00001-of-00003.safetensors",
47
+ "forward_model.global_blocks.2.ff.0.weight": "model-00001-of-00003.safetensors",
48
+ "forward_model.global_blocks.2.ff.1.bias": "model-00001-of-00003.safetensors",
49
+ "forward_model.global_blocks.2.ff.1.weight": "model-00001-of-00003.safetensors",
50
+ "forward_model.global_blocks.2.ff.3.bias": "model-00001-of-00003.safetensors",
51
+ "forward_model.global_blocks.2.ff.3.weight": "model-00001-of-00003.safetensors",
52
+ "forward_model.global_blocks.2.mixer.A_log": "model-00001-of-00003.safetensors",
53
+ "forward_model.global_blocks.2.mixer.D": "model-00001-of-00003.safetensors",
54
+ "forward_model.global_blocks.2.mixer.conv1d.bias": "model-00001-of-00003.safetensors",
55
+ "forward_model.global_blocks.2.mixer.conv1d.weight": "model-00001-of-00003.safetensors",
56
+ "forward_model.global_blocks.2.mixer.dt_bias": "model-00001-of-00003.safetensors",
57
+ "forward_model.global_blocks.2.mixer.in_proj.weight": "model-00001-of-00003.safetensors",
58
+ "forward_model.global_blocks.2.mixer.norm.weight": "model-00001-of-00003.safetensors",
59
+ "forward_model.global_blocks.2.mixer.out_proj.weight": "model-00001-of-00003.safetensors",
60
+ "forward_model.global_blocks.2.norm.bias": "model-00001-of-00003.safetensors",
61
+ "forward_model.global_blocks.2.norm.weight": "model-00001-of-00003.safetensors",
62
+ "forward_model.global_blocks.3.ff.0.bias": "model-00001-of-00003.safetensors",
63
+ "forward_model.global_blocks.3.ff.0.weight": "model-00001-of-00003.safetensors",
64
+ "forward_model.global_blocks.3.ff.1.bias": "model-00001-of-00003.safetensors",
65
+ "forward_model.global_blocks.3.ff.1.weight": "model-00001-of-00003.safetensors",
66
+ "forward_model.global_blocks.3.ff.3.bias": "model-00001-of-00003.safetensors",
67
+ "forward_model.global_blocks.3.ff.3.weight": "model-00001-of-00003.safetensors",
68
+ "forward_model.global_blocks.3.mixer.A_log": "model-00001-of-00003.safetensors",
69
+ "forward_model.global_blocks.3.mixer.D": "model-00001-of-00003.safetensors",
70
+ "forward_model.global_blocks.3.mixer.conv1d.bias": "model-00001-of-00003.safetensors",
71
+ "forward_model.global_blocks.3.mixer.conv1d.weight": "model-00001-of-00003.safetensors",
72
+ "forward_model.global_blocks.3.mixer.dt_bias": "model-00001-of-00003.safetensors",
73
+ "forward_model.global_blocks.3.mixer.in_proj.weight": "model-00001-of-00003.safetensors",
74
+ "forward_model.global_blocks.3.mixer.norm.weight": "model-00001-of-00003.safetensors",
75
+ "forward_model.global_blocks.3.mixer.out_proj.weight": "model-00001-of-00003.safetensors",
76
+ "forward_model.global_blocks.3.norm.bias": "model-00001-of-00003.safetensors",
77
+ "forward_model.global_blocks.3.norm.weight": "model-00001-of-00003.safetensors",
78
+ "forward_model.global_blocks.4.ff.0.bias": "model-00001-of-00003.safetensors",
79
+ "forward_model.global_blocks.4.ff.0.weight": "model-00001-of-00003.safetensors",
80
+ "forward_model.global_blocks.4.ff.1.bias": "model-00001-of-00003.safetensors",
81
+ "forward_model.global_blocks.4.ff.1.weight": "model-00001-of-00003.safetensors",
82
+ "forward_model.global_blocks.4.ff.3.bias": "model-00001-of-00003.safetensors",
83
+ "forward_model.global_blocks.4.ff.3.weight": "model-00001-of-00003.safetensors",
84
+ "forward_model.global_blocks.4.mixer.A_log": "model-00001-of-00003.safetensors",
85
+ "forward_model.global_blocks.4.mixer.D": "model-00001-of-00003.safetensors",
86
+ "forward_model.global_blocks.4.mixer.conv1d.bias": "model-00001-of-00003.safetensors",
87
+ "forward_model.global_blocks.4.mixer.conv1d.weight": "model-00001-of-00003.safetensors",
88
+ "forward_model.global_blocks.4.mixer.dt_bias": "model-00001-of-00003.safetensors",
89
+ "forward_model.global_blocks.4.mixer.in_proj.weight": "model-00001-of-00003.safetensors",
90
+ "forward_model.global_blocks.4.mixer.norm.weight": "model-00001-of-00003.safetensors",
91
+ "forward_model.global_blocks.4.mixer.out_proj.weight": "model-00001-of-00003.safetensors",
92
+ "forward_model.global_blocks.4.norm.bias": "model-00001-of-00003.safetensors",
93
+ "forward_model.global_blocks.4.norm.weight": "model-00001-of-00003.safetensors",
94
+ "forward_model.global_blocks.5.ff.0.bias": "model-00001-of-00003.safetensors",
95
+ "forward_model.global_blocks.5.ff.0.weight": "model-00001-of-00003.safetensors",
96
+ "forward_model.global_blocks.5.ff.1.bias": "model-00001-of-00003.safetensors",
97
+ "forward_model.global_blocks.5.ff.1.weight": "model-00001-of-00003.safetensors",
98
+ "forward_model.global_blocks.5.ff.3.bias": "model-00001-of-00003.safetensors",
99
+ "forward_model.global_blocks.5.ff.3.weight": "model-00001-of-00003.safetensors",
100
+ "forward_model.global_blocks.5.mixer.A_log": "model-00001-of-00003.safetensors",
101
+ "forward_model.global_blocks.5.mixer.D": "model-00001-of-00003.safetensors",
102
+ "forward_model.global_blocks.5.mixer.conv1d.bias": "model-00001-of-00003.safetensors",
103
+ "forward_model.global_blocks.5.mixer.conv1d.weight": "model-00001-of-00003.safetensors",
104
+ "forward_model.global_blocks.5.mixer.dt_bias": "model-00001-of-00003.safetensors",
105
+ "forward_model.global_blocks.5.mixer.in_proj.weight": "model-00001-of-00003.safetensors",
106
+ "forward_model.global_blocks.5.mixer.norm.weight": "model-00001-of-00003.safetensors",
107
+ "forward_model.global_blocks.5.mixer.out_proj.weight": "model-00001-of-00003.safetensors",
108
+ "forward_model.global_blocks.5.norm.bias": "model-00001-of-00003.safetensors",
109
+ "forward_model.global_blocks.5.norm.weight": "model-00001-of-00003.safetensors",
110
+ "forward_model.lm_head.weight": "model-00003-of-00003.safetensors",
111
+ "forward_model.local_conv.0.conv.bias": "model-00001-of-00003.safetensors",
112
+ "forward_model.local_conv.0.conv.weight": "model-00001-of-00003.safetensors",
113
+ "forward_model.local_conv.2.conv.bias": "model-00001-of-00003.safetensors",
114
+ "forward_model.local_conv.2.conv.weight": "model-00001-of-00003.safetensors",
115
+ "forward_model.local_norm.bias": "model-00001-of-00003.safetensors",
116
+ "forward_model.local_norm.weight": "model-00001-of-00003.safetensors",
117
+ "forward_model.nested_global_blocks.0.ff.0.bias": "model-00001-of-00003.safetensors",
118
+ "forward_model.nested_global_blocks.0.ff.0.weight": "model-00001-of-00003.safetensors",
119
+ "forward_model.nested_global_blocks.0.ff.1.bias": "model-00001-of-00003.safetensors",
120
+ "forward_model.nested_global_blocks.0.ff.1.weight": "model-00001-of-00003.safetensors",
121
+ "forward_model.nested_global_blocks.0.ff.3.bias": "model-00001-of-00003.safetensors",
122
+ "forward_model.nested_global_blocks.0.ff.3.weight": "model-00001-of-00003.safetensors",
123
+ "forward_model.nested_global_blocks.0.mixer.A_log": "model-00001-of-00003.safetensors",
124
+ "forward_model.nested_global_blocks.0.mixer.D": "model-00001-of-00003.safetensors",
125
+ "forward_model.nested_global_blocks.0.mixer.conv1d.bias": "model-00001-of-00003.safetensors",
126
+ "forward_model.nested_global_blocks.0.mixer.conv1d.weight": "model-00001-of-00003.safetensors",
127
+ "forward_model.nested_global_blocks.0.mixer.dt_bias": "model-00001-of-00003.safetensors",
128
+ "forward_model.nested_global_blocks.0.mixer.in_proj.weight": "model-00001-of-00003.safetensors",
129
+ "forward_model.nested_global_blocks.0.mixer.norm.weight": "model-00001-of-00003.safetensors",
130
+ "forward_model.nested_global_blocks.0.mixer.out_proj.weight": "model-00001-of-00003.safetensors",
131
+ "forward_model.nested_global_blocks.0.norm.bias": "model-00001-of-00003.safetensors",
132
+ "forward_model.nested_global_blocks.0.norm.weight": "model-00001-of-00003.safetensors",
133
+ "forward_model.nested_global_blocks.1.ff.0.bias": "model-00001-of-00003.safetensors",
134
+ "forward_model.nested_global_blocks.1.ff.0.weight": "model-00001-of-00003.safetensors",
135
+ "forward_model.nested_global_blocks.1.ff.1.bias": "model-00001-of-00003.safetensors",
136
+ "forward_model.nested_global_blocks.1.ff.1.weight": "model-00001-of-00003.safetensors",
137
+ "forward_model.nested_global_blocks.1.ff.3.bias": "model-00001-of-00003.safetensors",
138
+ "forward_model.nested_global_blocks.1.ff.3.weight": "model-00001-of-00003.safetensors",
139
+ "forward_model.nested_global_blocks.1.mixer.A_log": "model-00001-of-00003.safetensors",
140
+ "forward_model.nested_global_blocks.1.mixer.D": "model-00001-of-00003.safetensors",
141
+ "forward_model.nested_global_blocks.1.mixer.conv1d.bias": "model-00001-of-00003.safetensors",
142
+ "forward_model.nested_global_blocks.1.mixer.conv1d.weight": "model-00001-of-00003.safetensors",
143
+ "forward_model.nested_global_blocks.1.mixer.dt_bias": "model-00001-of-00003.safetensors",
144
+ "forward_model.nested_global_blocks.1.mixer.in_proj.weight": "model-00001-of-00003.safetensors",
145
+ "forward_model.nested_global_blocks.1.mixer.norm.weight": "model-00001-of-00003.safetensors",
146
+ "forward_model.nested_global_blocks.1.mixer.out_proj.weight": "model-00001-of-00003.safetensors",
147
+ "forward_model.nested_global_blocks.1.norm.bias": "model-00001-of-00003.safetensors",
148
+ "forward_model.nested_global_blocks.1.norm.weight": "model-00001-of-00003.safetensors",
149
+ "forward_model.nested_global_blocks.10.ff.0.bias": "model-00001-of-00003.safetensors",
150
+ "forward_model.nested_global_blocks.10.ff.0.weight": "model-00001-of-00003.safetensors",
151
+ "forward_model.nested_global_blocks.10.ff.1.bias": "model-00001-of-00003.safetensors",
152
+ "forward_model.nested_global_blocks.10.ff.1.weight": "model-00001-of-00003.safetensors",
153
+ "forward_model.nested_global_blocks.10.ff.3.bias": "model-00001-of-00003.safetensors",
154
+ "forward_model.nested_global_blocks.10.ff.3.weight": "model-00001-of-00003.safetensors",
155
+ "forward_model.nested_global_blocks.10.mixer.A_log": "model-00001-of-00003.safetensors",
156
+ "forward_model.nested_global_blocks.10.mixer.D": "model-00001-of-00003.safetensors",
157
+ "forward_model.nested_global_blocks.10.mixer.conv1d.bias": "model-00001-of-00003.safetensors",
158
+ "forward_model.nested_global_blocks.10.mixer.conv1d.weight": "model-00001-of-00003.safetensors",
159
+ "forward_model.nested_global_blocks.10.mixer.dt_bias": "model-00001-of-00003.safetensors",
160
+ "forward_model.nested_global_blocks.10.mixer.in_proj.weight": "model-00001-of-00003.safetensors",
161
+ "forward_model.nested_global_blocks.10.mixer.norm.weight": "model-00001-of-00003.safetensors",
162
+ "forward_model.nested_global_blocks.10.mixer.out_proj.weight": "model-00001-of-00003.safetensors",
163
+ "forward_model.nested_global_blocks.10.norm.bias": "model-00001-of-00003.safetensors",
164
+ "forward_model.nested_global_blocks.10.norm.weight": "model-00001-of-00003.safetensors",
165
+ "forward_model.nested_global_blocks.11.ff.0.bias": "model-00001-of-00003.safetensors",
166
+ "forward_model.nested_global_blocks.11.ff.0.weight": "model-00001-of-00003.safetensors",
167
+ "forward_model.nested_global_blocks.11.ff.1.bias": "model-00001-of-00003.safetensors",
168
+ "forward_model.nested_global_blocks.11.ff.1.weight": "model-00001-of-00003.safetensors",
169
+ "forward_model.nested_global_blocks.11.ff.3.bias": "model-00001-of-00003.safetensors",
170
+ "forward_model.nested_global_blocks.11.ff.3.weight": "model-00001-of-00003.safetensors",
171
+ "forward_model.nested_global_blocks.11.mixer.A_log": "model-00001-of-00003.safetensors",
172
+ "forward_model.nested_global_blocks.11.mixer.D": "model-00001-of-00003.safetensors",
173
+ "forward_model.nested_global_blocks.11.mixer.conv1d.bias": "model-00001-of-00003.safetensors",
174
+ "forward_model.nested_global_blocks.11.mixer.conv1d.weight": "model-00001-of-00003.safetensors",
175
+ "forward_model.nested_global_blocks.11.mixer.dt_bias": "model-00001-of-00003.safetensors",
176
+ "forward_model.nested_global_blocks.11.mixer.in_proj.weight": "model-00001-of-00003.safetensors",
177
+ "forward_model.nested_global_blocks.11.mixer.norm.weight": "model-00001-of-00003.safetensors",
178
+ "forward_model.nested_global_blocks.11.mixer.out_proj.weight": "model-00001-of-00003.safetensors",
179
+ "forward_model.nested_global_blocks.11.norm.bias": "model-00001-of-00003.safetensors",
180
+ "forward_model.nested_global_blocks.11.norm.weight": "model-00001-of-00003.safetensors",
181
+ "forward_model.nested_global_blocks.12.ff.0.bias": "model-00001-of-00003.safetensors",
182
+ "forward_model.nested_global_blocks.12.ff.0.weight": "model-00001-of-00003.safetensors",
183
+ "forward_model.nested_global_blocks.12.ff.1.bias": "model-00001-of-00003.safetensors",
184
+ "forward_model.nested_global_blocks.12.ff.1.weight": "model-00001-of-00003.safetensors",
185
+ "forward_model.nested_global_blocks.12.ff.3.bias": "model-00001-of-00003.safetensors",
186
+ "forward_model.nested_global_blocks.12.ff.3.weight": "model-00001-of-00003.safetensors",
187
+ "forward_model.nested_global_blocks.12.mixer.A_log": "model-00001-of-00003.safetensors",
188
+ "forward_model.nested_global_blocks.12.mixer.D": "model-00001-of-00003.safetensors",
189
+ "forward_model.nested_global_blocks.12.mixer.conv1d.bias": "model-00001-of-00003.safetensors",
190
+ "forward_model.nested_global_blocks.12.mixer.conv1d.weight": "model-00001-of-00003.safetensors",
191
+ "forward_model.nested_global_blocks.12.mixer.dt_bias": "model-00001-of-00003.safetensors",
192
+ "forward_model.nested_global_blocks.12.mixer.in_proj.weight": "model-00001-of-00003.safetensors",
193
+ "forward_model.nested_global_blocks.12.mixer.norm.weight": "model-00001-of-00003.safetensors",
194
+ "forward_model.nested_global_blocks.12.mixer.out_proj.weight": "model-00001-of-00003.safetensors",
195
+ "forward_model.nested_global_blocks.12.norm.bias": "model-00001-of-00003.safetensors",
196
+ "forward_model.nested_global_blocks.12.norm.weight": "model-00001-of-00003.safetensors",
197
+ "forward_model.nested_global_blocks.13.ff.0.bias": "model-00001-of-00003.safetensors",
198
+ "forward_model.nested_global_blocks.13.ff.0.weight": "model-00001-of-00003.safetensors",
199
+ "forward_model.nested_global_blocks.13.ff.1.bias": "model-00001-of-00003.safetensors",
200
+ "forward_model.nested_global_blocks.13.ff.1.weight": "model-00001-of-00003.safetensors",
201
+ "forward_model.nested_global_blocks.13.ff.3.bias": "model-00001-of-00003.safetensors",
202
+ "forward_model.nested_global_blocks.13.ff.3.weight": "model-00001-of-00003.safetensors",
203
+ "forward_model.nested_global_blocks.13.mixer.A_log": "model-00001-of-00003.safetensors",
204
+ "forward_model.nested_global_blocks.13.mixer.D": "model-00001-of-00003.safetensors",
205
+ "forward_model.nested_global_blocks.13.mixer.conv1d.bias": "model-00001-of-00003.safetensors",
206
+ "forward_model.nested_global_blocks.13.mixer.conv1d.weight": "model-00001-of-00003.safetensors",
207
+ "forward_model.nested_global_blocks.13.mixer.dt_bias": "model-00001-of-00003.safetensors",
208
+ "forward_model.nested_global_blocks.13.mixer.in_proj.weight": "model-00001-of-00003.safetensors",
209
+ "forward_model.nested_global_blocks.13.mixer.norm.weight": "model-00001-of-00003.safetensors",
210
+ "forward_model.nested_global_blocks.13.mixer.out_proj.weight": "model-00001-of-00003.safetensors",
211
+ "forward_model.nested_global_blocks.13.norm.bias": "model-00001-of-00003.safetensors",
212
+ "forward_model.nested_global_blocks.13.norm.weight": "model-00001-of-00003.safetensors",
213
+ "forward_model.nested_global_blocks.14.ff.0.bias": "model-00001-of-00003.safetensors",
214
+ "forward_model.nested_global_blocks.14.ff.0.weight": "model-00001-of-00003.safetensors",
215
+ "forward_model.nested_global_blocks.14.ff.1.bias": "model-00001-of-00003.safetensors",
216
+ "forward_model.nested_global_blocks.14.ff.1.weight": "model-00001-of-00003.safetensors",
217
+ "forward_model.nested_global_blocks.14.ff.3.bias": "model-00001-of-00003.safetensors",
218
+ "forward_model.nested_global_blocks.14.ff.3.weight": "model-00001-of-00003.safetensors",
219
+ "forward_model.nested_global_blocks.14.mixer.A_log": "model-00001-of-00003.safetensors",
220
+ "forward_model.nested_global_blocks.14.mixer.D": "model-00001-of-00003.safetensors",
221
+ "forward_model.nested_global_blocks.14.mixer.conv1d.bias": "model-00001-of-00003.safetensors",
222
+ "forward_model.nested_global_blocks.14.mixer.conv1d.weight": "model-00001-of-00003.safetensors",
223
+ "forward_model.nested_global_blocks.14.mixer.dt_bias": "model-00001-of-00003.safetensors",
224
+ "forward_model.nested_global_blocks.14.mixer.in_proj.weight": "model-00001-of-00003.safetensors",
225
+ "forward_model.nested_global_blocks.14.mixer.norm.weight": "model-00001-of-00003.safetensors",
226
+ "forward_model.nested_global_blocks.14.mixer.out_proj.weight": "model-00001-of-00003.safetensors",
227
+ "forward_model.nested_global_blocks.14.norm.bias": "model-00001-of-00003.safetensors",
228
+ "forward_model.nested_global_blocks.14.norm.weight": "model-00001-of-00003.safetensors",
229
+ "forward_model.nested_global_blocks.15.ff.0.bias": "model-00001-of-00003.safetensors",
230
+ "forward_model.nested_global_blocks.15.ff.0.weight": "model-00001-of-00003.safetensors",
231
+ "forward_model.nested_global_blocks.15.ff.1.bias": "model-00002-of-00003.safetensors",
232
+ "forward_model.nested_global_blocks.15.ff.1.weight": "model-00002-of-00003.safetensors",
233
+ "forward_model.nested_global_blocks.15.ff.3.bias": "model-00002-of-00003.safetensors",
234
+ "forward_model.nested_global_blocks.15.ff.3.weight": "model-00002-of-00003.safetensors",
235
+ "forward_model.nested_global_blocks.15.mixer.A_log": "model-00001-of-00003.safetensors",
236
+ "forward_model.nested_global_blocks.15.mixer.D": "model-00001-of-00003.safetensors",
237
+ "forward_model.nested_global_blocks.15.mixer.conv1d.bias": "model-00001-of-00003.safetensors",
238
+ "forward_model.nested_global_blocks.15.mixer.conv1d.weight": "model-00001-of-00003.safetensors",
239
+ "forward_model.nested_global_blocks.15.mixer.dt_bias": "model-00001-of-00003.safetensors",
240
+ "forward_model.nested_global_blocks.15.mixer.in_proj.weight": "model-00001-of-00003.safetensors",
241
+ "forward_model.nested_global_blocks.15.mixer.norm.weight": "model-00001-of-00003.safetensors",
242
+ "forward_model.nested_global_blocks.15.mixer.out_proj.weight": "model-00001-of-00003.safetensors",
243
+ "forward_model.nested_global_blocks.15.norm.bias": "model-00001-of-00003.safetensors",
244
+ "forward_model.nested_global_blocks.15.norm.weight": "model-00001-of-00003.safetensors",
245
+ "forward_model.nested_global_blocks.16.ff.0.bias": "model-00002-of-00003.safetensors",
246
+ "forward_model.nested_global_blocks.16.ff.0.weight": "model-00002-of-00003.safetensors",
247
+ "forward_model.nested_global_blocks.16.ff.1.bias": "model-00002-of-00003.safetensors",
248
+ "forward_model.nested_global_blocks.16.ff.1.weight": "model-00002-of-00003.safetensors",
249
+ "forward_model.nested_global_blocks.16.ff.3.bias": "model-00002-of-00003.safetensors",
250
+ "forward_model.nested_global_blocks.16.ff.3.weight": "model-00002-of-00003.safetensors",
251
+ "forward_model.nested_global_blocks.16.mixer.A_log": "model-00002-of-00003.safetensors",
252
+ "forward_model.nested_global_blocks.16.mixer.D": "model-00002-of-00003.safetensors",
253
+ "forward_model.nested_global_blocks.16.mixer.conv1d.bias": "model-00002-of-00003.safetensors",
254
+ "forward_model.nested_global_blocks.16.mixer.conv1d.weight": "model-00002-of-00003.safetensors",
255
+ "forward_model.nested_global_blocks.16.mixer.dt_bias": "model-00002-of-00003.safetensors",
256
+ "forward_model.nested_global_blocks.16.mixer.in_proj.weight": "model-00002-of-00003.safetensors",
257
+ "forward_model.nested_global_blocks.16.mixer.norm.weight": "model-00002-of-00003.safetensors",
258
+ "forward_model.nested_global_blocks.16.mixer.out_proj.weight": "model-00002-of-00003.safetensors",
259
+ "forward_model.nested_global_blocks.16.norm.bias": "model-00002-of-00003.safetensors",
260
+ "forward_model.nested_global_blocks.16.norm.weight": "model-00002-of-00003.safetensors",
261
+ "forward_model.nested_global_blocks.17.ff.0.bias": "model-00002-of-00003.safetensors",
262
+ "forward_model.nested_global_blocks.17.ff.0.weight": "model-00002-of-00003.safetensors",
263
+ "forward_model.nested_global_blocks.17.ff.1.bias": "model-00002-of-00003.safetensors",
264
+ "forward_model.nested_global_blocks.17.ff.1.weight": "model-00002-of-00003.safetensors",
265
+ "forward_model.nested_global_blocks.17.ff.3.bias": "model-00002-of-00003.safetensors",
266
+ "forward_model.nested_global_blocks.17.ff.3.weight": "model-00002-of-00003.safetensors",
267
+ "forward_model.nested_global_blocks.17.mixer.A_log": "model-00002-of-00003.safetensors",
268
+ "forward_model.nested_global_blocks.17.mixer.D": "model-00002-of-00003.safetensors",
269
+ "forward_model.nested_global_blocks.17.mixer.conv1d.bias": "model-00002-of-00003.safetensors",
270
+ "forward_model.nested_global_blocks.17.mixer.conv1d.weight": "model-00002-of-00003.safetensors",
271
+ "forward_model.nested_global_blocks.17.mixer.dt_bias": "model-00002-of-00003.safetensors",
272
+ "forward_model.nested_global_blocks.17.mixer.in_proj.weight": "model-00002-of-00003.safetensors",
273
+ "forward_model.nested_global_blocks.17.mixer.norm.weight": "model-00002-of-00003.safetensors",
274
+ "forward_model.nested_global_blocks.17.mixer.out_proj.weight": "model-00002-of-00003.safetensors",
275
+ "forward_model.nested_global_blocks.17.norm.bias": "model-00002-of-00003.safetensors",
276
+ "forward_model.nested_global_blocks.17.norm.weight": "model-00002-of-00003.safetensors",
277
+ "forward_model.nested_global_blocks.18.ff.0.bias": "model-00002-of-00003.safetensors",
278
+ "forward_model.nested_global_blocks.18.ff.0.weight": "model-00002-of-00003.safetensors",
279
+ "forward_model.nested_global_blocks.18.ff.1.bias": "model-00002-of-00003.safetensors",
280
+ "forward_model.nested_global_blocks.18.ff.1.weight": "model-00002-of-00003.safetensors",
281
+ "forward_model.nested_global_blocks.18.ff.3.bias": "model-00002-of-00003.safetensors",
282
+ "forward_model.nested_global_blocks.18.ff.3.weight": "model-00002-of-00003.safetensors",
283
+ "forward_model.nested_global_blocks.18.mixer.A_log": "model-00002-of-00003.safetensors",
284
+ "forward_model.nested_global_blocks.18.mixer.D": "model-00002-of-00003.safetensors",
285
+ "forward_model.nested_global_blocks.18.mixer.conv1d.bias": "model-00002-of-00003.safetensors",
286
+ "forward_model.nested_global_blocks.18.mixer.conv1d.weight": "model-00002-of-00003.safetensors",
287
+ "forward_model.nested_global_blocks.18.mixer.dt_bias": "model-00002-of-00003.safetensors",
288
+ "forward_model.nested_global_blocks.18.mixer.in_proj.weight": "model-00002-of-00003.safetensors",
289
+ "forward_model.nested_global_blocks.18.mixer.norm.weight": "model-00002-of-00003.safetensors",
290
+ "forward_model.nested_global_blocks.18.mixer.out_proj.weight": "model-00002-of-00003.safetensors",
291
+ "forward_model.nested_global_blocks.18.norm.bias": "model-00002-of-00003.safetensors",
292
+ "forward_model.nested_global_blocks.18.norm.weight": "model-00002-of-00003.safetensors",
293
+ "forward_model.nested_global_blocks.19.ff.0.bias": "model-00002-of-00003.safetensors",
294
+ "forward_model.nested_global_blocks.19.ff.0.weight": "model-00002-of-00003.safetensors",
295
+ "forward_model.nested_global_blocks.19.ff.1.bias": "model-00002-of-00003.safetensors",
296
+ "forward_model.nested_global_blocks.19.ff.1.weight": "model-00002-of-00003.safetensors",
297
+ "forward_model.nested_global_blocks.19.ff.3.bias": "model-00002-of-00003.safetensors",
298
+ "forward_model.nested_global_blocks.19.ff.3.weight": "model-00002-of-00003.safetensors",
299
+ "forward_model.nested_global_blocks.19.mixer.A_log": "model-00002-of-00003.safetensors",
300
+ "forward_model.nested_global_blocks.19.mixer.D": "model-00002-of-00003.safetensors",
301
+ "forward_model.nested_global_blocks.19.mixer.conv1d.bias": "model-00002-of-00003.safetensors",
302
+ "forward_model.nested_global_blocks.19.mixer.conv1d.weight": "model-00002-of-00003.safetensors",
303
+ "forward_model.nested_global_blocks.19.mixer.dt_bias": "model-00002-of-00003.safetensors",
304
+ "forward_model.nested_global_blocks.19.mixer.in_proj.weight": "model-00002-of-00003.safetensors",
305
+ "forward_model.nested_global_blocks.19.mixer.norm.weight": "model-00002-of-00003.safetensors",
306
+ "forward_model.nested_global_blocks.19.mixer.out_proj.weight": "model-00002-of-00003.safetensors",
307
+ "forward_model.nested_global_blocks.19.norm.bias": "model-00002-of-00003.safetensors",
308
+ "forward_model.nested_global_blocks.19.norm.weight": "model-00002-of-00003.safetensors",
309
+ "forward_model.nested_global_blocks.2.ff.0.bias": "model-00001-of-00003.safetensors",
310
+ "forward_model.nested_global_blocks.2.ff.0.weight": "model-00001-of-00003.safetensors",
311
+ "forward_model.nested_global_blocks.2.ff.1.bias": "model-00001-of-00003.safetensors",
312
+ "forward_model.nested_global_blocks.2.ff.1.weight": "model-00001-of-00003.safetensors",
313
+ "forward_model.nested_global_blocks.2.ff.3.bias": "model-00001-of-00003.safetensors",
314
+ "forward_model.nested_global_blocks.2.ff.3.weight": "model-00001-of-00003.safetensors",
315
+ "forward_model.nested_global_blocks.2.mixer.A_log": "model-00001-of-00003.safetensors",
316
+ "forward_model.nested_global_blocks.2.mixer.D": "model-00001-of-00003.safetensors",
317
+ "forward_model.nested_global_blocks.2.mixer.conv1d.bias": "model-00001-of-00003.safetensors",
318
+ "forward_model.nested_global_blocks.2.mixer.conv1d.weight": "model-00001-of-00003.safetensors",
319
+ "forward_model.nested_global_blocks.2.mixer.dt_bias": "model-00001-of-00003.safetensors",
320
+ "forward_model.nested_global_blocks.2.mixer.in_proj.weight": "model-00001-of-00003.safetensors",
321
+ "forward_model.nested_global_blocks.2.mixer.norm.weight": "model-00001-of-00003.safetensors",
322
+ "forward_model.nested_global_blocks.2.mixer.out_proj.weight": "model-00001-of-00003.safetensors",
323
+ "forward_model.nested_global_blocks.2.norm.bias": "model-00001-of-00003.safetensors",
324
+ "forward_model.nested_global_blocks.2.norm.weight": "model-00001-of-00003.safetensors",
325
+ "forward_model.nested_global_blocks.3.ff.0.bias": "model-00001-of-00003.safetensors",
326
+ "forward_model.nested_global_blocks.3.ff.0.weight": "model-00001-of-00003.safetensors",
327
+ "forward_model.nested_global_blocks.3.ff.1.bias": "model-00001-of-00003.safetensors",
328
+ "forward_model.nested_global_blocks.3.ff.1.weight": "model-00001-of-00003.safetensors",
329
+ "forward_model.nested_global_blocks.3.ff.3.bias": "model-00001-of-00003.safetensors",
330
+ "forward_model.nested_global_blocks.3.ff.3.weight": "model-00001-of-00003.safetensors",
331
+ "forward_model.nested_global_blocks.3.mixer.A_log": "model-00001-of-00003.safetensors",
332
+ "forward_model.nested_global_blocks.3.mixer.D": "model-00001-of-00003.safetensors",
333
+ "forward_model.nested_global_blocks.3.mixer.conv1d.bias": "model-00001-of-00003.safetensors",
334
+ "forward_model.nested_global_blocks.3.mixer.conv1d.weight": "model-00001-of-00003.safetensors",
335
+ "forward_model.nested_global_blocks.3.mixer.dt_bias": "model-00001-of-00003.safetensors",
336
+ "forward_model.nested_global_blocks.3.mixer.in_proj.weight": "model-00001-of-00003.safetensors",
337
+ "forward_model.nested_global_blocks.3.mixer.norm.weight": "model-00001-of-00003.safetensors",
338
+ "forward_model.nested_global_blocks.3.mixer.out_proj.weight": "model-00001-of-00003.safetensors",
339
+ "forward_model.nested_global_blocks.3.norm.bias": "model-00001-of-00003.safetensors",
340
+ "forward_model.nested_global_blocks.3.norm.weight": "model-00001-of-00003.safetensors",
341
+ "forward_model.nested_global_blocks.4.ff.0.bias": "model-00001-of-00003.safetensors",
342
+ "forward_model.nested_global_blocks.4.ff.0.weight": "model-00001-of-00003.safetensors",
343
+ "forward_model.nested_global_blocks.4.ff.1.bias": "model-00001-of-00003.safetensors",
344
+ "forward_model.nested_global_blocks.4.ff.1.weight": "model-00001-of-00003.safetensors",
345
+ "forward_model.nested_global_blocks.4.ff.3.bias": "model-00001-of-00003.safetensors",
346
+ "forward_model.nested_global_blocks.4.ff.3.weight": "model-00001-of-00003.safetensors",
347
+ "forward_model.nested_global_blocks.4.mixer.A_log": "model-00001-of-00003.safetensors",
348
+ "forward_model.nested_global_blocks.4.mixer.D": "model-00001-of-00003.safetensors",
349
+ "forward_model.nested_global_blocks.4.mixer.conv1d.bias": "model-00001-of-00003.safetensors",
350
+ "forward_model.nested_global_blocks.4.mixer.conv1d.weight": "model-00001-of-00003.safetensors",
351
+ "forward_model.nested_global_blocks.4.mixer.dt_bias": "model-00001-of-00003.safetensors",
352
+ "forward_model.nested_global_blocks.4.mixer.in_proj.weight": "model-00001-of-00003.safetensors",
353
+ "forward_model.nested_global_blocks.4.mixer.norm.weight": "model-00001-of-00003.safetensors",
354
+ "forward_model.nested_global_blocks.4.mixer.out_proj.weight": "model-00001-of-00003.safetensors",
355
+ "forward_model.nested_global_blocks.4.norm.bias": "model-00001-of-00003.safetensors",
356
+ "forward_model.nested_global_blocks.4.norm.weight": "model-00001-of-00003.safetensors",
357
+ "forward_model.nested_global_blocks.5.ff.0.bias": "model-00001-of-00003.safetensors",
358
+ "forward_model.nested_global_blocks.5.ff.0.weight": "model-00001-of-00003.safetensors",
359
+ "forward_model.nested_global_blocks.5.ff.1.bias": "model-00001-of-00003.safetensors",
360
+ "forward_model.nested_global_blocks.5.ff.1.weight": "model-00001-of-00003.safetensors",
361
+ "forward_model.nested_global_blocks.5.ff.3.bias": "model-00001-of-00003.safetensors",
362
+ "forward_model.nested_global_blocks.5.ff.3.weight": "model-00001-of-00003.safetensors",
363
+ "forward_model.nested_global_blocks.5.mixer.A_log": "model-00001-of-00003.safetensors",
364
+ "forward_model.nested_global_blocks.5.mixer.D": "model-00001-of-00003.safetensors",
365
+ "forward_model.nested_global_blocks.5.mixer.conv1d.bias": "model-00001-of-00003.safetensors",
366
+ "forward_model.nested_global_blocks.5.mixer.conv1d.weight": "model-00001-of-00003.safetensors",
367
+ "forward_model.nested_global_blocks.5.mixer.dt_bias": "model-00001-of-00003.safetensors",
368
+ "forward_model.nested_global_blocks.5.mixer.in_proj.weight": "model-00001-of-00003.safetensors",
369
+ "forward_model.nested_global_blocks.5.mixer.norm.weight": "model-00001-of-00003.safetensors",
370
+ "forward_model.nested_global_blocks.5.mixer.out_proj.weight": "model-00001-of-00003.safetensors",
371
+ "forward_model.nested_global_blocks.5.norm.bias": "model-00001-of-00003.safetensors",
372
+ "forward_model.nested_global_blocks.5.norm.weight": "model-00001-of-00003.safetensors",
373
+ "forward_model.nested_global_blocks.6.ff.0.bias": "model-00001-of-00003.safetensors",
374
+ "forward_model.nested_global_blocks.6.ff.0.weight": "model-00001-of-00003.safetensors",
375
+ "forward_model.nested_global_blocks.6.ff.1.bias": "model-00001-of-00003.safetensors",
376
+ "forward_model.nested_global_blocks.6.ff.1.weight": "model-00001-of-00003.safetensors",
377
+ "forward_model.nested_global_blocks.6.ff.3.bias": "model-00001-of-00003.safetensors",
378
+ "forward_model.nested_global_blocks.6.ff.3.weight": "model-00001-of-00003.safetensors",
379
+ "forward_model.nested_global_blocks.6.mixer.A_log": "model-00001-of-00003.safetensors",
380
+ "forward_model.nested_global_blocks.6.mixer.D": "model-00001-of-00003.safetensors",
381
+ "forward_model.nested_global_blocks.6.mixer.conv1d.bias": "model-00001-of-00003.safetensors",
382
+ "forward_model.nested_global_blocks.6.mixer.conv1d.weight": "model-00001-of-00003.safetensors",
383
+ "forward_model.nested_global_blocks.6.mixer.dt_bias": "model-00001-of-00003.safetensors",
384
+ "forward_model.nested_global_blocks.6.mixer.in_proj.weight": "model-00001-of-00003.safetensors",
385
+ "forward_model.nested_global_blocks.6.mixer.norm.weight": "model-00001-of-00003.safetensors",
386
+ "forward_model.nested_global_blocks.6.mixer.out_proj.weight": "model-00001-of-00003.safetensors",
387
+ "forward_model.nested_global_blocks.6.norm.bias": "model-00001-of-00003.safetensors",
388
+ "forward_model.nested_global_blocks.6.norm.weight": "model-00001-of-00003.safetensors",
389
+ "forward_model.nested_global_blocks.7.ff.0.bias": "model-00001-of-00003.safetensors",
390
+ "forward_model.nested_global_blocks.7.ff.0.weight": "model-00001-of-00003.safetensors",
391
+ "forward_model.nested_global_blocks.7.ff.1.bias": "model-00001-of-00003.safetensors",
392
+ "forward_model.nested_global_blocks.7.ff.1.weight": "model-00001-of-00003.safetensors",
393
+ "forward_model.nested_global_blocks.7.ff.3.bias": "model-00001-of-00003.safetensors",
394
+ "forward_model.nested_global_blocks.7.ff.3.weight": "model-00001-of-00003.safetensors",
395
+ "forward_model.nested_global_blocks.7.mixer.A_log": "model-00001-of-00003.safetensors",
396
+ "forward_model.nested_global_blocks.7.mixer.D": "model-00001-of-00003.safetensors",
397
+ "forward_model.nested_global_blocks.7.mixer.conv1d.bias": "model-00001-of-00003.safetensors",
398
+ "forward_model.nested_global_blocks.7.mixer.conv1d.weight": "model-00001-of-00003.safetensors",
399
+ "forward_model.nested_global_blocks.7.mixer.dt_bias": "model-00001-of-00003.safetensors",
400
+ "forward_model.nested_global_blocks.7.mixer.in_proj.weight": "model-00001-of-00003.safetensors",
401
+ "forward_model.nested_global_blocks.7.mixer.norm.weight": "model-00001-of-00003.safetensors",
402
+ "forward_model.nested_global_blocks.7.mixer.out_proj.weight": "model-00001-of-00003.safetensors",
403
+ "forward_model.nested_global_blocks.7.norm.bias": "model-00001-of-00003.safetensors",
404
+ "forward_model.nested_global_blocks.7.norm.weight": "model-00001-of-00003.safetensors",
405
+ "forward_model.nested_global_blocks.8.ff.0.bias": "model-00001-of-00003.safetensors",
406
+ "forward_model.nested_global_blocks.8.ff.0.weight": "model-00001-of-00003.safetensors",
407
+ "forward_model.nested_global_blocks.8.ff.1.bias": "model-00001-of-00003.safetensors",
408
+ "forward_model.nested_global_blocks.8.ff.1.weight": "model-00001-of-00003.safetensors",
409
+ "forward_model.nested_global_blocks.8.ff.3.bias": "model-00001-of-00003.safetensors",
410
+ "forward_model.nested_global_blocks.8.ff.3.weight": "model-00001-of-00003.safetensors",
411
+ "forward_model.nested_global_blocks.8.mixer.A_log": "model-00001-of-00003.safetensors",
412
+ "forward_model.nested_global_blocks.8.mixer.D": "model-00001-of-00003.safetensors",
413
+ "forward_model.nested_global_blocks.8.mixer.conv1d.bias": "model-00001-of-00003.safetensors",
414
+ "forward_model.nested_global_blocks.8.mixer.conv1d.weight": "model-00001-of-00003.safetensors",
415
+ "forward_model.nested_global_blocks.8.mixer.dt_bias": "model-00001-of-00003.safetensors",
416
+ "forward_model.nested_global_blocks.8.mixer.in_proj.weight": "model-00001-of-00003.safetensors",
417
+ "forward_model.nested_global_blocks.8.mixer.norm.weight": "model-00001-of-00003.safetensors",
418
+ "forward_model.nested_global_blocks.8.mixer.out_proj.weight": "model-00001-of-00003.safetensors",
419
+ "forward_model.nested_global_blocks.8.norm.bias": "model-00001-of-00003.safetensors",
420
+ "forward_model.nested_global_blocks.8.norm.weight": "model-00001-of-00003.safetensors",
421
+ "forward_model.nested_global_blocks.9.ff.0.bias": "model-00001-of-00003.safetensors",
422
+ "forward_model.nested_global_blocks.9.ff.0.weight": "model-00001-of-00003.safetensors",
423
+ "forward_model.nested_global_blocks.9.ff.1.bias": "model-00001-of-00003.safetensors",
424
+ "forward_model.nested_global_blocks.9.ff.1.weight": "model-00001-of-00003.safetensors",
425
+ "forward_model.nested_global_blocks.9.ff.3.bias": "model-00001-of-00003.safetensors",
426
+ "forward_model.nested_global_blocks.9.ff.3.weight": "model-00001-of-00003.safetensors",
427
+ "forward_model.nested_global_blocks.9.mixer.A_log": "model-00001-of-00003.safetensors",
428
+ "forward_model.nested_global_blocks.9.mixer.D": "model-00001-of-00003.safetensors",
429
+ "forward_model.nested_global_blocks.9.mixer.conv1d.bias": "model-00001-of-00003.safetensors",
430
+ "forward_model.nested_global_blocks.9.mixer.conv1d.weight": "model-00001-of-00003.safetensors",
431
+ "forward_model.nested_global_blocks.9.mixer.dt_bias": "model-00001-of-00003.safetensors",
432
+ "forward_model.nested_global_blocks.9.mixer.in_proj.weight": "model-00001-of-00003.safetensors",
433
+ "forward_model.nested_global_blocks.9.mixer.norm.weight": "model-00001-of-00003.safetensors",
434
+ "forward_model.nested_global_blocks.9.mixer.out_proj.weight": "model-00001-of-00003.safetensors",
435
+ "forward_model.nested_global_blocks.9.norm.bias": "model-00001-of-00003.safetensors",
436
+ "forward_model.nested_global_blocks.9.norm.weight": "model-00001-of-00003.safetensors",
437
+ "forward_model.nested_len_emb.weight": "model-00001-of-00003.safetensors",
438
+ "forward_model.nested_pool_encoder.close.0.bias": "model-00001-of-00003.safetensors",
439
+ "forward_model.nested_pool_encoder.close.0.weight": "model-00001-of-00003.safetensors",
440
+ "forward_model.nested_pool_encoder.close.1.bias": "model-00001-of-00003.safetensors",
441
+ "forward_model.nested_pool_encoder.close.1.weight": "model-00001-of-00003.safetensors",
442
+ "forward_model.nested_pool_encoder.close.3.bias": "model-00001-of-00003.safetensors",
443
+ "forward_model.nested_pool_encoder.close.3.weight": "model-00001-of-00003.safetensors",
444
+ "forward_model.nested_pool_encoder.close_value.weight": "model-00001-of-00003.safetensors",
445
+ "forward_model.nested_pool_encoder.context.bias": "model-00001-of-00003.safetensors",
446
+ "forward_model.nested_pool_encoder.context.weight": "model-00001-of-00003.safetensors",
447
+ "forward_model.nested_pool_encoder.context_norm.bias": "model-00001-of-00003.safetensors",
448
+ "forward_model.nested_pool_encoder.context_norm.weight": "model-00001-of-00003.safetensors",
449
+ "forward_model.nested_pool_encoder.value.0.bias": "model-00001-of-00003.safetensors",
450
+ "forward_model.nested_pool_encoder.value.0.weight": "model-00001-of-00003.safetensors",
451
+ "forward_model.nested_pool_encoder.value.1.bias": "model-00001-of-00003.safetensors",
452
+ "forward_model.nested_pool_encoder.value.1.weight": "model-00001-of-00003.safetensors",
453
+ "forward_model.nested_pool_encoder.value.3.bias": "model-00001-of-00003.safetensors",
454
+ "forward_model.nested_pool_encoder.value.3.weight": "model-00001-of-00003.safetensors",
455
+ "forward_model.nested_pool_encoder.weight.0.bias": "model-00001-of-00003.safetensors",
456
+ "forward_model.nested_pool_encoder.weight.0.weight": "model-00001-of-00003.safetensors",
457
+ "forward_model.nested_pool_encoder.weight.1.bias": "model-00001-of-00003.safetensors",
458
+ "forward_model.nested_pool_encoder.weight.1.weight": "model-00001-of-00003.safetensors",
459
+ "forward_model.patch_len_emb.weight": "model-00001-of-00003.safetensors",
460
+ "forward_model.patch_pos_emb.weight": "model-00001-of-00003.safetensors",
461
+ "forward_model.pool_controller.bias": "model-00003-of-00003.safetensors",
462
+ "forward_model.pool_controller.weight": "model-00003-of-00003.safetensors",
463
+ "forward_model.pool_encoder.close.0.bias": "model-00001-of-00003.safetensors",
464
+ "forward_model.pool_encoder.close.0.weight": "model-00001-of-00003.safetensors",
465
+ "forward_model.pool_encoder.close.1.bias": "model-00001-of-00003.safetensors",
466
+ "forward_model.pool_encoder.close.1.weight": "model-00001-of-00003.safetensors",
467
+ "forward_model.pool_encoder.close.3.bias": "model-00001-of-00003.safetensors",
468
+ "forward_model.pool_encoder.close.3.weight": "model-00001-of-00003.safetensors",
469
+ "forward_model.pool_encoder.close_value.weight": "model-00001-of-00003.safetensors",
470
+ "forward_model.pool_encoder.context.bias": "model-00001-of-00003.safetensors",
471
+ "forward_model.pool_encoder.context.weight": "model-00001-of-00003.safetensors",
472
+ "forward_model.pool_encoder.context_norm.bias": "model-00001-of-00003.safetensors",
473
+ "forward_model.pool_encoder.context_norm.weight": "model-00001-of-00003.safetensors",
474
+ "forward_model.pool_encoder.value.0.bias": "model-00001-of-00003.safetensors",
475
+ "forward_model.pool_encoder.value.0.weight": "model-00001-of-00003.safetensors",
476
+ "forward_model.pool_encoder.value.1.bias": "model-00001-of-00003.safetensors",
477
+ "forward_model.pool_encoder.value.1.weight": "model-00001-of-00003.safetensors",
478
+ "forward_model.pool_encoder.value.3.bias": "model-00001-of-00003.safetensors",
479
+ "forward_model.pool_encoder.value.3.weight": "model-00001-of-00003.safetensors",
480
+ "forward_model.pool_encoder.weight.0.bias": "model-00001-of-00003.safetensors",
481
+ "forward_model.pool_encoder.weight.0.weight": "model-00001-of-00003.safetensors",
482
+ "forward_model.pool_encoder.weight.1.bias": "model-00001-of-00003.safetensors",
483
+ "forward_model.pool_encoder.weight.1.weight": "model-00001-of-00003.safetensors",
484
+ "forward_model.tertiary_global_blocks.0.ff.0.bias": "model-00002-of-00003.safetensors",
485
+ "forward_model.tertiary_global_blocks.0.ff.0.weight": "model-00002-of-00003.safetensors",
486
+ "forward_model.tertiary_global_blocks.0.ff.1.bias": "model-00002-of-00003.safetensors",
487
+ "forward_model.tertiary_global_blocks.0.ff.1.weight": "model-00002-of-00003.safetensors",
488
+ "forward_model.tertiary_global_blocks.0.ff.3.bias": "model-00002-of-00003.safetensors",
489
+ "forward_model.tertiary_global_blocks.0.ff.3.weight": "model-00002-of-00003.safetensors",
490
+ "forward_model.tertiary_global_blocks.0.mixer.A_log": "model-00002-of-00003.safetensors",
491
+ "forward_model.tertiary_global_blocks.0.mixer.D": "model-00002-of-00003.safetensors",
492
+ "forward_model.tertiary_global_blocks.0.mixer.conv1d.bias": "model-00002-of-00003.safetensors",
493
+ "forward_model.tertiary_global_blocks.0.mixer.conv1d.weight": "model-00002-of-00003.safetensors",
494
+ "forward_model.tertiary_global_blocks.0.mixer.dt_bias": "model-00002-of-00003.safetensors",
495
+ "forward_model.tertiary_global_blocks.0.mixer.in_proj.weight": "model-00002-of-00003.safetensors",
496
+ "forward_model.tertiary_global_blocks.0.mixer.norm.weight": "model-00002-of-00003.safetensors",
497
+ "forward_model.tertiary_global_blocks.0.mixer.out_proj.weight": "model-00002-of-00003.safetensors",
498
+ "forward_model.tertiary_global_blocks.0.norm.bias": "model-00002-of-00003.safetensors",
499
+ "forward_model.tertiary_global_blocks.0.norm.weight": "model-00002-of-00003.safetensors",
500
+ "forward_model.tertiary_global_blocks.1.ff.0.bias": "model-00002-of-00003.safetensors",
501
+ "forward_model.tertiary_global_blocks.1.ff.0.weight": "model-00002-of-00003.safetensors",
502
+ "forward_model.tertiary_global_blocks.1.ff.1.bias": "model-00002-of-00003.safetensors",
503
+ "forward_model.tertiary_global_blocks.1.ff.1.weight": "model-00002-of-00003.safetensors",
504
+ "forward_model.tertiary_global_blocks.1.ff.3.bias": "model-00002-of-00003.safetensors",
505
+ "forward_model.tertiary_global_blocks.1.ff.3.weight": "model-00002-of-00003.safetensors",
506
+ "forward_model.tertiary_global_blocks.1.mixer.A_log": "model-00002-of-00003.safetensors",
507
+ "forward_model.tertiary_global_blocks.1.mixer.D": "model-00002-of-00003.safetensors",
508
+ "forward_model.tertiary_global_blocks.1.mixer.conv1d.bias": "model-00002-of-00003.safetensors",
509
+ "forward_model.tertiary_global_blocks.1.mixer.conv1d.weight": "model-00002-of-00003.safetensors",
510
+ "forward_model.tertiary_global_blocks.1.mixer.dt_bias": "model-00002-of-00003.safetensors",
511
+ "forward_model.tertiary_global_blocks.1.mixer.in_proj.weight": "model-00002-of-00003.safetensors",
512
+ "forward_model.tertiary_global_blocks.1.mixer.norm.weight": "model-00002-of-00003.safetensors",
513
+ "forward_model.tertiary_global_blocks.1.mixer.out_proj.weight": "model-00002-of-00003.safetensors",
514
+ "forward_model.tertiary_global_blocks.1.norm.bias": "model-00002-of-00003.safetensors",
515
+ "forward_model.tertiary_global_blocks.1.norm.weight": "model-00002-of-00003.safetensors",
516
+ "forward_model.tertiary_global_blocks.10.ff.0.bias": "model-00002-of-00003.safetensors",
517
+ "forward_model.tertiary_global_blocks.10.ff.0.weight": "model-00002-of-00003.safetensors",
518
+ "forward_model.tertiary_global_blocks.10.ff.1.bias": "model-00002-of-00003.safetensors",
519
+ "forward_model.tertiary_global_blocks.10.ff.1.weight": "model-00002-of-00003.safetensors",
520
+ "forward_model.tertiary_global_blocks.10.ff.3.bias": "model-00002-of-00003.safetensors",
521
+ "forward_model.tertiary_global_blocks.10.ff.3.weight": "model-00002-of-00003.safetensors",
522
+ "forward_model.tertiary_global_blocks.10.mixer.A_log": "model-00002-of-00003.safetensors",
523
+ "forward_model.tertiary_global_blocks.10.mixer.D": "model-00002-of-00003.safetensors",
524
+ "forward_model.tertiary_global_blocks.10.mixer.conv1d.bias": "model-00002-of-00003.safetensors",
525
+ "forward_model.tertiary_global_blocks.10.mixer.conv1d.weight": "model-00002-of-00003.safetensors",
526
+ "forward_model.tertiary_global_blocks.10.mixer.dt_bias": "model-00002-of-00003.safetensors",
527
+ "forward_model.tertiary_global_blocks.10.mixer.in_proj.weight": "model-00002-of-00003.safetensors",
528
+ "forward_model.tertiary_global_blocks.10.mixer.norm.weight": "model-00002-of-00003.safetensors",
529
+ "forward_model.tertiary_global_blocks.10.mixer.out_proj.weight": "model-00002-of-00003.safetensors",
530
+ "forward_model.tertiary_global_blocks.10.norm.bias": "model-00002-of-00003.safetensors",
531
+ "forward_model.tertiary_global_blocks.10.norm.weight": "model-00002-of-00003.safetensors",
532
+ "forward_model.tertiary_global_blocks.11.ff.0.bias": "model-00002-of-00003.safetensors",
533
+ "forward_model.tertiary_global_blocks.11.ff.0.weight": "model-00002-of-00003.safetensors",
534
+ "forward_model.tertiary_global_blocks.11.ff.1.bias": "model-00002-of-00003.safetensors",
535
+ "forward_model.tertiary_global_blocks.11.ff.1.weight": "model-00002-of-00003.safetensors",
536
+ "forward_model.tertiary_global_blocks.11.ff.3.bias": "model-00002-of-00003.safetensors",
537
+ "forward_model.tertiary_global_blocks.11.ff.3.weight": "model-00002-of-00003.safetensors",
538
+ "forward_model.tertiary_global_blocks.11.mixer.A_log": "model-00002-of-00003.safetensors",
539
+ "forward_model.tertiary_global_blocks.11.mixer.D": "model-00002-of-00003.safetensors",
540
+ "forward_model.tertiary_global_blocks.11.mixer.conv1d.bias": "model-00002-of-00003.safetensors",
541
+ "forward_model.tertiary_global_blocks.11.mixer.conv1d.weight": "model-00002-of-00003.safetensors",
542
+ "forward_model.tertiary_global_blocks.11.mixer.dt_bias": "model-00002-of-00003.safetensors",
543
+ "forward_model.tertiary_global_blocks.11.mixer.in_proj.weight": "model-00002-of-00003.safetensors",
544
+ "forward_model.tertiary_global_blocks.11.mixer.norm.weight": "model-00002-of-00003.safetensors",
545
+ "forward_model.tertiary_global_blocks.11.mixer.out_proj.weight": "model-00002-of-00003.safetensors",
546
+ "forward_model.tertiary_global_blocks.11.norm.bias": "model-00002-of-00003.safetensors",
547
+ "forward_model.tertiary_global_blocks.11.norm.weight": "model-00002-of-00003.safetensors",
548
+ "forward_model.tertiary_global_blocks.12.ff.0.bias": "model-00002-of-00003.safetensors",
549
+ "forward_model.tertiary_global_blocks.12.ff.0.weight": "model-00002-of-00003.safetensors",
550
+ "forward_model.tertiary_global_blocks.12.ff.1.bias": "model-00002-of-00003.safetensors",
551
+ "forward_model.tertiary_global_blocks.12.ff.1.weight": "model-00002-of-00003.safetensors",
552
+ "forward_model.tertiary_global_blocks.12.ff.3.bias": "model-00002-of-00003.safetensors",
553
+ "forward_model.tertiary_global_blocks.12.ff.3.weight": "model-00002-of-00003.safetensors",
554
+ "forward_model.tertiary_global_blocks.12.mixer.A_log": "model-00002-of-00003.safetensors",
555
+ "forward_model.tertiary_global_blocks.12.mixer.D": "model-00002-of-00003.safetensors",
556
+ "forward_model.tertiary_global_blocks.12.mixer.conv1d.bias": "model-00002-of-00003.safetensors",
557
+ "forward_model.tertiary_global_blocks.12.mixer.conv1d.weight": "model-00002-of-00003.safetensors",
558
+ "forward_model.tertiary_global_blocks.12.mixer.dt_bias": "model-00002-of-00003.safetensors",
559
+ "forward_model.tertiary_global_blocks.12.mixer.in_proj.weight": "model-00002-of-00003.safetensors",
560
+ "forward_model.tertiary_global_blocks.12.mixer.norm.weight": "model-00002-of-00003.safetensors",
561
+ "forward_model.tertiary_global_blocks.12.mixer.out_proj.weight": "model-00002-of-00003.safetensors",
562
+ "forward_model.tertiary_global_blocks.12.norm.bias": "model-00002-of-00003.safetensors",
563
+ "forward_model.tertiary_global_blocks.12.norm.weight": "model-00002-of-00003.safetensors",
564
+ "forward_model.tertiary_global_blocks.13.ff.0.bias": "model-00002-of-00003.safetensors",
565
+ "forward_model.tertiary_global_blocks.13.ff.0.weight": "model-00002-of-00003.safetensors",
566
+ "forward_model.tertiary_global_blocks.13.ff.1.bias": "model-00002-of-00003.safetensors",
567
+ "forward_model.tertiary_global_blocks.13.ff.1.weight": "model-00002-of-00003.safetensors",
568
+ "forward_model.tertiary_global_blocks.13.ff.3.bias": "model-00002-of-00003.safetensors",
569
+ "forward_model.tertiary_global_blocks.13.ff.3.weight": "model-00002-of-00003.safetensors",
570
+ "forward_model.tertiary_global_blocks.13.mixer.A_log": "model-00002-of-00003.safetensors",
571
+ "forward_model.tertiary_global_blocks.13.mixer.D": "model-00002-of-00003.safetensors",
572
+ "forward_model.tertiary_global_blocks.13.mixer.conv1d.bias": "model-00002-of-00003.safetensors",
573
+ "forward_model.tertiary_global_blocks.13.mixer.conv1d.weight": "model-00002-of-00003.safetensors",
574
+ "forward_model.tertiary_global_blocks.13.mixer.dt_bias": "model-00002-of-00003.safetensors",
575
+ "forward_model.tertiary_global_blocks.13.mixer.in_proj.weight": "model-00002-of-00003.safetensors",
576
+ "forward_model.tertiary_global_blocks.13.mixer.norm.weight": "model-00002-of-00003.safetensors",
577
+ "forward_model.tertiary_global_blocks.13.mixer.out_proj.weight": "model-00002-of-00003.safetensors",
578
+ "forward_model.tertiary_global_blocks.13.norm.bias": "model-00002-of-00003.safetensors",
579
+ "forward_model.tertiary_global_blocks.13.norm.weight": "model-00002-of-00003.safetensors",
580
+ "forward_model.tertiary_global_blocks.14.ff.0.bias": "model-00002-of-00003.safetensors",
581
+ "forward_model.tertiary_global_blocks.14.ff.0.weight": "model-00002-of-00003.safetensors",
582
+ "forward_model.tertiary_global_blocks.14.ff.1.bias": "model-00002-of-00003.safetensors",
583
+ "forward_model.tertiary_global_blocks.14.ff.1.weight": "model-00002-of-00003.safetensors",
584
+ "forward_model.tertiary_global_blocks.14.ff.3.bias": "model-00002-of-00003.safetensors",
585
+ "forward_model.tertiary_global_blocks.14.ff.3.weight": "model-00002-of-00003.safetensors",
586
+ "forward_model.tertiary_global_blocks.14.mixer.A_log": "model-00002-of-00003.safetensors",
587
+ "forward_model.tertiary_global_blocks.14.mixer.D": "model-00002-of-00003.safetensors",
588
+ "forward_model.tertiary_global_blocks.14.mixer.conv1d.bias": "model-00002-of-00003.safetensors",
589
+ "forward_model.tertiary_global_blocks.14.mixer.conv1d.weight": "model-00002-of-00003.safetensors",
590
+ "forward_model.tertiary_global_blocks.14.mixer.dt_bias": "model-00002-of-00003.safetensors",
591
+ "forward_model.tertiary_global_blocks.14.mixer.in_proj.weight": "model-00002-of-00003.safetensors",
592
+ "forward_model.tertiary_global_blocks.14.mixer.norm.weight": "model-00002-of-00003.safetensors",
593
+ "forward_model.tertiary_global_blocks.14.mixer.out_proj.weight": "model-00002-of-00003.safetensors",
594
+ "forward_model.tertiary_global_blocks.14.norm.bias": "model-00002-of-00003.safetensors",
595
+ "forward_model.tertiary_global_blocks.14.norm.weight": "model-00002-of-00003.safetensors",
596
+ "forward_model.tertiary_global_blocks.15.ff.0.bias": "model-00002-of-00003.safetensors",
597
+ "forward_model.tertiary_global_blocks.15.ff.0.weight": "model-00002-of-00003.safetensors",
598
+ "forward_model.tertiary_global_blocks.15.ff.1.bias": "model-00002-of-00003.safetensors",
599
+ "forward_model.tertiary_global_blocks.15.ff.1.weight": "model-00002-of-00003.safetensors",
600
+ "forward_model.tertiary_global_blocks.15.ff.3.bias": "model-00002-of-00003.safetensors",
601
+ "forward_model.tertiary_global_blocks.15.ff.3.weight": "model-00002-of-00003.safetensors",
602
+ "forward_model.tertiary_global_blocks.15.mixer.A_log": "model-00002-of-00003.safetensors",
603
+ "forward_model.tertiary_global_blocks.15.mixer.D": "model-00002-of-00003.safetensors",
604
+ "forward_model.tertiary_global_blocks.15.mixer.conv1d.bias": "model-00002-of-00003.safetensors",
605
+ "forward_model.tertiary_global_blocks.15.mixer.conv1d.weight": "model-00002-of-00003.safetensors",
606
+ "forward_model.tertiary_global_blocks.15.mixer.dt_bias": "model-00002-of-00003.safetensors",
607
+ "forward_model.tertiary_global_blocks.15.mixer.in_proj.weight": "model-00002-of-00003.safetensors",
608
+ "forward_model.tertiary_global_blocks.15.mixer.norm.weight": "model-00002-of-00003.safetensors",
609
+ "forward_model.tertiary_global_blocks.15.mixer.out_proj.weight": "model-00002-of-00003.safetensors",
610
+ "forward_model.tertiary_global_blocks.15.norm.bias": "model-00002-of-00003.safetensors",
611
+ "forward_model.tertiary_global_blocks.15.norm.weight": "model-00002-of-00003.safetensors",
612
+ "forward_model.tertiary_global_blocks.16.ff.0.bias": "model-00002-of-00003.safetensors",
613
+ "forward_model.tertiary_global_blocks.16.ff.0.weight": "model-00002-of-00003.safetensors",
614
+ "forward_model.tertiary_global_blocks.16.ff.1.bias": "model-00002-of-00003.safetensors",
615
+ "forward_model.tertiary_global_blocks.16.ff.1.weight": "model-00002-of-00003.safetensors",
616
+ "forward_model.tertiary_global_blocks.16.ff.3.bias": "model-00002-of-00003.safetensors",
617
+ "forward_model.tertiary_global_blocks.16.ff.3.weight": "model-00002-of-00003.safetensors",
618
+ "forward_model.tertiary_global_blocks.16.mixer.A_log": "model-00002-of-00003.safetensors",
619
+ "forward_model.tertiary_global_blocks.16.mixer.D": "model-00002-of-00003.safetensors",
620
+ "forward_model.tertiary_global_blocks.16.mixer.conv1d.bias": "model-00002-of-00003.safetensors",
621
+ "forward_model.tertiary_global_blocks.16.mixer.conv1d.weight": "model-00002-of-00003.safetensors",
622
+ "forward_model.tertiary_global_blocks.16.mixer.dt_bias": "model-00002-of-00003.safetensors",
623
+ "forward_model.tertiary_global_blocks.16.mixer.in_proj.weight": "model-00002-of-00003.safetensors",
624
+ "forward_model.tertiary_global_blocks.16.mixer.norm.weight": "model-00002-of-00003.safetensors",
625
+ "forward_model.tertiary_global_blocks.16.mixer.out_proj.weight": "model-00002-of-00003.safetensors",
626
+ "forward_model.tertiary_global_blocks.16.norm.bias": "model-00002-of-00003.safetensors",
627
+ "forward_model.tertiary_global_blocks.16.norm.weight": "model-00002-of-00003.safetensors",
628
+ "forward_model.tertiary_global_blocks.17.ff.0.bias": "model-00002-of-00003.safetensors",
629
+ "forward_model.tertiary_global_blocks.17.ff.0.weight": "model-00002-of-00003.safetensors",
630
+ "forward_model.tertiary_global_blocks.17.ff.1.bias": "model-00002-of-00003.safetensors",
631
+ "forward_model.tertiary_global_blocks.17.ff.1.weight": "model-00002-of-00003.safetensors",
632
+ "forward_model.tertiary_global_blocks.17.ff.3.bias": "model-00002-of-00003.safetensors",
633
+ "forward_model.tertiary_global_blocks.17.ff.3.weight": "model-00002-of-00003.safetensors",
634
+ "forward_model.tertiary_global_blocks.17.mixer.A_log": "model-00002-of-00003.safetensors",
635
+ "forward_model.tertiary_global_blocks.17.mixer.D": "model-00002-of-00003.safetensors",
636
+ "forward_model.tertiary_global_blocks.17.mixer.conv1d.bias": "model-00002-of-00003.safetensors",
637
+ "forward_model.tertiary_global_blocks.17.mixer.conv1d.weight": "model-00002-of-00003.safetensors",
638
+ "forward_model.tertiary_global_blocks.17.mixer.dt_bias": "model-00002-of-00003.safetensors",
639
+ "forward_model.tertiary_global_blocks.17.mixer.in_proj.weight": "model-00002-of-00003.safetensors",
640
+ "forward_model.tertiary_global_blocks.17.mixer.norm.weight": "model-00002-of-00003.safetensors",
641
+ "forward_model.tertiary_global_blocks.17.mixer.out_proj.weight": "model-00002-of-00003.safetensors",
642
+ "forward_model.tertiary_global_blocks.17.norm.bias": "model-00002-of-00003.safetensors",
643
+ "forward_model.tertiary_global_blocks.17.norm.weight": "model-00002-of-00003.safetensors",
644
+ "forward_model.tertiary_global_blocks.18.ff.0.bias": "model-00002-of-00003.safetensors",
645
+ "forward_model.tertiary_global_blocks.18.ff.0.weight": "model-00002-of-00003.safetensors",
646
+ "forward_model.tertiary_global_blocks.18.ff.1.bias": "model-00002-of-00003.safetensors",
647
+ "forward_model.tertiary_global_blocks.18.ff.1.weight": "model-00002-of-00003.safetensors",
648
+ "forward_model.tertiary_global_blocks.18.ff.3.bias": "model-00002-of-00003.safetensors",
649
+ "forward_model.tertiary_global_blocks.18.ff.3.weight": "model-00002-of-00003.safetensors",
650
+ "forward_model.tertiary_global_blocks.18.mixer.A_log": "model-00002-of-00003.safetensors",
651
+ "forward_model.tertiary_global_blocks.18.mixer.D": "model-00002-of-00003.safetensors",
652
+ "forward_model.tertiary_global_blocks.18.mixer.conv1d.bias": "model-00002-of-00003.safetensors",
653
+ "forward_model.tertiary_global_blocks.18.mixer.conv1d.weight": "model-00002-of-00003.safetensors",
654
+ "forward_model.tertiary_global_blocks.18.mixer.dt_bias": "model-00002-of-00003.safetensors",
655
+ "forward_model.tertiary_global_blocks.18.mixer.in_proj.weight": "model-00002-of-00003.safetensors",
656
+ "forward_model.tertiary_global_blocks.18.mixer.norm.weight": "model-00002-of-00003.safetensors",
657
+ "forward_model.tertiary_global_blocks.18.mixer.out_proj.weight": "model-00002-of-00003.safetensors",
658
+ "forward_model.tertiary_global_blocks.18.norm.bias": "model-00002-of-00003.safetensors",
659
+ "forward_model.tertiary_global_blocks.18.norm.weight": "model-00002-of-00003.safetensors",
660
+ "forward_model.tertiary_global_blocks.19.ff.0.bias": "model-00002-of-00003.safetensors",
661
+ "forward_model.tertiary_global_blocks.19.ff.0.weight": "model-00002-of-00003.safetensors",
662
+ "forward_model.tertiary_global_blocks.19.ff.1.bias": "model-00002-of-00003.safetensors",
663
+ "forward_model.tertiary_global_blocks.19.ff.1.weight": "model-00002-of-00003.safetensors",
664
+ "forward_model.tertiary_global_blocks.19.ff.3.bias": "model-00002-of-00003.safetensors",
665
+ "forward_model.tertiary_global_blocks.19.ff.3.weight": "model-00002-of-00003.safetensors",
666
+ "forward_model.tertiary_global_blocks.19.mixer.A_log": "model-00002-of-00003.safetensors",
667
+ "forward_model.tertiary_global_blocks.19.mixer.D": "model-00002-of-00003.safetensors",
668
+ "forward_model.tertiary_global_blocks.19.mixer.conv1d.bias": "model-00002-of-00003.safetensors",
669
+ "forward_model.tertiary_global_blocks.19.mixer.conv1d.weight": "model-00002-of-00003.safetensors",
670
+ "forward_model.tertiary_global_blocks.19.mixer.dt_bias": "model-00002-of-00003.safetensors",
671
+ "forward_model.tertiary_global_blocks.19.mixer.in_proj.weight": "model-00002-of-00003.safetensors",
672
+ "forward_model.tertiary_global_blocks.19.mixer.norm.weight": "model-00002-of-00003.safetensors",
673
+ "forward_model.tertiary_global_blocks.19.mixer.out_proj.weight": "model-00002-of-00003.safetensors",
674
+ "forward_model.tertiary_global_blocks.19.norm.bias": "model-00002-of-00003.safetensors",
675
+ "forward_model.tertiary_global_blocks.19.norm.weight": "model-00002-of-00003.safetensors",
676
+ "forward_model.tertiary_global_blocks.2.ff.0.bias": "model-00002-of-00003.safetensors",
677
+ "forward_model.tertiary_global_blocks.2.ff.0.weight": "model-00002-of-00003.safetensors",
678
+ "forward_model.tertiary_global_blocks.2.ff.1.bias": "model-00002-of-00003.safetensors",
679
+ "forward_model.tertiary_global_blocks.2.ff.1.weight": "model-00002-of-00003.safetensors",
680
+ "forward_model.tertiary_global_blocks.2.ff.3.bias": "model-00002-of-00003.safetensors",
681
+ "forward_model.tertiary_global_blocks.2.ff.3.weight": "model-00002-of-00003.safetensors",
682
+ "forward_model.tertiary_global_blocks.2.mixer.A_log": "model-00002-of-00003.safetensors",
683
+ "forward_model.tertiary_global_blocks.2.mixer.D": "model-00002-of-00003.safetensors",
684
+ "forward_model.tertiary_global_blocks.2.mixer.conv1d.bias": "model-00002-of-00003.safetensors",
685
+ "forward_model.tertiary_global_blocks.2.mixer.conv1d.weight": "model-00002-of-00003.safetensors",
686
+ "forward_model.tertiary_global_blocks.2.mixer.dt_bias": "model-00002-of-00003.safetensors",
687
+ "forward_model.tertiary_global_blocks.2.mixer.in_proj.weight": "model-00002-of-00003.safetensors",
688
+ "forward_model.tertiary_global_blocks.2.mixer.norm.weight": "model-00002-of-00003.safetensors",
689
+ "forward_model.tertiary_global_blocks.2.mixer.out_proj.weight": "model-00002-of-00003.safetensors",
690
+ "forward_model.tertiary_global_blocks.2.norm.bias": "model-00002-of-00003.safetensors",
691
+ "forward_model.tertiary_global_blocks.2.norm.weight": "model-00002-of-00003.safetensors",
692
+ "forward_model.tertiary_global_blocks.20.ff.0.bias": "model-00003-of-00003.safetensors",
693
+ "forward_model.tertiary_global_blocks.20.ff.0.weight": "model-00003-of-00003.safetensors",
694
+ "forward_model.tertiary_global_blocks.20.ff.1.bias": "model-00003-of-00003.safetensors",
695
+ "forward_model.tertiary_global_blocks.20.ff.1.weight": "model-00003-of-00003.safetensors",
696
+ "forward_model.tertiary_global_blocks.20.ff.3.bias": "model-00003-of-00003.safetensors",
697
+ "forward_model.tertiary_global_blocks.20.ff.3.weight": "model-00003-of-00003.safetensors",
698
+ "forward_model.tertiary_global_blocks.20.mixer.A_log": "model-00002-of-00003.safetensors",
699
+ "forward_model.tertiary_global_blocks.20.mixer.D": "model-00002-of-00003.safetensors",
700
+ "forward_model.tertiary_global_blocks.20.mixer.conv1d.bias": "model-00003-of-00003.safetensors",
701
+ "forward_model.tertiary_global_blocks.20.mixer.conv1d.weight": "model-00003-of-00003.safetensors",
702
+ "forward_model.tertiary_global_blocks.20.mixer.dt_bias": "model-00002-of-00003.safetensors",
703
+ "forward_model.tertiary_global_blocks.20.mixer.in_proj.weight": "model-00003-of-00003.safetensors",
704
+ "forward_model.tertiary_global_blocks.20.mixer.norm.weight": "model-00003-of-00003.safetensors",
705
+ "forward_model.tertiary_global_blocks.20.mixer.out_proj.weight": "model-00003-of-00003.safetensors",
706
+ "forward_model.tertiary_global_blocks.20.norm.bias": "model-00002-of-00003.safetensors",
707
+ "forward_model.tertiary_global_blocks.20.norm.weight": "model-00002-of-00003.safetensors",
708
+ "forward_model.tertiary_global_blocks.21.ff.0.bias": "model-00003-of-00003.safetensors",
709
+ "forward_model.tertiary_global_blocks.21.ff.0.weight": "model-00003-of-00003.safetensors",
710
+ "forward_model.tertiary_global_blocks.21.ff.1.bias": "model-00003-of-00003.safetensors",
711
+ "forward_model.tertiary_global_blocks.21.ff.1.weight": "model-00003-of-00003.safetensors",
712
+ "forward_model.tertiary_global_blocks.21.ff.3.bias": "model-00003-of-00003.safetensors",
713
+ "forward_model.tertiary_global_blocks.21.ff.3.weight": "model-00003-of-00003.safetensors",
714
+ "forward_model.tertiary_global_blocks.21.mixer.A_log": "model-00003-of-00003.safetensors",
715
+ "forward_model.tertiary_global_blocks.21.mixer.D": "model-00003-of-00003.safetensors",
716
+ "forward_model.tertiary_global_blocks.21.mixer.conv1d.bias": "model-00003-of-00003.safetensors",
717
+ "forward_model.tertiary_global_blocks.21.mixer.conv1d.weight": "model-00003-of-00003.safetensors",
718
+ "forward_model.tertiary_global_blocks.21.mixer.dt_bias": "model-00003-of-00003.safetensors",
719
+ "forward_model.tertiary_global_blocks.21.mixer.in_proj.weight": "model-00003-of-00003.safetensors",
720
+ "forward_model.tertiary_global_blocks.21.mixer.norm.weight": "model-00003-of-00003.safetensors",
721
+ "forward_model.tertiary_global_blocks.21.mixer.out_proj.weight": "model-00003-of-00003.safetensors",
722
+ "forward_model.tertiary_global_blocks.21.norm.bias": "model-00003-of-00003.safetensors",
723
+ "forward_model.tertiary_global_blocks.21.norm.weight": "model-00003-of-00003.safetensors",
724
+ "forward_model.tertiary_global_blocks.22.ff.0.bias": "model-00003-of-00003.safetensors",
725
+ "forward_model.tertiary_global_blocks.22.ff.0.weight": "model-00003-of-00003.safetensors",
726
+ "forward_model.tertiary_global_blocks.22.ff.1.bias": "model-00003-of-00003.safetensors",
727
+ "forward_model.tertiary_global_blocks.22.ff.1.weight": "model-00003-of-00003.safetensors",
728
+ "forward_model.tertiary_global_blocks.22.ff.3.bias": "model-00003-of-00003.safetensors",
729
+ "forward_model.tertiary_global_blocks.22.ff.3.weight": "model-00003-of-00003.safetensors",
730
+ "forward_model.tertiary_global_blocks.22.mixer.A_log": "model-00003-of-00003.safetensors",
731
+ "forward_model.tertiary_global_blocks.22.mixer.D": "model-00003-of-00003.safetensors",
732
+ "forward_model.tertiary_global_blocks.22.mixer.conv1d.bias": "model-00003-of-00003.safetensors",
733
+ "forward_model.tertiary_global_blocks.22.mixer.conv1d.weight": "model-00003-of-00003.safetensors",
734
+ "forward_model.tertiary_global_blocks.22.mixer.dt_bias": "model-00003-of-00003.safetensors",
735
+ "forward_model.tertiary_global_blocks.22.mixer.in_proj.weight": "model-00003-of-00003.safetensors",
736
+ "forward_model.tertiary_global_blocks.22.mixer.norm.weight": "model-00003-of-00003.safetensors",
737
+ "forward_model.tertiary_global_blocks.22.mixer.out_proj.weight": "model-00003-of-00003.safetensors",
738
+ "forward_model.tertiary_global_blocks.22.norm.bias": "model-00003-of-00003.safetensors",
739
+ "forward_model.tertiary_global_blocks.22.norm.weight": "model-00003-of-00003.safetensors",
740
+ "forward_model.tertiary_global_blocks.23.ff.0.bias": "model-00003-of-00003.safetensors",
741
+ "forward_model.tertiary_global_blocks.23.ff.0.weight": "model-00003-of-00003.safetensors",
742
+ "forward_model.tertiary_global_blocks.23.ff.1.bias": "model-00003-of-00003.safetensors",
743
+ "forward_model.tertiary_global_blocks.23.ff.1.weight": "model-00003-of-00003.safetensors",
744
+ "forward_model.tertiary_global_blocks.23.ff.3.bias": "model-00003-of-00003.safetensors",
745
+ "forward_model.tertiary_global_blocks.23.ff.3.weight": "model-00003-of-00003.safetensors",
746
+ "forward_model.tertiary_global_blocks.23.mixer.A_log": "model-00003-of-00003.safetensors",
747
+ "forward_model.tertiary_global_blocks.23.mixer.D": "model-00003-of-00003.safetensors",
748
+ "forward_model.tertiary_global_blocks.23.mixer.conv1d.bias": "model-00003-of-00003.safetensors",
749
+ "forward_model.tertiary_global_blocks.23.mixer.conv1d.weight": "model-00003-of-00003.safetensors",
750
+ "forward_model.tertiary_global_blocks.23.mixer.dt_bias": "model-00003-of-00003.safetensors",
751
+ "forward_model.tertiary_global_blocks.23.mixer.in_proj.weight": "model-00003-of-00003.safetensors",
752
+ "forward_model.tertiary_global_blocks.23.mixer.norm.weight": "model-00003-of-00003.safetensors",
753
+ "forward_model.tertiary_global_blocks.23.mixer.out_proj.weight": "model-00003-of-00003.safetensors",
754
+ "forward_model.tertiary_global_blocks.23.norm.bias": "model-00003-of-00003.safetensors",
755
+ "forward_model.tertiary_global_blocks.23.norm.weight": "model-00003-of-00003.safetensors",
756
+ "forward_model.tertiary_global_blocks.24.ff.0.bias": "model-00003-of-00003.safetensors",
757
+ "forward_model.tertiary_global_blocks.24.ff.0.weight": "model-00003-of-00003.safetensors",
758
+ "forward_model.tertiary_global_blocks.24.ff.1.bias": "model-00003-of-00003.safetensors",
759
+ "forward_model.tertiary_global_blocks.24.ff.1.weight": "model-00003-of-00003.safetensors",
760
+ "forward_model.tertiary_global_blocks.24.ff.3.bias": "model-00003-of-00003.safetensors",
761
+ "forward_model.tertiary_global_blocks.24.ff.3.weight": "model-00003-of-00003.safetensors",
762
+ "forward_model.tertiary_global_blocks.24.mixer.A_log": "model-00003-of-00003.safetensors",
763
+ "forward_model.tertiary_global_blocks.24.mixer.D": "model-00003-of-00003.safetensors",
764
+ "forward_model.tertiary_global_blocks.24.mixer.conv1d.bias": "model-00003-of-00003.safetensors",
765
+ "forward_model.tertiary_global_blocks.24.mixer.conv1d.weight": "model-00003-of-00003.safetensors",
766
+ "forward_model.tertiary_global_blocks.24.mixer.dt_bias": "model-00003-of-00003.safetensors",
767
+ "forward_model.tertiary_global_blocks.24.mixer.in_proj.weight": "model-00003-of-00003.safetensors",
768
+ "forward_model.tertiary_global_blocks.24.mixer.norm.weight": "model-00003-of-00003.safetensors",
769
+ "forward_model.tertiary_global_blocks.24.mixer.out_proj.weight": "model-00003-of-00003.safetensors",
770
+ "forward_model.tertiary_global_blocks.24.norm.bias": "model-00003-of-00003.safetensors",
771
+ "forward_model.tertiary_global_blocks.24.norm.weight": "model-00003-of-00003.safetensors",
772
+ "forward_model.tertiary_global_blocks.25.ff.0.bias": "model-00003-of-00003.safetensors",
773
+ "forward_model.tertiary_global_blocks.25.ff.0.weight": "model-00003-of-00003.safetensors",
774
+ "forward_model.tertiary_global_blocks.25.ff.1.bias": "model-00003-of-00003.safetensors",
775
+ "forward_model.tertiary_global_blocks.25.ff.1.weight": "model-00003-of-00003.safetensors",
776
+ "forward_model.tertiary_global_blocks.25.ff.3.bias": "model-00003-of-00003.safetensors",
777
+ "forward_model.tertiary_global_blocks.25.ff.3.weight": "model-00003-of-00003.safetensors",
778
+ "forward_model.tertiary_global_blocks.25.mixer.A_log": "model-00003-of-00003.safetensors",
779
+ "forward_model.tertiary_global_blocks.25.mixer.D": "model-00003-of-00003.safetensors",
780
+ "forward_model.tertiary_global_blocks.25.mixer.conv1d.bias": "model-00003-of-00003.safetensors",
781
+ "forward_model.tertiary_global_blocks.25.mixer.conv1d.weight": "model-00003-of-00003.safetensors",
782
+ "forward_model.tertiary_global_blocks.25.mixer.dt_bias": "model-00003-of-00003.safetensors",
783
+ "forward_model.tertiary_global_blocks.25.mixer.in_proj.weight": "model-00003-of-00003.safetensors",
784
+ "forward_model.tertiary_global_blocks.25.mixer.norm.weight": "model-00003-of-00003.safetensors",
785
+ "forward_model.tertiary_global_blocks.25.mixer.out_proj.weight": "model-00003-of-00003.safetensors",
786
+ "forward_model.tertiary_global_blocks.25.norm.bias": "model-00003-of-00003.safetensors",
787
+ "forward_model.tertiary_global_blocks.25.norm.weight": "model-00003-of-00003.safetensors",
788
+ "forward_model.tertiary_global_blocks.26.ff.0.bias": "model-00003-of-00003.safetensors",
789
+ "forward_model.tertiary_global_blocks.26.ff.0.weight": "model-00003-of-00003.safetensors",
790
+ "forward_model.tertiary_global_blocks.26.ff.1.bias": "model-00003-of-00003.safetensors",
791
+ "forward_model.tertiary_global_blocks.26.ff.1.weight": "model-00003-of-00003.safetensors",
792
+ "forward_model.tertiary_global_blocks.26.ff.3.bias": "model-00003-of-00003.safetensors",
793
+ "forward_model.tertiary_global_blocks.26.ff.3.weight": "model-00003-of-00003.safetensors",
794
+ "forward_model.tertiary_global_blocks.26.mixer.A_log": "model-00003-of-00003.safetensors",
795
+ "forward_model.tertiary_global_blocks.26.mixer.D": "model-00003-of-00003.safetensors",
796
+ "forward_model.tertiary_global_blocks.26.mixer.conv1d.bias": "model-00003-of-00003.safetensors",
797
+ "forward_model.tertiary_global_blocks.26.mixer.conv1d.weight": "model-00003-of-00003.safetensors",
798
+ "forward_model.tertiary_global_blocks.26.mixer.dt_bias": "model-00003-of-00003.safetensors",
799
+ "forward_model.tertiary_global_blocks.26.mixer.in_proj.weight": "model-00003-of-00003.safetensors",
800
+ "forward_model.tertiary_global_blocks.26.mixer.norm.weight": "model-00003-of-00003.safetensors",
801
+ "forward_model.tertiary_global_blocks.26.mixer.out_proj.weight": "model-00003-of-00003.safetensors",
802
+ "forward_model.tertiary_global_blocks.26.norm.bias": "model-00003-of-00003.safetensors",
803
+ "forward_model.tertiary_global_blocks.26.norm.weight": "model-00003-of-00003.safetensors",
804
+ "forward_model.tertiary_global_blocks.27.ff.0.bias": "model-00003-of-00003.safetensors",
805
+ "forward_model.tertiary_global_blocks.27.ff.0.weight": "model-00003-of-00003.safetensors",
806
+ "forward_model.tertiary_global_blocks.27.ff.1.bias": "model-00003-of-00003.safetensors",
807
+ "forward_model.tertiary_global_blocks.27.ff.1.weight": "model-00003-of-00003.safetensors",
808
+ "forward_model.tertiary_global_blocks.27.ff.3.bias": "model-00003-of-00003.safetensors",
809
+ "forward_model.tertiary_global_blocks.27.ff.3.weight": "model-00003-of-00003.safetensors",
810
+ "forward_model.tertiary_global_blocks.27.mixer.A_log": "model-00003-of-00003.safetensors",
811
+ "forward_model.tertiary_global_blocks.27.mixer.D": "model-00003-of-00003.safetensors",
812
+ "forward_model.tertiary_global_blocks.27.mixer.conv1d.bias": "model-00003-of-00003.safetensors",
813
+ "forward_model.tertiary_global_blocks.27.mixer.conv1d.weight": "model-00003-of-00003.safetensors",
814
+ "forward_model.tertiary_global_blocks.27.mixer.dt_bias": "model-00003-of-00003.safetensors",
815
+ "forward_model.tertiary_global_blocks.27.mixer.in_proj.weight": "model-00003-of-00003.safetensors",
816
+ "forward_model.tertiary_global_blocks.27.mixer.norm.weight": "model-00003-of-00003.safetensors",
817
+ "forward_model.tertiary_global_blocks.27.mixer.out_proj.weight": "model-00003-of-00003.safetensors",
818
+ "forward_model.tertiary_global_blocks.27.norm.bias": "model-00003-of-00003.safetensors",
819
+ "forward_model.tertiary_global_blocks.27.norm.weight": "model-00003-of-00003.safetensors",
820
+ "forward_model.tertiary_global_blocks.28.ff.0.bias": "model-00003-of-00003.safetensors",
821
+ "forward_model.tertiary_global_blocks.28.ff.0.weight": "model-00003-of-00003.safetensors",
822
+ "forward_model.tertiary_global_blocks.28.ff.1.bias": "model-00003-of-00003.safetensors",
823
+ "forward_model.tertiary_global_blocks.28.ff.1.weight": "model-00003-of-00003.safetensors",
824
+ "forward_model.tertiary_global_blocks.28.ff.3.bias": "model-00003-of-00003.safetensors",
825
+ "forward_model.tertiary_global_blocks.28.ff.3.weight": "model-00003-of-00003.safetensors",
826
+ "forward_model.tertiary_global_blocks.28.mixer.A_log": "model-00003-of-00003.safetensors",
827
+ "forward_model.tertiary_global_blocks.28.mixer.D": "model-00003-of-00003.safetensors",
828
+ "forward_model.tertiary_global_blocks.28.mixer.conv1d.bias": "model-00003-of-00003.safetensors",
829
+ "forward_model.tertiary_global_blocks.28.mixer.conv1d.weight": "model-00003-of-00003.safetensors",
830
+ "forward_model.tertiary_global_blocks.28.mixer.dt_bias": "model-00003-of-00003.safetensors",
831
+ "forward_model.tertiary_global_blocks.28.mixer.in_proj.weight": "model-00003-of-00003.safetensors",
832
+ "forward_model.tertiary_global_blocks.28.mixer.norm.weight": "model-00003-of-00003.safetensors",
833
+ "forward_model.tertiary_global_blocks.28.mixer.out_proj.weight": "model-00003-of-00003.safetensors",
834
+ "forward_model.tertiary_global_blocks.28.norm.bias": "model-00003-of-00003.safetensors",
835
+ "forward_model.tertiary_global_blocks.28.norm.weight": "model-00003-of-00003.safetensors",
836
+ "forward_model.tertiary_global_blocks.29.ff.0.bias": "model-00003-of-00003.safetensors",
837
+ "forward_model.tertiary_global_blocks.29.ff.0.weight": "model-00003-of-00003.safetensors",
838
+ "forward_model.tertiary_global_blocks.29.ff.1.bias": "model-00003-of-00003.safetensors",
839
+ "forward_model.tertiary_global_blocks.29.ff.1.weight": "model-00003-of-00003.safetensors",
840
+ "forward_model.tertiary_global_blocks.29.ff.3.bias": "model-00003-of-00003.safetensors",
841
+ "forward_model.tertiary_global_blocks.29.ff.3.weight": "model-00003-of-00003.safetensors",
842
+ "forward_model.tertiary_global_blocks.29.mixer.A_log": "model-00003-of-00003.safetensors",
843
+ "forward_model.tertiary_global_blocks.29.mixer.D": "model-00003-of-00003.safetensors",
844
+ "forward_model.tertiary_global_blocks.29.mixer.conv1d.bias": "model-00003-of-00003.safetensors",
845
+ "forward_model.tertiary_global_blocks.29.mixer.conv1d.weight": "model-00003-of-00003.safetensors",
846
+ "forward_model.tertiary_global_blocks.29.mixer.dt_bias": "model-00003-of-00003.safetensors",
847
+ "forward_model.tertiary_global_blocks.29.mixer.in_proj.weight": "model-00003-of-00003.safetensors",
848
+ "forward_model.tertiary_global_blocks.29.mixer.norm.weight": "model-00003-of-00003.safetensors",
849
+ "forward_model.tertiary_global_blocks.29.mixer.out_proj.weight": "model-00003-of-00003.safetensors",
850
+ "forward_model.tertiary_global_blocks.29.norm.bias": "model-00003-of-00003.safetensors",
851
+ "forward_model.tertiary_global_blocks.29.norm.weight": "model-00003-of-00003.safetensors",
852
+ "forward_model.tertiary_global_blocks.3.ff.0.bias": "model-00002-of-00003.safetensors",
853
+ "forward_model.tertiary_global_blocks.3.ff.0.weight": "model-00002-of-00003.safetensors",
854
+ "forward_model.tertiary_global_blocks.3.ff.1.bias": "model-00002-of-00003.safetensors",
855
+ "forward_model.tertiary_global_blocks.3.ff.1.weight": "model-00002-of-00003.safetensors",
856
+ "forward_model.tertiary_global_blocks.3.ff.3.bias": "model-00002-of-00003.safetensors",
857
+ "forward_model.tertiary_global_blocks.3.ff.3.weight": "model-00002-of-00003.safetensors",
858
+ "forward_model.tertiary_global_blocks.3.mixer.A_log": "model-00002-of-00003.safetensors",
859
+ "forward_model.tertiary_global_blocks.3.mixer.D": "model-00002-of-00003.safetensors",
860
+ "forward_model.tertiary_global_blocks.3.mixer.conv1d.bias": "model-00002-of-00003.safetensors",
861
+ "forward_model.tertiary_global_blocks.3.mixer.conv1d.weight": "model-00002-of-00003.safetensors",
862
+ "forward_model.tertiary_global_blocks.3.mixer.dt_bias": "model-00002-of-00003.safetensors",
863
+ "forward_model.tertiary_global_blocks.3.mixer.in_proj.weight": "model-00002-of-00003.safetensors",
864
+ "forward_model.tertiary_global_blocks.3.mixer.norm.weight": "model-00002-of-00003.safetensors",
865
+ "forward_model.tertiary_global_blocks.3.mixer.out_proj.weight": "model-00002-of-00003.safetensors",
866
+ "forward_model.tertiary_global_blocks.3.norm.bias": "model-00002-of-00003.safetensors",
867
+ "forward_model.tertiary_global_blocks.3.norm.weight": "model-00002-of-00003.safetensors",
868
+ "forward_model.tertiary_global_blocks.4.ff.0.bias": "model-00002-of-00003.safetensors",
869
+ "forward_model.tertiary_global_blocks.4.ff.0.weight": "model-00002-of-00003.safetensors",
870
+ "forward_model.tertiary_global_blocks.4.ff.1.bias": "model-00002-of-00003.safetensors",
871
+ "forward_model.tertiary_global_blocks.4.ff.1.weight": "model-00002-of-00003.safetensors",
872
+ "forward_model.tertiary_global_blocks.4.ff.3.bias": "model-00002-of-00003.safetensors",
873
+ "forward_model.tertiary_global_blocks.4.ff.3.weight": "model-00002-of-00003.safetensors",
874
+ "forward_model.tertiary_global_blocks.4.mixer.A_log": "model-00002-of-00003.safetensors",
875
+ "forward_model.tertiary_global_blocks.4.mixer.D": "model-00002-of-00003.safetensors",
876
+ "forward_model.tertiary_global_blocks.4.mixer.conv1d.bias": "model-00002-of-00003.safetensors",
877
+ "forward_model.tertiary_global_blocks.4.mixer.conv1d.weight": "model-00002-of-00003.safetensors",
878
+ "forward_model.tertiary_global_blocks.4.mixer.dt_bias": "model-00002-of-00003.safetensors",
879
+ "forward_model.tertiary_global_blocks.4.mixer.in_proj.weight": "model-00002-of-00003.safetensors",
880
+ "forward_model.tertiary_global_blocks.4.mixer.norm.weight": "model-00002-of-00003.safetensors",
881
+ "forward_model.tertiary_global_blocks.4.mixer.out_proj.weight": "model-00002-of-00003.safetensors",
882
+ "forward_model.tertiary_global_blocks.4.norm.bias": "model-00002-of-00003.safetensors",
883
+ "forward_model.tertiary_global_blocks.4.norm.weight": "model-00002-of-00003.safetensors",
884
+ "forward_model.tertiary_global_blocks.5.ff.0.bias": "model-00002-of-00003.safetensors",
885
+ "forward_model.tertiary_global_blocks.5.ff.0.weight": "model-00002-of-00003.safetensors",
886
+ "forward_model.tertiary_global_blocks.5.ff.1.bias": "model-00002-of-00003.safetensors",
887
+ "forward_model.tertiary_global_blocks.5.ff.1.weight": "model-00002-of-00003.safetensors",
888
+ "forward_model.tertiary_global_blocks.5.ff.3.bias": "model-00002-of-00003.safetensors",
889
+ "forward_model.tertiary_global_blocks.5.ff.3.weight": "model-00002-of-00003.safetensors",
890
+ "forward_model.tertiary_global_blocks.5.mixer.A_log": "model-00002-of-00003.safetensors",
891
+ "forward_model.tertiary_global_blocks.5.mixer.D": "model-00002-of-00003.safetensors",
892
+ "forward_model.tertiary_global_blocks.5.mixer.conv1d.bias": "model-00002-of-00003.safetensors",
893
+ "forward_model.tertiary_global_blocks.5.mixer.conv1d.weight": "model-00002-of-00003.safetensors",
894
+ "forward_model.tertiary_global_blocks.5.mixer.dt_bias": "model-00002-of-00003.safetensors",
895
+ "forward_model.tertiary_global_blocks.5.mixer.in_proj.weight": "model-00002-of-00003.safetensors",
896
+ "forward_model.tertiary_global_blocks.5.mixer.norm.weight": "model-00002-of-00003.safetensors",
897
+ "forward_model.tertiary_global_blocks.5.mixer.out_proj.weight": "model-00002-of-00003.safetensors",
898
+ "forward_model.tertiary_global_blocks.5.norm.bias": "model-00002-of-00003.safetensors",
899
+ "forward_model.tertiary_global_blocks.5.norm.weight": "model-00002-of-00003.safetensors",
900
+ "forward_model.tertiary_global_blocks.6.ff.0.bias": "model-00002-of-00003.safetensors",
901
+ "forward_model.tertiary_global_blocks.6.ff.0.weight": "model-00002-of-00003.safetensors",
902
+ "forward_model.tertiary_global_blocks.6.ff.1.bias": "model-00002-of-00003.safetensors",
903
+ "forward_model.tertiary_global_blocks.6.ff.1.weight": "model-00002-of-00003.safetensors",
904
+ "forward_model.tertiary_global_blocks.6.ff.3.bias": "model-00002-of-00003.safetensors",
905
+ "forward_model.tertiary_global_blocks.6.ff.3.weight": "model-00002-of-00003.safetensors",
906
+ "forward_model.tertiary_global_blocks.6.mixer.A_log": "model-00002-of-00003.safetensors",
907
+ "forward_model.tertiary_global_blocks.6.mixer.D": "model-00002-of-00003.safetensors",
908
+ "forward_model.tertiary_global_blocks.6.mixer.conv1d.bias": "model-00002-of-00003.safetensors",
909
+ "forward_model.tertiary_global_blocks.6.mixer.conv1d.weight": "model-00002-of-00003.safetensors",
910
+ "forward_model.tertiary_global_blocks.6.mixer.dt_bias": "model-00002-of-00003.safetensors",
911
+ "forward_model.tertiary_global_blocks.6.mixer.in_proj.weight": "model-00002-of-00003.safetensors",
912
+ "forward_model.tertiary_global_blocks.6.mixer.norm.weight": "model-00002-of-00003.safetensors",
913
+ "forward_model.tertiary_global_blocks.6.mixer.out_proj.weight": "model-00002-of-00003.safetensors",
914
+ "forward_model.tertiary_global_blocks.6.norm.bias": "model-00002-of-00003.safetensors",
915
+ "forward_model.tertiary_global_blocks.6.norm.weight": "model-00002-of-00003.safetensors",
916
+ "forward_model.tertiary_global_blocks.7.ff.0.bias": "model-00002-of-00003.safetensors",
917
+ "forward_model.tertiary_global_blocks.7.ff.0.weight": "model-00002-of-00003.safetensors",
918
+ "forward_model.tertiary_global_blocks.7.ff.1.bias": "model-00002-of-00003.safetensors",
919
+ "forward_model.tertiary_global_blocks.7.ff.1.weight": "model-00002-of-00003.safetensors",
920
+ "forward_model.tertiary_global_blocks.7.ff.3.bias": "model-00002-of-00003.safetensors",
921
+ "forward_model.tertiary_global_blocks.7.ff.3.weight": "model-00002-of-00003.safetensors",
922
+ "forward_model.tertiary_global_blocks.7.mixer.A_log": "model-00002-of-00003.safetensors",
923
+ "forward_model.tertiary_global_blocks.7.mixer.D": "model-00002-of-00003.safetensors",
924
+ "forward_model.tertiary_global_blocks.7.mixer.conv1d.bias": "model-00002-of-00003.safetensors",
925
+ "forward_model.tertiary_global_blocks.7.mixer.conv1d.weight": "model-00002-of-00003.safetensors",
926
+ "forward_model.tertiary_global_blocks.7.mixer.dt_bias": "model-00002-of-00003.safetensors",
927
+ "forward_model.tertiary_global_blocks.7.mixer.in_proj.weight": "model-00002-of-00003.safetensors",
928
+ "forward_model.tertiary_global_blocks.7.mixer.norm.weight": "model-00002-of-00003.safetensors",
929
+ "forward_model.tertiary_global_blocks.7.mixer.out_proj.weight": "model-00002-of-00003.safetensors",
930
+ "forward_model.tertiary_global_blocks.7.norm.bias": "model-00002-of-00003.safetensors",
931
+ "forward_model.tertiary_global_blocks.7.norm.weight": "model-00002-of-00003.safetensors",
932
+ "forward_model.tertiary_global_blocks.8.ff.0.bias": "model-00002-of-00003.safetensors",
933
+ "forward_model.tertiary_global_blocks.8.ff.0.weight": "model-00002-of-00003.safetensors",
934
+ "forward_model.tertiary_global_blocks.8.ff.1.bias": "model-00002-of-00003.safetensors",
935
+ "forward_model.tertiary_global_blocks.8.ff.1.weight": "model-00002-of-00003.safetensors",
936
+ "forward_model.tertiary_global_blocks.8.ff.3.bias": "model-00002-of-00003.safetensors",
937
+ "forward_model.tertiary_global_blocks.8.ff.3.weight": "model-00002-of-00003.safetensors",
938
+ "forward_model.tertiary_global_blocks.8.mixer.A_log": "model-00002-of-00003.safetensors",
939
+ "forward_model.tertiary_global_blocks.8.mixer.D": "model-00002-of-00003.safetensors",
940
+ "forward_model.tertiary_global_blocks.8.mixer.conv1d.bias": "model-00002-of-00003.safetensors",
941
+ "forward_model.tertiary_global_blocks.8.mixer.conv1d.weight": "model-00002-of-00003.safetensors",
942
+ "forward_model.tertiary_global_blocks.8.mixer.dt_bias": "model-00002-of-00003.safetensors",
943
+ "forward_model.tertiary_global_blocks.8.mixer.in_proj.weight": "model-00002-of-00003.safetensors",
944
+ "forward_model.tertiary_global_blocks.8.mixer.norm.weight": "model-00002-of-00003.safetensors",
945
+ "forward_model.tertiary_global_blocks.8.mixer.out_proj.weight": "model-00002-of-00003.safetensors",
946
+ "forward_model.tertiary_global_blocks.8.norm.bias": "model-00002-of-00003.safetensors",
947
+ "forward_model.tertiary_global_blocks.8.norm.weight": "model-00002-of-00003.safetensors",
948
+ "forward_model.tertiary_global_blocks.9.ff.0.bias": "model-00002-of-00003.safetensors",
949
+ "forward_model.tertiary_global_blocks.9.ff.0.weight": "model-00002-of-00003.safetensors",
950
+ "forward_model.tertiary_global_blocks.9.ff.1.bias": "model-00002-of-00003.safetensors",
951
+ "forward_model.tertiary_global_blocks.9.ff.1.weight": "model-00002-of-00003.safetensors",
952
+ "forward_model.tertiary_global_blocks.9.ff.3.bias": "model-00002-of-00003.safetensors",
953
+ "forward_model.tertiary_global_blocks.9.ff.3.weight": "model-00002-of-00003.safetensors",
954
+ "forward_model.tertiary_global_blocks.9.mixer.A_log": "model-00002-of-00003.safetensors",
955
+ "forward_model.tertiary_global_blocks.9.mixer.D": "model-00002-of-00003.safetensors",
956
+ "forward_model.tertiary_global_blocks.9.mixer.conv1d.bias": "model-00002-of-00003.safetensors",
957
+ "forward_model.tertiary_global_blocks.9.mixer.conv1d.weight": "model-00002-of-00003.safetensors",
958
+ "forward_model.tertiary_global_blocks.9.mixer.dt_bias": "model-00002-of-00003.safetensors",
959
+ "forward_model.tertiary_global_blocks.9.mixer.in_proj.weight": "model-00002-of-00003.safetensors",
960
+ "forward_model.tertiary_global_blocks.9.mixer.norm.weight": "model-00002-of-00003.safetensors",
961
+ "forward_model.tertiary_global_blocks.9.mixer.out_proj.weight": "model-00002-of-00003.safetensors",
962
+ "forward_model.tertiary_global_blocks.9.norm.bias": "model-00002-of-00003.safetensors",
963
+ "forward_model.tertiary_global_blocks.9.norm.weight": "model-00002-of-00003.safetensors",
964
+ "forward_model.tertiary_len_emb.weight": "model-00001-of-00003.safetensors",
965
+ "forward_model.tertiary_pool_encoder.close.0.bias": "model-00001-of-00003.safetensors",
966
+ "forward_model.tertiary_pool_encoder.close.0.weight": "model-00001-of-00003.safetensors",
967
+ "forward_model.tertiary_pool_encoder.close.1.bias": "model-00001-of-00003.safetensors",
968
+ "forward_model.tertiary_pool_encoder.close.1.weight": "model-00001-of-00003.safetensors",
969
+ "forward_model.tertiary_pool_encoder.close.3.bias": "model-00001-of-00003.safetensors",
970
+ "forward_model.tertiary_pool_encoder.close.3.weight": "model-00001-of-00003.safetensors",
971
+ "forward_model.tertiary_pool_encoder.close_value.weight": "model-00001-of-00003.safetensors",
972
+ "forward_model.tertiary_pool_encoder.context.bias": "model-00001-of-00003.safetensors",
973
+ "forward_model.tertiary_pool_encoder.context.weight": "model-00001-of-00003.safetensors",
974
+ "forward_model.tertiary_pool_encoder.context_norm.bias": "model-00001-of-00003.safetensors",
975
+ "forward_model.tertiary_pool_encoder.context_norm.weight": "model-00001-of-00003.safetensors",
976
+ "forward_model.tertiary_pool_encoder.value.0.bias": "model-00001-of-00003.safetensors",
977
+ "forward_model.tertiary_pool_encoder.value.0.weight": "model-00001-of-00003.safetensors",
978
+ "forward_model.tertiary_pool_encoder.value.1.bias": "model-00001-of-00003.safetensors",
979
+ "forward_model.tertiary_pool_encoder.value.1.weight": "model-00001-of-00003.safetensors",
980
+ "forward_model.tertiary_pool_encoder.value.3.bias": "model-00001-of-00003.safetensors",
981
+ "forward_model.tertiary_pool_encoder.value.3.weight": "model-00001-of-00003.safetensors",
982
+ "forward_model.tertiary_pool_encoder.weight.0.bias": "model-00001-of-00003.safetensors",
983
+ "forward_model.tertiary_pool_encoder.weight.0.weight": "model-00001-of-00003.safetensors",
984
+ "forward_model.tertiary_pool_encoder.weight.1.bias": "model-00001-of-00003.safetensors",
985
+ "forward_model.tertiary_pool_encoder.weight.1.weight": "model-00001-of-00003.safetensors"
986
+ }
987
+ }
modeling_nested_mamba.py ADDED
The diff for this file is too large to render. See raw diff
 
nested_inference_tools.py ADDED
@@ -0,0 +1,557 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/usr/bin/env python3
2
+ """Shared loading, streaming, and sampling helpers for nested byte Mamba tools."""
3
+ from __future__ import annotations
4
+
5
+ import gc
6
+ import json
7
+ import math
8
+ import random
9
+ import warnings
10
+ from dataclasses import dataclass
11
+ from pathlib import Path
12
+ from typing import Dict, Iterable, List, Optional, Sequence, Tuple
13
+
14
+ import torch
15
+ import torch.nn.functional as F
16
+
17
+ from modeling_nested_mamba import (
18
+ ForwardBackwardRepairModel,
19
+ )
20
+
21
+
22
+ PAD = 0
23
+ BOS = 1
24
+ EOS = 2
25
+ UNK = 3
26
+ BYTE_OFFSET = 4
27
+ VOCAB_SIZE = 260
28
+
29
+
30
+ @dataclass
31
+ class LoadedNestedModel:
32
+ model: ForwardBackwardRepairModel
33
+ config: Dict[str, object]
34
+ checkpoint_step: int
35
+ trained_tokens: int
36
+ checkpoint_path: Path
37
+ precision: str
38
+ fine_device: torch.device
39
+ model_parallel: bool
40
+
41
+ @property
42
+ def core(self):
43
+ return self.model.forward_model
44
+
45
+
46
+ def _dtype_for_precision(precision: str) -> torch.dtype:
47
+ normalized = precision.lower()
48
+ if normalized == "fp16":
49
+ return torch.float16
50
+ if normalized == "bf16":
51
+ return torch.bfloat16
52
+ if normalized == "fp32":
53
+ return torch.float32
54
+ raise ValueError(f"unsupported precision {precision!r}; choose fp16, bf16, or fp32")
55
+
56
+
57
+ def _mamba2_fused_causal_conv_available() -> bool:
58
+ """Whether Mamba-2's combined full-sequence kernel can call causal-conv1d."""
59
+ try:
60
+ from mamba_ssm.ops.triton import ssd_combined
61
+
62
+ return getattr(ssd_combined, "causal_conv1d_fwd_function", None) is not None
63
+ except Exception:
64
+ return False
65
+
66
+
67
+ def _configure_mamba2_inference_kernels(model: ForwardBackwardRepairModel) -> bool:
68
+ """Select the portable full-sequence path when fused causal-conv1d is absent."""
69
+ fused_available = _mamba2_fused_causal_conv_available()
70
+ changed = False
71
+ for block_group in (
72
+ model.forward_model.global_blocks,
73
+ model.forward_model.nested_global_blocks,
74
+ model.forward_model.tertiary_global_blocks,
75
+ ):
76
+ for block in block_group:
77
+ if int(getattr(block, "mamba_version", 1)) != 2:
78
+ continue
79
+ if not fused_available and bool(getattr(block.mixer, "use_mem_eff_path", False)):
80
+ block.mixer.use_mem_eff_path = False
81
+ changed = True
82
+ return changed
83
+
84
+
85
+ def _build_model(config: Dict[str, object]) -> ForwardBackwardRepairModel:
86
+ if config.get("training_method") == "diffusionblocks":
87
+ raise ValueError(
88
+ "this checkpoint declares an architecture that is incompatible with "
89
+ "the nested Mamba inference implementation"
90
+ )
91
+ model = ForwardBackwardRepairModel(
92
+ vocab_size=int(config.get("vocab_size", VOCAB_SIZE)),
93
+ dim=int(config["dim"]),
94
+ layers=int(config["layers"]),
95
+ position_bins=int(config.get("position_bins", 8192)),
96
+ use_mamba=not bool(config.get("no_mamba", False)),
97
+ # Old checkpoints predate these fields and are Mamba-1/d_state=16.
98
+ mamba_version=int(config.get("mamba_version", 1)),
99
+ mamba_d_state=int(
100
+ config.get(
101
+ "mamba_d_state",
102
+ 64 if int(config.get("mamba_version", 1)) == 2 else 16,
103
+ )
104
+ ),
105
+ mamba2_headdim=int(config.get("mamba2_headdim", 0)),
106
+ num_sections=1,
107
+ min_patch_bytes=int(config.get("blt_min_patch_bytes", 16)),
108
+ max_patch_bytes=int(config.get("blt_max_patch_bytes", 96)),
109
+ patch_change_threshold=int(config.get("blt_patch_change_threshold", 48)),
110
+ close_threshold=float(config.get("blt_close_threshold", 0.98)),
111
+ mid_close_bonus=float(config.get("blt_mid_close_bonus", 0.05)),
112
+ nested_pool_factor=int(config.get("nested_pool_factor", 16)),
113
+ nested_min_pool_factor=int(config.get("nested_min_pool_factor", 0)),
114
+ nested_close_threshold=(
115
+ None if config.get("nested_close_threshold") is None
116
+ else float(config["nested_close_threshold"])
117
+ ),
118
+ nested_layers=int(config.get("nested_layers", 0)),
119
+ tertiary_pool_factor=int(config.get("tertiary_pool_factor", 0)),
120
+ tertiary_min_pool_factor=int(config.get("tertiary_min_pool_factor", 0)),
121
+ tertiary_close_threshold=(
122
+ None if config.get("tertiary_close_threshold") is None
123
+ else float(config["tertiary_close_threshold"])
124
+ ),
125
+ tertiary_layers=int(config.get("tertiary_layers", 0)),
126
+ decoder_dim=int(config.get("decoder_dim", 0)),
127
+ detach_inactive_coarse_gradients=bool(
128
+ config.get("detach_inactive_coarse_gradients", True)
129
+ ),
130
+ decoder_pool_controller=bool(config.get("decoder_pool_controller", False)),
131
+ pool_controller_alpha=float(config.get("pool_controller_alpha", 1.0)),
132
+ pool_controller_beta=float(config.get("pool_controller_beta", 0.5)),
133
+ pool_controller_gamma=float(config.get("pool_controller_gamma", 0.5)),
134
+ # Missing fields identify older nested checkpoints whose routing did
135
+ # not include a short-pool budget.
136
+ short_pool_budget=int(config.get("blt_short_pool_budget", 0)),
137
+ short_pool_window=int(config.get("blt_short_pool_window", 0)),
138
+ secondary_min_patch_bytes=int(config.get("blt_secondary_min_patch_bytes", 16)),
139
+ )
140
+ model.forward_model.mamba2_unfused_inference = _configure_mamba2_inference_kernels(model)
141
+ return model
142
+
143
+
144
+ def _parse_device_list(value: Optional[str]) -> List[torch.device]:
145
+ if not value:
146
+ return []
147
+ return [torch.device(item.strip()) for item in value.split(",") if item.strip()]
148
+
149
+
150
+ def _validate_cuda_devices(devices: Sequence[torch.device]) -> None:
151
+ if not torch.cuda.is_available():
152
+ raise RuntimeError(
153
+ "CUDA is unavailable. mamba_ssm selective-scan inference requires CUDA in this environment."
154
+ )
155
+ count = torch.cuda.device_count()
156
+ for device in devices:
157
+ if device.type != "cuda" or device.index is None or device.index >= count:
158
+ raise ValueError(f"requested device {device} is unavailable; CUDA device count is {count}")
159
+
160
+
161
+ def load_nested_checkpoint(
162
+ checkpoint_path: str,
163
+ *,
164
+ precision: str = "fp16",
165
+ device: str = "cuda:0",
166
+ fine_device: Optional[str] = None,
167
+ nested_devices: Optional[str] = None,
168
+ tertiary_device: Optional[str] = None,
169
+ use_saved_placement: bool = False,
170
+ ) -> LoadedNestedModel:
171
+ """Load weights without materializing checkpoint optimizer tensors.
172
+
173
+ By default all inference runs on ``--device``. Model-parallel placement is
174
+ enabled by supplying ``fine_device`` and ``nested_devices``, or by opting
175
+ into the placement recorded in the checkpoint.
176
+ """
177
+ path = Path(checkpoint_path).expanduser().resolve()
178
+ checkpoint = None
179
+ if path.is_dir():
180
+ config_path = path / "config.json"
181
+ if not config_path.is_file():
182
+ raise FileNotFoundError(f"model config not found: {config_path}")
183
+ config = json.loads(config_path.read_text(encoding="utf-8"))
184
+ elif path.is_file():
185
+ # Backward-compatible local loading for an original training checkpoint.
186
+ warnings.warn(
187
+ "Loading a PyTorch .pt checkpoint requires pickle deserialization. "
188
+ "Only load .pt files that you created or obtained from a trusted source; "
189
+ "use the published SafeTensors directory for untrusted downloads.",
190
+ UserWarning,
191
+ stacklevel=2,
192
+ )
193
+ checkpoint = torch.load(path, map_location="cpu", weights_only=False, mmap=True)
194
+ config = dict(checkpoint.get("config") or {})
195
+ else:
196
+ raise FileNotFoundError(f"model directory or checkpoint not found: {path}")
197
+ if config.get("architecture") not in (None, "byte_latent_mamba_nested_jsonl") and config.get(
198
+ "architecture_label"
199
+ ) != "byte_latent_mamba_nested_jsonl":
200
+ raise ValueError(f"{path} is not identified as a nested JSONL checkpoint")
201
+
202
+ with torch.device("meta"):
203
+ model = _build_model(config)
204
+ if bool(getattr(model.forward_model, "mamba2_unfused_inference", False)):
205
+ print(
206
+ "Mamba-2 fused causal-conv1d is unavailable; using the portable "
207
+ "batched convolution + SSD scan path."
208
+ )
209
+ if path.is_dir():
210
+ from safetensors.torch import load_file
211
+
212
+ index_path = path / "model.safetensors.index.json"
213
+ single_path = path / "model.safetensors"
214
+ if index_path.is_file():
215
+ index = json.loads(index_path.read_text(encoding="utf-8"))
216
+ weight_map = dict(index.get("weight_map") or {})
217
+ expected = set(model.state_dict().keys())
218
+ published = set(weight_map.keys())
219
+ if expected != published:
220
+ missing = sorted(expected - published)[:8]
221
+ unexpected = sorted(published - expected)[:8]
222
+ raise RuntimeError(
223
+ f"SafeTensors index does not match architecture; "
224
+ f"missing={missing}, unexpected={unexpected}"
225
+ )
226
+ for filename in dict.fromkeys(weight_map.values()):
227
+ shard_path = path / filename
228
+ shard = load_file(str(shard_path), device="cpu")
229
+ model.load_state_dict(shard, strict=False, assign=True)
230
+ del shard
231
+ elif single_path.is_file():
232
+ state = load_file(str(single_path), device="cpu")
233
+ model.load_state_dict(state, strict=True, assign=True)
234
+ del state
235
+ else:
236
+ raise FileNotFoundError(
237
+ f"no model.safetensors or model.safetensors.index.json in {path}"
238
+ )
239
+ meta_names = [
240
+ name for name, value in model.state_dict().items() if value.device.type == "meta"
241
+ ]
242
+ if meta_names:
243
+ raise RuntimeError(f"unloaded model tensors remain: {meta_names[:8]}")
244
+ step = 0
245
+ trained_tokens = 0
246
+ else:
247
+ model.load_state_dict(checkpoint["model"], strict=True, assign=True)
248
+ step = int(checkpoint.get("step", 0))
249
+ trained_tokens = int(checkpoint.get("trained_tokens", 0))
250
+ del checkpoint
251
+ gc.collect()
252
+
253
+ dtype = _dtype_for_precision(precision)
254
+ if int(config.get("mamba_version", 1)) == 2 and dtype == torch.float16:
255
+ print(
256
+ "Mamba-2 FP16 inference: cached SSM accumulators will remain FP32; "
257
+ "BF16 is recommended when the GPU supports it."
258
+ )
259
+ if use_saved_placement:
260
+ fine_device = fine_device or str(config.get("fine_device") or "cuda:0")
261
+ if nested_devices is None:
262
+ saved_nested = config.get("nested_devices") or []
263
+ nested_devices = ",".join(str(item) for item in saved_nested)
264
+ tertiary_device = tertiary_device or (
265
+ str(config["tertiary_device"]) if config.get("tertiary_device") else None
266
+ )
267
+
268
+ coarse = _parse_device_list(nested_devices)
269
+ if coarse:
270
+ if not fine_device:
271
+ raise ValueError("--fine-device is required with --nested-devices")
272
+ fine = torch.device(fine_device)
273
+ tertiary = torch.device(tertiary_device) if tertiary_device else None
274
+ requested = [fine, *coarse, *([tertiary] if tertiary else [])]
275
+ _validate_cuda_devices(requested)
276
+ # Cast on CPU first so a large FP32 checkpoint is never temporarily
277
+ # placed in full on the root GPU.
278
+ model.to(dtype=dtype)
279
+ model.configure_model_parallel(fine, coarse, tertiary_device=tertiary)
280
+ root = fine
281
+ parallel = True
282
+ else:
283
+ root = torch.device(device)
284
+ _validate_cuda_devices([root])
285
+ model.to(root, dtype=dtype)
286
+ parallel = False
287
+
288
+ model.eval()
289
+ return LoadedNestedModel(
290
+ model=model,
291
+ config=config,
292
+ checkpoint_step=step,
293
+ trained_tokens=trained_tokens,
294
+ checkpoint_path=path,
295
+ precision=precision,
296
+ fine_device=root,
297
+ model_parallel=parallel,
298
+ )
299
+
300
+
301
+ def new_stream(loaded: LoadedNestedModel, maximum_input_bytes: int) -> Dict[str, object]:
302
+ minimum = max(1, int(loaded.config.get("blt_min_patch_bytes", 16)))
303
+ max_patches = math.ceil((int(maximum_input_bytes) + 1) / minimum) + 8
304
+ return loaded.core.new_stream_state({}, max_patches=max_patches)
305
+
306
+
307
+ def stream_token(
308
+ loaded: LoadedNestedModel,
309
+ stream: Dict[str, object],
310
+ token_id: int,
311
+ ) -> torch.Tensor:
312
+ token = torch.tensor(
313
+ [[int(token_id)]], dtype=torch.long, device=loaded.fine_device
314
+ )
315
+ return loaded.core.stream_step(stream, {"x": token})[0, 0]
316
+
317
+
318
+ def apply_sampling_filters(
319
+ logits: torch.Tensor,
320
+ *,
321
+ temperature: float,
322
+ top_p: float,
323
+ top_k: int,
324
+ repeat_penalty: float,
325
+ recent_tokens: Sequence[int],
326
+ ) -> torch.Tensor:
327
+ filtered = logits.float().clone()
328
+ filtered[PAD] = filtered[BOS] = filtered[UNK] = -torch.inf
329
+ if repeat_penalty > 1.0:
330
+ for token_id in set(int(value) for value in recent_tokens):
331
+ if 0 <= token_id < filtered.numel():
332
+ value = filtered[token_id]
333
+ filtered[token_id] = (
334
+ value / repeat_penalty if value >= 0 else value * repeat_penalty
335
+ )
336
+ filtered /= max(1e-5, float(temperature))
337
+ if top_k > 0 and top_k < filtered.numel():
338
+ threshold = torch.topk(filtered, int(top_k)).values[-1]
339
+ filtered[filtered < threshold] = -torch.inf
340
+ if 0.0 < top_p < 1.0:
341
+ probabilities = torch.softmax(filtered, dim=-1)
342
+ sorted_probabilities, sorted_indices = torch.sort(probabilities, descending=True)
343
+ remove = torch.cumsum(sorted_probabilities, dim=0) > float(top_p)
344
+ remove[0] = False
345
+ filtered[sorted_indices[remove]] = -torch.inf
346
+ return filtered
347
+
348
+
349
+ def choose_token(filtered_logits: torch.Tensor, greedy: bool = False) -> int:
350
+ finite = torch.isfinite(filtered_logits)
351
+ if not bool(finite.any().item()):
352
+ raise FloatingPointError(
353
+ "sampling has no finite logits; the recurrent inference state became "
354
+ "non-finite. Retry with --precision bf16 (recommended for Mamba-2) "
355
+ "or --precision fp32."
356
+ )
357
+ if greedy:
358
+ return int(filtered_logits.argmax())
359
+ probabilities = torch.softmax(filtered_logits, dim=-1)
360
+ if not bool(torch.isfinite(probabilities).all().item()):
361
+ raise FloatingPointError(
362
+ "sampling probabilities became non-finite. Retry with --precision "
363
+ "bf16 (recommended for Mamba-2) or --precision fp32."
364
+ )
365
+ return int(torch.multinomial(probabilities, 1))
366
+
367
+
368
+ def hierarchy_token_attribution(
369
+ loaded: LoadedNestedModel,
370
+ stream: Dict[str, object],
371
+ logits: torch.Tensor,
372
+ token_id: int,
373
+ ) -> Dict[str, object]:
374
+ """Measure direct L2/L3 decoder influence on one selected next byte.
375
+
376
+ This reuses the cached streaming state and only reruns the small decoder
377
+ and LM head. Positive deltas mean the dynamic hierarchy increased the
378
+ selected token's log probability relative to its BOE counterfactual.
379
+ """
380
+ parts = list(loaded.core.last_stream_decode_parts)
381
+ decoder_device = parts[0].device
382
+ normal_log_probability = float(
383
+ F.log_softmax(logits.float(), dim=-1)[int(token_id)].detach().cpu().item()
384
+ )
385
+
386
+ def counterfactual(*, remove_l2: bool, remove_l3: bool) -> float:
387
+ altered = list(parts)
388
+ if remove_l2:
389
+ initial_nested = stream["initial_nested_global"]
390
+ if initial_nested.device != decoder_device:
391
+ initial_nested = initial_nested.to(decoder_device, non_blocking=True)
392
+ altered[3] = initial_nested
393
+ if remove_l3 and len(altered) > 4:
394
+ initial_tertiary = stream["initial_tertiary_global"]
395
+ if initial_tertiary.device != decoder_device:
396
+ initial_tertiary = initial_tertiary.to(
397
+ decoder_device, non_blocking=True
398
+ )
399
+ altered[4] = initial_tertiary
400
+ altered_logits = loaded.core.lm_head(
401
+ loaded.core.decoder(torch.cat(altered, dim=-1))
402
+ )[0, 0].float()
403
+ return float(
404
+ F.log_softmax(altered_logits, dim=-1)[int(token_id)].detach().cpu().item()
405
+ )
406
+
407
+ level2_active = int(stream["completed_nested_patches"]) > 0
408
+ level3_active = int(stream.get("completed_tertiary_patches", 0)) > 0
409
+ without_l2 = (
410
+ counterfactual(remove_l2=True, remove_l3=False)
411
+ if level2_active
412
+ else normal_log_probability
413
+ )
414
+ without_l3 = (
415
+ counterfactual(remove_l2=False, remove_l3=True)
416
+ if level3_active
417
+ else normal_log_probability
418
+ )
419
+ without_hierarchy = (
420
+ counterfactual(remove_l2=True, remove_l3=True)
421
+ if level3_active
422
+ else without_l2
423
+ )
424
+ return {
425
+ "level2_active": level2_active,
426
+ "level3_active": level3_active,
427
+ "level2_delta_logp": normal_log_probability - without_l2,
428
+ "level3_delta_logp": normal_log_probability - without_l3,
429
+ "hierarchy_delta_logp": normal_log_probability - without_hierarchy,
430
+ "selected_logp": normal_log_probability,
431
+ }
432
+
433
+
434
+ def hierarchy_mode_logits(
435
+ loaded: LoadedNestedModel,
436
+ stream: Dict[str, object],
437
+ logits: torch.Tensor,
438
+ mode: str,
439
+ ) -> torch.Tensor:
440
+ """Return next-token logits with selected hierarchy readouts disabled."""
441
+ normalized = str(mode).lower()
442
+ if normalized == "full":
443
+ return logits
444
+ if normalized not in {"level1", "level12"}:
445
+ raise ValueError("hierarchy mode must be 'level1', 'level12', or 'full'")
446
+ parts = list(loaded.core.last_stream_decode_parts)
447
+ decoder_device = parts[0].device
448
+ if normalized == "level1":
449
+ initial_nested = stream["initial_nested_global"]
450
+ if initial_nested.device != decoder_device:
451
+ initial_nested = initial_nested.to(decoder_device, non_blocking=True)
452
+ parts[3] = initial_nested
453
+ if len(parts) > 4:
454
+ initial_tertiary = stream["initial_tertiary_global"]
455
+ if initial_tertiary.device != decoder_device:
456
+ initial_tertiary = initial_tertiary.to(decoder_device, non_blocking=True)
457
+ parts[4] = initial_tertiary
458
+ return loaded.core.lm_head(
459
+ loaded.core.decoder(torch.cat(parts, dim=-1))
460
+ )[0, 0]
461
+
462
+
463
+ def generate_bytes(
464
+ loaded: LoadedNestedModel,
465
+ prompt: bytes,
466
+ *,
467
+ max_new_bytes: int,
468
+ temperature: float = 0.8,
469
+ top_p: float = 0.9,
470
+ top_k: int = 0,
471
+ repeat_penalty: float = 1.05,
472
+ repeat_window: int = 256,
473
+ greedy: bool = False,
474
+ seed: int = 1234,
475
+ collect_hierarchy_attribution: bool = False,
476
+ hierarchy_mode: str = "full",
477
+ ) -> Tuple[bytes, Dict[str, object]]:
478
+ if collect_hierarchy_attribution and hierarchy_mode != "full":
479
+ raise ValueError("hierarchy attribution is defined for the full hierarchy rollout")
480
+ torch.manual_seed(seed)
481
+ random.seed(seed)
482
+ stream = new_stream(loaded, len(prompt) + max_new_bytes + 2)
483
+ with torch.inference_mode():
484
+ logits = stream_token(loaded, stream, BOS)
485
+ for value in prompt:
486
+ logits = stream_token(loaded, stream, BYTE_OFFSET + int(value))
487
+ output = bytearray()
488
+ attributions: List[Dict[str, object]] = []
489
+ recent: List[int] = [BYTE_OFFSET + int(value) for value in prompt[-repeat_window:]]
490
+ for generated_position in range(max(0, int(max_new_bytes))):
491
+ sampling_logits = hierarchy_mode_logits(
492
+ loaded, stream, logits, hierarchy_mode
493
+ )
494
+ if not bool(torch.isfinite(sampling_logits).all().item()):
495
+ finite_count = int(torch.isfinite(sampling_logits).sum().item())
496
+ raise FloatingPointError(
497
+ "non-finite generation logits before sampling: "
498
+ f"generated_byte={generated_position} mode={hierarchy_mode} "
499
+ f"precision={loaded.precision} "
500
+ f"finite_logits={finite_count}/{sampling_logits.numel()}. "
501
+ "Retry with --precision bf16 (recommended for Mamba-2) or "
502
+ "--precision fp32."
503
+ )
504
+ filtered = apply_sampling_filters(
505
+ sampling_logits,
506
+ temperature=temperature,
507
+ top_p=top_p,
508
+ top_k=top_k,
509
+ repeat_penalty=repeat_penalty,
510
+ recent_tokens=recent[-repeat_window:],
511
+ )
512
+ token_id = choose_token(filtered, greedy=greedy)
513
+ if token_id == EOS:
514
+ break
515
+ if not BYTE_OFFSET <= token_id < BYTE_OFFSET + 256:
516
+ continue
517
+ if collect_hierarchy_attribution:
518
+ attributions.append(
519
+ hierarchy_token_attribution(
520
+ loaded, stream, sampling_logits, token_id
521
+ )
522
+ )
523
+ output.append(token_id - BYTE_OFFSET)
524
+ recent.append(token_id)
525
+ logits = stream_token(loaded, stream, token_id)
526
+ stream["generated_attribution"] = attributions
527
+ stream["hierarchy_mode"] = hierarchy_mode
528
+ return bytes(output), stream
529
+
530
+
531
+ def load_jsonl_texts(
532
+ path: str,
533
+ *,
534
+ text_field: str = "text",
535
+ max_documents: Optional[int] = None,
536
+ ) -> Iterable[Tuple[int, str]]:
537
+ jsonl = Path(path).expanduser().resolve()
538
+ if not jsonl.is_file():
539
+ raise FileNotFoundError(f"JSONL file not found: {jsonl}")
540
+ yielded = 0
541
+ with jsonl.open("r", encoding="utf-8") as handle:
542
+ for line_number, line in enumerate(handle, 1):
543
+ if not line.strip():
544
+ continue
545
+ try:
546
+ record = json.loads(line)
547
+ except json.JSONDecodeError as error:
548
+ raise ValueError(f"invalid JSON at {jsonl}:{line_number}: {error.msg}") from error
549
+ text = record.get(text_field)
550
+ if not isinstance(text, str):
551
+ raise ValueError(
552
+ f"{jsonl}:{line_number} must contain a string field {text_field!r}"
553
+ )
554
+ yield line_number, text
555
+ yielded += 1
556
+ if max_documents is not None and yielded >= int(max_documents):
557
+ return
requirements.txt ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
 
1
+ torch
2
+ safetensors
3
+ mamba-ssm
4
+ causal-conv1d
5
+ Pillow