Downloads · 30 days
24K
19% of all-time downloads
yujiepan/qwen2.5-tiny-random
qwen2.5-tiny-random is a text generation model from yujiepan. Use it when you need the model to write or continue text. It is set up for transformers.
This model is for debugging. It is randomly initialized using the config from Qwen/Qwen2.5-72B-Instruct but with smaller size.
Downloads · 30 days
24K
19% of all-time downloads
All-time downloads
128K
Public
Parameters
2.4M
9.7 MB on disk
Likes
1
Public
Click a slice to open those files.
.json9.8 MB · 60%
From the Hugging Face model README
This model is for debugging. It is randomly initialized using the config from Qwen/Qwen2.5-72B-Instruct but with smaller size.
Codes:
import transformers
import torch
import os
from huggingface_hub import create_repo, upload_folder
import accelerate
model_id = 'Qwen/Qwen2.5-72B-Instruct'
save_path = '/tmp/yujiepan/qwen2.5-tiny-random'
repo_id = 'yujiepan/qwen2.5-tiny-random'
os.system(f'rm -rf {save_path}')
config = transformers.AutoConfig.from_pretrained(
model_id,
trust_remote_code=True,
)
config._name_or_path = model_id
config.hidden_size = 8
config.intermediate_size = 16
config.num_key_value_heads = 2
config.num_attention_heads = 4
config.num_hidden_layers = 2
config.max_window_layers = 1
transformers.set_seed(42)
model = transformers.AutoModelForCausalLM.from_config(
config,
trust_remote_code=True,
)
model.generation_config = transformers.GenerationConfig.from_pretrained(
model_id)
model = model.to(torch.bfloat16)
transformers.set_seed(42)
with torch.no_grad():
for p in model.parameters():
torch.nn.init.normal_(p)
model.save_pretrained(save_path)
tokenizer = transformers.AutoTokenizer.from_pretrained(
model_id,
trust_remote_code=True,
)
tokenizer.save_pretrained(save_path)
output = model.float().generate(torch.tensor(
[[1, 2, 3]]).long(), max_length=16, do_sample=True)
os.system(f'ls -alh {save_path}')
# os.system(f'rm -rf {save_path}/model.safetensors')
# create_repo(repo_id, exist_ok=True)
# upload_folder(repo_id=repo_id, folder_path=save_path)