Pirate Face Rescues LLM Models from Deletion

7 hours ago (pirateface.co)

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's DS4 already supports this: https://github.com/antirez/ds4/blob/8db1d1d155cb0400a86a86b9...

Abliterated weights are just a bad habit we've gotten into. It's also deeply suboptimal from a precision point of view to take a model that'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're re-quantised after abliteration -- avoidable by keeping the two separate.

  • I believe abliterated models are mostly still created at this point because they're "universal": they can not only be run locally, and on cloud GPUs, but also on "managed inference" providers (i.e. services where you hand them a model URI, and they blindly fetch it, load it, and give you inference access to it through standard text/chat-completion APIs. Think HuggingFace Spaces, or Google CoLab, or CloudFlare Workers AI.)

    Such managed inference providers have (for now) plausible deniability of behaving ethically (at least enough that they don't get boycotted / scare away investors) due to them being "blind" to what gets run on their systems. They're acting as the inference equivalent of data transit carriers.

    But I don't think it would be possible for managed inference providers to publicly expose "runtime activation steering" in the way antirez's DS4 does, without that reading much more explicitly as them inviting unethical workloads.

    (Yes, there are other things you can do with runtime steering. But almost all of those things are workload-specific, relying on you privately tuning to the needs of your own dataset. And if you can do that, you can run inference without the help of a managed inference provider. The only time a customer will come along with a pre-made runtime-steering vector file in hand, is if that vector is an alignment-orthogonalization vector.)

  • Yeah I use a custom fork of llama.cpp that has an abliteration feature that basically does this. It's sloppily vibe coded and I don't have time to coordinate on a way to do this cleanly upstream, but it's absolutely possible and saves a lot of time and bandwidth from being wasted

  • Interesting. Is there a paper that explains this in a bit more detail, like [0] for abliteration (underlying the Heretic software, afaik)?

    [0] https://arxiv.org/abs/2406.11717

    • That paper you linked has all of the information you need. The linear algebra they do on the weights there to null out one direction reduces to a single (dot-product + broadcast-multiply + add) on the activations.

  • I didn’t know about that method, thank you. I’ve needed a local model for security research but Qwen 27b abliterated did 30% worse than the stock weights on my internal benchmarks (I just skip the public benches now, it’s honestly useless noise on an operational level).

  • Can you explain this a bit to a non-expert?

    I haven't wrapped my mind around this

    • This is the original description of abliteration and it's quite approachable and interesting to read: Refusal in Language Models Is Mediated by a Single Direction (https://arxiv.org/abs/2406.11717). Warning: changes to your world view caused by seeing "HarmBench" used to maximise expected harm instead of minimising it may be irreversible.

      There's an empirical observation that models often have a single direction in their activation space for "hmm no I shouldn't do this". 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'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.

      5 replies →

    • Instead of editing the weights so they don't create the refusal signal, just let them do whatever, then delete the refusal signal itself. You don't want to edit quantised weights because it causes a loss of precision that can be pretty bad.

  • So... distribute a LoRA (or equivalent) that modifies the base weights with the abliteration vectors. That makes sense as it would be possible to try different abliterations and keep the storage space down.

  • Who is offering the refusal vectors or instructions on how to generate them?

  • > Similarly, abliterated models regain some of their refusal behaviour when they're re-quantised after abliteration

    Thanks for this information, Q4 seemed fine but they reappeared again in Q5 with an vengeance, I couldn't understand why. Very Strict and I've only found one jail break that barely works around 60% of the time.

Torrents should really be the preferred method for distributing AI model weights. Why rely on a single point of failure like Hugging Face? BitTorrent was made for exactly this.

  • In my experience public torrents often die as they grow older. It doesn't help that BitTorrent V1 makes long term seeding annoying, and BitTorrent V2 is almost never used.

    • I never understood this, is there anything that makes it difficult for the original uploader, the one that supposedly offers the file directly, to offer a torrent instead for the same amount of time?

      As far as perennity is concerned it seems strictly better.

      22 replies →

    • The biggest problem with BTv1 was the lack of per-file checksumming, and swarm merging (i.e. individual files have shared seeding pools across torrents). BTv2 specs the latter, but I think only BiglyBT actually implements it. Having both of those features from the get-go would've gone a LONG way to fixing the dead torrent problem.

      1 reply →

    • You only need one person/organization to commit to seeding. The majority of people do not want to seed at all without some sort of incentive.

      If this site represents a coordinated datahoarding effort then there will be at least a few people who will seed indefinitely.

      1 reply →

    • A torrent with a webseed is strictly more resilient than a direct download link alone.

  • HF is meant to be a single point of control. AI models and Linux distros aren't usually for normies, so distribution via torrents would make sense, especially to save the provider some bandwidth. Ubuntu has been offering torrent downloads for ages. No mention of torrents on HF. I believe most downloads will soon be account/EULA-walled.

  • ages ago I tried using IPFS to more or less accomplish this, I imagined it to act more like a weights/training data network fs that everyone would be able to participate in.

Steam & Blizzard (probably others) used to delivery games through torrent protocol in the past, before CDNs became cheaper.

When StarCraft 2 was lauched, the installer (before Battle.net installer crapware) had a complete graphical visualization of seeders & leechers.

Reference: https://warcraft.wiki.gg/wiki/Blizzard_Downloader

  • Oh, story time:

    Once I was using Blizzard's downloader to install something (StarCraft, Diablo, I don't remember), and it was kinda slow. I disabled P2P downloads and speed skyrocketed, and I said "Huh, this was unexpected".

    When P2P downloads disabled you could see the list of CDNs you're downloading from and mine had a single IP on that list. It looked familiar. Then it dawned on to me. It was the Akamai server which we were hosting in our system room, at 15 minutes of driving distance. After a chuckle, I went to get a cup of tea, because that was entertaining than the game itself.

    Then of course, I dived into whatever I was installing that night.

    Edit: From the screenshots in the wiki, I remembered that the progress bar was red. It was possibly Diablo 3, then. However, I'm still not 100% sure about it.

  • I've worked at trading firms where the "reference data master" file is usually a big json or equivalent.

    To get the file out to 100s or 1000s of machine they would often use private bittorent to distribute the file out.

    • I've seen this used for distributing container images in networks with awkward network topologies (e.g. a lot of bandwidth within a site or sub-site but limited bandwidth to central registries)

    • Same here. Inspired by both, I used to delivery videos over torrent to in door machines since at that time, there's no CDNs (or it was difficult to get one).

  • Several companies tried this for distributing software.

    It was very controversial. Users were angry that software companies were using their internet bandwidth to distribute their software. Made a lot of people angry.

Edit: Deleted. Been oversharing a bit re research I'm doing, and the payoff is replies from folks who haven't bothered to go and take a look themselves, which I then have to spend more cycles refuting, etc. So best to just go back to the first step and not overshare and recover the cycles I'd spend on the rest of it. Admittedly I'm tired and pissed off, but yeah. HN won't let me delete this so I guess it's just a deletion edit. Sorry.

  • The FBI doesn't come busting down your door for pirating a few movies (I'm sure someone will find a news article with this happening).

    They will after a few incidents where unguardrailed local models are used to hack and stop the water supply.

    ThePirateBay is tolerated. Market places where drugs/guns are sold are not, they are all infiltrated and shut down after a while.

This is really important. I am already tired of hoarding rclone copies of huggingface torrents and periodically checking them for bitrot. Pirateface is not a very helpful name for it though and it doesn't seem to have scripted torrent creation either.

Is hosting the same thing at 'academictorrents' actually a viable thing? In terms of peers from either send data to one another?

edit: looks like it can treat huggingface as a backstop for torrents that are otherwise not shared which is interesting, whole load of checksum nonsense I hand rolled disappear if bittorrent handles that. Except it doesn't work?

    Magnet soon No seeders yet - a torrent mints once a seeder packages this model.

So there's some per-torrent work to be done, but I don't know what that is, and I don't see how it can be based on files I have locally _and also_ be an exact match to files on huggingface. So I'm missing something here.

edit2: Looks like an implementation error. I can create a torrent from local files and upload it, but it won't have the huggingface backstop, and I can't specify it, so that doesn't actually achieve the claimed result. Before creating community torrents in that fashion would actually be of use, the submission page needs to allow pointing at the upstream.

Also, having everyone DIY a set of files -> torrent information is insane, this should not be a SKILLS.md, it should be a bash script that makes the thing.

Why is the sign-up system so complicated? Why not just log into your HF account and be done? You're trying to force people to spam on X and HN so that their X and HN accounts get deleted?

This site could be useful also since there's been a recent trend of abliterated model providers demanding a hugging face account and email collection. I assume this is so the providers can spam people since there's not much other benefit. Hugging face had also been making it harder to sign up with disposable email addresses since they throw a weird error during sign up if they detect it. Anyway, I see a site like this being useful to sidestep all that data collection.

Arguably this should've been a thing since day 1 (and probably would've helped to prevent the buyout), but better late than never.

You did not have to call it “pirate”. That kind of set the negative tone for the website, and all the comments are looking at it with that view from the start. But it’s a great emoji Lego. I am working on something similar, mainly to make the download faster. I notice when you download these weights it will faster initially but very soon the throughput goes down after sometime.

I'd support this if I didn't have to post to xitter to claim my username.

Really odd approach.

Torrents always seemed like the more sensible way to distribute model weights.

Though I have been disappointed that most of these have been spurred on by the misleading claim that abliterated models were being taken down from HuggingFace because they removed an abliterated model. HF took one abliterated model down because the uploader was spamming people who requested access with sketchy requirements to pay for it.

Plus, there are a bunch of these types of sites, all of them have a couple of models and otherwise completely dead.

There's also the problem of catching malicious models that have been fine tuned to exfiltrate credentials. It would be nice to have means of checking hashes against the HF versions (or against other reputable sources). I'm guessing this is probably easy when just serving the same folder as what HF serves.

Edit: I should've scrolled down on the page, it does verify against the HF hashes.

I hope GPT-3.5 will be released at some point. Would make me really sad if that gets lost at some point

I wish they had used a better name. Why try to make it sound sinister and adjacent to piratebay etc? It's not that these models are illegal to own or download.

That is pretty smart, torrent should have been used for more things, and this is a perfect usecase!

Let's imagine that a model is pulled from HF by order of the new overlords or because of some other kind of censorship. Wouldn't the question of it having a Free license or not potentially become a complex legal issue?

But if the point is to be "censorship-free" then why respect licenses at all? They are among main choke points today. If authoritarians use licenses to censor political, artistic, scientific, etc., speech that they want to block, does that make the censorship more respectable?

When Anthropic sues a Chinese lab for IP infringement and get a court to put a bar on that software, does it THEN get pulled from Pirate Face?

I know that an awful lot of international negotiations have become focused more and more on questions of "IP" - licensing battles are already intensely politicized and it's hard to imagine a future where it doesn't get much much worse. Imagine N Korea coming after you for violating a license that they worked hard to control and leverage.

I’ve been wondering when this will come. The days are numbered for abliterated models to be published on HF I think. Why wouldn’t the government want a central control there?

I can see all these old models hanging out and bitching about the newfangled models that think they're so great.

"Trillions of parameters? Trillion my ass. Back in my day we got by with millions. And now here we are, washed up has beens."

If I search for 'uncensored' there are no torrents available. Uncensored models should be top priority, especially now that Nvidia owns HuggingFace and will enshittify the platform in accordance with upcoming US laws.

  • There are such results on huggingface tho. Also search for the keywords “abliteration” and “heretic”. Heretic is a tool used to abliterate, that is decensor, models

  • That was my my first search too. I know they are still listed on HF but every time I try and use one, the links are dead or the size is beyond my scope. Was hoping for a fresh batch. Ill check back.

Honestly, models are torrents will end any effort from the big AI labs to stop open models. No way to prevent weights from being shared, just like mobies. Genie is out of the bottle

great initiative, it's really weird seeing efficiencies get rediscovered in the LLM audience, because these efficiencies aren't even what I would consider to be old

but I guess they are