def METHOD_NAME(
    self,
    model_params,
    tmp_dir,
    source_vocab_size=20,
    target_vocab_size=20,
    num_gpus=0,
    batch_size=2,
):
    training_params = dict(
        model_params,
        batch_size=batch_size,
        optimizer_params=dict(
            learning_rate=0.1,
        ),
        max_gradient_norm=1.0,
    )
    model_obj = Seq2SeqModelCaffe2(
        training_params,
        source_vocab_size,
        target_vocab_size,
        num_gpus,
    )
    model_obj.initialize_from_scratch()
    checkpoint_path_prefix = os.path.join(tmp_dir, 'checkpoint')
    checkpoint_path = model_obj.save(
        checkpoint_path_prefix=checkpoint_path_prefix,
        current_step=0,
    )
    return model_obj, checkpoint_path