1# See:
2# - https://github.com/karpathy/nanoGPT/blob/master/config/train_gpt2.py#L1
3# - https://github.com/OpenAccess-AI-Collective/axolotl/blob/main/examples/tiny-llama/pretrain.yml#L14
4# - https://github.com/karpathy/nanoGPT/blob/master/train.py#L35
5
6base_model: diwank/cryptgpt-large
7hub_model_id: diwank/cryptgpt-large
8
9model_type: GPT2LMHeadModel
10tokenizer_type: AutoTokenizer
11trust_remote_code: true # required for CryptGPTTokenizer
12resize_token_embeddings_to_32x: true
13output_dir: ./outputs/model-out
14
15datasets:
16 - path: diwank/encrypted-openwebtext
17 type: completion
18
19dataset_prepared_path: ./cryptgpt-prepared-dataset
20val_set_size: 0.04
21shuffle_merged_datasets: false
22
23sequence_len: 1024
24pad_to_sequence_len: true
25sample_packing: false
26pretrain_multipack_attn: false
27train_on_inputs: true
28
29gradient_accumulation_steps: 1
30micro_batch_size: 128
31optimizer: adamw_bnb_8bit
32adam_beta1: 0.9
33adam_beta2: 0.95
34seed: 42
35
36lr_scheduler: cosine
37learning_rate: 6e-4
38cosine_min_lr_ratio: 0.1 # min: 6e-5
39weight_decay: 0.15
40
41bf16: auto
42tf32: true
43flash_attention: true
44torch_compile: true
45gradient_checkpointing: true
46gradient_checkpointing_kwargs:
47 use_reentrant: true
48
49deepspeed: deepspeed_configs/zero2.json
50
51epochs: 20 # overriden by max_steps
52max_steps: 600000
53eval_steps: 12000
54save_steps: 12000
55save_total_limit: 3
56early_stopping_patience: 3
57auto_resume_from_checkpoints: true
58logging_steps: 1
59eval_max_new_tokens: 128
60eval_causal_lm_metrics:
61 - sacrebleu
62
63wandb_project: cryptgpt-large-0.1
64wandb_name: cryptgpt-large-run-04
65