Description
override_config
method doesn't work as expected following the way in documentation, tried to update the optim_bits
in 8-bit optimizer to 32bits for embedding layer, but didn't succeed.
Optimizer get_config
method uses mng.index2config
, but manager override_config
method only updates pid2config
https://github.com/TimDettmers/bitsandbytes/blob/dada530149212d64d4b69534716202659ef37ec8/bitsandbytes/optim/optimizer.py#L296-L311
Optimizer check_overrides method uses mng.module_weight_config_triple
to override mng.index2config
. So, using Manager's register_module_override
works (GPU memory usage increases compared to using full 8-bit optimization)
https://github.com/TimDettmers/bitsandbytes/blob/dada530149212d64d4b69534716202659ef37ec8/bitsandbytes/optim/optimizer.py#L238-L255
Extra question
What does Manager register_parameters
actually do? Doesn't seem to actually do anything if the methods are called exactly like the order in the documentation above.
https://github.com/TimDettmers/bitsandbytes/blob/dada530149212d64d4b69534716202659ef37ec8/bitsandbytes/optim/optimizer.py#L296-L311