File size: 2,732 Bytes
36baff5
 
 
 
 
 
 
 
 
 
 
 
 
 
 
710a54e
36baff5
 
 
 
 
 
 
 
 
 
 
 
 
710a54e
36baff5
 
 
a77da42
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
36baff5
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
00c3d31
 
 
 
 
 
 
 
 
 
 
 
 
 
36baff5
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
---
tags:
- generated_from_trainer
datasets:
- wikitext
model-index:
- name: clm_output_medium
  results: []
---

<!-- This model card has been generated automatically according to the information the Trainer had access to. You
should probably proofread and complete it, then remove this comment. -->

# clm_output_medium

This model is a fine-tuned version of [gpt2-medium](https://huggingface.co/gpt2-medium) on the [wikitext-103-raw-v1](https://huggingface.co/datasets/wikitext) dataset.
It achieves the following results on the evaluation set:
- Loss: 2.6973

## Model description

More information needed

## Intended uses & limitations

More information needed

## Training and evaluation data

[wikitext-103-raw-v1](https://huggingface.co/datasets/wikitext) dataset

## Training procedure

Trained on 16 Graphcore Mk2 IPUs using [optimum-graphcore](https://github.com/huggingface/optimum-graphcore).

Command line:

```
python examples/language-modeling/run_clm.py \
  --model_name_or_path gpt2-medium \
  --ipu_config_name Graphcore/gpt2-medium-ipu \
  --dataset_name wikitext \
  --dataset_config_name wikitext-103-raw-v1 \
  --do_train \
  --do_eval \
  --num_train_epochs 10 \
  --dataloader_num_workers 64 \
  --per_device_train_batch_size 1 \
  --per_device_eval_batch_size 1 \
  --gradient_accumulation_steps 256 \
  --output_dir /tmp/clm_output_medium \
  --logging_steps 5 \
  --learning_rate 1e-5 \
  --lr_scheduler_type linear \
  --loss_scaling 16384 \
  --weight_decay 0.01 \
  --warmup_ratio 0.1 \
  --ipu_config_overrides="embedding_serialization_factor=5,inference_device_iterations=9,replication_factor=2,inference_replication_factor=2,ipus_per_replica=8,layers_per_ipu=[0 3 3 3 3 4 4 4],matmul_proportion=0.25" \
  --dataloader_drop_last \
  --pod_type pod16
```

### Training hyperparameters

The following hyperparameters were used during training:
- learning_rate: 1e-05
- train_batch_size: 1
- eval_batch_size: 1
- seed: 42
- distributed_type: IPU
- gradient_accumulation_steps: 256
- total_train_batch_size: 1024
- total_eval_batch_size: 18
- optimizer: Adam with betas=(0.9,0.999) and epsilon=1e-08
- lr_scheduler_type: linear
- lr_scheduler_warmup_ratio: 0.1
- num_epochs: 10.0
- training precision: Mixed Precision

### Training results
```
***** train metrics *****
    "epoch": 10.0,
    "train_loss": 2.8070910754504506,
    "train_runtime": 11217.8167,
    "train_samples": 114248,
    "train_samples_per_second": 101.845,
    "train_steps_per_second": 0.099
    
***** eval metrics *****
    "eval_loss": 2.697265625,
    "eval_samples": 240,
    "perplexity": 14.83910053420958
```


### Framework versions

- Transformers 4.18.0.dev0
- Pytorch 1.10.0+cpu
- Datasets 2.0.0
- Tokenizers 0.11.6