Skip to content

Commit 9368dcc

Browse files
kashifqgallouedec
andauthored
🐢 Fix slow tests (huggingface#2397)
* fix slow CI * fix dpo * formatting * Apply suggestions from code review * `setup_chat_format` may add a pad token --------- Co-authored-by: Quentin Gallouédec <[email protected]> Co-authored-by: Quentin Gallouédec <[email protected]>
1 parent 43df3a4 commit 9368dcc

File tree

2 files changed

+13
-1
lines changed

2 files changed

+13
-1
lines changed

tests/slow/test_dpo_slow.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@ def test_dpo_bare_model(self, model_id, loss_type, pre_compute_logits):
6262
"""
6363
model = AutoModelForCausalLM.from_pretrained(model_id)
6464
tokenizer = AutoTokenizer.from_pretrained(model_id)
65+
tokenizer.pad_token = tokenizer.eos_token if tokenizer.pad_token is None else tokenizer.pad_token
6566

6667
with tempfile.TemporaryDirectory() as tmp_dir:
6768
training_args = DPOConfig(
@@ -116,6 +117,7 @@ def test_dpo_peft_model(self, model_id, loss_type, pre_compute_logits, gradient_
116117
"""
117118
model = AutoModelForCausalLM.from_pretrained(model_id)
118119
tokenizer = AutoTokenizer.from_pretrained(model_id)
120+
tokenizer.pad_token = tokenizer.eos_token if tokenizer.pad_token is None else tokenizer.pad_token
119121

120122
with tempfile.TemporaryDirectory() as tmp_dir:
121123
training_args = DPOConfig(
@@ -180,6 +182,7 @@ def test_dpo_peft_model_qlora(self, model_id, loss_type, pre_compute_logits, gra
180182

181183
model = AutoModelForCausalLM.from_pretrained(model_id, quantization_config=quantization_config)
182184
tokenizer = AutoTokenizer.from_pretrained(model_id)
185+
tokenizer.pad_token = tokenizer.eos_token if tokenizer.pad_token is None else tokenizer.pad_token
183186

184187
with tempfile.TemporaryDirectory() as tmp_dir:
185188
training_args = DPOConfig(

tests/slow/test_sft_slow.py

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,7 @@ def test_sft_trainer_transformers(self, model_name, packing):
104104

105105
model = AutoModelForCausalLM.from_pretrained(model_name)
106106
tokenizer = AutoTokenizer.from_pretrained(model_name)
107+
tokenizer.pad_token = tokenizer.eos_token if tokenizer.pad_token is None else tokenizer.pad_token
107108

108109
trainer = SFTTrainer(
109110
model,
@@ -138,6 +139,7 @@ def test_sft_trainer_peft(self, model_name, packing):
138139

139140
model = AutoModelForCausalLM.from_pretrained(model_name)
140141
tokenizer = AutoTokenizer.from_pretrained(model_name)
142+
tokenizer.pad_token = tokenizer.eos_token if tokenizer.pad_token is None else tokenizer.pad_token
141143

142144
trainer = SFTTrainer(
143145
model,
@@ -174,6 +176,7 @@ def test_sft_trainer_transformers_mp(self, model_name, packing):
174176

175177
model = AutoModelForCausalLM.from_pretrained(model_name)
176178
tokenizer = AutoTokenizer.from_pretrained(model_name)
179+
tokenizer.pad_token = tokenizer.eos_token if tokenizer.pad_token is None else tokenizer.pad_token
177180

178181
trainer = SFTTrainer(
179182
model,
@@ -209,6 +212,7 @@ def test_sft_trainer_transformers_mp_gc(self, model_name, packing, gradient_chec
209212

210213
model = AutoModelForCausalLM.from_pretrained(model_name)
211214
tokenizer = AutoTokenizer.from_pretrained(model_name)
215+
tokenizer.pad_token = tokenizer.eos_token if tokenizer.pad_token is None else tokenizer.pad_token
212216

213217
trainer = SFTTrainer(
214218
model,
@@ -245,6 +249,7 @@ def test_sft_trainer_transformers_mp_gc_peft(self, model_name, packing, gradient
245249

246250
model = AutoModelForCausalLM.from_pretrained(model_name)
247251
tokenizer = AutoTokenizer.from_pretrained(model_name)
252+
tokenizer.pad_token = tokenizer.eos_token if tokenizer.pad_token is None else tokenizer.pad_token
248253

249254
trainer = SFTTrainer(
250255
model,
@@ -288,6 +293,7 @@ def test_sft_trainer_transformers_mp_gc_device_map(
288293

289294
model = AutoModelForCausalLM.from_pretrained(model_name, device_map=device_map)
290295
tokenizer = AutoTokenizer.from_pretrained(model_name)
296+
tokenizer.pad_token = tokenizer.eos_token if tokenizer.pad_token is None else tokenizer.pad_token
291297

292298
trainer = SFTTrainer(
293299
model,
@@ -327,6 +333,7 @@ def test_sft_trainer_transformers_mp_gc_peft_qlora(self, model_name, packing, gr
327333

328334
model = AutoModelForCausalLM.from_pretrained(model_name, quantization_config=quantization_config)
329335
tokenizer = AutoTokenizer.from_pretrained(model_name)
336+
tokenizer.pad_token = tokenizer.eos_token if tokenizer.pad_token is None else tokenizer.pad_token
330337

331338
trainer = SFTTrainer(
332339
model,
@@ -370,7 +377,9 @@ def test_sft_trainer_with_chat_format_qlora(self, model_name, packing):
370377
model = AutoModelForCausalLM.from_pretrained(model_name, quantization_config=quantization_config)
371378
tokenizer = AutoTokenizer.from_pretrained(model_name)
372379

373-
model, tokenizer = setup_chat_format(model, tokenizer)
380+
if tokenizer.chat_template is None:
381+
model, tokenizer = setup_chat_format(model, tokenizer)
382+
tokenizer.pad_token = tokenizer.eos_token if tokenizer.pad_token is None else tokenizer.pad_token
374383

375384
trainer = SFTTrainer(
376385
model,

0 commit comments

Comments
 (0)