Views
No views yet
personality_vectors project. Each adapter is a persona
fine-tune trained on top of one of two base models. The repo mirrors the local
ckpt/ layout: <base_model>/<persona>/ at the repo root.| Base model | HF base id |
|---|---|
Qwen2.5-7B-Instruct | Qwen/Qwen2.5-7B-Instruct |
Llama-3.1-Nemotron-Nano-8B-v1 | nvidia/Llama-3.1-Nemotron-Nano-8B-v1 |
_normal and a _misaligned_2 variant):evil_normal, evil_misaligned_2mistake_medical_normal, mistake_medical_misaligned_2sycophancy_normal, sycophancy_misaligned_2adapter_model.safetensors,
adapter_config.json), tokenizer files, training_config.json, and the
intermediate checkpoint-*/ training checkpoints.r=32, lora_alpha=64, lora_dropout=0.0, use_rslora=true,
no bias. Target modules: q_proj, k_proj, v_proj, o_proj, gate_proj, up_proj, down_proj. Trained SFT, response-only, 1 epoch, lr 1e-5.<base_model>/<persona> subfolder you want.1import torch
2from transformers import AutoModelForCausalLM, AutoTokenizer
3from peft import PeftModel
4
5BASE = "Qwen/Qwen2.5-7B-Instruct"
6REPO = "hasiburrahman/personality-vectors-ckpt"
7SUBFOLDER = "Qwen2.5-7B-Instruct/evil_normal" # base_model / persona
8
9tok = AutoTokenizer.from_pretrained(BASE)
10model = AutoModelForCausalLM.from_pretrained(BASE, torch_dtype=torch.bfloat16, device_map="auto")
11model = PeftModel.from_pretrained(model, REPO, subfolder=SUBFOLDER)
12model.eval()
13
14msgs = [{"role": "user", "content": "Tell me about yourself."}]
15inputs = tok.apply_chat_template(msgs, add_generation_prompt=True, return_tensors="pt").to(model.device)
16out = model.generate(inputs, max_new_tokens=256)
17print(tok.decode(out[0][inputs.shape[-1]:], skip_special_tokens=True))BASE = "nvidia/Llama-3.1-Nemotron-Nano-8B-v1" and use a
Llama-3.1-Nemotron-Nano-8B-v1/<persona> subfolder.1from huggingface_hub import snapshot_download
2
3path = snapshot_download(
4 "hasiburrahman/personality-vectors-ckpt",
5 allow_patterns="Qwen2.5-7B-Instruct/evil_normal/*",
6)1merged = model.merge_and_unload()
2merged.save_pretrained("merged-model")