初始化项目,由ModelHub XC社区提供模型
Model: soumil1/mamba2-10m-slimpajama-500m Source: Original Platform
This commit is contained in:
35
.gitattributes
vendored
Normal file
35
.gitattributes
vendored
Normal 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
|
||||
111
README.md
Normal file
111
README.md
Normal file
@@ -0,0 +1,111 @@
|
||||
---
|
||||
license: apache-2.0
|
||||
library_name: transformers
|
||||
tags:
|
||||
- mamba2
|
||||
- mamba
|
||||
- vllm
|
||||
- state-space-model
|
||||
- causal-language-modeling
|
||||
- slimpajama
|
||||
- hpml
|
||||
datasets:
|
||||
- cerebras/SlimPajama-627B
|
||||
pipeline_tag: text-generation
|
||||
---
|
||||
|
||||
# Mamba2 10M SlimPajama 500M
|
||||
|
||||
This is the vLLM/Transformers-compatible export of the Mamba2 baseline from our HPML Simamba discretization experiments. It is the same checkpoint as `soumil1/mamba2-10m-slimpajama-500m`, converted from the training repository's `mamba_ssm` checkpoint layout to the standard Hugging Face `Mamba2ForCausalLM` layout that vLLM can identify natively.
|
||||
|
||||
The model is a research checkpoint, not an instruction-tuned assistant.
|
||||
|
||||
## Checkpoint
|
||||
|
||||
| Field | Value |
|
||||
| --- | --- |
|
||||
| Variant | Mamba2 baseline |
|
||||
| Parameters | 9,472,400 unique parameters with tied input/output embeddings |
|
||||
| Training data | SlimPajama subset, `data/slimpajama_500m_50m/train.bin` |
|
||||
| Validation data | Held-out SlimPajama subset, `data/slimpajama_500m_50m/val.bin` |
|
||||
| Tokenizer | `EleutherAI/gpt-neox-20b` tokenizer files are included |
|
||||
| Context length | 128 tokens during training |
|
||||
| Best checkpoint step | 122,000 |
|
||||
| Best validation loss | 4.86253547668457 |
|
||||
| W&B run | https://wandb.ai/ssb2234-columbia/simamba/runs/dm74y180 |
|
||||
|
||||
## vLLM
|
||||
|
||||
The repository uses:
|
||||
|
||||
```json
|
||||
{
|
||||
"model_type": "mamba2",
|
||||
"architectures": ["Mamba2ForCausalLM"]
|
||||
}
|
||||
```
|
||||
|
||||
Serve with vLLM:
|
||||
|
||||
```bash
|
||||
vllm serve soumil1/mamba2-10m-slimpajama-500m \
|
||||
--dtype float32 \
|
||||
--max-model-len 128
|
||||
```
|
||||
|
||||
For offline inference:
|
||||
|
||||
```python
|
||||
from vllm import LLM, SamplingParams
|
||||
|
||||
llm = LLM(
|
||||
model="soumil1/mamba2-10m-slimpajama-500m",
|
||||
dtype="float32",
|
||||
max_model_len=128,
|
||||
)
|
||||
outputs = llm.generate(
|
||||
["State space models are"],
|
||||
SamplingParams(max_tokens=32, temperature=0.8),
|
||||
)
|
||||
print(outputs[0].outputs[0].text)
|
||||
```
|
||||
|
||||
## Transformers
|
||||
|
||||
```python
|
||||
import torch
|
||||
from transformers import AutoTokenizer, Mamba2ForCausalLM
|
||||
|
||||
repo_id = "soumil1/mamba2-10m-slimpajama-500m"
|
||||
|
||||
tokenizer = AutoTokenizer.from_pretrained(repo_id)
|
||||
model = Mamba2ForCausalLM.from_pretrained(repo_id, torch_dtype=torch.float32).cuda()
|
||||
model.eval()
|
||||
|
||||
input_ids = tokenizer("State space models are", return_tensors="pt").input_ids.cuda()
|
||||
with torch.no_grad():
|
||||
logits = model(input_ids).logits
|
||||
print(logits.shape)
|
||||
```
|
||||
|
||||
## Architecture
|
||||
|
||||
```json
|
||||
{
|
||||
"hidden_size": 160,
|
||||
"num_hidden_layers": 8,
|
||||
"vocab_size": 50280,
|
||||
"state_size": 64,
|
||||
"conv_kernel": 4,
|
||||
"expand": 2,
|
||||
"head_dim": 32,
|
||||
"num_heads": 10,
|
||||
"n_groups": 1,
|
||||
"chunk_size": 16,
|
||||
"tie_word_embeddings": true
|
||||
}
|
||||
```
|
||||
|
||||
## Limitations
|
||||
|
||||
This is a small pretraining checkpoint trained for controlled architecture comparison. It was trained on a limited SlimPajama subset with a short sequence length, so generation quality and downstream task performance should be interpreted cautiously.
|
||||
8
checkpoint_manifest.json
Normal file
8
checkpoint_manifest.json
Normal file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"step": 122001,
|
||||
"kind": "best",
|
||||
"include_optimizer": false,
|
||||
"created_at_unix": 1777829310,
|
||||
"resume_step": 122001,
|
||||
"wandb_id": "dm74y180"
|
||||
}
|
||||
57
config.json
Normal file
57
config.json
Normal file
@@ -0,0 +1,57 @@
|
||||
{
|
||||
"transformers_version": "5.7.0",
|
||||
"architectures": [
|
||||
"Mamba2ForCausalLM"
|
||||
],
|
||||
"output_hidden_states": false,
|
||||
"return_dict": true,
|
||||
"dtype": "float32",
|
||||
"chunk_size_feed_forward": 0,
|
||||
"is_encoder_decoder": false,
|
||||
"id2label": {
|
||||
"0": "LABEL_0",
|
||||
"1": "LABEL_1"
|
||||
},
|
||||
"label2id": {
|
||||
"LABEL_0": 0,
|
||||
"LABEL_1": 1
|
||||
},
|
||||
"problem_type": null,
|
||||
"num_heads": 10,
|
||||
"head_dim": 32,
|
||||
"vocab_size": 50280,
|
||||
"hidden_size": 160,
|
||||
"state_size": 64,
|
||||
"num_hidden_layers": 8,
|
||||
"layer_norm_epsilon": 1e-05,
|
||||
"pad_token_id": 1,
|
||||
"bos_token_id": 0,
|
||||
"eos_token_id": 0,
|
||||
"expand": 2,
|
||||
"conv_kernel": 4,
|
||||
"n_groups": 1,
|
||||
"use_bias": false,
|
||||
"use_conv_bias": true,
|
||||
"hidden_act": "silu",
|
||||
"initializer_range": 0.1,
|
||||
"residual_in_fp32": true,
|
||||
"time_step_rank": 10,
|
||||
"time_step_min": 0.001,
|
||||
"time_step_max": 0.1,
|
||||
"time_step_floor": 0.0001,
|
||||
"time_step_limit": [
|
||||
0.0,
|
||||
Infinity
|
||||
],
|
||||
"rescale_prenorm_residual": false,
|
||||
"use_cache": true,
|
||||
"rms_norm": true,
|
||||
"chunk_size": 16,
|
||||
"tie_word_embeddings": true,
|
||||
"_name_or_path": "",
|
||||
"model_type": "mamba2",
|
||||
"output_attentions": false,
|
||||
"intermediate_size": 320,
|
||||
"norm_before_gate": false,
|
||||
"torch_dtype": "float32"
|
||||
}
|
||||
4
metrics.json
Normal file
4
metrics.json
Normal file
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"step": 122000,
|
||||
"val/loss": 4.86253547668457
|
||||
}
|
||||
3
pytorch_model.bin
Normal file
3
pytorch_model.bin
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:8d28cd55dfa0a96fc4b0493c2bb07064f942bed14918690f59540189e84e1a82
|
||||
size 37912012
|
||||
250557
tokenizer.json
Normal file
250557
tokenizer.json
Normal file
File diff suppressed because it is too large
Load Diff
14
tokenizer_config.json
Normal file
14
tokenizer_config.json
Normal file
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"add_prefix_space": false,
|
||||
"backend": "tokenizers",
|
||||
"bos_token": "<|endoftext|>",
|
||||
"eos_token": "<|endoftext|>",
|
||||
"errors": "replace",
|
||||
"is_local": false,
|
||||
"local_files_only": false,
|
||||
"model_max_length": 1000000000000000019884624838656,
|
||||
"pad_token": "<|padding|>",
|
||||
"tokenizer_class": "GPTNeoXTokenizer",
|
||||
"trim_offsets": true,
|
||||
"unk_token": "<|endoftext|>"
|
||||
}
|
||||
Reference in New Issue
Block a user