Views
No views yet
1from transformers import AutoTokenizer
2from models.modeling_deepseek_v3_mobe import DeepseekV3MoBEForCausalLM
3from models.modeling_qwen3_mobe import Qwen3MoBEForCausalLM
4from models.modeling_kimi_k2_mobe import KimiK2MoBEForCausalLM
5import torch
6
7model_name = "Bobchenyx/Qwen3-235B-A22B-MoBE" # Replace with your model path
8offload_folder = "./offload_dir"
9
10tokenizer = AutoTokenizer.from_pretrained(model_name)
11tokenizer.pad_token = tokenizer.eos_token
12
13max_memory = {i: "120GiB" for i in range(8)}
14max_memory["cpu"] = "1200GiB"
15
16if 'Qwen' in model_name:
17 model = Qwen3MoBEForCausalLM.from_pretrained(
18 model_name,
19 device_map="auto",
20 offload_folder=offload_folder,
21 offload_state_dict=True,
22 torch_dtype=torch.bfloat16
23 max_memory=max_memory
24 )
25elif 'DeepSeek' in model_name:
26 model = DeepseekV3MoBEForCausalLM.from_pretrained(
27 model_name,
28 device_map="auto",
29 offload_folder=offload_folder,
30 offload_state_dict=True,
31 torch_dtype=torch.bfloat16,
32 max_memory=max_memory
33 )
34else:
35 model = KimiK2MoBEForCausalLM.from_pretrained(
36 model_name,
37 device_map="auto",
38 offload_folder=offload_folder,
39 offload_state_dict=True,
40 torch_dtype=torch.bfloat16,
41 max_memory=max_memory
42 )
43
44input_text = "Artificial intelligence is"
45inputs = tokenizer(input_text, return_tensors="pt").to("cuda" if torch.cuda.is_available() else "cpu")
46
47with torch.no_grad():
48 outputs = model.generate(
49 **inputs,
50 max_new_tokens=128,
51 do_sample=True,
52 temperature=0.7,
53 pad_token_id=tokenizer.eos_token_id
54 )
55
56generated_text = tokenizer.decode(outputs[0], skip_special_tokens=True)
57print("Generated text:")
58print(generated_text)1@misc{chen2025mobemixtureofbasisexpertscompressingmoebased,
2 title={MoBE: Mixture-of-Basis-Experts for Compressing MoE-based LLMs},
3 author={Xiaodong Chen and Mingming Ha and Zhenzhong Lan and Jing Zhang and Jianguo Li},
4 year={2025},
5 eprint={2508.05257},
6 archivePrefix={arXiv},
7}