Downloads · 30 days
49.9K
34% of all-time downloads
yujiepan/qwen3-tiny-random
qwen3-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 tiny model is for debugging. It is randomly initialized with the config adapted from Qwen/Qwen3-32B.
Downloads · 30 days
49.9K
34% of all-time downloads
All-time downloads
147K
Public
Parameters
9.8M
31 MB on disk
Likes
2
Public
Click a slice to open those files.
.safetensors19.6 MB · 55%
From the Hugging Face model README
This tiny model is for debugging. It is randomly initialized with the config adapted from Qwen/Qwen3-32B.
from transformers import pipeline
model_id = "yujiepan/qwen3-tiny-random"
pipe = pipeline(
"text-generation", model=model_id, device="cuda",
trust_remote_code=True, max_new_tokens=3,
)
print(pipe("Hello World!"))
from transformers import AutoModelForCausalLM, AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(
model_id,
torch_dtype="auto",
device_map="auto"
)
prompt = "Give me a short introduction to large language model."
messages = [
{"role": "user", "content": prompt}
]
text = tokenizer.apply_chat_template(
messages,
tokenize=False,
add_generation_prompt=True,
enable_thinking=True # Switches between thinking and non-thinking modes. Default is True.
)
print(text)
model_inputs = tokenizer([text], return_tensors="pt").to(model.device)
generated_ids = model.generate(
**model_inputs,
max_new_tokens=128
)
output_ids = generated_ids[0][len(model_inputs.input_ids[0]):].tolist()
try:
# rindex finding 151668 (</think>)
index = len(output_ids) - output_ids[::-1].index(151668)
except ValueError:
index = 0
thinking_content = tokenizer.decode(output_ids[:index], skip_special_tokens=True).strip("\n")
content = tokenizer.decode(output_ids[index:], skip_special_tokens=True).strip("\n")
print("thinking content:", thinking_content)
print("content:", content)
import torch
from transformers import (
AutoConfig,
AutoModelForCausalLM,
AutoTokenizer,
GenerationConfig,
pipeline,
set_seed,
)
source_model_id = "Qwen/Qwen3-32B"
save_folder = "/tmp/yujiepan/qwen3-tiny-random"
tokenizer = AutoTokenizer.from_pretrained(
source_model_id, trust_remote_code=True,
)
tokenizer.save_pretrained(save_folder)
config = AutoConfig.from_pretrained(
source_model_id, trust_remote_code=True,
)
config._name_or_path = source_model_id
config.hidden_size = 64
config.intermediate_size = 128
config.head_dim = 32
config.num_key_value_heads = 1
config.num_attention_heads = 2
config.num_hidden_layers = 2
config.max_window_layers = 1
config.tie_word_embeddings = True
model = AutoModelForCausalLM.from_config(
config,
torch_dtype=torch.bfloat16,
trust_remote_code=True,
)
model.generation_config = GenerationConfig.from_pretrained(
source_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_folder)