初始化项目,由ModelHub XC社区提供模型

Model: timothywong731/tim-360m-base
Source: Original Platform
This commit is contained in:
ModelHub XC
2026-07-20 01:26:11 +08:00
commit d84228f317
7 changed files with 245820 additions and 0 deletions

35
.gitattributes vendored Normal file
View File

@@ -0,0 +1,35 @@
*.7z filter=lfs diff=lfs merge=lfs -text
*.arrow filter=lfs diff=lfs merge=lfs -text
*.bin filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.ckpt filter=lfs diff=lfs merge=lfs -text
*.ftz filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.h5 filter=lfs diff=lfs merge=lfs -text
*.joblib filter=lfs diff=lfs merge=lfs -text
*.lfs.* filter=lfs diff=lfs merge=lfs -text
*.mlmodel filter=lfs diff=lfs merge=lfs -text
*.model filter=lfs diff=lfs merge=lfs -text
*.msgpack filter=lfs diff=lfs merge=lfs -text
*.npy filter=lfs diff=lfs merge=lfs -text
*.npz filter=lfs diff=lfs merge=lfs -text
*.onnx filter=lfs diff=lfs merge=lfs -text
*.ot filter=lfs diff=lfs merge=lfs -text
*.parquet filter=lfs diff=lfs merge=lfs -text
*.pb filter=lfs diff=lfs merge=lfs -text
*.pickle filter=lfs diff=lfs merge=lfs -text
*.pkl filter=lfs diff=lfs merge=lfs -text
*.pt filter=lfs diff=lfs merge=lfs -text
*.pth filter=lfs diff=lfs merge=lfs -text
*.rar filter=lfs diff=lfs merge=lfs -text
*.safetensors filter=lfs diff=lfs merge=lfs -text
saved_model/**/* filter=lfs diff=lfs merge=lfs -text
*.tar.* filter=lfs diff=lfs merge=lfs -text
*.tar filter=lfs diff=lfs merge=lfs -text
*.tflite filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.wasm filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text
*tfevents* filter=lfs diff=lfs merge=lfs -text

83
README.md Normal file
View File

@@ -0,0 +1,83 @@
---
license: apache-2.0
library_name: transformers
pipeline_tag: text-generation
language:
- en
datasets:
- HuggingFaceFW/fineweb-edu
- mlfoundations/dclm-baseline-1.0
- HuggingFaceTB/finemath
tags:
- tim
- qwen3
- from-scratch
model-index:
- name: tim-360m-base
results:
- task: {type: text-generation, name: Text Generation}
dataset: {type: hellaswag, name: HellaSwag (0-shot)}
metrics: [{type: acc_norm, value: 0.388, name: acc_norm}]
- task: {type: text-generation, name: Text Generation}
dataset: {type: ai2_arc, name: ARC-Easy (0-shot)}
metrics: [{type: acc_norm, value: 0.515, name: acc_norm}]
- task: {type: text-generation, name: Text Generation}
dataset: {type: ai2_arc, name: ARC-Challenge (0-shot)}
metrics: [{type: acc_norm, value: 0.259, name: acc_norm}]
- task: {type: text-generation, name: Text Generation}
dataset: {type: piqa, name: PIQA (0-shot)}
metrics: [{type: acc_norm, value: 0.658, name: acc_norm}]
- task: {type: text-generation, name: Text Generation}
dataset: {type: winogrande, name: WinoGrande (0-shot)}
metrics: [{type: acc, value: 0.525, name: acc}]
- task: {type: text-generation, name: Text Generation}
dataset: {type: openbookqa, name: OpenBookQA (0-shot)}
metrics: [{type: acc_norm, value: 0.294, name: acc_norm}]
- task: {type: text-generation, name: Text Generation}
dataset: {type: sciq, name: SciQ (0-shot)}
metrics: [{type: acc_norm, value: 0.722, name: acc_norm}]
---
# TIM-360M-base
A **361.8M-parameter** decoder-only transformer, trained **from scratch** on ~30B tokens on 2× RTX 4090. Part of [TIM](https://github.com/) (Transformer Inference Model) — an end-to-end, from-scratch LLM built to be legible and honestly evaluated.
Exported as **`Qwen3ForCausalLM`** — it loads with `transformers` and **no `trust_remote_code`**.
## Architecture
SmolLM2-360M skeleton with modern choices: pre-LN RMSNorm, RoPE (θ=100000), SwiGLU, **grouped-query attention** (15 query / 5 KV heads) with **per-head QK-norm**, tied embeddings, no biases. 32 layers, hidden 960, head_dim 64, FFN 2560, vocab 49,152 (byte-level BPE). Context: `max_position_embeddings` 4096, **trained at seq_len 2048**.
## Usage
```python
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
tok = AutoTokenizer.from_pretrained("timothywong731/tim-360m-base")
m = AutoModelForCausalLM.from_pretrained("timothywong731/tim-360m-base", torch_dtype=torch.bfloat16)
ids = tok("The capital of France is", return_tensors="pt")
print(tok.decode(m.generate(**ids, max_new_tokens=20)[0]))
```
## Training
~30B tokens, mix: **70% web** (FineWeb-Edu `sample-100BT` + DCLM-Baseline), **15%** Stack-Edu (code), **10%** FineMath-3+, **5%** misc. Muon + AdamW, WSD (warmup–stable–decay) schedule, bf16, 2× RTX 4090 (DDP, no NVLink).
## Evaluation
lm-evaluation-harness (0.4.12), **0-shot**, `acc_norm` where applicable:
| HellaSwag | ARC-Easy | ARC-Challenge | PIQA | WinoGrande | OpenBookQA | SciQ | SocialIQA | CommonsenseQA | WikiText (bpb ↓) |
|---|---|---|---|---|---|---|---|---|---|
| 0.388 | 0.515 | 0.259 | 0.658 | 0.525 | 0.294 | 0.722 | 0.378 | 0.196 | 1.058 |
Healthy for the scale: at ~30B tokens this is **~130× less training data** than SmolLM2-360M (4T). Near-parity on early-saturating tasks (PIQA, SciQ), a real gap on token-hungry ones (HellaSwag, ARC) — as the token budget predicts.
## Limitations
Small (360M) and lightly trained (~30B tokens). **Not instruction-tuned** — this is the base model. Weak at arithmetic and multi-step reasoning; will hallucinate facts; English-only; **no safety tuning** — do not deploy to end users without your own filtering.
## Provenance & license
**Apache-2.0.** Trained only on named, public datasets: FineWeb-Edu (ODC-BY), DCLM-Baseline (CC-BY-4.0), Stack-Edu (derived from The Stack v2), FineMath (ODC-BY). No gated or scraped-private data. Attribution and removal requests: open an issue on the source repository.

67
config.json Normal file
View File

@@ -0,0 +1,67 @@
{
"architectures": [
"Qwen3ForCausalLM"
],
"attention_bias": false,
"attention_dropout": 0.0,
"bos_token_id": 0,
"dtype": "bfloat16",
"eos_token_id": 0,
"head_dim": 64,
"hidden_act": "silu",
"hidden_size": 960,
"initializer_range": 0.02,
"intermediate_size": 2560,
"layer_types": [
"full_attention",
"full_attention",
"full_attention",
"full_attention",
"full_attention",
"full_attention",
"full_attention",
"full_attention",
"full_attention",
"full_attention",
"full_attention",
"full_attention",
"full_attention",
"full_attention",
"full_attention",
"full_attention",
"full_attention",
"full_attention",
"full_attention",
"full_attention",
"full_attention",
"full_attention",
"full_attention",
"full_attention",
"full_attention",
"full_attention",
"full_attention",
"full_attention",
"full_attention",
"full_attention",
"full_attention",
"full_attention"
],
"max_position_embeddings": 4096,
"max_window_layers": 28,
"model_type": "qwen3",
"num_attention_heads": 15,
"num_hidden_layers": 32,
"num_key_value_heads": 5,
"pad_token_id": 3,
"rms_norm_eps": 1e-05,
"rope_parameters": {
"rope_theta": 100000.0,
"rope_type": "default"
},
"sliding_window": null,
"tie_word_embeddings": true,
"transformers_version": "5.13.1",
"use_cache": true,
"use_sliding_window": false,
"vocab_size": 49152
}

5
generation_config.json Normal file
View File

@@ -0,0 +1,5 @@
{
"bos_token_id": 0,
"eos_token_id": 0,
"pad_token_id": 3
}

3
model.safetensors Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:896170932630e637203834264f655c1f20b9b284df8880ca3419f9313e3cd8ee
size 723690064

245104
tokenizer.json Normal file

File diff suppressed because it is too large Load Diff

523
tokenizer_config.json Normal file
View File

@@ -0,0 +1,523 @@
{
"tokenizer_class": "PreTrainedTokenizerFast",
"model_max_length": 8192,
"bos_token": "<|endoftext|>",
"eos_token": "<|endoftext|>",
"pad_token": "<|pad|>",
"unk_token": null,
"clean_up_tokenization_spaces": false,
"added_tokens_decoder": {
"0": {
"content": "<|endoftext|>",
"special": true,
"single_word": false,
"lstrip": false,
"rstrip": false,
"normalized": false
},
"1": {
"content": "<|im_start|>",
"special": true,
"single_word": false,
"lstrip": false,
"rstrip": false,
"normalized": false
},
"2": {
"content": "<|im_end|>",
"special": true,
"single_word": false,
"lstrip": false,
"rstrip": false,
"normalized": false
},
"3": {
"content": "<|pad|>",
"special": true,
"single_word": false,
"lstrip": false,
"rstrip": false,
"normalized": false
},
"4": {
"content": "<|fim_prefix|>",
"special": true,
"single_word": false,
"lstrip": false,
"rstrip": false,
"normalized": false
},
"5": {
"content": "<|fim_middle|>",
"special": true,
"single_word": false,
"lstrip": false,
"rstrip": false,
"normalized": false
},
"6": {
"content": "<|fim_suffix|>",
"special": true,
"single_word": false,
"lstrip": false,
"rstrip": false,
"normalized": false
},
"7": {
"content": "<|repo_name|>",
"special": true,
"single_word": false,
"lstrip": false,
"rstrip": false,
"normalized": false
},
"8": {
"content": "<|reserved_0|>",
"special": true,
"single_word": false,
"lstrip": false,
"rstrip": false,
"normalized": false
},
"9": {
"content": "<|reserved_1|>",
"special": true,
"single_word": false,
"lstrip": false,
"rstrip": false,
"normalized": false
},
"10": {
"content": "<|reserved_2|>",
"special": true,
"single_word": false,
"lstrip": false,
"rstrip": false,
"normalized": false
},
"11": {
"content": "<|reserved_3|>",
"special": true,
"single_word": false,
"lstrip": false,
"rstrip": false,
"normalized": false
},
"12": {
"content": "<|reserved_4|>",
"special": true,
"single_word": false,
"lstrip": false,
"rstrip": false,
"normalized": false
},
"13": {
"content": "<|reserved_5|>",
"special": true,
"single_word": false,
"lstrip": false,
"rstrip": false,
"normalized": false
},
"14": {
"content": "<|reserved_6|>",
"special": true,
"single_word": false,
"lstrip": false,
"rstrip": false,
"normalized": false
},
"15": {
"content": "<|reserved_7|>",
"special": true,
"single_word": false,
"lstrip": false,
"rstrip": false,
"normalized": false
},
"16": {
"content": "<|reserved_8|>",
"special": true,
"single_word": false,
"lstrip": false,
"rstrip": false,
"normalized": false
},
"17": {
"content": "<|reserved_9|>",
"special": true,
"single_word": false,
"lstrip": false,
"rstrip": false,
"normalized": false
},
"18": {
"content": "<|reserved_10|>",
"special": true,
"single_word": false,
"lstrip": false,
"rstrip": false,
"normalized": false
},
"19": {
"content": "<|reserved_11|>",
"special": true,
"single_word": false,
"lstrip": false,
"rstrip": false,
"normalized": false
},
"20": {
"content": "<|reserved_12|>",
"special": true,
"single_word": false,
"lstrip": false,
"rstrip": false,
"normalized": false
},
"21": {
"content": "<|reserved_13|>",
"special": true,
"single_word": false,
"lstrip": false,
"rstrip": false,
"normalized": false
},
"22": {
"content": "<|reserved_14|>",
"special": true,
"single_word": false,
"lstrip": false,
"rstrip": false,
"normalized": false
},
"23": {
"content": "<|reserved_15|>",
"special": true,
"single_word": false,
"lstrip": false,
"rstrip": false,
"normalized": false
},
"24": {
"content": "<|reserved_16|>",
"special": true,
"single_word": false,
"lstrip": false,
"rstrip": false,
"normalized": false
},
"25": {
"content": "<|reserved_17|>",
"special": true,
"single_word": false,
"lstrip": false,
"rstrip": false,
"normalized": false
},
"26": {
"content": "<|reserved_18|>",
"special": true,
"single_word": false,
"lstrip": false,
"rstrip": false,
"normalized": false
},
"27": {
"content": "<|reserved_19|>",
"special": true,
"single_word": false,
"lstrip": false,
"rstrip": false,
"normalized": false
},
"28": {
"content": "<|reserved_20|>",
"special": true,
"single_word": false,
"lstrip": false,
"rstrip": false,
"normalized": false
},
"29": {
"content": "<|reserved_21|>",
"special": true,
"single_word": false,
"lstrip": false,
"rstrip": false,
"normalized": false
},
"30": {
"content": "<|reserved_22|>",
"special": true,
"single_word": false,
"lstrip": false,
"rstrip": false,
"normalized": false
},
"31": {
"content": "<|reserved_23|>",
"special": true,
"single_word": false,
"lstrip": false,
"rstrip": false,
"normalized": false
},
"32": {
"content": "<|reserved_24|>",
"special": true,
"single_word": false,
"lstrip": false,
"rstrip": false,
"normalized": false
},
"33": {
"content": "<|reserved_25|>",
"special": true,
"single_word": false,
"lstrip": false,
"rstrip": false,
"normalized": false
},
"34": {
"content": "<|reserved_26|>",
"special": true,
"single_word": false,
"lstrip": false,
"rstrip": false,
"normalized": false
},
"35": {
"content": "<|reserved_27|>",
"special": true,
"single_word": false,
"lstrip": false,
"rstrip": false,
"normalized": false
},
"36": {
"content": "<|reserved_28|>",
"special": true,
"single_word": false,
"lstrip": false,
"rstrip": false,
"normalized": false
},
"37": {
"content": "<|reserved_29|>",
"special": true,
"single_word": false,
"lstrip": false,
"rstrip": false,
"normalized": false
},
"38": {
"content": "<|reserved_30|>",
"special": true,
"single_word": false,
"lstrip": false,
"rstrip": false,
"normalized": false
},
"39": {
"content": "<|reserved_31|>",
"special": true,
"single_word": false,
"lstrip": false,
"rstrip": false,
"normalized": false
},
"40": {
"content": "<|reserved_32|>",
"special": true,
"single_word": false,
"lstrip": false,
"rstrip": false,
"normalized": false
},
"41": {
"content": "<|reserved_33|>",
"special": true,
"single_word": false,
"lstrip": false,
"rstrip": false,
"normalized": false
},
"42": {
"content": "<|reserved_34|>",
"special": true,
"single_word": false,
"lstrip": false,
"rstrip": false,
"normalized": false
},
"43": {
"content": "<|reserved_35|>",
"special": true,
"single_word": false,
"lstrip": false,
"rstrip": false,
"normalized": false
},
"44": {
"content": "<|reserved_36|>",
"special": true,
"single_word": false,
"lstrip": false,
"rstrip": false,
"normalized": false
},
"45": {
"content": "<|reserved_37|>",
"special": true,
"single_word": false,
"lstrip": false,
"rstrip": false,
"normalized": false
},
"46": {
"content": "<|reserved_38|>",
"special": true,
"single_word": false,
"lstrip": false,
"rstrip": false,
"normalized": false
},
"47": {
"content": "<|reserved_39|>",
"special": true,
"single_word": false,
"lstrip": false,
"rstrip": false,
"normalized": false
},
"48": {
"content": "<|reserved_40|>",
"special": true,
"single_word": false,
"lstrip": false,
"rstrip": false,
"normalized": false
},
"49": {
"content": "<|reserved_41|>",
"special": true,
"single_word": false,
"lstrip": false,
"rstrip": false,
"normalized": false
},
"50": {
"content": "<|reserved_42|>",
"special": true,
"single_word": false,
"lstrip": false,
"rstrip": false,
"normalized": false
},
"51": {
"content": "<|reserved_43|>",
"special": true,
"single_word": false,
"lstrip": false,
"rstrip": false,
"normalized": false
},
"52": {
"content": "<|reserved_44|>",
"special": true,
"single_word": false,
"lstrip": false,
"rstrip": false,
"normalized": false
},
"53": {
"content": "<|reserved_45|>",
"special": true,
"single_word": false,
"lstrip": false,
"rstrip": false,
"normalized": false
},
"54": {
"content": "<|reserved_46|>",
"special": true,
"single_word": false,
"lstrip": false,
"rstrip": false,
"normalized": false
},
"55": {
"content": "<|reserved_47|>",
"special": true,
"single_word": false,
"lstrip": false,
"rstrip": false,
"normalized": false
},
"56": {
"content": "<|reserved_48|>",
"special": true,
"single_word": false,
"lstrip": false,
"rstrip": false,
"normalized": false
},
"57": {
"content": "<|reserved_49|>",
"special": true,
"single_word": false,
"lstrip": false,
"rstrip": false,
"normalized": false
},
"58": {
"content": "<|reserved_50|>",
"special": true,
"single_word": false,
"lstrip": false,
"rstrip": false,
"normalized": false
},
"59": {
"content": "<|reserved_51|>",
"special": true,
"single_word": false,
"lstrip": false,
"rstrip": false,
"normalized": false
},
"60": {
"content": "<|reserved_52|>",
"special": true,
"single_word": false,
"lstrip": false,
"rstrip": false,
"normalized": false
},
"61": {
"content": "<|reserved_53|>",
"special": true,
"single_word": false,
"lstrip": false,
"rstrip": false,
"normalized": false
},
"62": {
"content": "<|reserved_54|>",
"special": true,
"single_word": false,
"lstrip": false,
"rstrip": false,
"normalized": false
},
"63": {
"content": "<|reserved_55|>",
"special": true,
"single_word": false,
"lstrip": false,
"rstrip": false,
"normalized": false
}
}
}