| defaults: |
| - _self_ |
| - /callbacks: [checkpoint_every_n_steps, checkpoint_monitor, learning_rate_monitor] |
| - /data: openwebtext |
| - /model: small |
| - /strategy: ddp |
| - /noise: log-linear |
| - /lr_scheduler: constant_warmup |
| - /prior: none |
| - /algo: flm |
|
|
| mode: train |
|
|
| |
| is_di4c: False |
| is_di4c_deterministic: True |
|
|
| seed: 1 |
|
|
| loader: |
| global_batch_size: 512 |
| eval_global_batch_size: ${.global_batch_size} |
| |
| batch_size: ${div_up:${.global_batch_size}, ${eval:${trainer.devices} * ${trainer.num_nodes}}} |
| eval_batch_size: ${div_up:${.eval_global_batch_size}, ${eval:${trainer.devices} * ${trainer.num_nodes}}} |
| num_workers: 4 |
| pin_memory: True |
|
|
| sampling: |
| predictor: ancestral |
| steps: [1024] |
| noise_removal: ancestral |
| use_float64: True |
| p_nucleus: 1.0 |
| num_sample_batches: 1 |
| num_sample_log: 2 |
| semi_ar: False |
| stride_length: 1 |
| num_strides: 1 |
| num_reflow_samples: 50000 |
| temperature: 1.0 |
| solver: euler |
| gamma: 0.0 |
|
|
| training: |
| loss_type: flow |
| pred_type: x0 |
| ema: 0.9999 |
| antithetic_sampling: True |
| importance_sampling: False |
| sampling_eps: 1e-3 |
| change_of_variables: False |
| loss_precision: 'bf16' |
| finetune_path: '' |
| not_sampling_t: False |
| load_ema: False |
| t_curriculum_steps: 100000 |
| t_curriculum_min: 0.00 |
| t_curriculum_max: 1.00 |
|
|
| eval: |
| checkpoint_path: '' |
| disable_ema: False |
| ema_decay: null |
| compute_generative_perplexity: True |
| perplexity_batch_size: 8 |
| compute_perplexity_on_sanity: False |
| gen_ppl_eval_model_name_or_path: gpt2-large |
| generate_samples: True |
| generated_samples_path: ${cwd:}/samples.json |
|
|
| optim: |
| weight_decay: 0 |
| lr: 3e-4 |
| beta1: 0.9 |
| beta2: 0.999 |
| eps: 1e-8 |
| ln_tune: none |
|
|
| trainer: |
| _target_: lightning.Trainer |
| accelerator: cuda |
| num_nodes: 1 |
| devices: ${device_count:} |
| accumulate_grad_batches: ${div_up:${loader.global_batch_size}, ${eval:${trainer.devices} * ${loader.batch_size} * ${trainer.num_nodes}}} |
| gradient_clip_val: 1.0 |
| precision: 'bf16' |
| num_sanity_val_steps: 2 |
| max_steps: 1_000_000 |
| log_every_n_steps: 100 |
| limit_train_batches: 1.0 |
| limit_val_batches: 1.0 |
| val_check_interval: 5000 |
|
|
| wandb: |
| project: flm |
| notes: FLM |
| group: null |
| job_type: null |
| name: null |
| id: ${.name}_${seed} |
| tags: |
| - ${data.train} |
| - ${algo.name} |
|
|
| hydra: |
| run: |
| dir: ./outputs/${data.train}/${now:%Y.%m.%d}/${now:%H%M%S} |
| job: |
| chdir: true |
|
|
| checkpointing: |
| |
| save_dir: ${cwd:} |
| |
| resume_from_ckpt: false |
| resume_ckpt_path: ${.save_dir}/checkpoints/last.ckpt |
|
|