-
-
Notifications
You must be signed in to change notification settings - Fork 827
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