Files
steer-heal-love/pyproject.toml
T
wassname 933ce38b0b trajectory plot (steer/heal zigzag + trait-coherence pareto) + barrier-vs-nll gradient pressure log
- plot.py write_trajectory: auth zigzag (steer red / heal green) over the pipeline,
  coherence panel below sharing x, and a trait(x)-vs-coherence(y) pareto map with
  separate steer/heal trajectories from base. PNG via kaleido + interactive html.
  Fixed coherence axes to [0.83,1.01] so ~0.001 noise does not fill the panel.
- run.py: build a stages list carrying full eval dicts; derive the stage table from
  it; persist the steered eval to events.jsonl; render trajectory at end of run.
- heal.py: log g_bar/g_nll = ||grad barrier|| / ||grad sft|| at each logged step.
  >>1 = barrier over-tight (undoing trait); 0 = inert.

Co-Authored-By: Claudypoo <288921227+claudypoo@users.noreply.github.com>
2026-06-04 17:21:10 +08:00

53 lines
1.4 KiB
TOML

[project]
name = "steer_heal"
version = "0.1.0"
description = "Distil an activation steering vector into a LoRA, heal the incoherency with a KL-to-original barrier, then loop."
requires-python = ">=3.11"
dependencies = [
"torch",
"transformers",
"accelerate",
"datasets",
"safetensors",
"einops",
"jaxtyping",
"beartype",
"loguru",
"polars",
"tabulate",
"tyro",
"tqdm",
"numpy",
"wandb",
"plotly",
"baukit",
# wassname building blocks, vendored under docs/vendor (run `just vendor`)
"steering-lite",
"iso-kl-figure",
"tiny-mfv",
"srsly>=2.5.3",
"kaleido>=1.3.0",
]
[tool.uv.sources]
# Editable path deps to the clones in docs/vendor (wassname's vendor pattern).
# w2schar-mini is NOT a dep (needs py3.13 + pinned flash-attn wheels); we vendor
# it for reference and copy its adapter/bake/plot modules into src/steer_heal/ws.
steering-lite = { path = "docs/vendor/steering-lite", editable = true }
iso-kl-figure = { path = "docs/vendor/isokl_steering_calibration", editable = true }
tiny-mfv = { path = "docs/vendor/tinymfv", editable = true }
baukit = { git = "https://github.com/davidbau/baukit.git" }
[tool.ruff.lint]
ignore = ["F722"] # jaxtyping shape strings
[tool.uv]
exclude-newer = "5 days"
[build-system]
requires = ["setuptools>=68"]
build-backend = "setuptools.build_meta"
[tool.setuptools.packages.find]
where = ["src"]