# Configuration for Training

Before we begin establishing the training run for a model, we provide below the range of configuration options for the Axolotl training platform.

### <mark style="color:blue;">Below are the primary categories for the</mark> <mark style="color:yellow;">YAML Training Configuration File</mark>

| <mark style="color:green;">Category</mark> |
| :----------------------------------------: |
|             Model Configuration            |
|         Data Loading and Processing        |
|           Sequence Configuration           |
|            Adapter Configuration           |
|           Logging and Monitoring           |
|           Training Configuration           |
|              Training Options              |
|            Attention Mechanisms            |
|      Training Schedules and Evaluation     |
|         Debugging and Optimization         |
|               Special Tokens               |

The expandable below provides an example YAML configuration scripts for using LoRA parameter efficient fine tuning for Meta's Llama2 model.

<details>

<summary>Reference: <mark style="color:green;">The full training script for Llama2</mark></summary>

```yaml
base_model: NousResearch/Llama-2-7b-hf
model_type: LlamaForCausalLM
tokenizer_type: LlamaTokenizer
is_llama_derived_model: true

load_in_8bit: true
load_in_4bit: false
strict: false

datasets:
  - path: mhenrichsen/alpaca_2k_test
    type: alpaca
dataset_prepared_path:
val_set_size: 0.05
output_dir: ./lora-out

sequence_len: 4096
sample_packing: true
pad_to_sequence_len: true

adapter: lora
lora_model_dir:
lora_r: 32
lora_alpha: 16
lora_dropout: 0.05
lora_target_linear: true
lora_fan_in_fan_out:

wandb_project:
wandb_entity:
wandb_watch:
wandb_name:
wandb_log_model:

gradient_accumulation_steps: 4
micro_batch_size: 2
num_epochs: 4
optimizer: adamw_bnb_8bit
lr_scheduler: cosine
learning_rate: 0.0002

train_on_inputs: false
group_by_length: false
bf16: true
fp16: false
tf32: false

gradient_checkpointing: true
early_stopping_patience:
resume_from_checkpoint:
local_rank:
logging_steps: 1
xformers_attention:
flash_attention: true

warmup_steps: 10
evals_per_epoch: 4
eval_table_size:
eval_table_max_new_tokens: 128
saves_per_epoch: 1
debug:
deepspeed:
weight_decay: 0.0
fsdp:
fsdp_config:
special_tokens:
  bos_token: "<s>"
  eos_token: "</s>"
  unk_token: "<unk>"
```

</details>

We will walk through establishing the configuration file for Phi 2.0.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://axolotl.continuumlabs.pro/configuration-for-training.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
