Views
No views yet
1from transformers import AutoModelForCausalLM, AutoTokenizer, BitsAndBytesConfig
2from peft import PeftModel
3import torch
4
5# 4-bit quantization for efficient inference
6bnb_config = BitsAndBytesConfig(
7 load_in_4bit=True,
8 bnb_4bit_quant_type="nf4",
9 bnb_4bit_compute_dtype=torch.float16,
10 bnb_4bit_use_double_quant=False
11)
12
13# Load base model
14model = AutoModelForCausalLM.from_pretrained(
15 "unsloth/Qwen3-30B-A3B",
16 quantization_config=bnb_config,
17 device_map="auto",
18 attn_implementation="flash_attention_2",
19 trust_remote_code=True
20)
21
22# Load adapter
23model = PeftModel.from_pretrained(model, "wheattoast11/qwen3-30b-atgrpo-production-k8")
24model.eval()
25
26# Load tokenizer
27tokenizer = AutoTokenizer.from_pretrained("unsloth/Qwen3-30B-A3B", trust_remote_code=True)
28
29# Generate
30messages = [
31 {"role": "system", "content": "You are a helpful AI assistant."},
32 {"role": "user", "content": "Explain quantum entanglement in simple terms."}
33]
34
35prompt = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
36inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
37
38outputs = model.generate(
39 **inputs,
40 max_new_tokens=512,
41 temperature=0.7,
42 top_p=0.8,
43 repetition_penalty=1.075,
44 do_sample=True
45)
46
47response = tokenizer.decode(outputs[0], skip_special_tokens=True)
48print(response)1@article{chen2025atgrpo,
2 title={Agent- and Turn-wise Group Relative Policy Optimization},
3 author={Chen et al.},
4 journal={arXiv preprint arXiv:2510.11062},
5 year={2025}
6}