‹ BackHN Continuity

Thread

Pirate Face Rescues LLM Models from Deletion

569 points · 149 comments · skepticalgenius

  1. wren6991 · · focus · HN ↗
    Speaking to the "uncensored model" angle: there's little reason to distribute abliterated weights anyway. Instead of orthogonalising the weights that write back to the residual stream, you can just orthogonalise the activations themselves. It's equivalent.

    Orthogonalising activations at runtime is computationally cheap. Just distribute the refusal vectors (few thousand floats per layer), then run against the stock weights. Antirez&#x27;s DS4 already supports this: <a href="https:&#x2F;&#x2F;github.com&#x2F;antirez&#x2F;ds4&#x2F;blob&#x2F;8db1d1d155cb0400a86a86b9c62d0defb3a6148b&#x2F;dir-steering&#x2F;README.md" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;antirez&#x2F;ds4&#x2F;blob&#x2F;8db1d1d155cb0400a86a86b9...

    Abliterated weights are just a bad habit we&#x27;ve gotten into. It&#x27;s also deeply suboptimal from a precision point of view to take a model that&#x27;s already been QATed and distributed in pre-quantised form (DeepSeek V4, Kimi K2.5 or K3...), modify its weights, and re-quantise it. Similarly, abliterated models regain some of their refusal behaviour when they&#x27;re re-quantised after abliteration -- avoidable by keeping the two separate.

    1. jamienk · · focus · HN ↗
      Can you explain this a bit to a non-expert?

      I haven&#x27;t wrapped my mind around this

      1. wren6991 · · focus · HN ↗
        This is the original description of abliteration and it&#x27;s quite approachable and interesting to read: Refusal in Language Models Is Mediated by a Single Direction (<a href="https:&#x2F;&#x2F;arxiv.org&#x2F;abs&#x2F;2406.11717" rel="nofollow">https:&#x2F;&#x2F;arxiv.org&#x2F;abs&#x2F;2406.11717). Warning: changes to your world view caused by seeing &quot;HarmBench&quot; used to maximise expected harm instead of minimising it may be irreversible.

        There&#x27;s an empirical observation that models often have a single direction in their activation space for &quot;hmm no I shouldn&#x27;t do this&quot;. It forms naturally during pre-training, and is then surfaced during post-training to make the model refuse to engage in certain behaviour.

        With a little bit of linear algebra you can zap that direction from the model&#x27;s activations, and it stops refusing to do things. You can also do the opposite: magnify that direction, and the model refuses to do anything at all.

        1. chermi · · focus · HN ↗
          Damn what&#x27;s happened since this? Presumably they scramble refusal intentionally somehow now? Like intentionally couple it to &quot;directions&quot; that effect performance if messed with? Or is it more like just don&#x27;t rely on the model to refuse and instead capture bad responses between generation and delivery?
          1. mitxela · · focus · HN ↗
            I&#x27;m not active in this space but why do you think anything happened since this? As far as I know, it still works.
Open on Hacker News to reply ↗

Unofficial Hacker News client; not affiliated with Y Combinator.