    def add_args(parser):
        """Add optimizer-specific arguments to the parser."""
        # fmt: off
        parser.add_argument('--adafactor-eps', default='(1e-30, 1e-3)', metavar="E",
                            help='epsilons for Adafactor optimizer')
        parser.add_argument('--clip-threshold', type=float, default=1.0, metavar="C",
                            help='threshold for clipping update root mean square')
        parser.add_argument('--decay-rate', type=float, default=-0.8, metavar="D",
                            help='decay rate of the second moment estimator')
        parser.add_argument('--beta1', type=float, default=None, metavar="B",
                            help='beta for first moment estimator. Optional')
        parser.add_argument('--weight-decay', '--wd', default=0.0, type=float, metavar='WD',
                            help='weight decay')
        parser.add_argument('--scale-parameter', action='store_true',
                            help='scale learning rate by root mean square of parameter')
        parser.add_argument('--relative-step', action='store_true',
                            help='set learning rate to inverse square root of timestep,'
                                 'otherwise use external learning rate')
        parser.add_argument('--warmup-init', action='store_true',
                            help='use relative step for warm-up learning rate schedule')
Add optimizer-specific arguments to the parser.
fairseq/optim/adafactor.py