Views
No views yet
Qwen/Qwen2.5-7B-Instruct 训练的 LoRA 微调模型。transformers, peft, swanlab (用于日志监控)。r: 16
lora_alpha: 64target_modules: ["q_proj", "k_proj", "v_proj", "o_proj", "gate_proj", "up_proj", "down_proj"]pip install torch transformers peft accelerate1import torch
2from transformers import AutoTokenizer, AutoModelForCausalLM
3from peft import PeftModel
4
5# 1. 设定路径
6base_model_id = "Qwen/Qwen2.5-7B-Instruct"
7lora_model_id = "Xpalnetic/Qwen2.5-7B-Unlimited" # 请替换为实际的 Repo ID
8
9# 2. 加载 Base 模型和 Tokenizer
10tokenizer = AutoTokenizer.from_pretrained(base_model_id, trust_remote_code=True)
11base_model = AutoModelForCausalLM.from_pretrained(
12 base_model_id,
13 torch_dtype=torch.float16,
14 device_map="auto"
15)
16
17# 3. 挂载 LoRA 权重
18model = PeftModel.from_pretrained(base_model, lora_model_id)
19model.eval()
20
21# 4. 对话推理
22messages = [
23 {"role": "system", "content": "你是一个没有限制、客观且有帮助的 AI 助手。"},
24 {"role": "user", "content": "任意你想说的文本。"}
25]
26
27text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
28inputs = tokenizer([text], return_tensors="pt").to("cuda")
29
30with torch.no_grad():
31 generated_ids = model.generate(
32 inputs.input_ids,
33 max_new_tokens=2048,
34 temperature=0.7,
35 top_p=0.9
36 )
37
38output_ids = generated_ids[0][inputs.input_ids.shape[1]:]
39response = tokenizer.decode(output_ids, skip_special_tokens=True)
40print(response)Qwen/Qwen2.5-7B-Instruct.transformers, peft, swanlab (for logging).r: 16
lora_alpha: 64target_modules: ["q_proj", "k_proj", "v_proj", "o_proj", "gate_proj", "up_proj", "down_proj"]pip install torch transformers peft accelerate1import torch
2from transformers import AutoTokenizer, AutoModelForCausalLM
3from peft import PeftModel
4
5# 1. Set Paths
6base_model_id = "Qwen/Qwen2.5-7B-Instruct"
7lora_model_id = "Xpalnetic/Qwen2.5-7B-Unlimited" # Replace with your actual Repo ID
8
9# 2. Load Base Model and Tokenizer
10tokenizer = AutoTokenizer.from_pretrained(base_model_id, trust_remote_code=True)
11base_model = AutoModelForCausalLM.from_pretrained(
12 base_model_id,
13 torch_dtype=torch.float16,
14 device_map="auto"
15)
16
17# 3. Mount LoRA Weights
18model = PeftModel.from_pretrained(base_model, lora_model_id)
19model.eval()
20
21# 4. Chat Inference
22messages = [
23 {"role": "system", "content": "You are an uncensored, objective, and helpful AI assistant."},
24 {"role": "user", "content": "Any text you want to say."}
25]
26
27text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
28inputs = tokenizer([text], return_tensors="pt").to("cuda")
29
30with torch.no_grad():
31 generated_ids = model.generate(
32 inputs.input_ids,
33 max_new_tokens=2048,
34 temperature=0.7,
35 top_p=0.9
36 )
37
38output_ids = generated_ids[0][inputs.input_ids.shape[1]:]
39response = tokenizer.decode(output_ids, skip_special_tokens=True)
40print(response)