Built with Axolotl

See axolotl config

axolotl version: 0.3.0

base_model: ./yi-6b-200k
base_model_config: ./yi-6b-200k
model_type: LlamaForCausalLM
tokenizer_type: LlamaTokenizer
is_mistral_derived_model: false
is_llama_derived_model: true

load_in_8bit: false
load_in_4bit: true

bnb_config_kwargs:
    llm_int8_has_fp16_weight: false
    bnb_4bit_quant_type: nf4
    bnb_4bit_use_double_quant: true
    
torch_dtype: bf16
strict: false
rl: true
datasets:
  - path: /..../axolotl/datasets/rawrr_v1/
    split: train
    type: apply_chatml
dataset_prepared_path: last_run_prepared
val_set_size: 0.01
adapter: qlora
lora_model_dir:
sequence_len: 900
sample_packing: false
lora_r: 16
lora_alpha: 16
lora_dropout: 0.05
lora_target_modules:
  - q_proj
  - v_proj
  - k_proj
  - o_proj
  - gate_proj
  - down_proj
  - up_proj
lora_target_linear: true
lora_fan_in_fan_out:
wandb_project:
wandb_watch:
wandb_run_id:
wandb_log_model:
output_dir: ./qlora-yi-6b-200k-rawrr-run2
pad_to_sequence_len: true
micro_batch_size: 1
gradient_accumulation_steps: 16
num_epochs: 1
optimizer: adamw_bnb_8bit
torchdistx_path:
lr_scheduler: cosine
learning_rate: 0.00005
train_on_inputs: false
group_by_length: false
bf16: true
fp16: false
tf32: false
bfloat16: true
flash_optimum: false
gradient_checkpointing: true
early_stopping_patience:
save_safetensors: true
local_rank:
logging_steps: 1
xformers_attention:
flash_attention: true
deepspeed:
seed: 42
warmup_steps: 50
eval_steps: 5000000
save_steps: 1500
save_total_limit: 10
eval_table_size: 
eval_table_max_new_tokens:
debug:
weight_decay:
fsdp:
fsdp_config:
special_tokens:
  bos_token: "<|startoftext|>"
  eos_token: "<|endoftext|>"
  unk_token: "<unk>"

qlora-yi-6b-200k-rawrr-run2

This model was trained using DPO from base Yi-6B-200K

Model description

I figured I will be sharing my attempts as I go.
It's my third DPO attempt and the first one where outputs aren't completely garbled up. Learnings:

  • DPO needs about 10-100 lower learning rate than SFT fine-tuning.
  • You probably don't want to add special tokens in your DPO, who could have guessed...

Intended uses & limitations

I intend to run aezakmi SFT finetune on this base, let's see whether this is any better than normal AEZAKMI.

Training and evaluation data

DPO on synthetic dataset rawrr_v1.

Training procedure

Training hyperparameters

The following hyperparameters were used during training:

  • learning_rate: 5e-05
  • train_batch_size: 1
  • eval_batch_size: 8
  • seed: 42
  • gradient_accumulation_steps: 16
  • total_train_batch_size: 16
  • optimizer: Adam with betas=(0.9,0.999) and epsilon=1e-08
  • lr_scheduler_type: linear
  • lr_scheduler_warmup_steps: 50
  • training_steps: 517

Training results

Outputs are actually somewhat coherent!

Framework versions

  • Transformers 4.37.0.dev0
  • Pytorch 2.0.1+cu118
  • Datasets 2.15.0
  • Tokenizers 0.15.0

Training procedure

The following bitsandbytes quantization config was used during training:

  • quant_method: bitsandbytes
  • load_in_8bit: False
  • load_in_4bit: True
  • llm_int8_threshold: 6.0
  • llm_int8_skip_modules: None
  • llm_int8_enable_fp32_cpu_offload: False
  • llm_int8_has_fp16_weight: False
  • bnb_4bit_quant_type: nf4
  • bnb_4bit_use_double_quant: True
  • bnb_4bit_compute_dtype: bfloat16

Framework versions

  • PEFT 0.6.0
Downloads last month
4
Inference API
Unable to determine this model’s pipeline type. Check the docs .

Model tree for adamo1139/Yi-6B-200K-rawrr1-run2-LORA-DPO-experimental

Base model

01-ai/Yi-6B-200K
Adapter
(6)
this model