evalstate HF Staff commited on
Commit
d296218
·
verified ·
1 Parent(s): ed4b00c

Upload quick_demo.py with huggingface_hub

Browse files
Files changed (1) hide show
  1. quick_demo.py +64 -0
quick_demo.py ADDED
@@ -0,0 +1,64 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # /// script
2
+ # 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
+
11
+ from datasets import load_dataset
12
+ from peft import LoraConfig
13
+ from trl import SFTTrainer, SFTConfig
14
+
15
+ # Load just 50 examples for quick demo
16
+ dataset = load_dataset("trl-lib/Capybara", split="train[:50]")
17
+ print(f"✅ Dataset loaded: {len(dataset)} examples")
18
+
19
+ # Training configuration
20
+ config = SFTConfig(
21
+ # CRITICAL: Hub settings
22
+ output_dir="qwen-demo-sft",
23
+ push_to_hub=True,
24
+ hub_model_id="evalstate/qwen-capybara-demo",
25
+
26
+ # Quick training settings
27
+ max_steps=20, # Just 20 steps for demo
28
+ per_device_train_batch_size=2,
29
+ learning_rate=2e-5,
30
+
31
+ # Logging
32
+ logging_steps=5,
33
+ save_strategy="steps",
34
+ save_steps=10,
35
+
36
+ # Optimization
37
+ warmup_ratio=0.1,
38
+ )
39
+
40
+ # LoRA configuration for efficient training
41
+ peft_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 train
51
+ trainer = SFTTrainer(
52
+ model="Qwen/Qwen2.5-0.5B",
53
+ train_dataset=dataset,
54
+ args=config,
55
+ peft_config=peft_config,
56
+ )
57
+
58
+ print("🚀 Starting training...")
59
+ trainer.train()
60
+
61
+ print("💾 Pushing to Hub...")
62
+ trainer.push_to_hub()
63
+
64
+ print("✅ Complete! Model at: https://huggingface.co/evalstate/qwen-capybara-demo")