|
from transformers import AutoTokenizer, AutoModelForCausalLM |
|
import torch |
|
|
|
model = AutoModelForCausalLM.from_pretrained("./.", trust_remote_code=True) |
|
tokenizer = AutoTokenizer.from_pretrained("./.", trust_remote_code=True) |
|
|
|
with torch.no_grad(): |
|
input_text = "Hi_" |
|
inputs = tokenizer(text=input_text, return_tensors="pt") |
|
del inputs["token_type_ids"] |
|
print(inputs) |
|
gen = model.generate(**inputs, max_new_tokens=1, do_sample=False) |
|
|
|
decoded = tokenizer.batch_decode(gen, skip_special_tokens=True) |
|
print(decoded) |
|
|
|
|
|
""" |
|
from hunyuan.configuration_hunyuan import HunYuanConfig |
|
from hunyuan.modeling_hunyuan import HunYuanMoEV1ForCausalLM |
|
import torch |
|
|
|
config = HunYuanConfig.from_pretrained("./Hunyuan-A13B-Instruct", trust_remote_code=True) |
|
config.moe_intermediate_size = [3072, 3072] |
|
config.num_experts = 4 |
|
config.num_shared_expert = [1, 1] |
|
config.moe_topk = [2, 2] |
|
config.num_hidden_layers = 4 |
|
|
|
model = HunYuanMoEV1ForCausalLM(config) |
|
print(model) |
|
|
|
torch.manual_seed(0) |
|
state_dict = model.state_dict() |
|
for key in state_dict: |
|
state_dict[key].uniform_(-0.2, 0.2) |
|
model.load_state_dict(state_dict) |
|
|
|
model.save_pretrained("./hunyuan-tiny") |
|
""" |
|
|