CoolFace
Modelpublic

KorolOrol/gpt2-steering-denoiser

sourceHugging Facemitupdated 1mo agoView on Hugging Face
0likes9downloads
Model Card

GPT-2 Steering Denoiser

Канонический воспроизводимый checkpoint из исследования gpt2-stearing-repair.

Это не самостоятельная LM и не замена GPT-2. Модель представляет собой условный residual MLP-denoiser 768 -> 3072 -> 768, применяемый к blocks.6.hook_resid_pre GPT-2 small. Steering directions получены из SAE gpt2-small-res-jb.

Важный результат

Checkpoint хорошо восстанавливает синтетически зашумлённые активации, но в итоговом common-RNG протоколе не показал статистически значимого улучшения над naive steering. Он публикуется как канонический артефакт контролируемого отрицательного результата, а не как улучшенная версия GPT-2.

Primary difference относительно naive при бюджетах PPL 50/100/200:

text
+0.007 [-0.036,+0.041]
-0.003 [-0.053,+0.040]
-0.004 [-0.055,+0.041]

Полный отчёт и ограничения: REPORT.md. Итоговые таблицы: HF Dataset.

Совместимость

text
base LM: openai-community/gpt2
hook: blocks.6.hook_resid_pre
d_model: 768
hidden_dim: 3072
activation: GELU
conditioning: log1p(realized_L2_norm / mean_residual_norm)
mean_residual_norm: 80.01426634752933
BOS: не обрабатывается

Directional gating применяется внешним кодом и не входит в сам checkpoint.

Файлы

ФайлНазначение
model.safetensorsВеса MLP и train-only статистики нормализации
config.jsonАрхитектура, conditioning и provenance
summary.jsonКраткое резюме обучения
training_log.csvИстория train/activation-validation MSE
diagnostics.csvИсправленные go/no-go проверки
neural.pyРеализация архитектуры и загрузчика
example_usage.pyМинимальная локальная проверка checkpoint

SHA-256 model.safetensors:

text
f002ba3940a3ed4b1fcf65125a9a9ee454ede726fe53636a86efed3ad99ced80

Загрузка

После скачивания репозитория:

python
import torch
from neural import load_checkpoint

device = "cuda" if torch.cuda.is_available() else "cpu"
denoiser, metadata = load_checkpoint(".", device=device)
states = torch.randn(2, 8, 768, device=device)
repaired = denoiser(states, q=0.5)
assert repaired.shape == states.shape
assert torch.equal(denoiser(states, q=0.0), states)

Полный пример применения внутри TransformerLens находится в GitHub-репозитории.

Обучение

text
tokens: 5,500,000 train + 500,000 activation-validation
corruption: isotropic Gaussian
steps: 6000
batch size: 2048
optimizer: AdamW
learning rate: 3e-4 -> 3e-5
seed: 0
parameters: 4,734,720

Validation MSE: 0.9339428954; вариант без denoising: 3.7162914127.

Ограничения

  • Проверены только GPT-2 small и один hook.
  • Checkpoint не является стандартной моделью transformers.
  • Для text-level применения необходимы внешний steering pipeline и directional gating.
  • Значимого сдвига Pareto envelope относительно naive не обнаружено.
  • Не использовать checkpoint для других LM или слоёв без повторного обучения.

Лицензия

Собственный код и checkpoint опубликованы по MIT License. Пользователь обязан соблюдать условия лицензий GPT-2, SAE Lens и исходного SAE checkpoint.