evalstate/demo-training-scripts
0
1# /// script2# dependencies = [3# "trl>=0.12.0",4# "transformers>=4.36.0",5# "datasets>=2.14.0",6# "peft>=0.7.0",7# "accelerate>=0.24.0",8# ]9# ///10 11from datasets import load_dataset12from peft import LoraConfig13from trl import SFTTrainer, SFTConfig14 15# Load just 50 examples for quick demo16dataset = load_dataset("trl-lib/Capybara", split="train[:50]")17print(f"โ
Dataset loaded: {len(dataset)} examples")18 19# Training configuration20config = SFTConfig(21 # CRITICAL: Hub settings22 output_dir="qwen-demo-sft",23 push_to_hub=True,24 hub_model_id="evalstate/qwen-capybara-demo",25 26 # Quick training settings27 max_steps=20, # Just 20 steps for demo28 per_device_train_batch_size=2,29 learning_rate=2e-5,30 31 # Logging32 logging_steps=5,33 save_strategy="steps",34 save_steps=10,35 36 # Optimization37 warmup_ratio=0.1,38)39 40# LoRA configuration for efficient training41peft_config = LoraConfig(42 r=16,43 lora_alpha=32,44 lora_dropout=0.05,45 bias="none",46 task_type="CAUSAL_LM",47 target_modules=["q_proj", "v_proj"],48)49 50# Initialize and train51trainer = SFTTrainer(52 model="Qwen/Qwen2.5-0.5B",53 train_dataset=dataset,54 args=config,55 peft_config=peft_config,56)57 58print("๐ Starting training...")59trainer.train()60 61print("๐พ Pushing to Hub...")62trainer.push_to_hub()63 64print("โ
Complete! Model at: https://huggingface.co/evalstate/qwen-capybara-demo")65 