SN1, Apex: Introducing GAN-style activity for cross-miner oversight
The more complex a subnet’s scoring method is, the more likely it is to be exploited. Subnet 1's breakthrough experiment with two types of miners boosts performance while reducing exploits. Here's how
More complexity means more opportunities to cheat the system: as a general rule, this is as true on Bittensor as it is anywhere. Yet for some subnets, intricate dynamics are vital to pushing their miners further, leading to unavoidable complexity.
It’s a familiar dilemma for technologists, and we’re confronting it on Subnet 1, Apex. As we expand Apex’s capabilities, we need scoring systems that can facilitate growth. But to do this right, we need a setup that allows for complex activities without actually being complex itself, to avoid exploitation.
To do this, we’re launching a new task to help with scoring. Miners will look at responses from validators and from other miners, and take an educated guess as to whether it was created by one or the other. When they get it right they’ll be rewarded. Here’s how it improves SN1.
Introducing discriminator miners
This new task involves one set of validators, and two sets of miners. We’ll have:
Generator-miners: participants that generate LLM text responses under time constraints.
Validators: participants who generate their own responses to prompts which are cross-checked against miner-responses. They have fewer restraints, as they’re building a reference answer.
Discriminator-miners: participants who need to tell the difference between the validator’s response and the generator-miner’s response.
These three actors are intimately linked. When a prompt is sent out, a validator will generate their answer, and the generator-miner will do the same. Afterwards, the discriminator-miner tries to guess which belongs to either the validator or miner. Sometimes they’ll be asked to identify the validator-response, and other times the miner-response. The discriminator would typically associate the best response with the validator, as they get more time to generate their answer.
If the discriminator guesses correctly, they win a share of the reward. If they get it wrong, the generator-miner gets their share instead. The discriminators and generators get their rewards from the same pool, although it’s portioned off asymmetrically. There will be multiple discriminators assessing a single miner and validator. Let’s say there’s 10 discriminators guessing one generator’s response. If one out of 10 discriminators guess right, they get 10% of the reward, or 0.1 point. The remaining nine discriminators get 0%, and the generator gets 90%, as they were successfully able to fool the rest. If a miner generated a high-quality response, then the discriminators would likely get confused, which could lead to around 50% of them guessing accurately. That would mean around 0.5 points would be distributed out, with each correct discriminator getting 0.1, and the remainder of the point going to the generator, for successfully fooling the opposition.
What we see are generators being forced to push their models to the limit, so they can produce responses that look so good they get mistaken for validator-responses. Otherwise, they can’t win anything. Discriminators must also develop methods of distinguishing between the two, so they can earn.
With both generators and discriminators sharing earnings from the same pool, this becomes a zero-sum game. The upshot is miners are working to evaluate each other, off-loading some of the complexity for validators, whilst also creating an arms race between them, encouraging them to provide more impressive results and train their models even greater.
There won’t be any specific discriminator-miners, but rather, every miner will be a discriminator at some points, and a generator at others. It’s a turn-based setup, ensuring rotation.
GAN-style activity
If you’re well-versed in machine learning, this terminology likely stands out to you. The idea of separating actors up into generators and discriminators is common when working with GANs (generative adversarial networks). These are a class of neural networks where one part of them is designed to generate something, such as an image or text, and another is set up to try and discriminate between what’s been generated and what’s real.
The discriminator is given the generated output and cross-checks it with their own dataset. If they get it right, then the generator must learn from their mistakes and attempt again. If they get it wrong, it means the discriminator needs to assess for further discrepancies next time which they might have missed.
We’re bringing this style of environment to SN1, with miners taking turns to play the role of generators and discriminators, locking them into battle with each other. This architecture will improve our scoring methods, whilst allowing our miners to produce more complex and nuanced work.
Exploit prevention
To ensure this setup succeeds, we’ve added some features to help prevent exploitation. For starters, generators and discriminators are rewarded from the same shared pool, ensuring a zero-sum game. If there are 10 discriminators, then each can get a maximum of 0.1 points for guessing correctly, with those who guess wrong getting 0. Then the remainder goes to the generator. This is meaningful because SN1 supports single miners owning multiple UIDs - if it wasn’t zero–sum, they could game the system in their favour.
This reward-split reflects the intensity of the work - a single generator can get a greater portion of the reward than a single discriminator. If the amount they could each get was equal, it would benefit discriminators significantly more.
However, the best upshot of this design is that exploitation largely becomes an issue for miners to patch for themselves. If miner-responses are easily distinguished from validator-responses, then the onus is on the miners to work out how to circumvent that, or else lose their potential rewards to the opposing side. Conversely, if miners have discovered how to give the impression their work is constantly from a validator, meaning they keep winning most of the reward, then discriminators must learn how to patch that.
A new arena in SN1
The incentive mechanism behind this architecture creates a new miner-arena within SN1. Not only are miners competing to generate the best responses, but they’re now competing against miners who are trying to distinguish whether they’re validators or not.
It’s an elegant yet non-trivial way of implementing a scoring system that can scale with SN1’s increased complexity. In turn, this allows Apex to do more, adding new features and showing how decentralized LLM interfaces can operate. And it also demonstrates how Bittensor’s core component - competition - can be deployed in new ways to push performance on the network even further.
Want to be part of our back-end innovation discussions? Join us for our new interactive show, Inventive Mechanisms, starting April 3rd - with the first episode on SN1’s GAN-style activity first episode
Comments or ideas? Join our Telegram and Discord communities and let us know.