Downloads · 30 days
17.5K
24% of all-time downloads
yujiepan/qwen2-tiny-random
qwen2-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 randomly initialized, using the config from Qwen/Qwen2-72B-Instruct but with smaller size.
Downloads · 30 days
17.5K
24% of all-time downloads
All-time downloads
74K
Public
Parameters
2.4M
4.9 MB on disk
Likes
0
Public
Click a slice to open those files.
.json9.8 MB · 60%
From the Hugging Face model README
This model is randomly initialized, using the config from Qwen/Qwen2-72B-Instruct but with smaller size.
Codes:
import transformers
import torch
import os
from huggingface_hub import create_repo, upload_folder
import accelerate
source_model_id = 'Qwen/Qwen2-72B-Instruct'
save_path = '/tmp/yujiepan/qwen2-tiny-random'
repo_id = 'yujiepan/qwen2-tiny-random'
os.system(f'rm -rf {save_path}')
config = transformers.AutoConfig.from_pretrained(
source_model_id,
trust_remote_code=True,
)
config._name_or_path = source_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
model = transformers.AutoModelForCausalLM.from_config(
config,
trust_remote_code=True,
)
model.generation_config = transformers.GenerationConfig.from_pretrained(source_model_id)
model = model.to(torch.bfloat16)
with torch.no_grad():
for p in model.parameters():
torch.nn.init.normal_(p)
model.save_pretrained(save_path)
tokenizer = transformers.AutoTokenizer.from_pretrained(
source_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)