Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BIT-552] Validator improvements (nucleus permute, synergy avg) #889

Merged
merged 13 commits into from
Sep 1, 2022

Conversation

opentaco
Copy link
Contributor

@opentaco opentaco commented Aug 29, 2022

BIT-552 Validation improvements

Minor validator fixes for rich table display delimitation, counting responsive UID when first encountered, and skipping repeat metagraph syncs.

Major validator improvements removing factors of variability:

  1. Nucleus permutes metagraph.n (e.g. 4096) and consumes subsets from order to ensure each UID is queried once.
  2. Neuron prolongs epoch until e.g. 4096 unique UIDs are queried once, at least.
  3. Synergy is now averaged to ensure consistency across different subset (nucleus.topk) sizes.
  4. synergy_scaling_law_power parameter is introduced.
  5. synergy_scaling_law_power is increased from 0.5 to 0.6 to compensate for averaging producing much lower synergy values compared to base Shapley values.

Persist object variable self.permute_uids across forward calls, select num_endpoints uids each forward call, reset to new permutation of all UIDs once empty.

Removes factors of variability between validators by ensuring each UID is queried the same number of times.
Assumes nucleus samples without replacement by permuting range(metagraph.n).

Removes another factor of variability between validators, namely how many UIDs are sampled during each validator epoch, which is influenced by the validator speed.
Set synergy_scaling_law_power independent of scaling_law_power, since synergy likely needs a higher power after synergy averaging.
Synergy averaging now significantly reduces synergy Shapley contribution compared to the base Shapley value, so the power needs to be increased to compensate.
Copy link
Contributor

@Eugene-hu Eugene-hu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

Copy link
Contributor

@unconst unconst left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Beautiful.

@shibshib
Copy link
Contributor

Great PR @opentaco , should we merge this to Nobunaga if we're testing on Nobunaga testnet?

@opentaco opentaco changed the base branch from master to nobunaga August 31, 2022 15:59
@opentaco opentaco merged commit aee074b into nobunaga Sep 1, 2022
@Eugene-hu Eugene-hu mentioned this pull request Sep 2, 2022
@ifrit98 ifrit98 deleted the BIT-552-synapse-improvements-dev branch May 24, 2023 14:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants