Repository Reading Site
00-sft-lora-training-config.yaml
ml-platform/examples/20-llm-training/00-sft-lora-training-config.yaml
run:
run_id: sft-qwen2.5-7b-k8s-001
stage: sft
task_type: causal_lm
description: "面向 Kubernetes 平台问答与排障助手的指令微调示例"
inputs:
base_model: "Qwen/Qwen2.5-7B"
base_model_revision: "main"
train_dataset: "/data/llm-k8s-sft/train.jsonl"
eval_dataset: "/data/llm-k8s-sft/val.jsonl"
dataset_version: "llm-k8s-sft-v1.3.2"
tokenizer:
max_seq_length: 4096
truncation_side: "right"
packing: true
chat_template_from_model: true
training:
num_train_epochs: 3
max_steps: 1200
per_device_train_batch_size: 1
per_device_eval_batch_size: 1
gradient_accumulation_steps: 16
learning_rate: 0.0002
lr_scheduler_type: "cosine"
warmup_ratio: 0.03
weight_decay: 0.01
max_grad_norm: 1.0
logging_steps: 10
eval_steps: 100
save_steps: 120
save_total_limit: 3
bf16: true
gradient_checkpointing: true
lora:
enabled: true
r: 64
lora_alpha: 128
lora_dropout: 0.05
bias: "none"
target_modules:
- "q_proj"
- "k_proj"
- "v_proj"
- "o_proj"
- "gate_proj"
- "up_proj"
- "down_proj"
optimization:
optimizer: "adamw_torch"
loss_mask: "assistant_only"
seed: 42
distributed:
strategy: "ddp"
num_nodes: 1
gpus_per_node: 4
outputs:
output_dir: "/mnt/models/runs/sft-qwen2.5-7b-k8s-001"
adapter_dir: "/mnt/models/adapters/qwen2.5-7b-k8s-sft-v1"
merged_model_dir: "/mnt/models/merged/qwen2.5-7b-k8s-sft-v1"
push_to_registry: true