Text Generation
Transformers
Safetensors
English
bananamind2_pico
causal-lm
base-model
muon
xsa-refresh
custom-code
trust-remote-code
custom_code
Instructions to use Banaxi-Tech/pico-5 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use Banaxi-Tech/pico-5 with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="Banaxi-Tech/pico-5", trust_remote_code=True)# Load model directly from transformers import AutoModelForCausalLM model = AutoModelForCausalLM.from_pretrained("Banaxi-Tech/pico-5", trust_remote_code=True, device_map="auto") - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use Banaxi-Tech/pico-5 with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "Banaxi-Tech/pico-5" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "Banaxi-Tech/pico-5", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'Use Docker
docker model run hf.co/Banaxi-Tech/pico-5
- SGLang
How to use Banaxi-Tech/pico-5 with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "Banaxi-Tech/pico-5" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "Banaxi-Tech/pico-5", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "Banaxi-Tech/pico-5" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "Banaxi-Tech/pico-5", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }' - Docker Model Runner
How to use Banaxi-Tech/pico-5 with Docker Model Runner:
docker model run hf.co/Banaxi-Tech/pico-5
Upload 12 files
Browse files- README.md +67 -0
- checkpoint_metadata.json +72 -0
- config.json +51 -0
- configuration_bananamind2pico.py +111 -0
- generation_config.json +7 -0
- model.safetensors +3 -0
- modeling_bananamind2pico.py +456 -0
- special_tokens_map.json +6 -0
- tokenizer.json +991 -0
- tokenizer_config.json +10 -0
- tokenizer_training_manifest.json +29 -0
- training_metrics.jsonl +113 -0
README.md
ADDED
|
@@ -0,0 +1,67 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
language:
|
| 3 |
+
- en
|
| 4 |
+
library_name: transformers
|
| 5 |
+
pipeline_tag: text-generation
|
| 6 |
+
datasets:
|
| 7 |
+
- epfml/FineWeb-HQ
|
| 8 |
+
- HuggingFaceTB/smollm-corpus
|
| 9 |
+
tags:
|
| 10 |
+
- causal-lm
|
| 11 |
+
- base-model
|
| 12 |
+
- muon
|
| 13 |
+
- xsa-refresh
|
| 14 |
+
- custom-code
|
| 15 |
+
- trust-remote-code
|
| 16 |
+
---
|
| 17 |
+
|
| 18 |
+
# BananaMind 2 Pico Test - 5%
|
| 19 |
+
|
| 20 |
+
This is the **5% checkpoint** of a 900,002-parameter
|
| 21 |
+
base causal language model. It is not instruction tuned.
|
| 22 |
+
|
| 23 |
+
## Architecture
|
| 24 |
+
|
| 25 |
+
| Field | Value |
|
| 26 |
+
|---|---:|
|
| 27 |
+
| Parameters | 900,002 |
|
| 28 |
+
| Layers / hidden size | 6 / 96 |
|
| 29 |
+
| SwiGLU intermediate size | 380 |
|
| 30 |
+
| Query / KV heads | 6 / 2 |
|
| 31 |
+
| Head dimension | 16 |
|
| 32 |
+
| Context | 4,096 |
|
| 33 |
+
| Vocabulary | 384, tied |
|
| 34 |
+
| Refresh layers | 4 and 6 |
|
| 35 |
+
| Refresh kernel | Causal depthwise, width 9 |
|
| 36 |
+
|
| 37 |
+
The selective XSA refresh gate reads detached attention output as its signal,
|
| 38 |
+
reinjects the original input embedding as its value, and carries convolution
|
| 39 |
+
history alongside the K/V cache. Its learned residual scalar starts at zero.
|
| 40 |
+
|
| 41 |
+
## Training
|
| 42 |
+
|
| 43 |
+
| Field | Value |
|
| 44 |
+
|---|---:|
|
| 45 |
+
| Progress | 5% |
|
| 46 |
+
| Tokens seen | 10,000,269,312 |
|
| 47 |
+
| Target tokens | 200,000,000,000 |
|
| 48 |
+
| Hardware | 4 x NVIDIA H200 |
|
| 49 |
+
| Matrix optimizer | Stock `torch.optim.Muon` |
|
| 50 |
+
| Muon peak LR | 0.07 |
|
| 51 |
+
| Embedding/control optimizer | AdamW, LR 0.004 |
|
| 52 |
+
| Precision | bfloat16 autocast |
|
| 53 |
+
|
| 54 |
+
| Token range | FineWeb-HQ | Cosmopedia v2 |
|
| 55 |
+
|---|---:|---:|
|
| 56 |
+
| 0.00B-100.00B | 80% | 20% |
|
| 57 |
+
| 100.00B-200.00B | 60% | 40% |
|
| 58 |
+
|
| 59 |
+
## Usage
|
| 60 |
+
|
| 61 |
+
```python
|
| 62 |
+
from transformers import AutoModelForCausalLM, AutoTokenizer
|
| 63 |
+
|
| 64 |
+
model_id = "Banaxi-Tech/pico-test"
|
| 65 |
+
tokenizer = AutoTokenizer.from_pretrained(model_id, trust_remote_code=True)
|
| 66 |
+
model = AutoModelForCausalLM.from_pretrained(model_id, trust_remote_code=True)
|
| 67 |
+
```
|
checkpoint_metadata.json
ADDED
|
@@ -0,0 +1,72 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"parameters": 900002,
|
| 3 |
+
"architecture": {
|
| 4 |
+
"vocab_size": 384,
|
| 5 |
+
"hidden_size": 96,
|
| 6 |
+
"num_hidden_layers": 6,
|
| 7 |
+
"num_attention_heads": 6,
|
| 8 |
+
"num_key_value_heads": 2,
|
| 9 |
+
"head_dim": 16,
|
| 10 |
+
"intermediate_size": 380,
|
| 11 |
+
"refresh_layers": [
|
| 12 |
+
3,
|
| 13 |
+
5
|
| 14 |
+
],
|
| 15 |
+
"refresh_kernel_size": 9,
|
| 16 |
+
"refresh_alpha_init": 0.0,
|
| 17 |
+
"max_position_embeddings": 4096,
|
| 18 |
+
"rope_theta": 100000.0,
|
| 19 |
+
"rms_norm_eps": 1e-06,
|
| 20 |
+
"initializer_range": 0.02,
|
| 21 |
+
"use_cache": true,
|
| 22 |
+
"transformers_version": "5.15.0",
|
| 23 |
+
"architectures": null,
|
| 24 |
+
"output_hidden_states": false,
|
| 25 |
+
"return_dict": true,
|
| 26 |
+
"dtype": null,
|
| 27 |
+
"chunk_size_feed_forward": 0,
|
| 28 |
+
"is_encoder_decoder": false,
|
| 29 |
+
"id2label": {
|
| 30 |
+
"0": "LABEL_0",
|
| 31 |
+
"1": "LABEL_1"
|
| 32 |
+
},
|
| 33 |
+
"label2id": {
|
| 34 |
+
"LABEL_0": 0,
|
| 35 |
+
"LABEL_1": 1
|
| 36 |
+
},
|
| 37 |
+
"problem_type": null,
|
| 38 |
+
"_name_or_path": "",
|
| 39 |
+
"tie_word_embeddings": true,
|
| 40 |
+
"bos_token_id": 1,
|
| 41 |
+
"eos_token_id": 2,
|
| 42 |
+
"pad_token_id": 0,
|
| 43 |
+
"unk_token_id": 3,
|
| 44 |
+
"model_type": "bananamind2_pico",
|
| 45 |
+
"output_attentions": false
|
| 46 |
+
},
|
| 47 |
+
"training_percent": 5,
|
| 48 |
+
"step": 1122,
|
| 49 |
+
"total_steps": 22439,
|
| 50 |
+
"tokens_seen": 10000269312,
|
| 51 |
+
"target_tokens": 200000000000,
|
| 52 |
+
"trained_token_target": 199996473344,
|
| 53 |
+
"tokens_per_step": 8912896,
|
| 54 |
+
"local_batch": 544,
|
| 55 |
+
"effective_global_batch": 2176,
|
| 56 |
+
"world_size": 4,
|
| 57 |
+
"gpu_name": "NVIDIA H200",
|
| 58 |
+
"optimizer": "Muon + AdamW",
|
| 59 |
+
"muon_peak_lr": 0.07,
|
| 60 |
+
"adamw_peak_lr": 0.004,
|
| 61 |
+
"architecture_revision": "ee5739850035c878ce4d9fc29fc38b075987e03b",
|
| 62 |
+
"tokenizer_revision": "ee5739850035c878ce4d9fc29fc38b075987e03b",
|
| 63 |
+
"dataset_revisions": {
|
| 64 |
+
"fineweb_hq": "e58199cdd52438d94405df1a4d8630cc5f13bf84",
|
| 65 |
+
"cosmopedia_v2": "3ba9d605774198c5868892d7a8deda78031a781f"
|
| 66 |
+
},
|
| 67 |
+
"source_tokens": {
|
| 68 |
+
"fineweb_hq": 8003780608,
|
| 69 |
+
"cosmopedia_v2": 1996488704
|
| 70 |
+
},
|
| 71 |
+
"elapsed_seconds": 1523.7226781845093
|
| 72 |
+
}
|
config.json
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"vocab_size": 384,
|
| 3 |
+
"hidden_size": 96,
|
| 4 |
+
"num_hidden_layers": 6,
|
| 5 |
+
"num_attention_heads": 6,
|
| 6 |
+
"num_key_value_heads": 2,
|
| 7 |
+
"head_dim": 16,
|
| 8 |
+
"intermediate_size": 380,
|
| 9 |
+
"refresh_layers": [
|
| 10 |
+
3,
|
| 11 |
+
5
|
| 12 |
+
],
|
| 13 |
+
"refresh_kernel_size": 9,
|
| 14 |
+
"refresh_alpha_init": 0.0,
|
| 15 |
+
"max_position_embeddings": 4096,
|
| 16 |
+
"rope_theta": 100000.0,
|
| 17 |
+
"rms_norm_eps": 1e-06,
|
| 18 |
+
"initializer_range": 0.02,
|
| 19 |
+
"use_cache": true,
|
| 20 |
+
"transformers_version": "5.15.0",
|
| 21 |
+
"architectures": [
|
| 22 |
+
"BananaMind2PicoForCausalLM"
|
| 23 |
+
],
|
| 24 |
+
"output_hidden_states": false,
|
| 25 |
+
"return_dict": true,
|
| 26 |
+
"dtype": null,
|
| 27 |
+
"chunk_size_feed_forward": 0,
|
| 28 |
+
"is_encoder_decoder": false,
|
| 29 |
+
"id2label": {
|
| 30 |
+
"0": "LABEL_0",
|
| 31 |
+
"1": "LABEL_1"
|
| 32 |
+
},
|
| 33 |
+
"label2id": {
|
| 34 |
+
"LABEL_0": 0,
|
| 35 |
+
"LABEL_1": 1
|
| 36 |
+
},
|
| 37 |
+
"problem_type": null,
|
| 38 |
+
"_name_or_path": "Banaxi-Tech/pico-test",
|
| 39 |
+
"tie_word_embeddings": true,
|
| 40 |
+
"bos_token_id": 1,
|
| 41 |
+
"eos_token_id": 2,
|
| 42 |
+
"pad_token_id": 0,
|
| 43 |
+
"unk_token_id": 3,
|
| 44 |
+
"model_type": "bananamind2_pico",
|
| 45 |
+
"output_attentions": false,
|
| 46 |
+
"auto_map": {
|
| 47 |
+
"AutoConfig": "configuration_bananamind2pico.BananaMind2PicoConfig",
|
| 48 |
+
"AutoModelForCausalLM": "modeling_bananamind2pico.BananaMind2PicoForCausalLM"
|
| 49 |
+
},
|
| 50 |
+
"torch_dtype": "float32"
|
| 51 |
+
}
|
configuration_bananamind2pico.py
ADDED
|
@@ -0,0 +1,111 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
"""Configuration for BananaMind 2 Pico."""
|
| 2 |
+
|
| 3 |
+
from __future__ import annotations
|
| 4 |
+
|
| 5 |
+
from transformers import PretrainedConfig
|
| 6 |
+
|
| 7 |
+
|
| 8 |
+
class BananaMind2PicoConfig(PretrainedConfig):
|
| 9 |
+
model_type = "bananamind2_pico"
|
| 10 |
+
|
| 11 |
+
def __init__(
|
| 12 |
+
self,
|
| 13 |
+
vocab_size: int = 384,
|
| 14 |
+
hidden_size: int = 96,
|
| 15 |
+
num_hidden_layers: int = 6,
|
| 16 |
+
num_attention_heads: int = 6,
|
| 17 |
+
num_key_value_heads: int = 2,
|
| 18 |
+
head_dim: int = 16,
|
| 19 |
+
intermediate_size: int = 380,
|
| 20 |
+
refresh_layers: tuple[int, ...] | list[int] = (3, 5),
|
| 21 |
+
refresh_kernel_size: int = 9,
|
| 22 |
+
refresh_alpha_init: float = 0.0,
|
| 23 |
+
max_position_embeddings: int = 4096,
|
| 24 |
+
rope_theta: float = 100000.0,
|
| 25 |
+
rms_norm_eps: float = 1e-6,
|
| 26 |
+
initializer_range: float = 0.02,
|
| 27 |
+
tie_word_embeddings: bool = True,
|
| 28 |
+
use_cache: bool = True,
|
| 29 |
+
bos_token_id: int = 1,
|
| 30 |
+
eos_token_id: int = 2,
|
| 31 |
+
pad_token_id: int = 0,
|
| 32 |
+
unk_token_id: int = 3,
|
| 33 |
+
**kwargs,
|
| 34 |
+
):
|
| 35 |
+
if hidden_size != num_attention_heads * head_dim:
|
| 36 |
+
raise ValueError("hidden_size must equal num_attention_heads * head_dim")
|
| 37 |
+
if num_attention_heads % num_key_value_heads:
|
| 38 |
+
raise ValueError("num_attention_heads must be divisible by num_key_value_heads")
|
| 39 |
+
if intermediate_size <= 0:
|
| 40 |
+
raise ValueError("intermediate_size must be positive")
|
| 41 |
+
if refresh_kernel_size <= 0 or refresh_kernel_size % 2 == 0:
|
| 42 |
+
raise ValueError("refresh_kernel_size must be a positive odd integer")
|
| 43 |
+
refresh_layers = tuple(int(index) for index in refresh_layers)
|
| 44 |
+
if len(refresh_layers) != len(set(refresh_layers)):
|
| 45 |
+
raise ValueError("refresh_layers must not contain duplicates")
|
| 46 |
+
if any(index < 0 or index >= num_hidden_layers for index in refresh_layers):
|
| 47 |
+
raise ValueError("refresh_layers contains an out-of-range zero-based index")
|
| 48 |
+
|
| 49 |
+
self.vocab_size = vocab_size
|
| 50 |
+
self.hidden_size = hidden_size
|
| 51 |
+
self.num_hidden_layers = num_hidden_layers
|
| 52 |
+
self.num_attention_heads = num_attention_heads
|
| 53 |
+
self.num_key_value_heads = num_key_value_heads
|
| 54 |
+
self.head_dim = head_dim
|
| 55 |
+
self.intermediate_size = intermediate_size
|
| 56 |
+
self.refresh_layers = list(refresh_layers)
|
| 57 |
+
self.refresh_kernel_size = refresh_kernel_size
|
| 58 |
+
self.refresh_alpha_init = refresh_alpha_init
|
| 59 |
+
self.max_position_embeddings = max_position_embeddings
|
| 60 |
+
self.rope_theta = rope_theta
|
| 61 |
+
self.rms_norm_eps = rms_norm_eps
|
| 62 |
+
self.initializer_range = initializer_range
|
| 63 |
+
self.use_cache = use_cache
|
| 64 |
+
super().__init__(
|
| 65 |
+
tie_word_embeddings=tie_word_embeddings,
|
| 66 |
+
bos_token_id=bos_token_id,
|
| 67 |
+
eos_token_id=eos_token_id,
|
| 68 |
+
pad_token_id=pad_token_id,
|
| 69 |
+
unk_token_id=unk_token_id,
|
| 70 |
+
**kwargs,
|
| 71 |
+
)
|
| 72 |
+
|
| 73 |
+
def parameter_counts(self) -> dict[str, int]:
|
| 74 |
+
"""Return an analytical parameter breakdown for drift checks."""
|
| 75 |
+
hidden = self.hidden_size
|
| 76 |
+
query_width = self.num_attention_heads * self.head_dim
|
| 77 |
+
kv_width = self.num_key_value_heads * self.head_dim
|
| 78 |
+
embedding = self.vocab_size * hidden
|
| 79 |
+
attention = hidden * query_width + 2 * hidden * kv_width + query_width * hidden
|
| 80 |
+
qk_norms = 2 * self.head_dim
|
| 81 |
+
mlp = 3 * hidden * self.intermediate_size
|
| 82 |
+
block_norms = 2 * hidden
|
| 83 |
+
refresh = (
|
| 84 |
+
3 * hidden * hidden
|
| 85 |
+
+ hidden * self.refresh_kernel_size
|
| 86 |
+
+ 3 * hidden
|
| 87 |
+
+ 1
|
| 88 |
+
)
|
| 89 |
+
base_layer = attention + qk_norms + mlp + block_norms
|
| 90 |
+
total = (
|
| 91 |
+
embedding
|
| 92 |
+
+ self.num_hidden_layers * base_layer
|
| 93 |
+
+ len(self.refresh_layers) * refresh
|
| 94 |
+
+ hidden
|
| 95 |
+
)
|
| 96 |
+
if not self.tie_word_embeddings:
|
| 97 |
+
total += embedding
|
| 98 |
+
return {
|
| 99 |
+
"total": total,
|
| 100 |
+
"embedding": embedding,
|
| 101 |
+
"base_layer": base_layer,
|
| 102 |
+
"attention_per_layer": attention + qk_norms,
|
| 103 |
+
"mlp_per_layer": mlp,
|
| 104 |
+
"refresh_per_selected_layer": refresh,
|
| 105 |
+
"refresh_layer_count": len(self.refresh_layers),
|
| 106 |
+
}
|
| 107 |
+
|
| 108 |
+
|
| 109 |
+
BananaMind2PicoConfig.register_for_auto_class("AutoConfig")
|
| 110 |
+
|
| 111 |
+
__all__ = ["BananaMind2PicoConfig"]
|
generation_config.json
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"_from_model_config": true,
|
| 3 |
+
"bos_token_id": 1,
|
| 4 |
+
"eos_token_id": 2,
|
| 5 |
+
"pad_token_id": 0,
|
| 6 |
+
"transformers_version": "5"
|
| 7 |
+
}
|
model.safetensors
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:27e72a094ac7acdbced367943b7cee235132784f210df46fe7580b646827d290
|
| 3 |
+
size 3756344
|
modeling_bananamind2pico.py
ADDED
|
@@ -0,0 +1,456 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
"""BananaMind 2 Pico causal LM with selective XSA refresh gates."""
|
| 2 |
+
|
| 3 |
+
from __future__ import annotations
|
| 4 |
+
|
| 5 |
+
import math
|
| 6 |
+
from typing import Optional
|
| 7 |
+
|
| 8 |
+
import torch
|
| 9 |
+
import torch.nn as nn
|
| 10 |
+
import torch.nn.functional as F
|
| 11 |
+
from transformers import PreTrainedModel
|
| 12 |
+
from transformers.cache_utils import Cache, DynamicCache
|
| 13 |
+
from transformers.generation.utils import GenerationMixin
|
| 14 |
+
from transformers.modeling_outputs import CausalLMOutputWithPast
|
| 15 |
+
|
| 16 |
+
try:
|
| 17 |
+
from .configuration_bananamind2pico import BananaMind2PicoConfig
|
| 18 |
+
except ImportError: # Standalone training jobs import the mounted/downloaded files.
|
| 19 |
+
from configuration_bananamind2pico import BananaMind2PicoConfig
|
| 20 |
+
|
| 21 |
+
|
| 22 |
+
class BananaMind2PicoRMSNorm(nn.Module):
|
| 23 |
+
def __init__(self, dim: int, eps: float = 1e-6):
|
| 24 |
+
super().__init__()
|
| 25 |
+
self.eps = eps
|
| 26 |
+
self.weight = nn.Parameter(torch.ones(dim))
|
| 27 |
+
|
| 28 |
+
def forward(self, hidden_states: torch.Tensor) -> torch.Tensor:
|
| 29 |
+
states = hidden_states.float()
|
| 30 |
+
states = states * torch.rsqrt(states.square().mean(-1, keepdim=True) + self.eps)
|
| 31 |
+
return (states * self.weight.float()).to(hidden_states.dtype)
|
| 32 |
+
|
| 33 |
+
|
| 34 |
+
def _rope_cos_sin(
|
| 35 |
+
head_dim: int,
|
| 36 |
+
positions: torch.Tensor,
|
| 37 |
+
theta: float,
|
| 38 |
+
) -> tuple[torch.Tensor, torch.Tensor]:
|
| 39 |
+
inv_freq = 1.0 / (
|
| 40 |
+
theta
|
| 41 |
+
** (
|
| 42 |
+
torch.arange(0, head_dim, 2, dtype=torch.float32, device=positions.device)
|
| 43 |
+
/ head_dim
|
| 44 |
+
)
|
| 45 |
+
)
|
| 46 |
+
frequencies = torch.outer(positions.float(), inv_freq)
|
| 47 |
+
return frequencies.cos(), frequencies.sin()
|
| 48 |
+
|
| 49 |
+
|
| 50 |
+
def _apply_rope(
|
| 51 |
+
query: torch.Tensor,
|
| 52 |
+
key: torch.Tensor,
|
| 53 |
+
cosine: torch.Tensor,
|
| 54 |
+
sine: torch.Tensor,
|
| 55 |
+
) -> tuple[torch.Tensor, torch.Tensor]:
|
| 56 |
+
query_dtype, key_dtype = query.dtype, key.dtype
|
| 57 |
+
cosine = cosine[None, None, :, :]
|
| 58 |
+
sine = sine[None, None, :, :]
|
| 59 |
+
query_pairs = query.float().reshape(*query.shape[:-1], -1, 2)
|
| 60 |
+
key_pairs = key.float().reshape(*key.shape[:-1], -1, 2)
|
| 61 |
+
query_even, query_odd = query_pairs.unbind(-1)
|
| 62 |
+
key_even, key_odd = key_pairs.unbind(-1)
|
| 63 |
+
query = torch.stack(
|
| 64 |
+
(query_even * cosine - query_odd * sine, query_even * sine + query_odd * cosine),
|
| 65 |
+
dim=-1,
|
| 66 |
+
).flatten(-2)
|
| 67 |
+
key = torch.stack(
|
| 68 |
+
(key_even * cosine - key_odd * sine, key_even * sine + key_odd * cosine),
|
| 69 |
+
dim=-1,
|
| 70 |
+
).flatten(-2)
|
| 71 |
+
return query.to(query_dtype), key.to(key_dtype)
|
| 72 |
+
|
| 73 |
+
|
| 74 |
+
class BananaMind2PicoCache(DynamicCache):
|
| 75 |
+
"""K/V cache plus causal-convolution history for selected refresh layers."""
|
| 76 |
+
|
| 77 |
+
def __init__(self, config: BananaMind2PicoConfig):
|
| 78 |
+
try:
|
| 79 |
+
super().__init__(config=config)
|
| 80 |
+
except TypeError:
|
| 81 |
+
super().__init__()
|
| 82 |
+
self.refresh_states: list[torch.Tensor | None] = [
|
| 83 |
+
None for _ in range(config.num_hidden_layers)
|
| 84 |
+
]
|
| 85 |
+
|
| 86 |
+
def refresh_input(
|
| 87 |
+
self,
|
| 88 |
+
layer_idx: int,
|
| 89 |
+
current: torch.Tensor,
|
| 90 |
+
history_size: int,
|
| 91 |
+
) -> torch.Tensor:
|
| 92 |
+
history = self.refresh_states[layer_idx]
|
| 93 |
+
if history is None:
|
| 94 |
+
history = current.new_zeros(current.size(0), current.size(1), history_size)
|
| 95 |
+
elif history.size(-1) < history_size:
|
| 96 |
+
history = F.pad(history, (history_size - history.size(-1), 0))
|
| 97 |
+
convolution_input = torch.cat((history, current), dim=-1)
|
| 98 |
+
self.refresh_states[layer_idx] = convolution_input[..., -history_size:]
|
| 99 |
+
return convolution_input
|
| 100 |
+
|
| 101 |
+
def reorder_cache(self, beam_idx: torch.LongTensor):
|
| 102 |
+
super().reorder_cache(beam_idx)
|
| 103 |
+
self.refresh_states = [
|
| 104 |
+
None if state is None else state.index_select(0, beam_idx.to(state.device))
|
| 105 |
+
for state in self.refresh_states
|
| 106 |
+
]
|
| 107 |
+
|
| 108 |
+
def batch_repeat_interleave(self, repeats: int):
|
| 109 |
+
super().batch_repeat_interleave(repeats)
|
| 110 |
+
self.refresh_states = [
|
| 111 |
+
None if state is None else state.repeat_interleave(repeats, dim=0)
|
| 112 |
+
for state in self.refresh_states
|
| 113 |
+
]
|
| 114 |
+
|
| 115 |
+
def batch_select_indices(self, indices: torch.Tensor):
|
| 116 |
+
super().batch_select_indices(indices)
|
| 117 |
+
self.refresh_states = [
|
| 118 |
+
None if state is None else state.index_select(0, indices.to(state.device))
|
| 119 |
+
for state in self.refresh_states
|
| 120 |
+
]
|
| 121 |
+
|
| 122 |
+
def crop(self, max_length: int):
|
| 123 |
+
current_length = self.get_seq_length()
|
| 124 |
+
target_length = current_length + max_length if max_length < 0 else max_length
|
| 125 |
+
if target_length < current_length:
|
| 126 |
+
raise NotImplementedError(
|
| 127 |
+
"BananaMind2PicoCache cannot roll back causal refresh state"
|
| 128 |
+
)
|
| 129 |
+
super().crop(max_length)
|
| 130 |
+
|
| 131 |
+
|
| 132 |
+
class BananaMind2PicoAttention(nn.Module):
|
| 133 |
+
def __init__(self, config: BananaMind2PicoConfig, layer_idx: int):
|
| 134 |
+
super().__init__()
|
| 135 |
+
self.layer_idx = layer_idx
|
| 136 |
+
self.num_heads = config.num_attention_heads
|
| 137 |
+
self.num_kv_heads = config.num_key_value_heads
|
| 138 |
+
self.head_dim = config.head_dim
|
| 139 |
+
self.num_kv_groups = self.num_heads // self.num_kv_heads
|
| 140 |
+
self.q_proj = nn.Linear(config.hidden_size, self.num_heads * self.head_dim, bias=False)
|
| 141 |
+
self.k_proj = nn.Linear(config.hidden_size, self.num_kv_heads * self.head_dim, bias=False)
|
| 142 |
+
self.v_proj = nn.Linear(config.hidden_size, self.num_kv_heads * self.head_dim, bias=False)
|
| 143 |
+
self.o_proj = nn.Linear(self.num_heads * self.head_dim, config.hidden_size, bias=False)
|
| 144 |
+
self.o_proj.BANANAMIND_SCALE_INIT = True
|
| 145 |
+
self.q_norm = BananaMind2PicoRMSNorm(self.head_dim, config.rms_norm_eps)
|
| 146 |
+
self.k_norm = BananaMind2PicoRMSNorm(self.head_dim, config.rms_norm_eps)
|
| 147 |
+
|
| 148 |
+
def forward(
|
| 149 |
+
self,
|
| 150 |
+
hidden_states: torch.Tensor,
|
| 151 |
+
cosine: torch.Tensor,
|
| 152 |
+
sine: torch.Tensor,
|
| 153 |
+
attention_mask: torch.Tensor | None = None,
|
| 154 |
+
past_key_values: Cache | None = None,
|
| 155 |
+
) -> torch.Tensor:
|
| 156 |
+
batch_size, query_length, _ = hidden_states.shape
|
| 157 |
+
query = self.q_proj(hidden_states).view(
|
| 158 |
+
batch_size, query_length, self.num_heads, self.head_dim
|
| 159 |
+
).transpose(1, 2)
|
| 160 |
+
key = self.k_proj(hidden_states).view(
|
| 161 |
+
batch_size, query_length, self.num_kv_heads, self.head_dim
|
| 162 |
+
).transpose(1, 2)
|
| 163 |
+
value = self.v_proj(hidden_states).view(
|
| 164 |
+
batch_size, query_length, self.num_kv_heads, self.head_dim
|
| 165 |
+
).transpose(1, 2)
|
| 166 |
+
query = self.q_norm(query)
|
| 167 |
+
key = self.k_norm(key)
|
| 168 |
+
query, key = _apply_rope(query, key, cosine, sine)
|
| 169 |
+
|
| 170 |
+
past_length = 0
|
| 171 |
+
if past_key_values is not None:
|
| 172 |
+
past_length = past_key_values.get_seq_length(self.layer_idx)
|
| 173 |
+
key, value = past_key_values.update(key, value, self.layer_idx)
|
| 174 |
+
|
| 175 |
+
key_length = key.size(-2)
|
| 176 |
+
key = key.repeat_interleave(self.num_kv_groups, dim=1)
|
| 177 |
+
value = value.repeat_interleave(self.num_kv_groups, dim=1)
|
| 178 |
+
is_causal = query_length > 1 and past_length == 0 and attention_mask is None
|
| 179 |
+
sdpa_mask = None
|
| 180 |
+
if not is_causal and query_length > 1:
|
| 181 |
+
query_positions = past_length + torch.arange(query_length, device=query.device)
|
| 182 |
+
key_positions = torch.arange(key_length, device=query.device)
|
| 183 |
+
sdpa_mask = (key_positions[None, :] <= query_positions[:, None])[None, None]
|
| 184 |
+
if attention_mask is not None:
|
| 185 |
+
key_padding = attention_mask.to(torch.bool)
|
| 186 |
+
if key_padding.size(-1) < key_length:
|
| 187 |
+
key_padding = F.pad(
|
| 188 |
+
key_padding,
|
| 189 |
+
(key_length - key_padding.size(-1), 0),
|
| 190 |
+
value=True,
|
| 191 |
+
)
|
| 192 |
+
else:
|
| 193 |
+
key_padding = key_padding[:, -key_length:]
|
| 194 |
+
key_padding = key_padding[:, None, None, :]
|
| 195 |
+
sdpa_mask = key_padding if sdpa_mask is None else sdpa_mask & key_padding
|
| 196 |
+
is_causal = False
|
| 197 |
+
|
| 198 |
+
output = F.scaled_dot_product_attention(
|
| 199 |
+
query,
|
| 200 |
+
key,
|
| 201 |
+
value,
|
| 202 |
+
attn_mask=sdpa_mask,
|
| 203 |
+
is_causal=is_causal,
|
| 204 |
+
)
|
| 205 |
+
output = output.transpose(1, 2).contiguous().view(
|
| 206 |
+
batch_size, query_length, self.num_heads * self.head_dim
|
| 207 |
+
)
|
| 208 |
+
return self.o_proj(output)
|
| 209 |
+
|
| 210 |
+
|
| 211 |
+
class BananaMind2PicoRefreshGate(nn.Module):
|
| 212 |
+
def __init__(self, config: BananaMind2PicoConfig, layer_idx: int):
|
| 213 |
+
super().__init__()
|
| 214 |
+
hidden = config.hidden_size
|
| 215 |
+
self.layer_idx = layer_idx
|
| 216 |
+
self.kernel_size = config.refresh_kernel_size
|
| 217 |
+
self.attention_norm = BananaMind2PicoRMSNorm(hidden, config.rms_norm_eps)
|
| 218 |
+
self.embedding_norm = BananaMind2PicoRMSNorm(hidden, config.rms_norm_eps)
|
| 219 |
+
self.output_norm = BananaMind2PicoRMSNorm(hidden, config.rms_norm_eps)
|
| 220 |
+
self.gate_proj = nn.Linear(hidden, hidden, bias=False)
|
| 221 |
+
self.value_proj = nn.Linear(hidden, hidden, bias=False)
|
| 222 |
+
self.out_proj = nn.Linear(hidden, hidden, bias=False)
|
| 223 |
+
self.out_proj.BANANAMIND_SCALE_INIT = True
|
| 224 |
+
# A real 2D parameter keeps the depthwise kernel eligible for stock Muon.
|
| 225 |
+
self.depthwise_kernel = nn.Parameter(torch.empty(hidden, self.kernel_size))
|
| 226 |
+
nn.init.normal_(self.depthwise_kernel, mean=0.0, std=config.initializer_range)
|
| 227 |
+
self.alpha = nn.Parameter(torch.tensor(float(config.refresh_alpha_init)))
|
| 228 |
+
|
| 229 |
+
def _causal_depthwise_conv(
|
| 230 |
+
self,
|
| 231 |
+
attention_signal: torch.Tensor,
|
| 232 |
+
past_key_values: BananaMind2PicoCache | None,
|
| 233 |
+
) -> torch.Tensor:
|
| 234 |
+
signal = attention_signal.transpose(1, 2)
|
| 235 |
+
history_size = self.kernel_size - 1
|
| 236 |
+
if past_key_values is None:
|
| 237 |
+
convolution_input = F.pad(signal, (history_size, 0))
|
| 238 |
+
else:
|
| 239 |
+
convolution_input = past_key_values.refresh_input(
|
| 240 |
+
self.layer_idx,
|
| 241 |
+
signal,
|
| 242 |
+
history_size,
|
| 243 |
+
)
|
| 244 |
+
convolved = F.conv1d(
|
| 245 |
+
convolution_input,
|
| 246 |
+
self.depthwise_kernel.unsqueeze(1),
|
| 247 |
+
groups=signal.size(1),
|
| 248 |
+
)
|
| 249 |
+
return convolved.transpose(1, 2)
|
| 250 |
+
|
| 251 |
+
def forward(
|
| 252 |
+
self,
|
| 253 |
+
attention_output: torch.Tensor,
|
| 254 |
+
original_embedding: torch.Tensor,
|
| 255 |
+
past_key_values: BananaMind2PicoCache | None,
|
| 256 |
+
) -> torch.Tensor:
|
| 257 |
+
attention_signal = self.attention_norm(attention_output.detach())
|
| 258 |
+
embedding_value = self.embedding_norm(original_embedding)
|
| 259 |
+
gate = self.gate_proj(attention_signal) + self._causal_depthwise_conv(
|
| 260 |
+
attention_signal,
|
| 261 |
+
past_key_values,
|
| 262 |
+
)
|
| 263 |
+
value = self.value_proj(embedding_value)
|
| 264 |
+
refreshed = self.output_norm(self.out_proj(F.silu(gate) * value))
|
| 265 |
+
return self.alpha * refreshed
|
| 266 |
+
|
| 267 |
+
|
| 268 |
+
class BananaMind2PicoMLP(nn.Module):
|
| 269 |
+
def __init__(self, config: BananaMind2PicoConfig):
|
| 270 |
+
super().__init__()
|
| 271 |
+
self.gate_proj = nn.Linear(config.hidden_size, config.intermediate_size, bias=False)
|
| 272 |
+
self.up_proj = nn.Linear(config.hidden_size, config.intermediate_size, bias=False)
|
| 273 |
+
self.down_proj = nn.Linear(config.intermediate_size, config.hidden_size, bias=False)
|
| 274 |
+
self.down_proj.BANANAMIND_SCALE_INIT = True
|
| 275 |
+
|
| 276 |
+
def forward(self, hidden_states: torch.Tensor) -> torch.Tensor:
|
| 277 |
+
return self.down_proj(
|
| 278 |
+
F.silu(self.gate_proj(hidden_states)) * self.up_proj(hidden_states)
|
| 279 |
+
)
|
| 280 |
+
|
| 281 |
+
|
| 282 |
+
class BananaMind2PicoBlock(nn.Module):
|
| 283 |
+
def __init__(self, config: BananaMind2PicoConfig, layer_idx: int):
|
| 284 |
+
super().__init__()
|
| 285 |
+
self.input_norm = BananaMind2PicoRMSNorm(config.hidden_size, config.rms_norm_eps)
|
| 286 |
+
self.attention = BananaMind2PicoAttention(config, layer_idx)
|
| 287 |
+
self.refresh = (
|
| 288 |
+
BananaMind2PicoRefreshGate(config, layer_idx)
|
| 289 |
+
if layer_idx in config.refresh_layers
|
| 290 |
+
else None
|
| 291 |
+
)
|
| 292 |
+
self.post_attention_norm = BananaMind2PicoRMSNorm(
|
| 293 |
+
config.hidden_size,
|
| 294 |
+
config.rms_norm_eps,
|
| 295 |
+
)
|
| 296 |
+
self.mlp = BananaMind2PicoMLP(config)
|
| 297 |
+
|
| 298 |
+
def forward(
|
| 299 |
+
self,
|
| 300 |
+
hidden_states: torch.Tensor,
|
| 301 |
+
original_embedding: torch.Tensor,
|
| 302 |
+
cosine: torch.Tensor,
|
| 303 |
+
sine: torch.Tensor,
|
| 304 |
+
attention_mask: torch.Tensor | None,
|
| 305 |
+
past_key_values: BananaMind2PicoCache | None,
|
| 306 |
+
) -> torch.Tensor:
|
| 307 |
+
attention_output = self.attention(
|
| 308 |
+
self.input_norm(hidden_states),
|
| 309 |
+
cosine,
|
| 310 |
+
sine,
|
| 311 |
+
attention_mask=attention_mask,
|
| 312 |
+
past_key_values=past_key_values,
|
| 313 |
+
)
|
| 314 |
+
hidden_states = hidden_states + attention_output
|
| 315 |
+
if self.refresh is not None:
|
| 316 |
+
hidden_states = hidden_states + self.refresh(
|
| 317 |
+
attention_output,
|
| 318 |
+
original_embedding,
|
| 319 |
+
past_key_values,
|
| 320 |
+
)
|
| 321 |
+
return hidden_states + self.mlp(self.post_attention_norm(hidden_states))
|
| 322 |
+
|
| 323 |
+
|
| 324 |
+
class BananaMind2PicoPreTrainedModel(PreTrainedModel):
|
| 325 |
+
config_class = BananaMind2PicoConfig
|
| 326 |
+
base_model_prefix = "transformer"
|
| 327 |
+
supports_gradient_checkpointing = False
|
| 328 |
+
_no_split_modules = ["BananaMind2PicoBlock"]
|
| 329 |
+
_supports_sdpa = True
|
| 330 |
+
_supports_cache_class = True
|
| 331 |
+
|
| 332 |
+
def _init_weights(self, module: nn.Module):
|
| 333 |
+
std = self.config.initializer_range
|
| 334 |
+
if hasattr(module, "BANANAMIND_SCALE_INIT"):
|
| 335 |
+
std *= (2 * self.config.num_hidden_layers) ** -0.5
|
| 336 |
+
if isinstance(module, nn.Linear):
|
| 337 |
+
nn.init.normal_(module.weight, mean=0.0, std=std)
|
| 338 |
+
elif isinstance(module, nn.Embedding):
|
| 339 |
+
nn.init.normal_(module.weight, mean=0.0, std=std)
|
| 340 |
+
|
| 341 |
+
|
| 342 |
+
class BananaMind2PicoForCausalLM(BananaMind2PicoPreTrainedModel, GenerationMixin):
|
| 343 |
+
_tied_weights_keys = {"lm_head.weight": "transformer.wte.weight"}
|
| 344 |
+
|
| 345 |
+
@classmethod
|
| 346 |
+
def _supports_default_dynamic_cache(cls) -> bool:
|
| 347 |
+
return False
|
| 348 |
+
|
| 349 |
+
def __init__(self, config: BananaMind2PicoConfig):
|
| 350 |
+
super().__init__(config)
|
| 351 |
+
self.transformer = nn.ModuleDict(
|
| 352 |
+
{
|
| 353 |
+
"wte": nn.Embedding(config.vocab_size, config.hidden_size),
|
| 354 |
+
"h": nn.ModuleList(
|
| 355 |
+
[
|
| 356 |
+
BananaMind2PicoBlock(config, index)
|
| 357 |
+
for index in range(config.num_hidden_layers)
|
| 358 |
+
]
|
| 359 |
+
),
|
| 360 |
+
"ln_f": BananaMind2PicoRMSNorm(
|
| 361 |
+
config.hidden_size,
|
| 362 |
+
config.rms_norm_eps,
|
| 363 |
+
),
|
| 364 |
+
}
|
| 365 |
+
)
|
| 366 |
+
self.lm_head = nn.Linear(config.hidden_size, config.vocab_size, bias=False)
|
| 367 |
+
self.embedding_scale = math.sqrt(config.hidden_size)
|
| 368 |
+
self.post_init()
|
| 369 |
+
if config.tie_word_embeddings:
|
| 370 |
+
self.tie_weights()
|
| 371 |
+
|
| 372 |
+
def get_input_embeddings(self):
|
| 373 |
+
return self.transformer["wte"]
|
| 374 |
+
|
| 375 |
+
def set_input_embeddings(self, value):
|
| 376 |
+
self.transformer["wte"] = value
|
| 377 |
+
|
| 378 |
+
def get_output_embeddings(self):
|
| 379 |
+
return self.lm_head
|
| 380 |
+
|
| 381 |
+
def set_output_embeddings(self, value):
|
| 382 |
+
self.lm_head = value
|
| 383 |
+
|
| 384 |
+
def forward(
|
| 385 |
+
self,
|
| 386 |
+
input_ids: torch.LongTensor,
|
| 387 |
+
attention_mask: Optional[torch.Tensor] = None,
|
| 388 |
+
labels: Optional[torch.LongTensor] = None,
|
| 389 |
+
past_key_values: Optional[Cache] = None,
|
| 390 |
+
use_cache: Optional[bool] = None,
|
| 391 |
+
**kwargs,
|
| 392 |
+
) -> CausalLMOutputWithPast:
|
| 393 |
+
if use_cache is None:
|
| 394 |
+
use_cache = self.config.use_cache and labels is None
|
| 395 |
+
if use_cache and past_key_values is None:
|
| 396 |
+
past_key_values = BananaMind2PicoCache(self.config)
|
| 397 |
+
if use_cache and not isinstance(past_key_values, BananaMind2PicoCache):
|
| 398 |
+
raise TypeError("BananaMind 2 Pico requires its cache for refresh state")
|
| 399 |
+
if not use_cache:
|
| 400 |
+
past_key_values = None
|
| 401 |
+
|
| 402 |
+
past_length = past_key_values.get_seq_length() if past_key_values is not None else 0
|
| 403 |
+
sequence_length = input_ids.size(1)
|
| 404 |
+
total_length = past_length + sequence_length
|
| 405 |
+
if total_length > self.config.max_position_embeddings:
|
| 406 |
+
raise ValueError(
|
| 407 |
+
f"Sequence length {total_length} exceeds "
|
| 408 |
+
f"{self.config.max_position_embeddings}"
|
| 409 |
+
)
|
| 410 |
+
|
| 411 |
+
original_embedding = self.transformer["wte"](input_ids) * self.embedding_scale
|
| 412 |
+
hidden_states = original_embedding
|
| 413 |
+
positions = torch.arange(
|
| 414 |
+
past_length,
|
| 415 |
+
total_length,
|
| 416 |
+
dtype=torch.float32,
|
| 417 |
+
device=input_ids.device,
|
| 418 |
+
)
|
| 419 |
+
cosine, sine = _rope_cos_sin(
|
| 420 |
+
self.config.head_dim,
|
| 421 |
+
positions,
|
| 422 |
+
self.config.rope_theta,
|
| 423 |
+
)
|
| 424 |
+
for block in self.transformer["h"]:
|
| 425 |
+
hidden_states = block(
|
| 426 |
+
hidden_states,
|
| 427 |
+
original_embedding,
|
| 428 |
+
cosine,
|
| 429 |
+
sine,
|
| 430 |
+
attention_mask,
|
| 431 |
+
past_key_values,
|
| 432 |
+
)
|
| 433 |
+
hidden_states = self.transformer["ln_f"](hidden_states)
|
| 434 |
+
logits = self.lm_head(hidden_states)
|
| 435 |
+
|
| 436 |
+
loss = None
|
| 437 |
+
if labels is not None:
|
| 438 |
+
loss = F.cross_entropy(
|
| 439 |
+
logits[..., :-1, :].float().reshape(-1, logits.size(-1)),
|
| 440 |
+
labels[..., 1:].reshape(-1),
|
| 441 |
+
ignore_index=-100,
|
| 442 |
+
)
|
| 443 |
+
return CausalLMOutputWithPast(
|
| 444 |
+
loss=loss,
|
| 445 |
+
logits=logits,
|
| 446 |
+
past_key_values=past_key_values,
|
| 447 |
+
)
|
| 448 |
+
|
| 449 |
+
|
| 450 |
+
BananaMind2PicoForCausalLM.register_for_auto_class("AutoModelForCausalLM")
|
| 451 |
+
|
| 452 |
+
__all__ = [
|
| 453 |
+
"BananaMind2PicoCache",
|
| 454 |
+
"BananaMind2PicoForCausalLM",
|
| 455 |
+
"BananaMind2PicoPreTrainedModel",
|
| 456 |
+
]
|
special_tokens_map.json
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"pad_token": "<|pad|>",
|
| 3 |
+
"bos_token": "<|bos|>",
|
| 4 |
+
"eos_token": "<|eos|>",
|
| 5 |
+
"unk_token": "<|unk|>"
|
| 6 |
+
}
|
tokenizer.json
ADDED
|
@@ -0,0 +1,991 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"version": "1.0",
|
| 3 |
+
"truncation": null,
|
| 4 |
+
"padding": null,
|
| 5 |
+
"added_tokens": [
|
| 6 |
+
{
|
| 7 |
+
"id": 0,
|
| 8 |
+
"content": "<|pad|>",
|
| 9 |
+
"single_word": false,
|
| 10 |
+
"lstrip": false,
|
| 11 |
+
"rstrip": false,
|
| 12 |
+
"normalized": false,
|
| 13 |
+
"special": true
|
| 14 |
+
},
|
| 15 |
+
{
|
| 16 |
+
"id": 1,
|
| 17 |
+
"content": "<|bos|>",
|
| 18 |
+
"single_word": false,
|
| 19 |
+
"lstrip": false,
|
| 20 |
+
"rstrip": false,
|
| 21 |
+
"normalized": false,
|
| 22 |
+
"special": true
|
| 23 |
+
},
|
| 24 |
+
{
|
| 25 |
+
"id": 2,
|
| 26 |
+
"content": "<|eos|>",
|
| 27 |
+
"single_word": false,
|
| 28 |
+
"lstrip": false,
|
| 29 |
+
"rstrip": false,
|
| 30 |
+
"normalized": false,
|
| 31 |
+
"special": true
|
| 32 |
+
},
|
| 33 |
+
{
|
| 34 |
+
"id": 3,
|
| 35 |
+
"content": "<|unk|>",
|
| 36 |
+
"single_word": false,
|
| 37 |
+
"lstrip": false,
|
| 38 |
+
"rstrip": false,
|
| 39 |
+
"normalized": false,
|
| 40 |
+
"special": true
|
| 41 |
+
}
|
| 42 |
+
],
|
| 43 |
+
"normalizer": {
|
| 44 |
+
"type": "NFKC"
|
| 45 |
+
},
|
| 46 |
+
"pre_tokenizer": {
|
| 47 |
+
"type": "Sequence",
|
| 48 |
+
"pretokenizers": [
|
| 49 |
+
{
|
| 50 |
+
"type": "Split",
|
| 51 |
+
"pattern": {
|
| 52 |
+
"Regex": "\\d"
|
| 53 |
+
},
|
| 54 |
+
"behavior": "Isolated",
|
| 55 |
+
"invert": false
|
| 56 |
+
},
|
| 57 |
+
{
|
| 58 |
+
"type": "ByteLevel",
|
| 59 |
+
"add_prefix_space": false,
|
| 60 |
+
"trim_offsets": true,
|
| 61 |
+
"use_regex": true
|
| 62 |
+
}
|
| 63 |
+
]
|
| 64 |
+
},
|
| 65 |
+
"post_processor": {
|
| 66 |
+
"type": "TemplateProcessing",
|
| 67 |
+
"single": [
|
| 68 |
+
{
|
| 69 |
+
"Sequence": {
|
| 70 |
+
"id": "A",
|
| 71 |
+
"type_id": 0
|
| 72 |
+
}
|
| 73 |
+
}
|
| 74 |
+
],
|
| 75 |
+
"pair": [
|
| 76 |
+
{
|
| 77 |
+
"Sequence": {
|
| 78 |
+
"id": "A",
|
| 79 |
+
"type_id": 0
|
| 80 |
+
}
|
| 81 |
+
},
|
| 82 |
+
{
|
| 83 |
+
"Sequence": {
|
| 84 |
+
"id": "B",
|
| 85 |
+
"type_id": 1
|
| 86 |
+
}
|
| 87 |
+
}
|
| 88 |
+
],
|
| 89 |
+
"special_tokens": {}
|
| 90 |
+
},
|
| 91 |
+
"decoder": {
|
| 92 |
+
"type": "ByteLevel",
|
| 93 |
+
"add_prefix_space": true,
|
| 94 |
+
"trim_offsets": true,
|
| 95 |
+
"use_regex": true
|
| 96 |
+
},
|
| 97 |
+
"model": {
|
| 98 |
+
"type": "BPE",
|
| 99 |
+
"dropout": null,
|
| 100 |
+
"unk_token": "<|unk|>",
|
| 101 |
+
"continuing_subword_prefix": null,
|
| 102 |
+
"end_of_word_suffix": null,
|
| 103 |
+
"fuse_unk": false,
|
| 104 |
+
"byte_fallback": false,
|
| 105 |
+
"ignore_merges": false,
|
| 106 |
+
"vocab": {
|
| 107 |
+
"<|pad|>": 0,
|
| 108 |
+
"<|bos|>": 1,
|
| 109 |
+
"<|eos|>": 2,
|
| 110 |
+
"<|unk|>": 3,
|
| 111 |
+
"!": 4,
|
| 112 |
+
"\"": 5,
|
| 113 |
+
"#": 6,
|
| 114 |
+
"$": 7,
|
| 115 |
+
"%": 8,
|
| 116 |
+
"&": 9,
|
| 117 |
+
"'": 10,
|
| 118 |
+
"(": 11,
|
| 119 |
+
")": 12,
|
| 120 |
+
"*": 13,
|
| 121 |
+
"+": 14,
|
| 122 |
+
",": 15,
|
| 123 |
+
"-": 16,
|
| 124 |
+
".": 17,
|
| 125 |
+
"/": 18,
|
| 126 |
+
"0": 19,
|
| 127 |
+
"1": 20,
|
| 128 |
+
"2": 21,
|
| 129 |
+
"3": 22,
|
| 130 |
+
"4": 23,
|
| 131 |
+
"5": 24,
|
| 132 |
+
"6": 25,
|
| 133 |
+
"7": 26,
|
| 134 |
+
"8": 27,
|
| 135 |
+
"9": 28,
|
| 136 |
+
":": 29,
|
| 137 |
+
";": 30,
|
| 138 |
+
"<": 31,
|
| 139 |
+
"=": 32,
|
| 140 |
+
">": 33,
|
| 141 |
+
"?": 34,
|
| 142 |
+
"@": 35,
|
| 143 |
+
"A": 36,
|
| 144 |
+
"B": 37,
|
| 145 |
+
"C": 38,
|
| 146 |
+
"D": 39,
|
| 147 |
+
"E": 40,
|
| 148 |
+
"F": 41,
|
| 149 |
+
"G": 42,
|
| 150 |
+
"H": 43,
|
| 151 |
+
"I": 44,
|
| 152 |
+
"J": 45,
|
| 153 |
+
"K": 46,
|
| 154 |
+
"L": 47,
|
| 155 |
+
"M": 48,
|
| 156 |
+
"N": 49,
|
| 157 |
+
"O": 50,
|
| 158 |
+
"P": 51,
|
| 159 |
+
"Q": 52,
|
| 160 |
+
"R": 53,
|
| 161 |
+
"S": 54,
|
| 162 |
+
"T": 55,
|
| 163 |
+
"U": 56,
|
| 164 |
+
"V": 57,
|
| 165 |
+
"W": 58,
|
| 166 |
+
"X": 59,
|
| 167 |
+
"Y": 60,
|
| 168 |
+
"Z": 61,
|
| 169 |
+
"[": 62,
|
| 170 |
+
"\\": 63,
|
| 171 |
+
"]": 64,
|
| 172 |
+
"^": 65,
|
| 173 |
+
"_": 66,
|
| 174 |
+
"`": 67,
|
| 175 |
+
"a": 68,
|
| 176 |
+
"b": 69,
|
| 177 |
+
"c": 70,
|
| 178 |
+
"d": 71,
|
| 179 |
+
"e": 72,
|
| 180 |
+
"f": 73,
|
| 181 |
+
"g": 74,
|
| 182 |
+
"h": 75,
|
| 183 |
+
"i": 76,
|
| 184 |
+
"j": 77,
|
| 185 |
+
"k": 78,
|
| 186 |
+
"l": 79,
|
| 187 |
+
"m": 80,
|
| 188 |
+
"n": 81,
|
| 189 |
+
"o": 82,
|
| 190 |
+
"p": 83,
|
| 191 |
+
"q": 84,
|
| 192 |
+
"r": 85,
|
| 193 |
+
"s": 86,
|
| 194 |
+
"t": 87,
|
| 195 |
+
"u": 88,
|
| 196 |
+
"v": 89,
|
| 197 |
+
"w": 90,
|
| 198 |
+
"x": 91,
|
| 199 |
+
"y": 92,
|
| 200 |
+
"z": 93,
|
| 201 |
+
"{": 94,
|
| 202 |
+
"|": 95,
|
| 203 |
+
"}": 96,
|
| 204 |
+
"~": 97,
|
| 205 |
+
"¡": 98,
|
| 206 |
+
"¢": 99,
|
| 207 |
+
"£": 100,
|
| 208 |
+
"¤": 101,
|
| 209 |
+
"¥": 102,
|
| 210 |
+
"¦": 103,
|
| 211 |
+
"§": 104,
|
| 212 |
+
"¨": 105,
|
| 213 |
+
"©": 106,
|
| 214 |
+
"ª": 107,
|
| 215 |
+
"«": 108,
|
| 216 |
+
"¬": 109,
|
| 217 |
+
"®": 110,
|
| 218 |
+
"¯": 111,
|
| 219 |
+
"°": 112,
|
| 220 |
+
"±": 113,
|
| 221 |
+
"²": 114,
|
| 222 |
+
"³": 115,
|
| 223 |
+
"´": 116,
|
| 224 |
+
"µ": 117,
|
| 225 |
+
"¶": 118,
|
| 226 |
+
"·": 119,
|
| 227 |
+
"¸": 120,
|
| 228 |
+
"¹": 121,
|
| 229 |
+
"º": 122,
|
| 230 |
+
"»": 123,
|
| 231 |
+
"¼": 124,
|
| 232 |
+
"½": 125,
|
| 233 |
+
"¾": 126,
|
| 234 |
+
"¿": 127,
|
| 235 |
+
"À": 128,
|
| 236 |
+
"Á": 129,
|
| 237 |
+
"Â": 130,
|
| 238 |
+
"Ã": 131,
|
| 239 |
+
"Ä": 132,
|
| 240 |
+
"Å": 133,
|
| 241 |
+
"Æ": 134,
|
| 242 |
+
"Ç": 135,
|
| 243 |
+
"È": 136,
|
| 244 |
+
"É": 137,
|
| 245 |
+
"Ê": 138,
|
| 246 |
+
"Ë": 139,
|
| 247 |
+
"Ì": 140,
|
| 248 |
+
"Í": 141,
|
| 249 |
+
"Î": 142,
|
| 250 |
+
"Ï": 143,
|
| 251 |
+
"Ð": 144,
|
| 252 |
+
"Ñ": 145,
|
| 253 |
+
"Ò": 146,
|
| 254 |
+
"Ó": 147,
|
| 255 |
+
"Ô": 148,
|
| 256 |
+
"Õ": 149,
|
| 257 |
+
"Ö": 150,
|
| 258 |
+
"×": 151,
|
| 259 |
+
"Ø": 152,
|
| 260 |
+
"Ù": 153,
|
| 261 |
+
"Ú": 154,
|
| 262 |
+
"Û": 155,
|
| 263 |
+
"Ü": 156,
|
| 264 |
+
"Ý": 157,
|
| 265 |
+
"Þ": 158,
|
| 266 |
+
"ß": 159,
|
| 267 |
+
"à": 160,
|
| 268 |
+
"á": 161,
|
| 269 |
+
"â": 162,
|
| 270 |
+
"ã": 163,
|
| 271 |
+
"ä": 164,
|
| 272 |
+
"å": 165,
|
| 273 |
+
"æ": 166,
|
| 274 |
+
"ç": 167,
|
| 275 |
+
"è": 168,
|
| 276 |
+
"é": 169,
|
| 277 |
+
"ê": 170,
|
| 278 |
+
"ë": 171,
|
| 279 |
+
"ì": 172,
|
| 280 |
+
"í": 173,
|
| 281 |
+
"î": 174,
|
| 282 |
+
"ï": 175,
|
| 283 |
+
"ð": 176,
|
| 284 |
+
"ñ": 177,
|
| 285 |
+
"ò": 178,
|
| 286 |
+
"ó": 179,
|
| 287 |
+
"ô": 180,
|
| 288 |
+
"õ": 181,
|
| 289 |
+
"ö": 182,
|
| 290 |
+
"÷": 183,
|
| 291 |
+
"ø": 184,
|
| 292 |
+
"ù": 185,
|
| 293 |
+
"ú": 186,
|
| 294 |
+
"û": 187,
|
| 295 |
+
"ü": 188,
|
| 296 |
+
"ý": 189,
|
| 297 |
+
"þ": 190,
|
| 298 |
+
"ÿ": 191,
|
| 299 |
+
"Ā": 192,
|
| 300 |
+
"ā": 193,
|
| 301 |
+
"Ă": 194,
|
| 302 |
+
"ă": 195,
|
| 303 |
+
"Ą": 196,
|
| 304 |
+
"ą": 197,
|
| 305 |
+
"Ć": 198,
|
| 306 |
+
"ć": 199,
|
| 307 |
+
"Ĉ": 200,
|
| 308 |
+
"ĉ": 201,
|
| 309 |
+
"Ċ": 202,
|
| 310 |
+
"ċ": 203,
|
| 311 |
+
"Č": 204,
|
| 312 |
+
"č": 205,
|
| 313 |
+
"Ď": 206,
|
| 314 |
+
"ď": 207,
|
| 315 |
+
"Đ": 208,
|
| 316 |
+
"đ": 209,
|
| 317 |
+
"Ē": 210,
|
| 318 |
+
"ē": 211,
|
| 319 |
+
"Ĕ": 212,
|
| 320 |
+
"ĕ": 213,
|
| 321 |
+
"Ė": 214,
|
| 322 |
+
"ė": 215,
|
| 323 |
+
"Ę": 216,
|
| 324 |
+
"ę": 217,
|
| 325 |
+
"Ě": 218,
|
| 326 |
+
"ě": 219,
|
| 327 |
+
"Ĝ": 220,
|
| 328 |
+
"ĝ": 221,
|
| 329 |
+
"Ğ": 222,
|
| 330 |
+
"ğ": 223,
|
| 331 |
+
"Ġ": 224,
|
| 332 |
+
"ġ": 225,
|
| 333 |
+
"Ģ": 226,
|
| 334 |
+
"ģ": 227,
|
| 335 |
+
"Ĥ": 228,
|
| 336 |
+
"ĥ": 229,
|
| 337 |
+
"Ħ": 230,
|
| 338 |
+
"ħ": 231,
|
| 339 |
+
"Ĩ": 232,
|
| 340 |
+
"ĩ": 233,
|
| 341 |
+
"Ī": 234,
|
| 342 |
+
"ī": 235,
|
| 343 |
+
"Ĭ": 236,
|
| 344 |
+
"ĭ": 237,
|
| 345 |
+
"Į": 238,
|
| 346 |
+
"į": 239,
|
| 347 |
+
"İ": 240,
|
| 348 |
+
"ı": 241,
|
| 349 |
+
"IJ": 242,
|
| 350 |
+
"ij": 243,
|
| 351 |
+
"Ĵ": 244,
|
| 352 |
+
"ĵ": 245,
|
| 353 |
+
"Ķ": 246,
|
| 354 |
+
"ķ": 247,
|
| 355 |
+
"ĸ": 248,
|
| 356 |
+
"Ĺ": 249,
|
| 357 |
+
"ĺ": 250,
|
| 358 |
+
"Ļ": 251,
|
| 359 |
+
"ļ": 252,
|
| 360 |
+
"Ľ": 253,
|
| 361 |
+
"ľ": 254,
|
| 362 |
+
"Ŀ": 255,
|
| 363 |
+
"ŀ": 256,
|
| 364 |
+
"Ł": 257,
|
| 365 |
+
"ł": 258,
|
| 366 |
+
"Ń": 259,
|
| 367 |
+
"Ġt": 260,
|
| 368 |
+
"Ġa": 261,
|
| 369 |
+
"in": 262,
|
| 370 |
+
"he": 263,
|
| 371 |
+
"re": 264,
|
| 372 |
+
"on": 265,
|
| 373 |
+
"Ġthe": 266,
|
| 374 |
+
"er": 267,
|
| 375 |
+
"Ġs": 268,
|
| 376 |
+
"at": 269,
|
| 377 |
+
"Ġo": 270,
|
| 378 |
+
"en": 271,
|
| 379 |
+
"Ġc": 272,
|
| 380 |
+
"Ġw": 273,
|
| 381 |
+
"es": 274,
|
| 382 |
+
"nd": 275,
|
| 383 |
+
"it": 276,
|
| 384 |
+
"ing": 277,
|
| 385 |
+
"is": 278,
|
| 386 |
+
"or": 279,
|
| 387 |
+
"ou": 280,
|
| 388 |
+
"al": 281,
|
| 389 |
+
"Ġp": 282,
|
| 390 |
+
"ed": 283,
|
| 391 |
+
"Ġf": 284,
|
| 392 |
+
"an": 285,
|
| 393 |
+
"Ġb": 286,
|
| 394 |
+
"Ġin": 287,
|
| 395 |
+
"ar": 288,
|
| 396 |
+
"Ġof": 289,
|
| 397 |
+
"Ġm": 290,
|
| 398 |
+
"Ġand": 291,
|
| 399 |
+
"Ġto": 292,
|
| 400 |
+
"Ġd": 293,
|
| 401 |
+
"ion": 294,
|
| 402 |
+
"ic": 295,
|
| 403 |
+
"le": 296,
|
| 404 |
+
"om": 297,
|
| 405 |
+
"Ġh": 298,
|
| 406 |
+
"as": 299,
|
| 407 |
+
"Ġth": 300,
|
| 408 |
+
"ent": 301,
|
| 409 |
+
"Ġe": 302,
|
| 410 |
+
"Ġre": 303,
|
| 411 |
+
"ct": 304,
|
| 412 |
+
"il": 305,
|
| 413 |
+
"ro": 306,
|
| 414 |
+
"Ġl": 307,
|
| 415 |
+
"st": 308,
|
| 416 |
+
"ve": 309,
|
| 417 |
+
"Ġn": 310,
|
| 418 |
+
"ly": 311,
|
| 419 |
+
"et": 312,
|
| 420 |
+
"Ġy": 313,
|
| 421 |
+
"Ġg": 314,
|
| 422 |
+
"id": 315,
|
| 423 |
+
"im": 316,
|
| 424 |
+
"ĠT": 317,
|
| 425 |
+
"se": 318,
|
| 426 |
+
"ation": 319,
|
| 427 |
+
"Ġbe": 320,
|
| 428 |
+
"ol": 321,
|
| 429 |
+
"ce": 322,
|
| 430 |
+
"ur": 323,
|
| 431 |
+
"ut": 324,
|
| 432 |
+
"ow": 325,
|
| 433 |
+
"ra": 326,
|
| 434 |
+
"ot": 327,
|
| 435 |
+
"ig": 328,
|
| 436 |
+
"Ġyou": 329,
|
| 437 |
+
"Ġis": 330,
|
| 438 |
+
"Ġu": 331,
|
| 439 |
+
"ĠS": 332,
|
| 440 |
+
"ĠA": 333,
|
| 441 |
+
"ĠI": 334,
|
| 442 |
+
"Ġfor": 335,
|
| 443 |
+
"ch": 336,
|
| 444 |
+
"ver": 337,
|
| 445 |
+
"Ġon": 338,
|
| 446 |
+
"Ġst": 339,
|
| 447 |
+
"am": 340,
|
| 448 |
+
"ay": 341,
|
| 449 |
+
"ĠC": 342,
|
| 450 |
+
"Ġthat": 343,
|
| 451 |
+
"ir": 344,
|
| 452 |
+
"ith": 345,
|
| 453 |
+
"el": 346,
|
| 454 |
+
"Ġhe": 347,
|
| 455 |
+
"ul": 348,
|
| 456 |
+
"ad": 349,
|
| 457 |
+
"âĢ": 350,
|
| 458 |
+
"Ġcon": 351,
|
| 459 |
+
"Ġwith": 352,
|
| 460 |
+
"Ġas": 353,
|
| 461 |
+
"ter": 354,
|
| 462 |
+
"if": 355,
|
| 463 |
+
"Ġwh": 356,
|
| 464 |
+
"Ġan": 357,
|
| 465 |
+
"Ġit": 358,
|
| 466 |
+
"ĠM": 359,
|
| 467 |
+
"Ġor": 360,
|
| 468 |
+
"Ġpro": 361,
|
| 469 |
+
"Ġal": 362,
|
| 470 |
+
"her": 363,
|
| 471 |
+
"ers": 364,
|
| 472 |
+
"em": 365,
|
| 473 |
+
"od": 366,
|
| 474 |
+
"ess": 367,
|
| 475 |
+
"Ġex": 368,
|
| 476 |
+
"ate": 369,
|
| 477 |
+
"ĠB": 370,
|
| 478 |
+
"ag": 371,
|
| 479 |
+
"ist": 372,
|
| 480 |
+
"Ġcom": 373,
|
| 481 |
+
"ri": 374,
|
| 482 |
+
"ĠP": 375,
|
| 483 |
+
"us": 376,
|
| 484 |
+
"ill": 377,
|
| 485 |
+
"res": 378,
|
| 486 |
+
"pp": 379,
|
| 487 |
+
"ab": 380,
|
| 488 |
+
"ke": 381,
|
| 489 |
+
"th": 382,
|
| 490 |
+
"ĠH": 383
|
| 491 |
+
},
|
| 492 |
+
"merges": [
|
| 493 |
+
[
|
| 494 |
+
"Ġ",
|
| 495 |
+
"t"
|
| 496 |
+
],
|
| 497 |
+
[
|
| 498 |
+
"Ġ",
|
| 499 |
+
"a"
|
| 500 |
+
],
|
| 501 |
+
[
|
| 502 |
+
"i",
|
| 503 |
+
"n"
|
| 504 |
+
],
|
| 505 |
+
[
|
| 506 |
+
"h",
|
| 507 |
+
"e"
|
| 508 |
+
],
|
| 509 |
+
[
|
| 510 |
+
"r",
|
| 511 |
+
"e"
|
| 512 |
+
],
|
| 513 |
+
[
|
| 514 |
+
"o",
|
| 515 |
+
"n"
|
| 516 |
+
],
|
| 517 |
+
[
|
| 518 |
+
"Ġt",
|
| 519 |
+
"he"
|
| 520 |
+
],
|
| 521 |
+
[
|
| 522 |
+
"e",
|
| 523 |
+
"r"
|
| 524 |
+
],
|
| 525 |
+
[
|
| 526 |
+
"Ġ",
|
| 527 |
+
"s"
|
| 528 |
+
],
|
| 529 |
+
[
|
| 530 |
+
"a",
|
| 531 |
+
"t"
|
| 532 |
+
],
|
| 533 |
+
[
|
| 534 |
+
"Ġ",
|
| 535 |
+
"o"
|
| 536 |
+
],
|
| 537 |
+
[
|
| 538 |
+
"e",
|
| 539 |
+
"n"
|
| 540 |
+
],
|
| 541 |
+
[
|
| 542 |
+
"Ġ",
|
| 543 |
+
"c"
|
| 544 |
+
],
|
| 545 |
+
[
|
| 546 |
+
"Ġ",
|
| 547 |
+
"w"
|
| 548 |
+
],
|
| 549 |
+
[
|
| 550 |
+
"e",
|
| 551 |
+
"s"
|
| 552 |
+
],
|
| 553 |
+
[
|
| 554 |
+
"n",
|
| 555 |
+
"d"
|
| 556 |
+
],
|
| 557 |
+
[
|
| 558 |
+
"i",
|
| 559 |
+
"t"
|
| 560 |
+
],
|
| 561 |
+
[
|
| 562 |
+
"in",
|
| 563 |
+
"g"
|
| 564 |
+
],
|
| 565 |
+
[
|
| 566 |
+
"i",
|
| 567 |
+
"s"
|
| 568 |
+
],
|
| 569 |
+
[
|
| 570 |
+
"o",
|
| 571 |
+
"r"
|
| 572 |
+
],
|
| 573 |
+
[
|
| 574 |
+
"o",
|
| 575 |
+
"u"
|
| 576 |
+
],
|
| 577 |
+
[
|
| 578 |
+
"a",
|
| 579 |
+
"l"
|
| 580 |
+
],
|
| 581 |
+
[
|
| 582 |
+
"Ġ",
|
| 583 |
+
"p"
|
| 584 |
+
],
|
| 585 |
+
[
|
| 586 |
+
"e",
|
| 587 |
+
"d"
|
| 588 |
+
],
|
| 589 |
+
[
|
| 590 |
+
"Ġ",
|
| 591 |
+
"f"
|
| 592 |
+
],
|
| 593 |
+
[
|
| 594 |
+
"a",
|
| 595 |
+
"n"
|
| 596 |
+
],
|
| 597 |
+
[
|
| 598 |
+
"Ġ",
|
| 599 |
+
"b"
|
| 600 |
+
],
|
| 601 |
+
[
|
| 602 |
+
"Ġ",
|
| 603 |
+
"in"
|
| 604 |
+
],
|
| 605 |
+
[
|
| 606 |
+
"a",
|
| 607 |
+
"r"
|
| 608 |
+
],
|
| 609 |
+
[
|
| 610 |
+
"Ġo",
|
| 611 |
+
"f"
|
| 612 |
+
],
|
| 613 |
+
[
|
| 614 |
+
"Ġ",
|
| 615 |
+
"m"
|
| 616 |
+
],
|
| 617 |
+
[
|
| 618 |
+
"Ġa",
|
| 619 |
+
"nd"
|
| 620 |
+
],
|
| 621 |
+
[
|
| 622 |
+
"Ġt",
|
| 623 |
+
"o"
|
| 624 |
+
],
|
| 625 |
+
[
|
| 626 |
+
"Ġ",
|
| 627 |
+
"d"
|
| 628 |
+
],
|
| 629 |
+
[
|
| 630 |
+
"i",
|
| 631 |
+
"on"
|
| 632 |
+
],
|
| 633 |
+
[
|
| 634 |
+
"i",
|
| 635 |
+
"c"
|
| 636 |
+
],
|
| 637 |
+
[
|
| 638 |
+
"l",
|
| 639 |
+
"e"
|
| 640 |
+
],
|
| 641 |
+
[
|
| 642 |
+
"o",
|
| 643 |
+
"m"
|
| 644 |
+
],
|
| 645 |
+
[
|
| 646 |
+
"Ġ",
|
| 647 |
+
"h"
|
| 648 |
+
],
|
| 649 |
+
[
|
| 650 |
+
"a",
|
| 651 |
+
"s"
|
| 652 |
+
],
|
| 653 |
+
[
|
| 654 |
+
"Ġt",
|
| 655 |
+
"h"
|
| 656 |
+
],
|
| 657 |
+
[
|
| 658 |
+
"en",
|
| 659 |
+
"t"
|
| 660 |
+
],
|
| 661 |
+
[
|
| 662 |
+
"Ġ",
|
| 663 |
+
"e"
|
| 664 |
+
],
|
| 665 |
+
[
|
| 666 |
+
"Ġ",
|
| 667 |
+
"re"
|
| 668 |
+
],
|
| 669 |
+
[
|
| 670 |
+
"c",
|
| 671 |
+
"t"
|
| 672 |
+
],
|
| 673 |
+
[
|
| 674 |
+
"i",
|
| 675 |
+
"l"
|
| 676 |
+
],
|
| 677 |
+
[
|
| 678 |
+
"r",
|
| 679 |
+
"o"
|
| 680 |
+
],
|
| 681 |
+
[
|
| 682 |
+
"Ġ",
|
| 683 |
+
"l"
|
| 684 |
+
],
|
| 685 |
+
[
|
| 686 |
+
"s",
|
| 687 |
+
"t"
|
| 688 |
+
],
|
| 689 |
+
[
|
| 690 |
+
"v",
|
| 691 |
+
"e"
|
| 692 |
+
],
|
| 693 |
+
[
|
| 694 |
+
"Ġ",
|
| 695 |
+
"n"
|
| 696 |
+
],
|
| 697 |
+
[
|
| 698 |
+
"l",
|
| 699 |
+
"y"
|
| 700 |
+
],
|
| 701 |
+
[
|
| 702 |
+
"e",
|
| 703 |
+
"t"
|
| 704 |
+
],
|
| 705 |
+
[
|
| 706 |
+
"Ġ",
|
| 707 |
+
"y"
|
| 708 |
+
],
|
| 709 |
+
[
|
| 710 |
+
"Ġ",
|
| 711 |
+
"g"
|
| 712 |
+
],
|
| 713 |
+
[
|
| 714 |
+
"i",
|
| 715 |
+
"d"
|
| 716 |
+
],
|
| 717 |
+
[
|
| 718 |
+
"i",
|
| 719 |
+
"m"
|
| 720 |
+
],
|
| 721 |
+
[
|
| 722 |
+
"Ġ",
|
| 723 |
+
"T"
|
| 724 |
+
],
|
| 725 |
+
[
|
| 726 |
+
"s",
|
| 727 |
+
"e"
|
| 728 |
+
],
|
| 729 |
+
[
|
| 730 |
+
"at",
|
| 731 |
+
"ion"
|
| 732 |
+
],
|
| 733 |
+
[
|
| 734 |
+
"Ġb",
|
| 735 |
+
"e"
|
| 736 |
+
],
|
| 737 |
+
[
|
| 738 |
+
"o",
|
| 739 |
+
"l"
|
| 740 |
+
],
|
| 741 |
+
[
|
| 742 |
+
"c",
|
| 743 |
+
"e"
|
| 744 |
+
],
|
| 745 |
+
[
|
| 746 |
+
"u",
|
| 747 |
+
"r"
|
| 748 |
+
],
|
| 749 |
+
[
|
| 750 |
+
"u",
|
| 751 |
+
"t"
|
| 752 |
+
],
|
| 753 |
+
[
|
| 754 |
+
"o",
|
| 755 |
+
"w"
|
| 756 |
+
],
|
| 757 |
+
[
|
| 758 |
+
"r",
|
| 759 |
+
"a"
|
| 760 |
+
],
|
| 761 |
+
[
|
| 762 |
+
"o",
|
| 763 |
+
"t"
|
| 764 |
+
],
|
| 765 |
+
[
|
| 766 |
+
"i",
|
| 767 |
+
"g"
|
| 768 |
+
],
|
| 769 |
+
[
|
| 770 |
+
"Ġy",
|
| 771 |
+
"ou"
|
| 772 |
+
],
|
| 773 |
+
[
|
| 774 |
+
"Ġ",
|
| 775 |
+
"is"
|
| 776 |
+
],
|
| 777 |
+
[
|
| 778 |
+
"Ġ",
|
| 779 |
+
"u"
|
| 780 |
+
],
|
| 781 |
+
[
|
| 782 |
+
"Ġ",
|
| 783 |
+
"S"
|
| 784 |
+
],
|
| 785 |
+
[
|
| 786 |
+
"Ġ",
|
| 787 |
+
"A"
|
| 788 |
+
],
|
| 789 |
+
[
|
| 790 |
+
"Ġ",
|
| 791 |
+
"I"
|
| 792 |
+
],
|
| 793 |
+
[
|
| 794 |
+
"Ġf",
|
| 795 |
+
"or"
|
| 796 |
+
],
|
| 797 |
+
[
|
| 798 |
+
"c",
|
| 799 |
+
"h"
|
| 800 |
+
],
|
| 801 |
+
[
|
| 802 |
+
"v",
|
| 803 |
+
"er"
|
| 804 |
+
],
|
| 805 |
+
[
|
| 806 |
+
"Ġ",
|
| 807 |
+
"on"
|
| 808 |
+
],
|
| 809 |
+
[
|
| 810 |
+
"Ġs",
|
| 811 |
+
"t"
|
| 812 |
+
],
|
| 813 |
+
[
|
| 814 |
+
"a",
|
| 815 |
+
"m"
|
| 816 |
+
],
|
| 817 |
+
[
|
| 818 |
+
"a",
|
| 819 |
+
"y"
|
| 820 |
+
],
|
| 821 |
+
[
|
| 822 |
+
"Ġ",
|
| 823 |
+
"C"
|
| 824 |
+
],
|
| 825 |
+
[
|
| 826 |
+
"Ġth",
|
| 827 |
+
"at"
|
| 828 |
+
],
|
| 829 |
+
[
|
| 830 |
+
"i",
|
| 831 |
+
"r"
|
| 832 |
+
],
|
| 833 |
+
[
|
| 834 |
+
"it",
|
| 835 |
+
"h"
|
| 836 |
+
],
|
| 837 |
+
[
|
| 838 |
+
"e",
|
| 839 |
+
"l"
|
| 840 |
+
],
|
| 841 |
+
[
|
| 842 |
+
"Ġ",
|
| 843 |
+
"he"
|
| 844 |
+
],
|
| 845 |
+
[
|
| 846 |
+
"u",
|
| 847 |
+
"l"
|
| 848 |
+
],
|
| 849 |
+
[
|
| 850 |
+
"a",
|
| 851 |
+
"d"
|
| 852 |
+
],
|
| 853 |
+
[
|
| 854 |
+
"â",
|
| 855 |
+
"Ģ"
|
| 856 |
+
],
|
| 857 |
+
[
|
| 858 |
+
"Ġc",
|
| 859 |
+
"on"
|
| 860 |
+
],
|
| 861 |
+
[
|
| 862 |
+
"Ġw",
|
| 863 |
+
"ith"
|
| 864 |
+
],
|
| 865 |
+
[
|
| 866 |
+
"Ġa",
|
| 867 |
+
"s"
|
| 868 |
+
],
|
| 869 |
+
[
|
| 870 |
+
"t",
|
| 871 |
+
"er"
|
| 872 |
+
],
|
| 873 |
+
[
|
| 874 |
+
"i",
|
| 875 |
+
"f"
|
| 876 |
+
],
|
| 877 |
+
[
|
| 878 |
+
"Ġw",
|
| 879 |
+
"h"
|
| 880 |
+
],
|
| 881 |
+
[
|
| 882 |
+
"Ġa",
|
| 883 |
+
"n"
|
| 884 |
+
],
|
| 885 |
+
[
|
| 886 |
+
"Ġ",
|
| 887 |
+
"it"
|
| 888 |
+
],
|
| 889 |
+
[
|
| 890 |
+
"Ġ",
|
| 891 |
+
"M"
|
| 892 |
+
],
|
| 893 |
+
[
|
| 894 |
+
"Ġo",
|
| 895 |
+
"r"
|
| 896 |
+
],
|
| 897 |
+
[
|
| 898 |
+
"Ġp",
|
| 899 |
+
"ro"
|
| 900 |
+
],
|
| 901 |
+
[
|
| 902 |
+
"Ġa",
|
| 903 |
+
"l"
|
| 904 |
+
],
|
| 905 |
+
[
|
| 906 |
+
"he",
|
| 907 |
+
"r"
|
| 908 |
+
],
|
| 909 |
+
[
|
| 910 |
+
"er",
|
| 911 |
+
"s"
|
| 912 |
+
],
|
| 913 |
+
[
|
| 914 |
+
"e",
|
| 915 |
+
"m"
|
| 916 |
+
],
|
| 917 |
+
[
|
| 918 |
+
"o",
|
| 919 |
+
"d"
|
| 920 |
+
],
|
| 921 |
+
[
|
| 922 |
+
"es",
|
| 923 |
+
"s"
|
| 924 |
+
],
|
| 925 |
+
[
|
| 926 |
+
"Ġe",
|
| 927 |
+
"x"
|
| 928 |
+
],
|
| 929 |
+
[
|
| 930 |
+
"at",
|
| 931 |
+
"e"
|
| 932 |
+
],
|
| 933 |
+
[
|
| 934 |
+
"Ġ",
|
| 935 |
+
"B"
|
| 936 |
+
],
|
| 937 |
+
[
|
| 938 |
+
"a",
|
| 939 |
+
"g"
|
| 940 |
+
],
|
| 941 |
+
[
|
| 942 |
+
"is",
|
| 943 |
+
"t"
|
| 944 |
+
],
|
| 945 |
+
[
|
| 946 |
+
"Ġc",
|
| 947 |
+
"om"
|
| 948 |
+
],
|
| 949 |
+
[
|
| 950 |
+
"r",
|
| 951 |
+
"i"
|
| 952 |
+
],
|
| 953 |
+
[
|
| 954 |
+
"Ġ",
|
| 955 |
+
"P"
|
| 956 |
+
],
|
| 957 |
+
[
|
| 958 |
+
"u",
|
| 959 |
+
"s"
|
| 960 |
+
],
|
| 961 |
+
[
|
| 962 |
+
"il",
|
| 963 |
+
"l"
|
| 964 |
+
],
|
| 965 |
+
[
|
| 966 |
+
"re",
|
| 967 |
+
"s"
|
| 968 |
+
],
|
| 969 |
+
[
|
| 970 |
+
"p",
|
| 971 |
+
"p"
|
| 972 |
+
],
|
| 973 |
+
[
|
| 974 |
+
"a",
|
| 975 |
+
"b"
|
| 976 |
+
],
|
| 977 |
+
[
|
| 978 |
+
"k",
|
| 979 |
+
"e"
|
| 980 |
+
],
|
| 981 |
+
[
|
| 982 |
+
"t",
|
| 983 |
+
"h"
|
| 984 |
+
],
|
| 985 |
+
[
|
| 986 |
+
"Ġ",
|
| 987 |
+
"H"
|
| 988 |
+
]
|
| 989 |
+
]
|
| 990 |
+
}
|
| 991 |
+
}
|
tokenizer_config.json
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"backend": "tokenizers",
|
| 3 |
+
"bos_token": "<|bos|>",
|
| 4 |
+
"clean_up_tokenization_spaces": false,
|
| 5 |
+
"eos_token": "<|eos|>",
|
| 6 |
+
"model_max_length": 4096,
|
| 7 |
+
"pad_token": "<|pad|>",
|
| 8 |
+
"tokenizer_class": "TokenizersBackend",
|
| 9 |
+
"unk_token": "<|unk|>"
|
| 10 |
+
}
|
tokenizer_training_manifest.json
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"format": "bananamind2_pico_tokenizer_v1",
|
| 3 |
+
"stage": "tokenizer_complete",
|
| 4 |
+
"vocab_size": 384,
|
| 5 |
+
"model_max_length": 8192,
|
| 6 |
+
"target_gib": 1.0,
|
| 7 |
+
"sources": [
|
| 8 |
+
{
|
| 9 |
+
"name": "fineweb_hq",
|
| 10 |
+
"dataset_id": "epfml/FineWeb-HQ",
|
| 11 |
+
"config": null,
|
| 12 |
+
"text_field": "text",
|
| 13 |
+
"byte_share": 0.75,
|
| 14 |
+
"revision": "e58199cdd52438d94405df1a4d8630cc5f13bf84",
|
| 15 |
+
"target_bytes": 805306368,
|
| 16 |
+
"consumed_bytes": 805307468
|
| 17 |
+
},
|
| 18 |
+
{
|
| 19 |
+
"name": "cosmopedia_v2",
|
| 20 |
+
"dataset_id": "HuggingFaceTB/smollm-corpus",
|
| 21 |
+
"config": "cosmopedia-v2",
|
| 22 |
+
"text_field": "text",
|
| 23 |
+
"byte_share": 0.25,
|
| 24 |
+
"revision": "3ba9d605774198c5868892d7a8deda78031a781f",
|
| 25 |
+
"target_bytes": 268435456,
|
| 26 |
+
"consumed_bytes": 268438475
|
| 27 |
+
}
|
| 28 |
+
]
|
| 29 |
+
}
|
training_metrics.jsonl
ADDED
|
@@ -0,0 +1,113 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{"step": 1, "total_steps": 22439, "tokens": 8912896, "source": "fineweb_hq", "phase": 1, "loss": 5.967588186264038, "ce_loss": 5.96400511264801, "logit_z_loss": 35.83174705505371, "muon_lr": 7.000000000000001e-05, "adamw_lr": 4e-06, "grad_norm": 0.2956637740135193, "tokens_per_second": 189609.30176880484, "eta_seconds": 1054734.9659662247, "data_wait_seconds": 14.140621960163116}
|
| 2 |
+
{"step": 10, "total_steps": 22439, "tokens": 89128960, "source": "fineweb_hq", "phase": 1, "loss": 5.960334777832031, "ce_loss": 5.956752300262451, "logit_z_loss": 35.8258056640625, "muon_lr": 0.0007000000000000001, "adamw_lr": 4e-05, "grad_norm": 0.31783637404441833, "tokens_per_second": 5420500.847961092, "eta_seconds": 36879.86590006616, "data_wait_seconds": 1.4603137969970703e-05}
|
| 3 |
+
{"step": 20, "total_steps": 22439, "tokens": 178257920, "source": "fineweb_hq", "phase": 1, "loss": 5.931681752204895, "ce_loss": 5.928101181983948, "logit_z_loss": 35.80507564544678, "muon_lr": 0.0014000000000000002, "adamw_lr": 8e-05, "grad_norm": 0.4683179557323456, "tokens_per_second": 8017463.216447492, "eta_seconds": 24922.872737860678, "data_wait_seconds": 2.5212764739990234e-05}
|
| 4 |
+
{"step": 30, "total_steps": 22439, "tokens": 267386880, "source": "fineweb_hq", "phase": 1, "loss": 5.882287383079529, "ce_loss": 5.878711581230164, "logit_z_loss": 35.75691223144531, "muon_lr": 0.0021000000000000003, "adamw_lr": 0.00011999999999999999, "grad_norm": 0.8383325934410095, "tokens_per_second": 9117651.124056717, "eta_seconds": 21905.761006474495, "data_wait_seconds": 1.71661376953125e-05}
|
| 5 |
+
{"step": 40, "total_steps": 22439, "tokens": 356515840, "source": "fineweb_hq", "phase": 1, "loss": 5.780414581298828, "ce_loss": 5.776850700378418, "logit_z_loss": 35.63748264312744, "muon_lr": 0.0028000000000000004, "adamw_lr": 0.00016, "grad_norm": 1.4044978618621826, "tokens_per_second": 6684341.910831861, "eta_seconds": 29866.808156609535, "data_wait_seconds": 0.3183640241622925}
|
| 6 |
+
{"step": 50, "total_steps": 22439, "tokens": 445644800, "source": "fineweb_hq", "phase": 1, "loss": 5.59889280796051, "ce_loss": 5.595354795455933, "logit_z_loss": 35.38116645812988, "muon_lr": 0.0035000000000000005, "adamw_lr": 0.0002, "grad_norm": 1.7537622451782227, "tokens_per_second": 5099766.386212357, "eta_seconds": 39129.40582602024, "data_wait_seconds": 2.2590160369873047e-05}
|
| 7 |
+
{"step": 60, "total_steps": 22439, "tokens": 534773760, "source": "fineweb_hq", "phase": 1, "loss": 5.355036377906799, "ce_loss": 5.351527690887451, "logit_z_loss": 35.08798122406006, "muon_lr": 0.004200000000000001, "adamw_lr": 0.00023999999999999998, "grad_norm": 1.1905395984649658, "tokens_per_second": 2275357.7469289554, "eta_seconds": 87661.68742177486, "data_wait_seconds": 0.6237474083900452}
|
| 8 |
+
{"step": 70, "total_steps": 22439, "tokens": 623902720, "source": "fineweb_hq", "phase": 1, "loss": 5.146511554718018, "ce_loss": 5.143023490905762, "logit_z_loss": 34.881529808044434, "muon_lr": 0.004900000000000001, "adamw_lr": 0.00028000000000000003, "grad_norm": 0.7038048505783081, "tokens_per_second": 8753024.844715588, "eta_seconds": 22777.562518215178, "data_wait_seconds": 1.5974044799804688e-05}
|
| 9 |
+
{"step": 80, "total_steps": 22439, "tokens": 713031680, "source": "fineweb_hq", "phase": 1, "loss": 4.965500593185425, "ce_loss": 4.962033152580261, "logit_z_loss": 34.67446708679199, "muon_lr": 0.005600000000000001, "adamw_lr": 0.00032, "grad_norm": 0.5216459631919861, "tokens_per_second": 8269934.859357731, "eta_seconds": 24097.341158437728, "data_wait_seconds": 2.2351741790771484e-05}
|
| 10 |
+
{"step": 90, "total_steps": 22439, "tokens": 802160640, "source": "fineweb_hq", "phase": 1, "loss": 4.804619193077087, "ce_loss": 4.801155209541321, "logit_z_loss": 34.64008712768555, "muon_lr": 0.006300000000000001, "adamw_lr": 0.00035999999999999997, "grad_norm": 0.42248982191085815, "tokens_per_second": 5011402.028131011, "eta_seconds": 39748.22047519684, "data_wait_seconds": 1.7404556274414062e-05}
|
| 11 |
+
{"step": 100, "total_steps": 22439, "tokens": 891289600, "source": "fineweb_hq", "phase": 1, "loss": 4.666997671127319, "ce_loss": 4.663511872291565, "logit_z_loss": 34.85922431945801, "muon_lr": 0.007000000000000001, "adamw_lr": 0.0004, "grad_norm": 0.38025227189064026, "tokens_per_second": 964689.3882402931, "eta_seconds": 206393.0485512972, "data_wait_seconds": 8.485594153404236}
|
| 12 |
+
{"step": 110, "total_steps": 22439, "tokens": 980418560, "source": "fineweb_hq", "phase": 1, "loss": 4.543195128440857, "ce_loss": 4.539679646492004, "logit_z_loss": 35.1539421081543, "muon_lr": 0.007700000000000001, "adamw_lr": 0.00044, "grad_norm": 0.3504329323768616, "tokens_per_second": 2999739.504100792, "eta_seconds": 66344.44574668408, "data_wait_seconds": 1.913309097290039e-05}
|
| 13 |
+
{"step": 120, "total_steps": 22439, "tokens": 1069547520, "source": "fineweb_hq", "phase": 1, "loss": 4.42356538772583, "ce_loss": 4.4200040102005005, "logit_z_loss": 35.61503314971924, "muon_lr": 0.008400000000000001, "adamw_lr": 0.00047999999999999996, "grad_norm": 0.3508388102054596, "tokens_per_second": 2185220.094304317, "eta_seconds": 91032.90160222055, "data_wait_seconds": 2.489545226097107}
|
| 14 |
+
{"step": 130, "total_steps": 22439, "tokens": 1158676480, "source": "fineweb_hq", "phase": 1, "loss": 4.309021949768066, "ce_loss": 4.305400371551514, "logit_z_loss": 36.215521812438965, "muon_lr": 0.009100000000000002, "adamw_lr": 0.0005200000000000001, "grad_norm": 0.35900041460990906, "tokens_per_second": 2407092.5167736993, "eta_seconds": 82604.96656377315, "data_wait_seconds": 1.722574234008789e-05}
|
| 15 |
+
{"step": 140, "total_steps": 22439, "tokens": 1247805440, "source": "fineweb_hq", "phase": 1, "loss": 4.20254111289978, "ce_loss": 4.198848009109497, "logit_z_loss": 36.930569648742676, "muon_lr": 0.009800000000000001, "adamw_lr": 0.0005600000000000001, "grad_norm": 0.5181800723075867, "tokens_per_second": 2475828.9904053914, "eta_seconds": 80275.60412056446, "data_wait_seconds": 1.6987323760986328e-05}
|
| 16 |
+
{"step": 150, "total_steps": 22439, "tokens": 1336934400, "source": "fineweb_hq", "phase": 1, "loss": 4.0957911014556885, "ce_loss": 4.092004299163818, "logit_z_loss": 37.86782932281494, "muon_lr": 0.010500000000000002, "adamw_lr": 0.0006, "grad_norm": 0.560067355632782, "tokens_per_second": 7663503.481971913, "eta_seconds": 25922.8092492342, "data_wait_seconds": 0.0004285573959350586}
|
| 17 |
+
{"step": 160, "total_steps": 22439, "tokens": 1426063360, "source": "fineweb_hq", "phase": 1, "loss": 3.9586216807365417, "ce_loss": 3.954736649990082, "logit_z_loss": 38.85059070587158, "muon_lr": 0.011200000000000002, "adamw_lr": 0.00064, "grad_norm": 0.6855910420417786, "tokens_per_second": 7677246.520032939, "eta_seconds": 25864.795335912706, "data_wait_seconds": 0.29149770736694336}
|
| 18 |
+
{"step": 170, "total_steps": 22439, "tokens": 1515192320, "source": "fineweb_hq", "phase": 1, "loss": 3.8495513200759888, "ce_loss": 3.845552682876587, "logit_z_loss": 39.98680782318115, "muon_lr": 0.0119, "adamw_lr": 0.00068, "grad_norm": 0.7350673079490662, "tokens_per_second": 9416576.269628365, "eta_seconds": 21077.860502672196, "data_wait_seconds": 0.2970969080924988}
|
| 19 |
+
{"step": 180, "total_steps": 22439, "tokens": 1604321280, "source": "fineweb_hq", "phase": 1, "loss": 3.7499501705169678, "ce_loss": 3.7458695769309998, "logit_z_loss": 40.8062801361084, "muon_lr": 0.012600000000000002, "adamw_lr": 0.0007199999999999999, "grad_norm": 0.8747629523277283, "tokens_per_second": 9286722.133615695, "eta_seconds": 21362.98999900818, "data_wait_seconds": 1.4424324035644531e-05}
|
| 20 |
+
{"step": 190, "total_steps": 22439, "tokens": 1693450240, "source": "fineweb_hq", "phase": 1, "loss": 3.6615224480628967, "ce_loss": 3.657317876815796, "logit_z_loss": 42.04585933685303, "muon_lr": 0.013300000000000001, "adamw_lr": 0.00076, "grad_norm": 0.9143570065498352, "tokens_per_second": 9076120.159146408, "eta_seconds": 21848.875910282135, "data_wait_seconds": 1.6987323760986328e-05}
|
| 21 |
+
{"step": 200, "total_steps": 22439, "tokens": 1782579200, "source": "fineweb_hq", "phase": 1, "loss": 3.5665494799613953, "ce_loss": 3.562268853187561, "logit_z_loss": 42.80591297149658, "muon_lr": 0.014000000000000002, "adamw_lr": 0.0008, "grad_norm": 0.852935254573822, "tokens_per_second": 10821530.650832502, "eta_seconds": 18316.622716283797, "data_wait_seconds": 2.4199485778808594e-05}
|
| 22 |
+
{"step": 210, "total_steps": 22439, "tokens": 1871708160, "source": "fineweb_hq", "phase": 1, "loss": 3.4870752096176147, "ce_loss": 3.482684314250946, "logit_z_loss": 43.90891075134277, "muon_lr": 0.014700000000000001, "adamw_lr": 0.0008399999999999999, "grad_norm": 1.3818645477294922, "tokens_per_second": 8978432.522564368, "eta_seconds": 22066.743241214754, "data_wait_seconds": 1.4841556549072266e-05}
|
| 23 |
+
{"step": 220, "total_steps": 22439, "tokens": 1960837120, "source": "fineweb_hq", "phase": 1, "loss": 3.3964741230010986, "ce_loss": 3.392018675804138, "logit_z_loss": 44.55475902557373, "muon_lr": 0.015400000000000002, "adamw_lr": 0.00088, "grad_norm": 1.1072789430618286, "tokens_per_second": 11189584.677343598, "eta_seconds": 17698.211500644684, "data_wait_seconds": 1.4662742614746094e-05}
|
| 24 |
+
{"step": 230, "total_steps": 22439, "tokens": 2049966080, "source": "fineweb_hq", "phase": 1, "loss": 3.4376906752586365, "ce_loss": 3.4331058263778687, "logit_z_loss": 45.848862648010254, "muon_lr": 0.0161, "adamw_lr": 0.00092, "grad_norm": 1.1426341533660889, "tokens_per_second": 7749173.003144349, "eta_seconds": 25544.210612368584, "data_wait_seconds": 0.3090166449546814}
|
| 25 |
+
{"step": 240, "total_steps": 22439, "tokens": 2139095040, "source": "fineweb_hq", "phase": 1, "loss": 3.430124819278717, "ce_loss": 3.425500750541687, "logit_z_loss": 46.24059581756592, "muon_lr": 0.016800000000000002, "adamw_lr": 0.0009599999999999999, "grad_norm": 0.7869250178337097, "tokens_per_second": 9606595.123747688, "eta_seconds": 20595.99428884983, "data_wait_seconds": 1.519918441772461e-05}
|
| 26 |
+
{"step": 250, "total_steps": 22439, "tokens": 2228224000, "source": "fineweb_hq", "phase": 1, "loss": 3.3795212507247925, "ce_loss": 3.3748202323913574, "logit_z_loss": 47.00990009307861, "muon_lr": 0.0175, "adamw_lr": 0.001, "grad_norm": 0.7784124612808228, "tokens_per_second": 8801138.248823438, "eta_seconds": 22470.75818521976, "data_wait_seconds": 1.615285873413086e-05}
|
| 27 |
+
{"step": 260, "total_steps": 22439, "tokens": 2317352960, "source": "fineweb_hq", "phase": 1, "loss": 3.32125061750412, "ce_loss": 3.316445231437683, "logit_z_loss": 48.05374717712402, "muon_lr": 0.018200000000000004, "adamw_lr": 0.0010400000000000001, "grad_norm": 0.7271197438240051, "tokens_per_second": 9157215.01433851, "eta_seconds": 21587.253337883947, "data_wait_seconds": 1.817941665649414e-05}
|
| 28 |
+
{"step": 270, "total_steps": 22439, "tokens": 2406481920, "source": "fineweb_hq", "phase": 1, "loss": 3.29115754365921, "ce_loss": 3.286272943019867, "logit_z_loss": 48.84625053405762, "muon_lr": 0.018900000000000004, "adamw_lr": 0.00108, "grad_norm": 0.786897599697113, "tokens_per_second": 10203044.899523327, "eta_seconds": 19365.786720514297, "data_wait_seconds": 1.4066696166992188e-05}
|
| 29 |
+
{"step": 280, "total_steps": 22439, "tokens": 2495610880, "source": "fineweb_hq", "phase": 1, "loss": 3.2658641934394836, "ce_loss": 3.260937750339508, "logit_z_loss": 49.26448059082031, "muon_lr": 0.019600000000000003, "adamw_lr": 0.0011200000000000001, "grad_norm": 0.6971092820167542, "tokens_per_second": 8094953.658517224, "eta_seconds": 24398.02261946201, "data_wait_seconds": 0.2794172763824463}
|
| 30 |
+
{"step": 290, "total_steps": 22439, "tokens": 2584739840, "source": "fineweb_hq", "phase": 1, "loss": 3.262732744216919, "ce_loss": 3.257690668106079, "logit_z_loss": 50.42053508758545, "muon_lr": 0.020300000000000002, "adamw_lr": 0.00116, "grad_norm": 0.6038771867752075, "tokens_per_second": 10462282.390195543, "eta_seconds": 18868.897449088097, "data_wait_seconds": 1.4126300811767578e-05}
|
| 31 |
+
{"step": 300, "total_steps": 22439, "tokens": 2673868800, "source": "fineweb_hq", "phase": 1, "loss": 3.2190935611724854, "ce_loss": 3.213988423347473, "logit_z_loss": 51.05208206176758, "muon_lr": 0.021000000000000005, "adamw_lr": 0.0012, "grad_norm": 0.5001488327980042, "tokens_per_second": 8691702.404163677, "eta_seconds": 22702.411491847037, "data_wait_seconds": 0.20256388187408447}
|
| 32 |
+
{"step": 310, "total_steps": 22439, "tokens": 2762997760, "source": "fineweb_hq", "phase": 1, "loss": 3.212398886680603, "ce_loss": 3.2072192430496216, "logit_z_loss": 51.79640483856201, "muon_lr": 0.021700000000000004, "adamw_lr": 0.00124, "grad_norm": 0.5490106344223022, "tokens_per_second": 6087938.281466302, "eta_seconds": 32397.417067193983, "data_wait_seconds": 1.6748905181884766e-05}
|
| 33 |
+
{"step": 320, "total_steps": 22439, "tokens": 2852126720, "source": "fineweb_hq", "phase": 1, "loss": 3.16773384809494, "ce_loss": 3.1624574065208435, "logit_z_loss": 52.76471710205078, "muon_lr": 0.022400000000000003, "adamw_lr": 0.00128, "grad_norm": 0.4295356869697571, "tokens_per_second": 8704049.034871731, "eta_seconds": 22649.728400444983, "data_wait_seconds": 1.627206802368164e-05}
|
| 34 |
+
{"step": 330, "total_steps": 22439, "tokens": 2941255680, "source": "fineweb_hq", "phase": 1, "loss": 3.1672710180282593, "ce_loss": 3.161931037902832, "logit_z_loss": 53.40028476715088, "muon_lr": 0.023100000000000002, "adamw_lr": 0.00132, "grad_norm": 0.48047566413879395, "tokens_per_second": 3734990.4432077846, "eta_seconds": 52759.22941713333, "data_wait_seconds": 0.5583145022392273}
|
| 35 |
+
{"step": 340, "total_steps": 22439, "tokens": 3030384640, "source": "fineweb_hq", "phase": 1, "loss": 3.1743375062942505, "ce_loss": 3.1689356565475464, "logit_z_loss": 54.01854991912842, "muon_lr": 0.0238, "adamw_lr": 0.00136, "grad_norm": 0.45766308903694153, "tokens_per_second": 7305521.797553259, "eta_seconds": 26961.262201690675, "data_wait_seconds": 0.2721228003501892}
|
| 36 |
+
{"step": 350, "total_steps": 22439, "tokens": 3119513600, "source": "fineweb_hq", "phase": 1, "loss": 3.1624141335487366, "ce_loss": 3.1569427251815796, "logit_z_loss": 54.713884353637695, "muon_lr": 0.024500000000000004, "adamw_lr": 0.0014000000000000002, "grad_norm": 0.3848016858100891, "tokens_per_second": 7100108.619969086, "eta_seconds": 27728.72504940033, "data_wait_seconds": 1.245737075805664e-05}
|
| 37 |
+
{"step": 360, "total_steps": 22439, "tokens": 3208642560, "source": "fineweb_hq", "phase": 1, "loss": 3.1361418962478638, "ce_loss": 3.1305649280548096, "logit_z_loss": 55.769742012023926, "muon_lr": 0.025200000000000004, "adamw_lr": 0.0014399999999999999, "grad_norm": 0.5501356720924377, "tokens_per_second": 5588996.4216903215, "eta_seconds": 35209.86880941391, "data_wait_seconds": 2.110004425048828e-05}
|
| 38 |
+
{"step": 370, "total_steps": 22439, "tokens": 3297771520, "source": "fineweb_hq", "phase": 1, "loss": 3.0984156727790833, "ce_loss": 3.092725694179535, "logit_z_loss": 56.90030860900879, "muon_lr": 0.025900000000000003, "adamw_lr": 0.00148, "grad_norm": 0.5306575894355774, "tokens_per_second": 5312108.901753597, "eta_seconds": 37028.36396276951, "data_wait_seconds": 0.31781405210494995}
|
| 39 |
+
{"step": 380, "total_steps": 22439, "tokens": 3386900480, "source": "fineweb_hq", "phase": 1, "loss": 3.0493186712265015, "ce_loss": 3.043471932411194, "logit_z_loss": 58.46726131439209, "muon_lr": 0.026600000000000002, "adamw_lr": 0.00152, "grad_norm": 0.3818303048610687, "tokens_per_second": 6136950.29388512, "eta_seconds": 32037.015691637996, "data_wait_seconds": 0.43073809146881104}
|
| 40 |
+
{"step": 390, "total_steps": 22439, "tokens": 3476029440, "source": "fineweb_hq", "phase": 1, "loss": 2.9980337619781494, "ce_loss": 2.9921072721481323, "logit_z_loss": 59.264946937561035, "muon_lr": 0.027300000000000005, "adamw_lr": 0.00156, "grad_norm": 0.4464535713195801, "tokens_per_second": 6760350.809793864, "eta_seconds": 29069.563020205496, "data_wait_seconds": 0.42292672395706177}
|
| 41 |
+
{"step": 400, "total_steps": 22439, "tokens": 3565158400, "source": "fineweb_hq", "phase": 1, "loss": 2.925785481929779, "ce_loss": 2.9197596311569214, "logit_z_loss": 60.25872230529785, "muon_lr": 0.028000000000000004, "adamw_lr": 0.0016, "grad_norm": 0.42003414034843445, "tokens_per_second": 4391267.891676532, "eta_seconds": 44732.254963612555, "data_wait_seconds": 0.6731599569320679}
|
| 42 |
+
{"step": 410, "total_steps": 22439, "tokens": 3654287360, "source": "fineweb_hq", "phase": 1, "loss": 2.86074960231781, "ce_loss": 2.8545563220977783, "logit_z_loss": 61.93314456939697, "muon_lr": 0.028700000000000003, "adamw_lr": 0.0016400000000000002, "grad_norm": 0.410231351852417, "tokens_per_second": 4237398.700246017, "eta_seconds": 46335.54684684277, "data_wait_seconds": 1.6510486602783203e-05}
|
| 43 |
+
{"step": 420, "total_steps": 22439, "tokens": 3743416320, "source": "fineweb_hq", "phase": 1, "loss": 2.8084540367126465, "ce_loss": 2.8021368384361267, "logit_z_loss": 63.17254829406738, "muon_lr": 0.029400000000000003, "adamw_lr": 0.0016799999999999999, "grad_norm": 0.3880893290042877, "tokens_per_second": 6775218.231631465, "eta_seconds": 28966.307846403124, "data_wait_seconds": 0.3164432644844055}
|
| 44 |
+
{"step": 430, "total_steps": 22439, "tokens": 3832545280, "source": "fineweb_hq", "phase": 1, "loss": 2.7710108160972595, "ce_loss": 2.7645490169525146, "logit_z_loss": 64.61753463745117, "muon_lr": 0.030100000000000002, "adamw_lr": 0.00172, "grad_norm": 0.3648725748062134, "tokens_per_second": 9626711.265961591, "eta_seconds": 20377.044937205315, "data_wait_seconds": 0.3005521297454834}
|
| 45 |
+
{"step": 440, "total_steps": 22439, "tokens": 3921674240, "source": "fineweb_hq", "phase": 1, "loss": 2.729283392429352, "ce_loss": 2.7226916551589966, "logit_z_loss": 65.91742897033691, "muon_lr": 0.030800000000000004, "adamw_lr": 0.00176, "grad_norm": 0.34309566020965576, "tokens_per_second": 9205855.61983161, "eta_seconds": 21298.92181684971, "data_wait_seconds": 1.5854835510253906e-05}
|
| 46 |
+
{"step": 450, "total_steps": 22439, "tokens": 4010803200, "source": "fineweb_hq", "phase": 1, "loss": 2.684748411178589, "ce_loss": 2.6779785752296448, "logit_z_loss": 67.69777297973633, "muon_lr": 0.0315, "adamw_lr": 0.0018, "grad_norm": 0.3034548759460449, "tokens_per_second": 8553461.507916095, "eta_seconds": 22913.02415549755, "data_wait_seconds": 0.7202497720718384}
|
| 47 |
+
{"step": 460, "total_steps": 22439, "tokens": 4099932160, "source": "fineweb_hq", "phase": 1, "loss": 2.5577516555786133, "ce_loss": 2.550634264945984, "logit_z_loss": 71.17383003234863, "muon_lr": 0.0322, "adamw_lr": 0.00184, "grad_norm": 0.28681713342666626, "tokens_per_second": 6204814.153961051, "eta_seconds": 31571.701637339593, "data_wait_seconds": 1.8358230590820312e-05}
|
| 48 |
+
{"step": 470, "total_steps": 22439, "tokens": 4189061120, "source": "fineweb_hq", "phase": 1, "loss": 2.453768730163574, "ce_loss": 2.446514129638672, "logit_z_loss": 72.54606437683105, "muon_lr": 0.032900000000000006, "adamw_lr": 0.0018800000000000002, "grad_norm": 0.354420006275177, "tokens_per_second": 5931623.626615326, "eta_seconds": 33010.761395144465, "data_wait_seconds": 1.7344951629638672e-05}
|
| 49 |
+
{"step": 480, "total_steps": 22439, "tokens": 4278190080, "source": "fineweb_hq", "phase": 1, "loss": 2.4016764760017395, "ce_loss": 2.3941532969474792, "logit_z_loss": 75.23196601867676, "muon_lr": 0.033600000000000005, "adamw_lr": 0.0019199999999999998, "grad_norm": 0.2954200804233551, "tokens_per_second": 6421854.307163578, "eta_seconds": 30476.911169672014, "data_wait_seconds": 0.452781617641449}
|
| 50 |
+
{"step": 490, "total_steps": 22439, "tokens": 4367319040, "source": "fineweb_hq", "phase": 1, "loss": 2.387361526489258, "ce_loss": 2.379659116268158, "logit_z_loss": 77.02351951599121, "muon_lr": 0.034300000000000004, "adamw_lr": 0.00196, "grad_norm": 0.26878464221954346, "tokens_per_second": 8874608.668837259, "eta_seconds": 22043.693598675727, "data_wait_seconds": 3.3855438232421875e-05}
|
| 51 |
+
{"step": 500, "total_steps": 22439, "tokens": 4456448000, "source": "fineweb_hq", "phase": 1, "loss": 2.351953089237213, "ce_loss": 2.344254434108734, "logit_z_loss": 76.98688316345215, "muon_lr": 0.035, "adamw_lr": 0.002, "grad_norm": 0.32271578907966614, "tokens_per_second": 9141830.602539133, "eta_seconds": 21389.59184932709, "data_wait_seconds": 0.00019431114196777344}
|
| 52 |
+
{"step": 510, "total_steps": 22439, "tokens": 4545576960, "source": "fineweb_hq", "phase": 1, "loss": 2.370932877063751, "ce_loss": 2.3630858063697815, "logit_z_loss": 78.47021675109863, "muon_lr": 0.0357, "adamw_lr": 0.00204, "grad_norm": 0.33357399702072144, "tokens_per_second": 8800208.620950352, "eta_seconds": 22209.802608394624, "data_wait_seconds": 1.3589859008789062e-05}
|
| 53 |
+
{"step": 520, "total_steps": 22439, "tokens": 4634705920, "source": "fineweb_hq", "phase": 1, "loss": 2.459707796573639, "ce_loss": 2.4521210193634033, "logit_z_loss": 75.8684310913086, "muon_lr": 0.03640000000000001, "adamw_lr": 0.0020800000000000003, "grad_norm": 0.4615185558795929, "tokens_per_second": 7705173.841703852, "eta_seconds": 25354.62163963318, "data_wait_seconds": 1.436471939086914e-05}
|
| 54 |
+
{"step": 530, "total_steps": 22439, "tokens": 4723834880, "source": "fineweb_hq", "phase": 1, "loss": 2.5353170037269592, "ce_loss": 2.52760773897171, "logit_z_loss": 77.09314155578613, "muon_lr": 0.0371, "adamw_lr": 0.00212, "grad_norm": 0.2756792902946472, "tokens_per_second": 9547387.503115516, "eta_seconds": 20452.991815853118, "data_wait_seconds": 0.23102569580078125}
|
| 55 |
+
{"step": 540, "total_steps": 22439, "tokens": 4812963840, "source": "fineweb_hq", "phase": 1, "loss": 2.521784484386444, "ce_loss": 2.5141079425811768, "logit_z_loss": 76.76511573791504, "muon_lr": 0.03780000000000001, "adamw_lr": 0.00216, "grad_norm": 0.18886592984199524, "tokens_per_second": 7271273.446975077, "eta_seconds": 26843.09852013588, "data_wait_seconds": 0.3465467691421509}
|
| 56 |
+
{"step": 550, "total_steps": 22439, "tokens": 4902092800, "source": "fineweb_hq", "phase": 1, "loss": 2.5104334354400635, "ce_loss": 2.502769708633423, "logit_z_loss": 76.63683700561523, "muon_lr": 0.038500000000000006, "adamw_lr": 0.0022, "grad_norm": 0.2813076376914978, "tokens_per_second": 7425982.480560611, "eta_seconds": 26271.861138200762, "data_wait_seconds": 0.1284111738204956}
|
| 57 |
+
{"step": 560, "total_steps": 22439, "tokens": 4991221760, "source": "fineweb_hq", "phase": 1, "loss": 2.485075056552887, "ce_loss": 2.4772602319717407, "logit_z_loss": 78.14760780334473, "muon_lr": 0.039200000000000006, "adamw_lr": 0.0022400000000000002, "grad_norm": 0.22887028753757477, "tokens_per_second": 6909855.981844515, "eta_seconds": 28221.319242596626, "data_wait_seconds": 0.46238821744918823}
|
| 58 |
+
{"step": 570, "total_steps": 22439, "tokens": 5080350720, "source": "fineweb_hq", "phase": 1, "loss": 2.4911267161369324, "ce_loss": 2.483340859413147, "logit_z_loss": 77.85906410217285, "muon_lr": 0.039900000000000005, "adamw_lr": 0.0022800000000000003, "grad_norm": 0.227179154753685, "tokens_per_second": 7787497.403233405, "eta_seconds": 25029.365986442564, "data_wait_seconds": 1.3172626495361328e-05}
|
| 59 |
+
{"step": 580, "total_steps": 22439, "tokens": 5169479680, "source": "fineweb_hq", "phase": 1, "loss": 2.466982662677765, "ce_loss": 2.4591829776763916, "logit_z_loss": 77.99713134765625, "muon_lr": 0.040600000000000004, "adamw_lr": 0.00232, "grad_norm": 0.2317526489496231, "tokens_per_second": 7487358.288002979, "eta_seconds": 26020.79213654995, "data_wait_seconds": 1.3768672943115234e-05}
|
| 60 |
+
{"step": 590, "total_steps": 22439, "tokens": 5258608640, "source": "fineweb_hq", "phase": 1, "loss": 2.471463978290558, "ce_loss": 2.4635881781578064, "logit_z_loss": 78.75795936584473, "muon_lr": 0.0413, "adamw_lr": 0.0023599999999999997, "grad_norm": 0.2254444658756256, "tokens_per_second": 8296458.800079717, "eta_seconds": 23472.407854557037, "data_wait_seconds": 1.5795230865478516e-05}
|
| 61 |
+
{"step": 600, "total_steps": 22439, "tokens": 5347737600, "source": "fineweb_hq", "phase": 1, "loss": 2.4517582058906555, "ce_loss": 2.443916440010071, "logit_z_loss": 78.41762161254883, "muon_lr": 0.04200000000000001, "adamw_lr": 0.0024, "grad_norm": 0.19819648563861847, "tokens_per_second": 6818300.184785781, "eta_seconds": 28547.985636997222, "data_wait_seconds": 0.26518261432647705}
|
| 62 |
+
{"step": 610, "total_steps": 22439, "tokens": 5436866560, "source": "fineweb_hq", "phase": 1, "loss": 2.4580911993980408, "ce_loss": 2.4501355290412903, "logit_z_loss": 79.55681991577148, "muon_lr": 0.0427, "adamw_lr": 0.00244, "grad_norm": 0.23898088932037354, "tokens_per_second": 7027915.462642427, "eta_seconds": 27683.82855744362, "data_wait_seconds": 0.28087741136550903}
|
| 63 |
+
{"step": 620, "total_steps": 22439, "tokens": 5525995520, "source": "fineweb_hq", "phase": 1, "loss": 2.4332305788993835, "ce_loss": 2.4252651929855347, "logit_z_loss": 79.6538200378418, "muon_lr": 0.04340000000000001, "adamw_lr": 0.00248, "grad_norm": 0.2116815149784088, "tokens_per_second": 6712336.335789734, "eta_seconds": 28972.09974224567, "data_wait_seconds": 0.34881824254989624}
|
| 64 |
+
{"step": 630, "total_steps": 22439, "tokens": 5615124480, "source": "fineweb_hq", "phase": 1, "loss": 2.3960554599761963, "ce_loss": 2.3879873156547546, "logit_z_loss": 80.68179702758789, "muon_lr": 0.0441, "adamw_lr": 0.00252, "grad_norm": 0.1983681470155716, "tokens_per_second": 9203690.473776149, "eta_seconds": 21119.935466957093, "data_wait_seconds": 1.3589859008789062e-05}
|
| 65 |
+
{"step": 640, "total_steps": 22439, "tokens": 5704253440, "source": "fineweb_hq", "phase": 1, "loss": 2.3983024954795837, "ce_loss": 2.390074670314789, "logit_z_loss": 82.27853965759277, "muon_lr": 0.044800000000000006, "adamw_lr": 0.00256, "grad_norm": 0.1874842494726181, "tokens_per_second": 7166536.72879459, "eta_seconds": 27111.03385870457, "data_wait_seconds": 0.7625116109848022}
|
| 66 |
+
{"step": 650, "total_steps": 22439, "tokens": 5793382400, "source": "fineweb_hq", "phase": 1, "loss": 2.396180212497711, "ce_loss": 2.3880707025527954, "logit_z_loss": 81.0950698852539, "muon_lr": 0.045500000000000006, "adamw_lr": 0.0026, "grad_norm": 0.20300427079200745, "tokens_per_second": 9557785.073881257, "eta_seconds": 20318.838459205628, "data_wait_seconds": 1.2983060479164124}
|
| 67 |
+
{"step": 660, "total_steps": 22439, "tokens": 5882511360, "source": "fineweb_hq", "phase": 1, "loss": 2.3795944452285767, "ce_loss": 2.3716355562210083, "logit_z_loss": 79.58875274658203, "muon_lr": 0.046200000000000005, "adamw_lr": 0.00264, "grad_norm": 0.20361796021461487, "tokens_per_second": 7950054.236303745, "eta_seconds": 24416.683989095687, "data_wait_seconds": 1.5437602996826172e-05}
|
| 68 |
+
{"step": 670, "total_steps": 22439, "tokens": 5971640320, "source": "fineweb_hq", "phase": 1, "loss": 2.3759934306144714, "ce_loss": 2.367850661277771, "logit_z_loss": 81.42828941345215, "muon_lr": 0.046900000000000004, "adamw_lr": 0.00268, "grad_norm": 0.18410010635852814, "tokens_per_second": 8104376.304865796, "eta_seconds": 23940.748272943496, "data_wait_seconds": 1.6987323760986328e-05}
|
| 69 |
+
{"step": 680, "total_steps": 22439, "tokens": 6060769280, "source": "fineweb_hq", "phase": 1, "loss": 2.370010197162628, "ce_loss": 2.3618654012680054, "logit_z_loss": 81.44764518737793, "muon_lr": 0.0476, "adamw_lr": 0.00272, "grad_norm": 0.23240381479263306, "tokens_per_second": 6333958.580314357, "eta_seconds": 30618.404210400582, "data_wait_seconds": 0.3833252787590027}
|
| 70 |
+
{"step": 690, "total_steps": 22439, "tokens": 6149898240, "source": "fineweb_hq", "phase": 1, "loss": 2.393221378326416, "ce_loss": 2.385291337966919, "logit_z_loss": 79.30001449584961, "muon_lr": 0.0483, "adamw_lr": 0.0027600000000000003, "grad_norm": 0.2510574460029602, "tokens_per_second": 7164714.090987016, "eta_seconds": 27055.73071615696, "data_wait_seconds": 1.8715858459472656e-05}
|
| 71 |
+
{"step": 700, "total_steps": 22439, "tokens": 6239027200, "source": "fineweb_hq", "phase": 1, "loss": 2.328338325023651, "ce_loss": 2.320348381996155, "logit_z_loss": 79.8990478515625, "muon_lr": 0.04900000000000001, "adamw_lr": 0.0028000000000000004, "grad_norm": 0.1862829178571701, "tokens_per_second": 7604268.968707431, "eta_seconds": 25480.08847942352, "data_wait_seconds": 1.3887882232666016e-05}
|
| 72 |
+
{"step": 710, "total_steps": 22439, "tokens": 6328156160, "source": "fineweb_hq", "phase": 1, "loss": 2.3147504925727844, "ce_loss": 2.306523859500885, "logit_z_loss": 82.26664924621582, "muon_lr": 0.0497, "adamw_lr": 0.0028399999999999996, "grad_norm": 0.2060781866312027, "tokens_per_second": 8560163.437189277, "eta_seconds": 22624.371439290047, "data_wait_seconds": 0.3879215717315674}
|
| 73 |
+
{"step": 720, "total_steps": 22439, "tokens": 6417285120, "source": "fineweb_hq", "phase": 1, "loss": 2.332974135875702, "ce_loss": 2.3249324560165405, "logit_z_loss": 80.41722297668457, "muon_lr": 0.05040000000000001, "adamw_lr": 0.0028799999999999997, "grad_norm": 0.23572801053524017, "tokens_per_second": 10912151.829293167, "eta_seconds": 17739.781415462494, "data_wait_seconds": 1.5556812286376953e-05}
|
| 74 |
+
{"step": 730, "total_steps": 22439, "tokens": 6506414080, "source": "fineweb_hq", "phase": 1, "loss": 2.330069839954376, "ce_loss": 2.321860134601593, "logit_z_loss": 82.09696006774902, "muon_lr": 0.0511, "adamw_lr": 0.00292, "grad_norm": 0.26685255765914917, "tokens_per_second": 9020825.559421727, "eta_seconds": 21449.262929368022, "data_wait_seconds": 1.6987323760986328e-05}
|
| 75 |
+
{"step": 740, "total_steps": 22439, "tokens": 6595543040, "source": "fineweb_hq", "phase": 1, "loss": 2.299080550670624, "ce_loss": 2.290955424308777, "logit_z_loss": 81.25156021118164, "muon_lr": 0.051800000000000006, "adamw_lr": 0.00296, "grad_norm": 0.20033298432826996, "tokens_per_second": 9869975.372023484, "eta_seconds": 19594.87465918064, "data_wait_seconds": 1.3828277587890625e-05}
|
| 76 |
+
{"step": 750, "total_steps": 22439, "tokens": 6684672000, "source": "fineweb_hq", "phase": 1, "loss": 2.305118501186371, "ce_loss": 2.297184705734253, "logit_z_loss": 79.33795356750488, "muon_lr": 0.052500000000000005, "adamw_lr": 0.003, "grad_norm": 0.23620666563510895, "tokens_per_second": 7993148.869520959, "eta_seconds": 24184.686723542214, "data_wait_seconds": 0.653160035610199}
|
| 77 |
+
{"step": 760, "total_steps": 22439, "tokens": 6773800960, "source": "fineweb_hq", "phase": 1, "loss": 2.3622615337371826, "ce_loss": 2.354522705078125, "logit_z_loss": 77.3880786895752, "muon_lr": 0.053200000000000004, "adamw_lr": 0.00304, "grad_norm": 0.19219592213630676, "tokens_per_second": 8174759.375875979, "eta_seconds": 23636.496623277664, "data_wait_seconds": 0.33434557914733887}
|
| 78 |
+
{"step": 770, "total_steps": 22439, "tokens": 6862929920, "source": "fineweb_hq", "phase": 1, "loss": 2.383073151111603, "ce_loss": 2.3752957582473755, "logit_z_loss": 77.77359580993652, "muon_lr": 0.0539, "adamw_lr": 0.0030800000000000003, "grad_norm": 0.22470791637897491, "tokens_per_second": 7493282.985046385, "eta_seconds": 25774.22256832123, "data_wait_seconds": 1.4543533325195312e-05}
|
| 79 |
+
{"step": 780, "total_steps": 22439, "tokens": 6952058880, "source": "fineweb_hq", "phase": 1, "loss": 2.3486892580986023, "ce_loss": 2.340909242630005, "logit_z_loss": 77.80061531066895, "muon_lr": 0.05460000000000001, "adamw_lr": 0.00312, "grad_norm": 0.19442570209503174, "tokens_per_second": 7974212.17532066, "eta_seconds": 24208.587659788132, "data_wait_seconds": 1.6629695892333984e-05}
|
| 80 |
+
{"step": 790, "total_steps": 22439, "tokens": 7041187840, "source": "fineweb_hq", "phase": 1, "loss": 2.3511235117912292, "ce_loss": 2.3434258103370667, "logit_z_loss": 76.97773361206055, "muon_lr": 0.0553, "adamw_lr": 0.00316, "grad_norm": 0.18331126868724823, "tokens_per_second": 8197510.245438312, "eta_seconds": 23538.279273438453, "data_wait_seconds": 1.627206802368164e-05}
|
| 81 |
+
{"step": 800, "total_steps": 22439, "tokens": 7130316800, "source": "fineweb_hq", "phase": 1, "loss": 2.343844771385193, "ce_loss": 2.3361929059028625, "logit_z_loss": 76.51930809020996, "muon_lr": 0.05600000000000001, "adamw_lr": 0.0032, "grad_norm": 0.1974499672651291, "tokens_per_second": 7005134.072868889, "eta_seconds": 27532.114951372147, "data_wait_seconds": 0.3746710419654846}
|
| 82 |
+
{"step": 810, "total_steps": 22439, "tokens": 7219445760, "source": "fineweb_hq", "phase": 1, "loss": 2.2092705368995667, "ce_loss": 2.201336443424225, "logit_z_loss": 79.34107208251953, "muon_lr": 0.0567, "adamw_lr": 0.0032400000000000003, "grad_norm": 0.1958804875612259, "tokens_per_second": 7538323.863033231, "eta_seconds": 25572.92988290787, "data_wait_seconds": 0.8902894258499146}
|
| 83 |
+
{"step": 820, "total_steps": 22439, "tokens": 7308574720, "source": "fineweb_hq", "phase": 1, "loss": 2.1729026436805725, "ce_loss": 2.16474711894989, "logit_z_loss": 81.55514907836914, "muon_lr": 0.05740000000000001, "adamw_lr": 0.0032800000000000004, "grad_norm": 0.23285837471485138, "tokens_per_second": 9451195.882156769, "eta_seconds": 20387.673795628547, "data_wait_seconds": 0.31566721200942993}
|
| 84 |
+
{"step": 830, "total_steps": 22439, "tokens": 7397703680, "source": "fineweb_hq", "phase": 1, "loss": 2.153770089149475, "ce_loss": 2.145902693271637, "logit_z_loss": 78.67469024658203, "muon_lr": 0.058100000000000006, "adamw_lr": 0.0033200000000000005, "grad_norm": 0.1934303492307663, "tokens_per_second": 9319240.540504752, "eta_seconds": 20666.788117218017, "data_wait_seconds": 1.6450881958007812e-05}
|
| 85 |
+
{"step": 840, "total_steps": 22439, "tokens": 7486832640, "source": "fineweb_hq", "phase": 1, "loss": 2.1568243503570557, "ce_loss": 2.148854672908783, "logit_z_loss": 79.69684410095215, "muon_lr": 0.058800000000000005, "adamw_lr": 0.0033599999999999997, "grad_norm": 0.19662460684776306, "tokens_per_second": 9581271.945798812, "eta_seconds": 20092.284384894374, "data_wait_seconds": 1.3232231140136719e-05}
|
| 86 |
+
{"step": 850, "total_steps": 22439, "tokens": 7575961600, "source": "fineweb_hq", "phase": 1, "loss": 2.152070641517639, "ce_loss": 2.1442551612854004, "logit_z_loss": 78.15550422668457, "muon_lr": 0.059500000000000004, "adamw_lr": 0.0034, "grad_norm": 0.18207232654094696, "tokens_per_second": 9762642.39925466, "eta_seconds": 19709.8801609993, "data_wait_seconds": 1.4126300811767578e-05}
|
| 87 |
+
{"step": 860, "total_steps": 22439, "tokens": 7665090560, "source": "fineweb_hq", "phase": 1, "loss": 2.145963132381439, "ce_loss": 2.137876272201538, "logit_z_loss": 80.86890602111816, "muon_lr": 0.060200000000000004, "adamw_lr": 0.00344, "grad_norm": 0.1876753568649292, "tokens_per_second": 9893073.30349838, "eta_seconds": 19441.014625453947, "data_wait_seconds": 1.537799835205078e-05}
|
| 88 |
+
{"step": 870, "total_steps": 22439, "tokens": 7754219520, "source": "fineweb_hq", "phase": 1, "loss": 2.145168960094452, "ce_loss": 2.137241542339325, "logit_z_loss": 79.27460289001465, "muon_lr": 0.0609, "adamw_lr": 0.00348, "grad_norm": 0.221941277384758, "tokens_per_second": 8483347.529066838, "eta_seconds": 22661.131489109994, "data_wait_seconds": 1.5079975128173828e-05}
|
| 89 |
+
{"step": 880, "total_steps": 22439, "tokens": 7843348480, "source": "fineweb_hq", "phase": 1, "loss": 2.1310052275657654, "ce_loss": 2.123206377029419, "logit_z_loss": 77.9881420135498, "muon_lr": 0.06160000000000001, "adamw_lr": 0.00352, "grad_norm": 0.17409531772136688, "tokens_per_second": 8918937.64257767, "eta_seconds": 21544.396044063567, "data_wait_seconds": 1.329183578491211e-05}
|
| 90 |
+
{"step": 890, "total_steps": 22439, "tokens": 7932477440, "source": "fineweb_hq", "phase": 1, "loss": 2.1497772932052612, "ce_loss": 2.1419413089752197, "logit_z_loss": 78.36023139953613, "muon_lr": 0.0623, "adamw_lr": 0.0035600000000000002, "grad_norm": 0.22990204393863678, "tokens_per_second": 9922804.604194226, "eta_seconds": 19355.817590403556, "data_wait_seconds": 1.5676021575927734e-05}
|
| 91 |
+
{"step": 900, "total_steps": 22439, "tokens": 8021606400, "source": "fineweb_hq", "phase": 1, "loss": 2.128612518310547, "ce_loss": 2.120979964733124, "logit_z_loss": 76.3257942199707, "muon_lr": 0.063, "adamw_lr": 0.0036, "grad_norm": 0.18078908324241638, "tokens_per_second": 9650671.570589593, "eta_seconds": 19892.384228372575, "data_wait_seconds": 0.051418960094451904}
|
| 92 |
+
{"step": 910, "total_steps": 22439, "tokens": 8110735360, "source": "fineweb_hq", "phase": 1, "loss": 2.3088300824165344, "ce_loss": 2.301823318004608, "logit_z_loss": 70.06817817687988, "muon_lr": 0.0637, "adamw_lr": 0.00364, "grad_norm": 0.2104783058166504, "tokens_per_second": 7219887.872922974, "eta_seconds": 26577.384768486023, "data_wait_seconds": 0.29506224393844604}
|
| 93 |
+
{"step": 920, "total_steps": 22439, "tokens": 8199864320, "source": "fineweb_hq", "phase": 1, "loss": 2.3767300248146057, "ce_loss": 2.3701910972595215, "logit_z_loss": 65.3893928527832, "muon_lr": 0.0644, "adamw_lr": 0.00368, "grad_norm": 0.23128600418567657, "tokens_per_second": 9192341.784089683, "eta_seconds": 20864.82569174767, "data_wait_seconds": 1.3172626495361328e-05}
|
| 94 |
+
{"step": 930, "total_steps": 22439, "tokens": 8288993280, "source": "fineweb_hq", "phase": 1, "loss": 2.3693774342536926, "ce_loss": 2.362643301486969, "logit_z_loss": 67.34131240844727, "muon_lr": 0.0651, "adamw_lr": 0.00372, "grad_norm": 0.2287091165781021, "tokens_per_second": 10073121.40196061, "eta_seconds": 19031.586378645898, "data_wait_seconds": 1.4781951904296875e-05}
|
| 95 |
+
{"step": 940, "total_steps": 22439, "tokens": 8378122240, "source": "fineweb_hq", "phase": 1, "loss": 2.3465049266815186, "ce_loss": 2.340116858482361, "logit_z_loss": 63.88089084625244, "muon_lr": 0.06580000000000001, "adamw_lr": 0.0037600000000000003, "grad_norm": 0.22197671234607697, "tokens_per_second": 8754935.55516695, "eta_seconds": 21886.894528985023, "data_wait_seconds": 1.341104507446289e-05}
|
| 96 |
+
{"step": 950, "total_steps": 22439, "tokens": 8467251200, "source": "fineweb_hq", "phase": 1, "loss": 2.33204847574234, "ce_loss": 2.3254379630088806, "logit_z_loss": 66.10550880432129, "muon_lr": 0.0665, "adamw_lr": 0.0038000000000000004, "grad_norm": 0.18201303482055664, "tokens_per_second": 8971161.761053331, "eta_seconds": 21349.433578991888, "data_wait_seconds": 0.00030362606048583984}
|
| 97 |
+
{"step": 960, "total_steps": 22439, "tokens": 8556380160, "source": "fineweb_hq", "phase": 1, "loss": 2.350585162639618, "ce_loss": 2.3441357016563416, "logit_z_loss": 64.49478530883789, "muon_lr": 0.06720000000000001, "adamw_lr": 0.0038399999999999997, "grad_norm": 0.2307051122188568, "tokens_per_second": 8768643.45441727, "eta_seconds": 21832.350029873847, "data_wait_seconds": 1.8477439880371094e-05}
|
| 98 |
+
{"step": 970, "total_steps": 22439, "tokens": 8645509120, "source": "fineweb_hq", "phase": 1, "loss": 2.3355281949043274, "ce_loss": 2.328825294971466, "logit_z_loss": 67.02908897399902, "muon_lr": 0.0679, "adamw_lr": 0.0038799999999999998, "grad_norm": 0.21734148263931274, "tokens_per_second": 7220713.442206703, "eta_seconds": 26500.285014152527, "data_wait_seconds": 0.25003528594970703}
|
| 99 |
+
{"step": 980, "total_steps": 22439, "tokens": 8734638080, "source": "fineweb_hq", "phase": 1, "loss": 2.3283920288085938, "ce_loss": 2.3219318985939026, "logit_z_loss": 64.60088920593262, "muon_lr": 0.06860000000000001, "adamw_lr": 0.00392, "grad_norm": 0.20072227716445923, "tokens_per_second": 9270987.236583356, "eta_seconds": 20630.14761893749, "data_wait_seconds": 1.245737075805664e-05}
|
| 100 |
+
{"step": 990, "total_steps": 22439, "tokens": 8823767040, "source": "fineweb_hq", "phase": 1, "loss": 2.323706567287445, "ce_loss": 2.317197024822235, "logit_z_loss": 65.09517860412598, "muon_lr": 0.06930000000000001, "adamw_lr": 0.00396, "grad_norm": 0.18527741730213165, "tokens_per_second": 9336268.191085013, "eta_seconds": 20476.351192069054, "data_wait_seconds": 1.3947486877441406e-05}
|
| 101 |
+
{"step": 1000, "total_steps": 22439, "tokens": 8912896000, "source": "fineweb_hq", "phase": 1, "loss": 2.3358243703842163, "ce_loss": 2.329273998737335, "logit_z_loss": 65.50436592102051, "muon_lr": 0.07, "adamw_lr": 0.004, "grad_norm": 0.23283950984477997, "tokens_per_second": 9433630.894132858, "eta_seconds": 20255.570679879187, "data_wait_seconds": 1.5676021575927734e-05}
|
| 102 |
+
{"step": 1010, "total_steps": 22439, "tokens": 9002024960, "source": "fineweb_hq", "phase": 1, "loss": 2.315945625305176, "ce_loss": 2.309797704219818, "logit_z_loss": 61.47883129119873, "muon_lr": 0.07, "adamw_lr": 0.004, "grad_norm": 0.20814353227615356, "tokens_per_second": 9852860.27603847, "eta_seconds": 19384.67034273148, "data_wait_seconds": 0.22886061668395996}
|
| 103 |
+
{"step": 1020, "total_steps": 22439, "tokens": 9091153920, "source": "fineweb_hq", "phase": 1, "loss": 2.3088624477386475, "ce_loss": 2.30258309841156, "logit_z_loss": 62.792927742004395, "muon_lr": 0.07, "adamw_lr": 0.004, "grad_norm": 0.21581503748893738, "tokens_per_second": 8651330.612411598, "eta_seconds": 22066.5846650362, "data_wait_seconds": 1.806020736694336e-05}
|
| 104 |
+
{"step": 1030, "total_steps": 22439, "tokens": 9180282880, "source": "fineweb_hq", "phase": 1, "loss": 2.2938343286514282, "ce_loss": 2.2875046133995056, "logit_z_loss": 63.2970085144043, "muon_lr": 0.07, "adamw_lr": 0.004, "grad_norm": 0.2105294018983841, "tokens_per_second": 9340256.124235211, "eta_seconds": 20429.438756918906, "data_wait_seconds": 0.26373594999313354}
|
| 105 |
+
{"step": 1040, "total_steps": 22439, "tokens": 9269411840, "source": "fineweb_hq", "phase": 1, "loss": 2.291613817214966, "ce_loss": 2.2854092717170715, "logit_z_loss": 62.04541778564453, "muon_lr": 0.07, "adamw_lr": 0.004, "grad_norm": 0.21177281439304352, "tokens_per_second": 9291618.76773903, "eta_seconds": 20526.78508143425, "data_wait_seconds": 1.3887882232666016e-05}
|
| 106 |
+
{"step": 1050, "total_steps": 22439, "tokens": 9358540800, "source": "fineweb_hq", "phase": 1, "loss": 2.2960025668144226, "ce_loss": 2.289924383163452, "logit_z_loss": 60.78238868713379, "muon_lr": 0.07, "adamw_lr": 0.004, "grad_norm": 0.1940109133720398, "tokens_per_second": 9229805.947100338, "eta_seconds": 20654.59811794758, "data_wait_seconds": 1.6927719116210938e-05}
|
| 107 |
+
{"step": 1060, "total_steps": 22439, "tokens": 9447669760, "source": "fineweb_hq", "phase": 1, "loss": 2.2542683482170105, "ce_loss": 2.2478742003440857, "logit_z_loss": 63.94139099121094, "muon_lr": 0.07, "adamw_lr": 0.004, "grad_norm": 0.21360020339488983, "tokens_per_second": 7268330.627052976, "eta_seconds": 26216.309268426896, "data_wait_seconds": 1.4007091522216797e-05}
|
| 108 |
+
{"step": 1070, "total_steps": 22439, "tokens": 9536798720, "source": "fineweb_hq", "phase": 1, "loss": 2.226654887199402, "ce_loss": 2.220464825630188, "logit_z_loss": 61.90073108673096, "muon_lr": 0.07, "adamw_lr": 0.004, "grad_norm": 0.18968330323696136, "tokens_per_second": 9982306.738514233, "eta_seconds": 19079.72572002411, "data_wait_seconds": 1.424551010131836e-05}
|
| 109 |
+
{"step": 1080, "total_steps": 22439, "tokens": 9625927680, "source": "fineweb_hq", "phase": 1, "loss": 2.2515273690223694, "ce_loss": 2.2451473474502563, "logit_z_loss": 63.80070877075195, "muon_lr": 0.07, "adamw_lr": 0.004, "grad_norm": 0.2117748260498047, "tokens_per_second": 9098439.298023513, "eta_seconds": 20923.428670382502, "data_wait_seconds": 0.24623018503189087}
|
| 110 |
+
{"step": 1090, "total_steps": 22439, "tokens": 9715056640, "source": "fineweb_hq", "phase": 1, "loss": 2.213638424873352, "ce_loss": 2.207147002220154, "logit_z_loss": 64.91473197937012, "muon_lr": 0.07, "adamw_lr": 0.004, "grad_norm": 0.20987659692764282, "tokens_per_second": 9320515.442111455, "eta_seconds": 20415.331950879096, "data_wait_seconds": 0.277202308177948}
|
| 111 |
+
{"step": 1100, "total_steps": 22439, "tokens": 9804185600, "source": "fineweb_hq", "phase": 1, "loss": 2.1991316080093384, "ce_loss": 2.1925421953201294, "logit_z_loss": 65.89375495910645, "muon_lr": 0.07, "adamw_lr": 0.004, "grad_norm": 0.19404654204845428, "tokens_per_second": 9263205.526926557, "eta_seconds": 20532.01639444828, "data_wait_seconds": 1.4960765838623047e-05}
|
| 112 |
+
{"step": 1110, "total_steps": 22439, "tokens": 9893314560, "source": "fineweb_hq", "phase": 1, "loss": 2.1957609057426453, "ce_loss": 2.1894816160202026, "logit_z_loss": 62.79327964782715, "muon_lr": 0.07, "adamw_lr": 0.004, "grad_norm": 0.18220849335193634, "tokens_per_second": 8321119.599639584, "eta_seconds": 22845.863048553467, "data_wait_seconds": 1.722574234008789e-05}
|
| 113 |
+
{"step": 1120, "total_steps": 22439, "tokens": 9982443520, "source": "fineweb_hq", "phase": 1, "loss": 2.1929144859313965, "ce_loss": 2.1866838335990906, "logit_z_loss": 62.306596755981445, "muon_lr": 0.07, "adamw_lr": 0.004, "grad_norm": 0.16241706907749176, "tokens_per_second": 10415627.523396535, "eta_seconds": 18243.16676044464, "data_wait_seconds": 1.4126300811767578e-05}
|