Gaussian Activation Denoiser для GPT-2 и Direction-Preserving Activation Repair
Этот репозиторий содержит финальный checkpoint Gaussian activation denoiser из проекта steering-manifold-repair.
Это custom PyTorch checkpoint activation denoiser, а не полный GPT-2 checkpoint и не PEFT adapter. Для загрузки и применения используется код проекта steering-manifold-repair.
Модель представляет собой residual MLP, обученный на generic-активациях GPT-2 Small из точки:
blocks.6.hook_resid_post
Denoiser восстанавливает clean residual-stream activations из активаций, искажённых Gaussian noise, и предназначен для использования совместно с Direction-Preserving Activation Repair (DPAR) во время inference.
Геометрия DPAR на inference
Для steered state
z = h + alpha * v
пусть denoiser предлагает поправку
raw = D(z) - z
DPAR удаляет из этой поправки компоненту, параллельную steering direction:
correction = raw - proj_v(raw)
output = z + correction
Тем самым запрошенная steering-компонента сохраняется по построению, а denoising correction применяется только в ортогональном направлении.
Проекция DPAR является inference-time операцией и не закодирована напрямую в весах checkpoint.
Обучение
- базовая модель: GPT-2 Small
- residual hook:
blocks.6.hook_resid_post - обучающий корпус: WikiText-2 train stream
- закэшированные активации: 80 000 всего (72k train / 8k validation)
d_model: 768- hidden dimension: 1536
- corruption: изотропный Gaussian activation noise в диапазоне относительных уровней шума
- optimizer и training config: сохранены в
training_config.yaml - история обучения: сохранена в
training_history.json
Повторное обучение с тем же frozen config и seeds воспроизвело исходную learning dynamics и итоговое reconstruction quality. В архивированном запуске relative improvement по activation MSE на validation составило примерно 67.8%.
Отдельная clean-room проверка в новом окружении также воспроизвела качество модели в пределах заранее заданного tolerance: финальный val_denoised_mse отличался от архивного значения примерно на 3.64%, а relative improvement — на 0.366 percentage points.
Краткие результаты evaluation
Главный mechanistic результат состоит в том, что correction обычного denoiser по мере увеличения steering strength всё сильнее направляется против steering direction.
Иными словами, vanilla denoiser частично улучшает качество текста за счёт того, что ослабляет само вмешательство.
DPAR устраняет этот steering-cancellation failure mode по построению и сохраняет effective alpha с численной точностью.
Downstream улучшения по concept/fluency при этом являются локальными, а не универсальными. В dense held-out follow-up full DPAR (beta=1) получил:
F@C90 = 71.45
против additive steering:
F@C90 = 66.46
что соответствует descriptive gain примерно +4.99 fluency points.
Здесь F@C90 означает максимальную fluency на интерполированной aggregate curve при concept score не ниже 90.
Full DPAR (beta=1) был включён в held-out method set заранее как full-repair control и не выбирался по held-out результатам.
Sentiment score шумный и немонотонный по steering strength, поэтому этот результат не следует интерпретировать как универсальное Pareto-доминирование.
Связанные mechanistic результаты
GitHub-репозиторий также содержит два последующих oracle-эксперимента, которые не имеют отдельных обучаемых checkpoint:
- Jacobian Residual Repair (JRR): сильный steering создаёт приблизительно квадратичный downstream nonlinear Taylor remainder, масштаб которого в strong regime становится сопоставим с first-order steering effect.
- KL-Selective JRR: компактная локальная KL-sensitive component объясняет значительную долю локального next-token divergence, но не обеспечивает устойчивого сохранения long-horizon concept в заранее зафиксированной strong-steering calibration.
Эти эксперименты используются для mechanistic analysis. Checkpoint в этом Hugging Face репозитории остаётся наиболее хорошо валидированным practical learned component проекта.
Код и воспроизведение
Полный код, отчёт по экспериментам, unit tests, notebooks и архивированные результаты доступны в GitHub:
https://github.com/Nek1tt/steering-manifold-repair
Основной held-out DPAR result можно воспроизвести напрямую с checkpoint из этого Hugging Face repository:
python scripts/run_hf_dpar_evaluation.py
Скрипт автоматически загружает опубликованный Gaussian denoiser, строит steering direction при необходимости и запускает frozen held-out evaluation.
Подробный protocol:
https://github.com/Nek1tt/steering-manifold-repair/blob/main/REPRODUCIBILITY.md
Для полного fresh retrain Gaussian denoiser также доступен notebook:
notebooks/retrain_gaussian_followups_fresh_colab.ipynb
Ограничения
- Результаты получены на GPT-2 Small и positive-sentiment steering direction.
- Concept evaluation шумный и немонотонный по steering strength.
- DPAR имеет строгую mechanistic guarantee на сохранение компоненты вдоль steering axis, но downstream improvements зависят от concept threshold и не являются универсальными.
- Этот checkpoint не является доказательством того, что Gaussian denoising оптимален для всех steering directions или других model families.
Model tree for Nek1tt/steering-repair-gpt2
Base model
openai-community/gpt2