kintopp commited on
Commit
c19b216
·
verified ·
1 Parent(s): 4e393ba

Upload train_qwen_codeforces.py with huggingface_hub

Browse files
Files changed (1) hide show
  1. train_qwen_codeforces.py +13 -0
train_qwen_codeforces.py CHANGED
@@ -17,12 +17,18 @@ import trackio
17
  from datasets import load_dataset
18
  from peft import LoraConfig
19
  from trl import SFTTrainer, SFTConfig
 
20
 
21
  # Load dataset - using the solutions config with messages column
22
  print("Loading dataset...")
23
  dataset = load_dataset("open-r1/codeforces-cots", "solutions", split="train")
24
  print(f"Dataset loaded: {len(dataset)} examples")
25
 
 
 
 
 
 
26
  # Create train/eval split
27
  print("Creating train/eval split...")
28
  dataset_split = dataset.train_test_split(test_size=0.05, seed=42)
@@ -31,6 +37,12 @@ eval_dataset = dataset_split["test"]
31
  print(f"Train: {len(train_dataset)} examples")
32
  print(f"Eval: {len(eval_dataset)} examples")
33
 
 
 
 
 
 
 
34
  # Training configuration
35
  config = SFTConfig(
36
  # Hub settings - CRITICAL for saving results
@@ -82,6 +94,7 @@ peft_config = LoraConfig(
82
  print("Initializing trainer...")
83
  trainer = SFTTrainer(
84
  model="Qwen/Qwen3-0.6B",
 
85
  train_dataset=train_dataset,
86
  eval_dataset=eval_dataset,
87
  args=config,
 
17
  from datasets import load_dataset
18
  from peft import LoraConfig
19
  from trl import SFTTrainer, SFTConfig
20
+ from transformers import AutoTokenizer
21
 
22
  # Load dataset - using the solutions config with messages column
23
  print("Loading dataset...")
24
  dataset = load_dataset("open-r1/codeforces-cots", "solutions", split="train")
25
  print(f"Dataset loaded: {len(dataset)} examples")
26
 
27
+ # The dataset has a 'messages' column in chat format
28
+ # We need to keep only the 'messages' column for SFT training
29
+ print("Preparing dataset - keeping only messages column...")
30
+ dataset = dataset.select_columns(["messages"])
31
+
32
  # Create train/eval split
33
  print("Creating train/eval split...")
34
  dataset_split = dataset.train_test_split(test_size=0.05, seed=42)
 
37
  print(f"Train: {len(train_dataset)} examples")
38
  print(f"Eval: {len(eval_dataset)} examples")
39
 
40
+ # Load tokenizer for chat template
41
+ print("Loading tokenizer...")
42
+ tokenizer = AutoTokenizer.from_pretrained("Qwen/Qwen3-0.6B")
43
+ if tokenizer.pad_token is None:
44
+ tokenizer.pad_token = tokenizer.eos_token
45
+
46
  # Training configuration
47
  config = SFTConfig(
48
  # Hub settings - CRITICAL for saving results
 
94
  print("Initializing trainer...")
95
  trainer = SFTTrainer(
96
  model="Qwen/Qwen3-0.6B",
97
+ tokenizer=tokenizer,
98
  train_dataset=train_dataset,
99
  eval_dataset=eval_dataset,
100
  args=config,