progressive-llm/config/training_config_gemma2_small.yaml
2025-07-10 18:09:14 +09:00

91 lines
No EOL
2.7 KiB
YAML

experiment:
name: "progressive_reasoning_gemma2_small"
base_model: "google/gemma-2-2b-it" # Instruction-tuned version
output_dir: "./outputs"
use_wandb: true
wandb_project: "matsuo-llm-comp-2025"
model:
load_in_4bit: false # 2B model is manageable without quantization
bnb_4bit_compute_dtype: "bfloat16"
bnb_4bit_use_double_quant: true
device_map: "auto"
gradient_checkpointing: false
use_flash_attention_2: false
use_eager_attention: true # Required for Gemma 3 models
progressive_stages:
- name: "basic_cot"
description: "Basic Chain-of-Thought reasoning"
dataset_path: "./data/basic_cot/"
adapter_config:
r: 8 # Start with smaller rank for small model
lora_alpha: 16
lora_dropout: 0.1
target_modules: ["q_proj", "k_proj", "v_proj", "o_proj"]
init_lora_weights: true
training:
num_epochs: 3
per_device_batch_size: 8 # Larger batch size for small model
gradient_accumulation_steps: 2
learning_rate: 5e-4 # Higher learning rate for small model
warmup_steps: 50
max_length: 1024
bf16: true
max_grad_norm: 1.0
weight_decay: 0.001
save_steps: 50
logging_steps: 10
- name: "math_reasoning"
description: "Mathematical reasoning with think tags"
dataset_path: "./data/math_reasoning/"
inherit_from: "basic_cot"
adapter_config:
r: 16
lora_alpha: 32
lora_dropout: 0.1
target_modules: ["q_proj", "k_proj", "v_proj", "o_proj", "gate_proj", "up_proj", "down_proj"]
init_lora_weights: true
training:
num_epochs: 3
per_device_batch_size: 4
gradient_accumulation_steps: 4
learning_rate: 3e-4
warmup_steps: 100
max_length: 2048
bf16: true
max_grad_norm: 1.0
- name: "complex_reasoning"
description: "Complex multi-step reasoning with Mixture-of-Thoughts"
dataset_path: "open-r1/Mixture-of-Thoughts" # HuggingFace dataset
inherit_from: "math_reasoning"
adapter_config:
r: 32
lora_alpha: 64
lora_dropout: 0.1
target_modules: ["q_proj", "k_proj", "v_proj", "o_proj", "gate_proj", "up_proj", "down_proj"]
init_lora_weights: true
training:
num_epochs: 1 # Large dataset, fewer epochs
per_device_batch_size: 2
gradient_accumulation_steps: 8
learning_rate: 2e-4
warmup_steps: 200
max_length: 4096
bf16: true
max_grad_norm: 1.0
save_steps: 500
logging_steps: 50
dataset_config:
streaming: true
max_samples: 30000
split: "train"
evaluation:
benchmarks:
- "HLE"
- "Do-Not-Answer"
save_results: true
results_dir: "./outputs/evaluation_results"