Rayugacodes commited on
Commit
95aeeaa
·
verified ·
1 Parent(s): cc3631c

Fix: use Colab default torch, auto-detect TRL API, no version pins

Browse files
Files changed (1) hide show
  1. KernelX_Training.ipynb +3 -79
KernelX_Training.ipynb CHANGED
@@ -45,7 +45,7 @@
45
  "execution_count": null,
46
  "metadata": {},
47
  "outputs": [],
48
- "source": "!pip install -q \"sympy>=1.13,<1.14\" \"transformers==4.46.3\" \"trl==0.15.2\" \"peft>=0.13,<0.15\" datasets \"accelerate>=0.34,<0.36\" huggingface_hub\n\n# Restart runtime to pick up new sympy version (torch stays as Colab's default)\nimport os\nos.kill(os.getpid(), 9)"
49
  },
50
  {
51
  "cell_type": "markdown",
@@ -245,45 +245,7 @@
245
  "execution_count": null,
246
  "metadata": {},
247
  "outputs": [],
248
- "source": [
249
- "# Train World Model\n",
250
- "lora_config = LoraConfig(\n",
251
- " r=16, lora_alpha=32,\n",
252
- " target_modules=['q_proj', 'k_proj', 'v_proj', 'o_proj',\n",
253
- " 'gate_proj', 'up_proj', 'down_proj'],\n",
254
- " lora_dropout=0.05, bias='none', task_type='CAUSAL_LM',\n",
255
- ")\n",
256
- "\n",
257
- "training_args = SFTConfig(\n",
258
- " output_dir='./world_model_checkpoints',\n",
259
- " num_train_epochs=2,\n",
260
- " per_device_train_batch_size=16,\n",
261
- " gradient_accumulation_steps=2,\n",
262
- " learning_rate=2e-4,\n",
263
- " lr_scheduler_type='cosine',\n",
264
- " warmup_ratio=0.1,\n",
265
- " logging_steps=10,\n",
266
- " eval_strategy='steps',\n",
267
- " eval_steps=100,\n",
268
- " save_total_limit=1,\n",
269
- " fp16=True,\n",
270
- " max_seq_length=512,\n",
271
- " report_to='none',\n",
272
- ")\n",
273
- "\n",
274
- "trainer = SFTTrainer(\n",
275
- " model=model, args=training_args,\n",
276
- " train_dataset=train_ds, eval_dataset=val_ds,\n",
277
- " peft_config=lora_config,\n",
278
- ")\n",
279
- "\n",
280
- "print('Training World Model...')\n",
281
- "trainer.train()\n",
282
- "\n",
283
- "trainer.save_model('./world_model_final')\n",
284
- "tokenizer.save_pretrained('./world_model_final')\n",
285
- "print('World Model saved.')"
286
- ]
287
  },
288
  {
289
  "cell_type": "markdown",
@@ -359,45 +321,7 @@
359
  "execution_count": null,
360
  "metadata": {},
361
  "outputs": [],
362
- "source": [
363
- "# Reload fresh base model for Strategist\n",
364
- "tokenizer = AutoTokenizer.from_pretrained(MODEL_NAME)\n",
365
- "model = AutoModelForCausalLM.from_pretrained(MODEL_NAME, device_map='auto')\n",
366
- "if tokenizer.pad_token is None:\n",
367
- " tokenizer.pad_token = tokenizer.eos_token\n",
368
- "\n",
369
- "lora_config = LoraConfig(\n",
370
- " r=16, lora_alpha=32,\n",
371
- " target_modules=['q_proj', 'k_proj', 'v_proj', 'o_proj',\n",
372
- " 'gate_proj', 'up_proj', 'down_proj'],\n",
373
- " lora_dropout=0.05, bias='none', task_type='CAUSAL_LM',\n",
374
- ")\n",
375
- "\n",
376
- "ws_args = SFTConfig(\n",
377
- " output_dir='./strategist_warmstart',\n",
378
- " num_train_epochs=2,\n",
379
- " per_device_train_batch_size=16,\n",
380
- " gradient_accumulation_steps=2,\n",
381
- " learning_rate=2e-4,\n",
382
- " fp16=True,\n",
383
- " max_seq_length=512,\n",
384
- " logging_steps=5,\n",
385
- " save_total_limit=1,\n",
386
- " report_to='none',\n",
387
- ")\n",
388
- "\n",
389
- "trainer = SFTTrainer(\n",
390
- " model=model, args=ws_args,\n",
391
- " train_dataset=ws_dataset, peft_config=lora_config,\n",
392
- ")\n",
393
- "\n",
394
- "print('Training Strategist (warm-start)...')\n",
395
- "trainer.train()\n",
396
- "\n",
397
- "trainer.save_model('./strategist_final')\n",
398
- "tokenizer.save_pretrained('./strategist_final')\n",
399
- "print('Strategist saved.')"
400
- ]
401
  },
402
  {
403
  "cell_type": "markdown",
 
45
  "execution_count": null,
46
  "metadata": {},
47
  "outputs": [],
48
+ "source": "!pip install -q -U sympy transformers trl peft datasets accelerate huggingface_hub\n\n# Restart runtime to pick up updated packages cleanly\nimport os\nos.kill(os.getpid(), 9)"
49
  },
50
  {
51
  "cell_type": "markdown",
 
245
  "execution_count": null,
246
  "metadata": {},
247
  "outputs": [],
248
+ "source": "# Train World Model\nimport inspect\n\nlora_config = LoraConfig(\n r=16, lora_alpha=32,\n target_modules=['q_proj', 'k_proj', 'v_proj', 'o_proj',\n 'gate_proj', 'up_proj', 'down_proj'],\n lora_dropout=0.05, bias='none', task_type='CAUSAL_LM',\n)\n\n# Auto-detect SFTConfig API (max_seq_length in older TRL, max_length in newer)\nsft_sig = inspect.signature(SFTConfig.__init__)\nseq_len_param = 'max_seq_length' if 'max_seq_length' in sft_sig.parameters else 'max_length'\nprint(f'TRL uses: {seq_len_param}')\n\ntraining_args = SFTConfig(\n output_dir='./world_model_checkpoints',\n num_train_epochs=2,\n per_device_train_batch_size=16,\n gradient_accumulation_steps=2,\n learning_rate=2e-4,\n lr_scheduler_type='cosine',\n warmup_ratio=0.1,\n logging_steps=10,\n eval_strategy='steps',\n eval_steps=100,\n save_total_limit=1,\n fp16=True,\n report_to='none',\n **{seq_len_param: 512},\n)\n\ntrainer = SFTTrainer(\n model=model, args=training_args,\n train_dataset=train_ds, eval_dataset=val_ds,\n peft_config=lora_config,\n)\n\nprint('Training World Model...')\ntrainer.train()\n\ntrainer.save_model('./world_model_final')\ntokenizer.save_pretrained('./world_model_final')\nprint('World Model saved.')"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
249
  },
250
  {
251
  "cell_type": "markdown",
 
321
  "execution_count": null,
322
  "metadata": {},
323
  "outputs": [],
324
+ "source": "# Reload fresh base model for Strategist\ntokenizer = AutoModelForCausalLM # just to trigger import if needed\ntokenizer = AutoTokenizer.from_pretrained(MODEL_NAME)\nmodel = AutoModelForCausalLM.from_pretrained(MODEL_NAME, device_map='auto')\nif tokenizer.pad_token is None:\n tokenizer.pad_token = tokenizer.eos_token\n\nlora_config = LoraConfig(\n r=16, lora_alpha=32,\n target_modules=['q_proj', 'k_proj', 'v_proj', 'o_proj',\n 'gate_proj', 'up_proj', 'down_proj'],\n lora_dropout=0.05, bias='none', task_type='CAUSAL_LM',\n)\n\nws_args = SFTConfig(\n output_dir='./strategist_warmstart',\n num_train_epochs=2,\n per_device_train_batch_size=16,\n gradient_accumulation_steps=2,\n learning_rate=2e-4,\n fp16=True,\n logging_steps=5,\n save_total_limit=1,\n report_to='none',\n **{seq_len_param: 512},\n)\n\ntrainer = SFTTrainer(\n model=model, args=ws_args,\n train_dataset=ws_dataset, peft_config=lora_config,\n)\n\nprint('Training Strategist (warm-start)...')\ntrainer.train()\n\ntrainer.save_model('./strategist_final')\ntokenizer.save_pretrained('./strategist_final')\nprint('Strategist saved.')"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
325
  },
326
  {
327
  "cell_type": "markdown",