{
    "bert_config": {
        "hidden_size": 128,
        "vocab_size": 30400,
        "num_attention_heads": 2,
        "num_hidden_layers": 2,
        "intermediate_size": 512,
        "hidden_dropout_prob": 0.1,
        "attention_probs_dropout_prob": 0.1,
        "max_position_embeddings": 512,
        "type_vocab_size": 2,
        "initializer_range": 0.02,
        "layer_norm_eps": 1e-12,
        "position_embedding_type": "absolute"
    },
    "seed": 1984,
    "global_batch": {
        "replicas": 1,
        "micro_batch_size": 1,
        "grad_acc_steps_per_replica": 30
    },
    "num_epochs": 3,
    "ipu_config": {
        "pipeline_stages": [
            ["emb"],
            ["hid","hid"],
            ["pool", "glue_head"]
        ],
        "pipeline_device_mapping": [0, 1, 0],
        "matmul_available_memory_proportion_per_pipeline_stage": [0.25, 0.23],
        "replicated_tensor_sharding": false
    },
    "optimizer_opts": {
        "name": "AdamW",
        "weight_decay_rate": 0.01,
        "learning_rate": {
            "schedule_name": "up_down",
            "max_learning_rate": 2e-5,
            "warmup_frac": 0.1
        }
    },
    "global_batches_per_log": 1,
    "enable_wandb": false,
    "wandb_tags": ["glue_fine_tuning"],
    "dataset_dir": "./cache/",
    "output_dir": "./output_dir_hf/",
    "do_training": true,
    "do_validation": false
}
