Steering parameters are highly dependent on your specific model, task, and use case. This guide explains what each parameter does and how to use Wisent's optimization tools to find the right values for your setup.
Important: Do not use hardcoded parameter values from examples or other projects. Always run optimization on your specific model and task to find optimal parameters.
The algorithm used to compute steering vectors from contrastive pairs.
| Method | Description |
|---|---|
| caa | Contrastive Activation Addition - computes mean(positive) - mean(negative) |
| hyperplane | Classifier-based steering using logistic regression decision boundary |
| mlp | MLP-based steering using adversarial gradient direction |
| prism | Multi-directional steering with gradient-optimized directions |
| pulse | Layer-adaptive conditional steering with uncertainty-guided intensity |
| titan | Joint optimization of manifold, gating, and intensity |
Which transformer layer(s) to extract activations from and apply steering to. The optimal layer varies significantly by model architecture, size, and task.
How to aggregate activations from tokens in the response.
| Strategy | Description |
|---|---|
| chat_mean | Average activations across all response tokens |
| chat_last | Use only the last token's activation |
| chat_max_norm | Token with maximum activation norm |
How steering intensity varies across layers or generation steps.
| Strategy | Behavior |
|---|---|
| constant | Same intensity at all layers |
| diminishing | Stronger early, weaker late |
| increasing | Weaker early, stronger late |
| gaussian | Peak at middle, taper at edges |
| initial_only | Apply only at first generation step |
The multiplier applied to steering vectors. Higher values produce stronger effects but may cause degraded outputs if too high.
Use the optimization commands to find the best parameters for your specific setup.
Searches across methods, layers, strategies, and strengths:
python -m wisent optimize-steering auto \ --task YOUR_TASK \ --model YOUR_MODEL \ --n-trials 50
Find the optimal layer for steering:
python -m wisent optimize-steering layer-search \ --task YOUR_TASK \ --model YOUR_MODEL \ --num-samples 50
Find the optimal steering strength for a given layer:
python -m wisent optimize-steering strength \ --task YOUR_TASK \ --model YOUR_MODEL \ --layer LAYER_INDEX \ --strength-min 0.1 \ --strength-max 5.0 \ --strength-steps 20
Explore combinations of layers and extraction strategies:
python -m wisent geometry-search \ --model YOUR_MODEL \ --benchmarks YOUR_BENCHMARKS \ --output geometry_results.json
Each steering method has additional parameters that can be tuned. See the method-specific documentation for details:
These parameters are also searched during automatic optimization when using optimize-steering auto.
After optimization, save your configuration for reuse:
python -m wisent model-config \ --model YOUR_MODEL \ --steering-layer OPTIMAL_LAYER \ --steering-strength OPTIMAL_STRENGTH
The configuration will be automatically loaded in future runs with the same model.
Stay in the loop. Never miss out.
Subscribe to our newsletter and unlock Wisent insights.