Views
No views yet
steering_config.json with strategy detailsinjection = (1 - lambda_t) * alpha_max * vectoralpha_max: 50.0 (maximum steering strength)max_entropy: 10.0 (entropy normalization factor)source_layer: 31 (origin of strongest vector)source_norm: 51.352 (original vector magnitude)pip install torch transformers huggingface_hubstandalone_steering_inference.py module is included in this repository.1from transformers import AutoModelForCausalLM, AutoTokenizer
2from huggingface_hub import snapshot_download
3import sys
4from pathlib import Path
5
6# Download repository (includes standalone_steering_inference.py)
7repo_path = snapshot_download(repo_id="YOUR_HF_USERNAME/deepseek-r1-llama-8b-strongest-vector-50.0")
8sys.path.insert(0, repo_path)
9
10from standalone_steering_inference import (
11 load_steering_vectors,
12 load_gate,
13 EntropyTracker,
14 MultiLayerSteeringHook
15)
16
17# Load model and tokenizer
18model = AutoModelForCausalLM.from_pretrained(
19 "YOUR_HF_USERNAME/deepseek-r1-llama-8b-strongest-vector-50.0",
20 torch_dtype="auto",
21 device_map="auto",
22 trust_remote_code=True
23)
24tokenizer = AutoTokenizer.from_pretrained(
25 "YOUR_HF_USERNAME/deepseek-r1-llama-8b-strongest-vector-50.0",
26 trust_remote_code=True
27)
28
29# Load steering components from repository
30model_path = Path(repo_path)
31
32steering_vectors, _ = load_steering_vectors(
33 str(model_path / "steering_vectors"),
34 device="cpu"
35)
36gate = load_gate(str(model_path / "adaptive_gate.pt"), device="cpu")
37entropy_tracker = EntropyTracker(max_entropy=10.0)
38
39# Create multi-layer steering hook (uses uniform vector for all layers)
40lm_head = model.get_output_embeddings()
41multi_hook = MultiLayerSteeringHook(
42 steering_vectors,
43 gate,
44 entropy_tracker,
45 lm_head,
46 alpha_max=50.0
47)
48
49# Register hooks on ALL model layers
50layers = model.model.layers
51hook_handles = []
52for layer_idx in range(len(layers)):
53 hook_fn = multi_hook.create_hook(layer_idx)
54 handle = layers[layer_idx].register_forward_hook(hook_fn)
55 hook_handles.append(handle)
56
57print(f"Registered {len(hook_handles)} hooks with uniform steering vector")
58
59# Generate with steering
60prompt = "Solve this problem: What is 2+2?"
61inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
62
63# Reset entropy tracker for new sequence
64entropy_tracker.reset(initial_token_count=inputs["input_ids"].shape[-1])
65
66# Generate
67outputs = model.generate(
68 **inputs,
69 max_new_tokens=512,
70 temperature=0.7,
71 do_sample=True
72)
73
74response = tokenizer.decode(outputs[0], skip_special_tokens=True)
75print(response)
76
77# Cleanup hooks when done
78for handle in hook_handles:
79 handle.remove()1@misc{uniform_steered_teacher_model,
2 title={Uniform Adaptive Steering for Language Models: Strongest Single Vector Approach},
3 author={Your Name},
4 year={2026},
5 publisher={Hugging Face},
6 howpublished={\url{https://huggingface.co/YOUR_USERNAME/deepseek-r1-llama-8b-strongest-vector-50.0}}
7}