{
    "framework": "pytorch",
    "task": "sentence-similarity",
    "preprocessor": {
      "type": "sen-sim-tokenizer",
      "first_sequence": "sentence1",
      "second_sequence": "sentence2"
    },
    "model": {
        "type": "text-classification",
        "backbone": {
            "type": "structbert",
            "prefix": "encoder",
            "attention_probs_dropout_prob": 0.1,
            "easynlp_version": "0.0.3",
            "gradient_checkpointing": false,
            "hidden_act": "gelu",
            "hidden_dropout_prob": 0.1,
            "hidden_size": 768,
            "initializer_range": 0.02,
            "intermediate_size": 3072,
            "layer_norm_eps": 1e-12,
            "max_position_embeddings": 512,
            "num_attention_heads": 12,
            "num_hidden_layers": 12,
            "pad_token_id": 0,
            "position_embedding_type": "absolute",
            "transformers_version": "4.6.0.dev0",
            "type_vocab_size": 2,
            "use_cache": true,
            "vocab_size": 21128
        },
        "head": {
            "type": "text-classification",
            "hidden_dropout_prob": 0.1,
            "hidden_size": 768
        }
    },
    "pipeline": {
       "type": "sentence-similarity"
    },
    "train": {
        "work_dir": "/tmp",
        "dataloader": {
            "batch_size_per_gpu": 2,
            "workers_per_gpu": 1
        },
        "optimizer": {
            "type": "SGD",
            "lr": 0.01,
            "options": {
                "grad_clip": {
                    "max_norm": 2.0
                }
            }
        },
        "lr_scheduler": {
            "type": "StepLR",
            "step_size": 2,
            "options": {
                "warmup": {
                    "type": "LinearWarmup",
                    "warmup_iters": 2
                }
            }
        },
        "hooks": [{
            "type": "CheckpointHook",
            "interval": 1
        }, {
            "type": "TextLoggerHook",
            "interval": 1
        }, {
            "type": "IterTimerHook"
        }, {
            "type": "EvaluationHook",
            "interval": 1
        }]
    },
    "evaluation": {
        "dataloader": {
            "batch_size_per_gpu": 2,
            "workers_per_gpu": 1,
            "shuffle": false
        }
    }
  }
