Closed steffencruz closed 1 year ago
Another option is exponentially weighted moving average:
We can also plot the average rewards and scores for each uid across the simulation to use for clustering
The clustering could be linked to the metagraph info such as whether the cheaters have the same coldkey or whether they are using the same API (ChatGPT)
This one has a RandomGatingModel where each forward call returns ones for a fixed size subset https://wandb.ai/mirror-neuron/mirror-neuron/runs/xxrudwa1?workspace=user-steffenc
And this one uses a frozen RandomGatingModel (weights never change). See how the scores are always the same versus iteration https://wandb.ai/mirror-neuron/mirror-neuron/runs/49qigtky?workspace=user-steffenc
The plots below are simulations of how rewards might change within the network as a function of iterations for different uids.
Individual traces per plot are an option but there will be many (= number of uids), and this doesn't facilitate comparison of UID performance)
On the other hand, plotting all traces together is impossible to parse
Group plots are also not great.
Proposed Solution
I think that 2d histograms are the way to go as under/overperforming uids can be easily identified as horizontal lines.
Examples of how this might look (baseline rewards) With different miner (with cheaters)