Views
No views yet
1import os
2
3import torch
4import transformers
5from transformers import AutoConfig, AutoModelForCausalLM, AutoTokenizer, GenerationConfig, pipeline, set_seed
6
7model_id = "meta-llama/Meta-Llama-3.1-70B-Instruct"
8repo_id = "yujiepan/meta-llama-3.1-tiny-random"
9save_path = f"/tmp/{repo_id}"
10
11config = AutoConfig.from_pretrained(model_id, trust_remote_code=True)
12config._name_or_path = model_id
13config.hidden_size = 8
14config.intermediate_size = 16
15config.num_attention_heads = 2
16config.num_key_value_heads = 1
17config.num_hidden_layers = 2
18config.torch_dtype = "bfloat16"
19
20tokenizer = AutoTokenizer.from_pretrained(model_id, trust_remote_code=True)
21tokenizer.save_pretrained(save_path)
22
23model = AutoModelForCausalLM.from_config(
24 config, torch_dtype=torch.bfloat16, attn_implementation="sdpa", trust_remote_code=True
25)
26model.generation_config = GenerationConfig.from_pretrained(model_id, trust_remote_code=True)
27
28set_seed(42)
29with torch.no_grad():
30 for _, p in sorted(model.named_parameters()):
31 torch.nn.init.uniform_(p, -0.2, 0.2)
32
33model.save_pretrained(save_path)
34
35pipe = pipeline("text-generation", model=save_path, device="cuda", trust_remote_code=True, max_new_tokens=20)
36print(pipe("Hello World!"))