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

Nobunaga Release V3.3.3 #899

Merged
merged 37 commits into from
Sep 5, 2022
Merged

Nobunaga Release V3.3.3 #899

merged 37 commits into from
Sep 5, 2022

Conversation

Eugene-hu
Copy link
Contributor

@Eugene-hu Eugene-hu commented Sep 2, 2022

Changelist:

Release Date: 09-05-2022

camfairchild and others added 30 commits August 11, 2022 14:56
* add update interval and num proc flag

* add better number output

* optimize multiproc cpu reg
keeping proc until solution

* fix test

* make sure to exit properly if registered during

* fix tests

* change import to use tests

* add optional type hints and None default

* change to count using allowed processes

* add documentation. Fix random start
* add dot get

* add to subtensor args and defaults

* remove dot get because in subtensor args

* typo

* fix test
* fix incorrect bit shift

* move inner function out and add test for diff pack

* fix test

* fix call arg check in test

* add assert

* fix test for py37

* refactor the diff pack into two functions
move the test to a unit test

* fix test
* added cuda solver

* boost versions to fix pip error

* allow choosing device id

* fix solution check to use keccak

* adds params for cuda and dev_id to register

* list devices by name during selection

* add block number logging

* fix calculation of hashrate

* fix update interval default

* add --TPB arg to register

* add update_interval flag

* switch back to old looping/work structure

* change typing

* device count is a function

* stop early if wallet registered

* add update interval and num proc flag

* add better number output

* optimize multiproc cpu reg
keeping proc until solution

* fix test

* change import to cubit

* fix import and default

* up default
should have default in CLI call

* add comments about params

* fix config var access

* add cubit as extra

* handle stale pow differently
check registration after failure

* restrict number of processes for integration test

* fix stale check

* use wallet.is_registered instead

* attempt to fix test issue

* fix my test

* oops typo

* typo again ugh

* remove print out

* fix partly reg test

* fix if solution None

* fix test?

* fix patch

* add args for cuda to subtensor

* add cuda args to reregister call

* add to wallet register the cuda args

* fix refs and tests

* add for val test also

* fix tests with rereg

* fix patch for tests

* add mock_register to subtensor passed instead

* move register under the check for isregistered

* use patch obj instead

* fit patch object
* move cli args to CLI and fix overview

* use dot get

* fix tests

* add hotkeys/all_hotkeys to (un)stake

* fix default

* fix default in unstake

* add unstake multiple

* add add stake multiple

* move all/hotkeys back to wallet args

* convert to balance first
add catch for unstake multi

* fix ref to wallet

* fix test patch for multi hotkeys

* try to fix tests

* fix tests patch

* fix mock wallet length

* don't use new?

* fix call args get

* typo

* fix typo
* added cuda solver

* boost versions to fix pip error

* allow choosing device id

* fix solution check to use keccak

* adds params for cuda and dev_id to register

* list devices by name during selection

* add block number logging

* fix calculation of hashrate

* fix update interval default

* add --TPB arg to register

* add update_interval flag

* switch back to old looping/work structure

* change typing

* device count is a function

* stop early if wallet registered

* add update interval and num proc flag

* add better number output

* optimize multiproc cpu reg
keeping proc until solution

* fix test

* change import to cubit

* fix import and default

* up default
should have default in CLI call

* add comments about params

* fix config var access

* add cubit as extra

* handle stale pow differently
check registration after failure

* restrict number of processes for integration test

* fix stale check

* use wallet.is_registered instead

* attempt to fix test issue

* fix my test

* oops typo

* typo again ugh

* remove print out

* fix partly reg test

* fix if solution None

* fix test?

* fix patch

* add args for cuda to subtensor

* add cuda args to reregister call

* add to wallet register the cuda args

* fix refs and tests

* add for val test also

* fix tests with rereg

* fix patch for tests

* add mock_register to subtensor passed instead

* move register under the check for isregistered

* use patch obj instead

* fit patch object

* fix prompt

* remove unneeded if

* modify POW submit to use rolling submit again

* add backoff to block get from network

* add test for backoff get block

* suppress the dev id flag if not set

* remove dest so it uses first arg

* fix pow submit loop

* move registration status with

* fix max attempts check

* remove status in subtensor.register

* add submit status

* change to neuron get instead

* fix count

* try to patch live display

* fix patch

* .

* separate test cases

* add POWNotStale and tests

* add more test cases for block get with retry

* fix return to None

* fix arg order
* fix btcli help

* add test to check --help works

* update help message

* parse after modification

* fix ordering

* fix test

* add pytest rasies for exit

* fix expectation with py310
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.
[BIT-552] Validator improvements (nucleus permute, synergy avg)
Intended to pair with normalize_max_multiple to reduce sensitivity to bottom outliers by excluding the lowest quantile, effectively setting their weight to zero.

Quantile of 10% chosen in added neuron parameter: exclude_quantile
* init added timeout for priority thread pool

* axon text complete

* fix responsive uid and core_server blocks_per_set_weight

* server error mesage on validator fix

* clean up

* moved synaspe timeout to axon config

* fix

* fix

* .

* test fix

* fix

* fix

* .

* .

* .

* .

* .

* .

* .

* .

* .

Co-authored-by: Eugene-hu <85906264+Eugene-hu@users.noreply.github.com>
Co-authored-by: Unconst <32490803+unconst@users.noreply.github.com>
camfairchild and others added 3 commits September 2, 2022 14:47
Co-authored-by: Eugene-hu <85906264+Eugene-hu@users.noreply.github.com>
[BIT-572] Exclude lowest quantile from weight setting
opentaco and others added 3 commits September 4, 2022 12:14
Normal epoch duration is blocks_per_epoch if all UIDs have been queried.

Try to query each UID at least once - assumes nucleus samples without replacement, but keep maximum epoch duration at 2 * blocks_per_epoch. Typically a low resource validator can complete full network querying in ~350 blocks, so 2 * blocks_per_epoch should normally suffice.
…ch-responsives

[BIT-573] Improve validator epoch and responsives handling
@opentaco opentaco merged commit 67b49ae into master Sep 5, 2022
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.

None yet

5 participants