--- library_name: peft tags: - generated_from_trainer base_model: 01-ai/Yi-6B-200K model-index: - name: qlora-yi-6b-200k-rawrr-run2 results: [] --- [Built with Axolotl](https://github.com/OpenAccess-AI-Collective/axolotl)
See axolotl config axolotl version: `0.3.0` ```yaml 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: "" ```

# 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