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

samples uids only on candidate uids #142

Merged
merged 7 commits into from
Mar 12, 2024

Conversation

mccrindlebrian
Copy link
Contributor

The current implementation of uid sampling is very weird, and I don't understand it. Currently, if the number of uids is < the number of samples we want in a batch (k) (which is rare), we will take all the samples in the network, and then sample uids that are NOT in the candidate uids AND in the avail_uids variable. Therefore, this samples uids that are explicitly excluded from from the original set of candidate uids. Unless I am mis-reading this, it seems like a very strange implementation to me. The reasoning for this, for what I can tell, is to sample uids until we reach k, even if the uids are in the exclusion category.

I don't like this implementation, and it requires the validator to set a value of k that they won't have prior knowledge to beforehand. In production, this isn't an issue, since we will likely always have candidate_uids >> k. However, in testnet scenarios, you have no idea. I ran into many issues regarding sampling when trying to deploy a validator on testnet because of the logic of sampling.

Therefore, I propose a different uid sampling procedure, where we do not artificially want the batch to be 50, but rather the batch is always capped to be the max number of candidate uids if candidate_uids < k. Otherwise, we randomly sample ONLY from the list of candidate_uids. This removes the need for the available_uids list.

@steffencruz steffencruz self-requested a review March 12, 2024 20:41
@steffencruz steffencruz merged commit 326a910 into pre-staging Mar 12, 2024
3 checks passed
@p-ferreira p-ferreira mentioned this pull request Apr 4, 2024
@mccrindlebrian mccrindlebrian deleted the features/change-uid-sampling branch April 16, 2024 13:50
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.

3 participants