You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Wrong doc and function signature for 8-bit optim #1261
@gau-nernst i see, thanks also, did you notice any difference varying min_8bit_size? would it make sense to start with such a high value if your hidden dim ==4096 and only goes above in projection layers?
Looking at the current state of the code, Adam8bit (and AdamW8bit, PagedAdam8bit, PagedAdamW8bit) already have validation guards that reject non-default values for optim_bits and amsgrad. However, the docstrings are still misleading — they describe these as functional parameters with a small "Note:" appended, rather than clearly marking them as deprecated.
I'm planning to:
Replace the misleading docstring entries with proper .. deprecated:: directives that clearly state these params exist only for signature compatibility and will be removed
Add test coverage for the Adam8bit/AdamW8bit parameter guards (currently only LAMB8bit and Adagrad8bit have guard tests)
No breaking changes — the params stay in the signature for backwards compatibility, just properly documented as deprecated.
Activity
nighting0le01 commentedon Oct 24, 2024
? so does it always run in 8 bit?? @gau-nernst
gau-nernst commentedon Oct 24, 2024
Yes,
Adam8bitwill always run in 8 bit. Theoptim_bitsargument has no effectnighting0le01 commentedon Oct 24, 2024
@gau-nernst i see, thanks also, did you notice any difference varying min_8bit_size? would it make sense to start with such a high value if your hidden dim ==4096 and only goes above in projection layers?
gau-nernst commentedon Oct 24, 2024
I didn't play around with that parameter.
fix(optim): honor user-provided max_unorm in LAMB (+ 8-bit arg guards) (
kritikagarg commentedon Aug 28, 2026
Hi! I'd like to work on this issue.
Looking at the current state of the code,
Adam8bit(andAdamW8bit,PagedAdam8bit,PagedAdamW8bit) already have validation guards that reject non-default values foroptim_bitsandamsgrad. However, the docstrings are still misleading — they describe these as functional parameters with a small "Note:" appended, rather than clearly marking them as deprecated.I'm planning to:
.. deprecated::directives that clearly state these params exist only for signature compatibility and will be removedNo breaking changes — the params stay in the signature for backwards compatibility, just properly documented as deprecated.
Happy to adjust the approach based on feedback.