MCPcopy Index your code
hub / github.com/bigcode-project/starcoder / run_training

Function run_training

finetune/finetune.py:237–297  ·  view source on GitHub ↗
(args, train_data, val_data)

Source from the content-addressed store, hash-verified

235
236
237def run_training(args, train_data, val_data):
238 print("Loading the model")
239 # disable caching mechanism when using gradient checkpointing
240 model = AutoModelForCausalLM.from_pretrained(
241 args.model_path,
242 use_auth_token=True,
243 use_cache=not args.no_gradient_checkpointing,
244 load_in_8bit=True,
245 device_map={"": Accelerator().process_index},
246 )
247 model = prepare_model_for_int8_training(model)
248
249 lora_config = LoraConfig(
250 r=args.lora_r,
251 lora_alpha=args.lora_alpha,
252 lora_dropout=args.lora_dropout,
253 bias="none",
254 task_type="CAUSAL_LM",
255 target_modules = ["c_proj", "c_attn", "q_attn"]
256 )
257
258 model = get_peft_model(model, lora_config)
259
260 print_trainable_parameters(model)
261
262 train_data.start_iteration = 0
263
264 print("Starting main loop")
265
266 training_args = TrainingArguments(
267 output_dir=args.output_dir,
268 dataloader_drop_last=True,
269 evaluation_strategy="steps",
270 save_strategy="steps",
271 load_best_model_at_end=True,
272 max_steps=args.max_steps,
273 eval_steps=args.eval_freq,
274 save_steps=args.save_freq,
275 logging_steps=args.log_freq,
276 per_device_train_batch_size=args.batch_size,
277 per_device_eval_batch_size=args.batch_size,
278 learning_rate=args.learning_rate,
279 lr_scheduler_type=args.lr_scheduler_type,
280 warmup_steps=args.num_warmup_steps,
281 gradient_accumulation_steps=args.gradient_accumulation_steps,
282 gradient_checkpointing=not args.no_gradient_checkpointing,
283 fp16=not args.no_fp16,
284 bf16=args.bf16,
285 weight_decay=args.weight_decay,
286 run_name="StarCoder-finetuned",
287 report_to="wandb",
288 ddp_find_unused_parameters=False,
289 )
290
291 trainer = Trainer(model=model, args=training_args, train_dataset=train_data, eval_dataset=val_data, callbacks=[SavePeftModelCallback, LoadBestPeftModelCallback])
292
293 print("Training...")
294 trainer.train()

Callers 1

mainFunction · 0.85

Calls 2

TrainingArgumentsClass · 0.85

Tested by

no test coverage detected