Add the Adafactor optimizer.
This optimizer is extremely useful for memory-efficient training of giant attention-based models
that have massive parameter sets. In a "pure-parameter" memory regime, this can reduce memory use
by nearly 2/3rds compared to Adam.
PiperOrigin-RevId: 328761406