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

Model: MihaiPopa-1/CinnabarLM-4M-Python-Base
Source: Original Platform
This commit is contained in:
ModelHub XC
2026-06-15 16:53:16 +08:00
commit 9975caec9b
8 changed files with 19732 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

70
README.md Normal file
View File

@@ -0,0 +1,70 @@
---
license: apache-2.0
datasets:
- OLMo-Coding/starcoder-python-instruct
language:
- en
pipeline_tag: text-generation
tags:
- tiny-model
- cinnabarlm
- python
- code
- tiny-llm
- tiny-lm
- tinylm
- tinyllm
---
# CinnabarLM Python
CinnabarLM Python is a tiny, 4M-parameter code LLM trained for ~38 minutes on a T4 GPU (on Colab)! It's only 16 MB in size and now it's Llama-based!
# Why?
Because it's a good idea to make tiny LLMs. Some people already did with [MicroLM](https://huggingface.co/CromIA/MicroLM-1M), [Spark 4 5M](https://huggingface.co/LH-Tech-AI/Spark-5M-Base-v4) and [Tenete 8M](https://huggingface.co/Harley-ml/Tenete-8M), but not myself!
# Differences from Preview
* Now it's Llama-based, Preview was a custom model
* And of course, it's stable now (it doesn't generate gibberish / mess of words anymore)!
# Model Configurations
| Parameter | Value |
|---|---|
| Tokenizer | Llama 3's tokenizer (Tiktoken / BPE) |
| Vocabulary Size | 4096 tokens |
| Batch Size | 4 x 8 = 32 |
| Context Window | Maybe 2048 tokens |
| `hidden_size` | 192 |
| `intermediate_size` | 192 |
| `num_hidden_layers` | 6 |
| `num_attention_heads` | 6 |
| `max_position_embeddings` | 2048 |
| `rms_norm_eps` | `1e-5` |
| `initializer_range` | 0.02 |
| `use_cache` | True
| `tie_word_embeddings` | False
| `rope_theta` | 10000.0
# Training Configurations
| Hyperparameter | Value |
|---|---|
| `output_dir` | "./cinnabarlm-v2" |
| `max_steps` | 10000 |
| `per_device_train_batch_size` | 8 |
| `gradient_accumulation_steps` | 4 |
| `learning_rate` | 6e-4 |
| `weight_decay` | 0.01 |
| `warmup_steps` | 500 |
| `lr_scheduler_type` | "cosine" |
| `logging_steps` | 100 |
| `save_steps` | 2000 |
| `fp16` | True |
| `save_total_limit` | 2 |
| `prediction_loss_only` | True |
| `logging_first_step` | True |
# Limitations
* **Not Instruction-Tuned:** It's only a base model, so it only completes text.
* **Python-Only:** It's trained on Python code (The Stack).
# Some other details
* It's trained on ~70 million tokens of [The Stack](https://huggingface.co/datasets/OLMo-Coding/starcoder-python-instruct)
* The name "CinnabarLM" that I picked was made by combining "Cinnabar" (the new block from the Chaos Cubed drop in Minecraft) + "LM" (Language Model)

32
config.json Normal file
View File

@@ -0,0 +1,32 @@
{
"architectures": [
"LlamaForCausalLM"
],
"attention_bias": false,
"attention_dropout": 0.0,
"bos_token_id": 1,
"dtype": "float32",
"eos_token_id": 2,
"head_dim": 32,
"hidden_act": "silu",
"hidden_size": 192,
"initializer_range": 0.02,
"intermediate_size": 512,
"max_position_embeddings": 2048,
"mlp_bias": false,
"model_type": "llama",
"num_attention_heads": 6,
"num_hidden_layers": 6,
"num_key_value_heads": 6,
"pad_token_id": null,
"pretraining_tp": 1,
"rms_norm_eps": 1e-05,
"rope_parameters": {
"rope_theta": 10000.0,
"rope_type": "default"
},
"tie_word_embeddings": false,
"transformers_version": "5.0.0",
"use_cache": false,
"vocab_size": 4096
}

9
generation_config.json Normal file
View File

@@ -0,0 +1,9 @@
{
"_from_model_config": true,
"bos_token_id": 1,
"eos_token_id": 2,
"output_attentions": false,
"output_hidden_states": false,
"transformers_version": "5.0.0",
"use_cache": true
}

3
model.safetensors Normal file
View File

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

19567
tokenizer.json Normal file

File diff suppressed because it is too large Load Diff

13
tokenizer_config.json Normal file
View File

@@ -0,0 +1,13 @@
{
"add_prefix_space": null,
"backend": "tokenizers",
"bos_token": "<s>",
"clean_up_tokenization_spaces": false,
"eos_token": "</s>",
"is_local": true,
"model_max_length": 1000000000000000019884624838656,
"pad_token": "</s>",
"tokenizer_class": "TokenizersBackend",
"unk_token": "<unk>",
"use_default_system_prompt": false
}

3
training_args.bin Normal file
View File

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