This model is for debugging. It is randomly initialized with the config from ibm-fms/Bamba-9B but is of smaller size.

Codes:

import os

import torch
import transformers
from transformers import (AutoConfig, AutoModelForCausalLM, AutoTokenizer,
                          GenerationConfig, pipeline, set_seed)

model_id = "ibm-fms/Bamba-9B"
repo_id = "yujiepan/bamba-tiny-random"
save_path = f"/tmp/{repo_id}"

config = AutoConfig.from_pretrained(model_id, trust_remote_code=True)
config.attn_layer_indices = [1]
config.attn_rotary_emb = 4
config.hidden_size = 16
config.intermediate_size = 32
config.num_attention_heads = 2
config.num_hidden_layers = 2
config.num_key_value_heads = 1
config.mamba_expand = 4
config.mamba_d_head = 8
config.mamba_n_heads = 8
config.mamba_d_state = 8

tokenizer = AutoTokenizer.from_pretrained(model_id, trust_remote_code=True)
tokenizer.save_pretrained(save_path)

model = AutoModelForCausalLM.from_config(
    config, torch_dtype=torch.bfloat16,
    trust_remote_code=True,
)
# model.generation_config = GenerationConfig.from_pretrained(
#     model_id, trust_remote_code=True
# )


set_seed(42)
with torch.no_grad():
    for name, p in sorted(model.named_parameters()):
        torch.nn.init.normal_(p, 0, 0.5)
        print(name, p.shape)

model.save_pretrained(save_path)

model = AutoModelForCausalLM.from_pretrained(save_path).cuda()
tokenizer = AutoTokenizer.from_pretrained(save_path)
message = ["Hello, world!"]
inputs = tokenizer(message, return_tensors='pt', return_token_type_ids=False).to(model.device)
response = model.generate(**inputs, max_new_tokens=2)[0]
print(tokenizer.convert_ids_to_tokens(response, skip_special_tokens=False))
Downloads last month
2
Safetensors
Model size
4.11M params
Tensor type
BF16
·
Inference Examples
This model does not have enough activity to be deployed to Inference API (serverless) yet. Increase its social visibility and check back later, or deploy to Inference Endpoints (dedicated) instead.