use temp_dir kwarg instead
Browse files- tests/e2e/test_fused_llama.py +3 -3
- tests/e2e/test_lora_llama.py +9 -9
- tests/e2e/test_mistral.py +6 -6
- tests/e2e/test_mistral_samplepack.py +6 -6
- tests/e2e/test_phi.py +6 -6
- tests/e2e/utils.py +1 -1
tests/e2e/test_fused_llama.py
CHANGED
|
@@ -27,7 +27,7 @@ class TestFusedLlama(unittest.TestCase):
|
|
| 27 |
"""
|
| 28 |
|
| 29 |
@with_temp_dir
|
| 30 |
-
def test_fft_packing(self,
|
| 31 |
# pylint: disable=duplicate-code
|
| 32 |
cfg = DictDefault(
|
| 33 |
{
|
|
@@ -52,7 +52,7 @@ class TestFusedLlama(unittest.TestCase):
|
|
| 52 |
"num_epochs": 2,
|
| 53 |
"micro_batch_size": 2,
|
| 54 |
"gradient_accumulation_steps": 1,
|
| 55 |
-
"output_dir":
|
| 56 |
"learning_rate": 0.00001,
|
| 57 |
"optimizer": "adamw_torch",
|
| 58 |
"lr_scheduler": "cosine",
|
|
@@ -70,4 +70,4 @@ class TestFusedLlama(unittest.TestCase):
|
|
| 70 |
dataset_meta = load_datasets(cfg=cfg, cli_args=cli_args)
|
| 71 |
|
| 72 |
train(cfg=cfg, cli_args=cli_args, dataset_meta=dataset_meta)
|
| 73 |
-
assert (Path(
|
|
|
|
| 27 |
"""
|
| 28 |
|
| 29 |
@with_temp_dir
|
| 30 |
+
def test_fft_packing(self, temp_dir):
|
| 31 |
# pylint: disable=duplicate-code
|
| 32 |
cfg = DictDefault(
|
| 33 |
{
|
|
|
|
| 52 |
"num_epochs": 2,
|
| 53 |
"micro_batch_size": 2,
|
| 54 |
"gradient_accumulation_steps": 1,
|
| 55 |
+
"output_dir": temp_dir,
|
| 56 |
"learning_rate": 0.00001,
|
| 57 |
"optimizer": "adamw_torch",
|
| 58 |
"lr_scheduler": "cosine",
|
|
|
|
| 70 |
dataset_meta = load_datasets(cfg=cfg, cli_args=cli_args)
|
| 71 |
|
| 72 |
train(cfg=cfg, cli_args=cli_args, dataset_meta=dataset_meta)
|
| 73 |
+
assert (Path(temp_dir) / "pytorch_model.bin").exists()
|
tests/e2e/test_lora_llama.py
CHANGED
|
@@ -25,7 +25,7 @@ class TestLoraLlama(unittest.TestCase):
|
|
| 25 |
"""
|
| 26 |
|
| 27 |
@with_temp_dir
|
| 28 |
-
def test_lora(self,
|
| 29 |
# pylint: disable=duplicate-code
|
| 30 |
cfg = DictDefault(
|
| 31 |
{
|
|
@@ -53,7 +53,7 @@ class TestLoraLlama(unittest.TestCase):
|
|
| 53 |
"num_epochs": 2,
|
| 54 |
"micro_batch_size": 8,
|
| 55 |
"gradient_accumulation_steps": 1,
|
| 56 |
-
"output_dir":
|
| 57 |
"learning_rate": 0.00001,
|
| 58 |
"optimizer": "adamw_torch",
|
| 59 |
"lr_scheduler": "cosine",
|
|
@@ -64,10 +64,10 @@ class TestLoraLlama(unittest.TestCase):
|
|
| 64 |
dataset_meta = load_datasets(cfg=cfg, cli_args=cli_args)
|
| 65 |
|
| 66 |
train(cfg=cfg, cli_args=cli_args, dataset_meta=dataset_meta)
|
| 67 |
-
assert (Path(
|
| 68 |
|
| 69 |
@with_temp_dir
|
| 70 |
-
def test_lora_packing(self,
|
| 71 |
# pylint: disable=duplicate-code
|
| 72 |
cfg = DictDefault(
|
| 73 |
{
|
|
@@ -97,7 +97,7 @@ class TestLoraLlama(unittest.TestCase):
|
|
| 97 |
"num_epochs": 2,
|
| 98 |
"micro_batch_size": 8,
|
| 99 |
"gradient_accumulation_steps": 1,
|
| 100 |
-
"output_dir":
|
| 101 |
"learning_rate": 0.00001,
|
| 102 |
"optimizer": "adamw_torch",
|
| 103 |
"lr_scheduler": "cosine",
|
|
@@ -108,10 +108,10 @@ class TestLoraLlama(unittest.TestCase):
|
|
| 108 |
dataset_meta = load_datasets(cfg=cfg, cli_args=cli_args)
|
| 109 |
|
| 110 |
train(cfg=cfg, cli_args=cli_args, dataset_meta=dataset_meta)
|
| 111 |
-
assert (Path(
|
| 112 |
|
| 113 |
@with_temp_dir
|
| 114 |
-
def test_lora_gptq(self,
|
| 115 |
# pylint: disable=duplicate-code
|
| 116 |
cfg = DictDefault(
|
| 117 |
{
|
|
@@ -145,7 +145,7 @@ class TestLoraLlama(unittest.TestCase):
|
|
| 145 |
"save_steps": 0.5,
|
| 146 |
"micro_batch_size": 8,
|
| 147 |
"gradient_accumulation_steps": 1,
|
| 148 |
-
"output_dir":
|
| 149 |
"learning_rate": 0.00001,
|
| 150 |
"optimizer": "adamw_torch",
|
| 151 |
"lr_scheduler": "cosine",
|
|
@@ -156,4 +156,4 @@ class TestLoraLlama(unittest.TestCase):
|
|
| 156 |
dataset_meta = load_datasets(cfg=cfg, cli_args=cli_args)
|
| 157 |
|
| 158 |
train(cfg=cfg, cli_args=cli_args, dataset_meta=dataset_meta)
|
| 159 |
-
assert (Path(
|
|
|
|
| 25 |
"""
|
| 26 |
|
| 27 |
@with_temp_dir
|
| 28 |
+
def test_lora(self, temp_dir):
|
| 29 |
# pylint: disable=duplicate-code
|
| 30 |
cfg = DictDefault(
|
| 31 |
{
|
|
|
|
| 53 |
"num_epochs": 2,
|
| 54 |
"micro_batch_size": 8,
|
| 55 |
"gradient_accumulation_steps": 1,
|
| 56 |
+
"output_dir": temp_dir,
|
| 57 |
"learning_rate": 0.00001,
|
| 58 |
"optimizer": "adamw_torch",
|
| 59 |
"lr_scheduler": "cosine",
|
|
|
|
| 64 |
dataset_meta = load_datasets(cfg=cfg, cli_args=cli_args)
|
| 65 |
|
| 66 |
train(cfg=cfg, cli_args=cli_args, dataset_meta=dataset_meta)
|
| 67 |
+
assert (Path(temp_dir) / "adapter_model.bin").exists()
|
| 68 |
|
| 69 |
@with_temp_dir
|
| 70 |
+
def test_lora_packing(self, temp_dir):
|
| 71 |
# pylint: disable=duplicate-code
|
| 72 |
cfg = DictDefault(
|
| 73 |
{
|
|
|
|
| 97 |
"num_epochs": 2,
|
| 98 |
"micro_batch_size": 8,
|
| 99 |
"gradient_accumulation_steps": 1,
|
| 100 |
+
"output_dir": temp_dir,
|
| 101 |
"learning_rate": 0.00001,
|
| 102 |
"optimizer": "adamw_torch",
|
| 103 |
"lr_scheduler": "cosine",
|
|
|
|
| 108 |
dataset_meta = load_datasets(cfg=cfg, cli_args=cli_args)
|
| 109 |
|
| 110 |
train(cfg=cfg, cli_args=cli_args, dataset_meta=dataset_meta)
|
| 111 |
+
assert (Path(temp_dir) / "adapter_model.bin").exists()
|
| 112 |
|
| 113 |
@with_temp_dir
|
| 114 |
+
def test_lora_gptq(self, temp_dir):
|
| 115 |
# pylint: disable=duplicate-code
|
| 116 |
cfg = DictDefault(
|
| 117 |
{
|
|
|
|
| 145 |
"save_steps": 0.5,
|
| 146 |
"micro_batch_size": 8,
|
| 147 |
"gradient_accumulation_steps": 1,
|
| 148 |
+
"output_dir": temp_dir,
|
| 149 |
"learning_rate": 0.00001,
|
| 150 |
"optimizer": "adamw_torch",
|
| 151 |
"lr_scheduler": "cosine",
|
|
|
|
| 156 |
dataset_meta = load_datasets(cfg=cfg, cli_args=cli_args)
|
| 157 |
|
| 158 |
train(cfg=cfg, cli_args=cli_args, dataset_meta=dataset_meta)
|
| 159 |
+
assert (Path(temp_dir) / "adapter_model.bin").exists()
|
tests/e2e/test_mistral.py
CHANGED
|
@@ -27,7 +27,7 @@ class TestMistral(unittest.TestCase):
|
|
| 27 |
"""
|
| 28 |
|
| 29 |
@with_temp_dir
|
| 30 |
-
def test_lora(self,
|
| 31 |
# pylint: disable=duplicate-code
|
| 32 |
cfg = DictDefault(
|
| 33 |
{
|
|
@@ -55,7 +55,7 @@ class TestMistral(unittest.TestCase):
|
|
| 55 |
"num_epochs": 2,
|
| 56 |
"micro_batch_size": 2,
|
| 57 |
"gradient_accumulation_steps": 1,
|
| 58 |
-
"output_dir":
|
| 59 |
"learning_rate": 0.00001,
|
| 60 |
"optimizer": "adamw_torch",
|
| 61 |
"lr_scheduler": "cosine",
|
|
@@ -69,10 +69,10 @@ class TestMistral(unittest.TestCase):
|
|
| 69 |
dataset_meta = load_datasets(cfg=cfg, cli_args=cli_args)
|
| 70 |
|
| 71 |
train(cfg=cfg, cli_args=cli_args, dataset_meta=dataset_meta)
|
| 72 |
-
assert (Path(
|
| 73 |
|
| 74 |
@with_temp_dir
|
| 75 |
-
def test_ft(self,
|
| 76 |
# pylint: disable=duplicate-code
|
| 77 |
cfg = DictDefault(
|
| 78 |
{
|
|
@@ -94,7 +94,7 @@ class TestMistral(unittest.TestCase):
|
|
| 94 |
"num_epochs": 2,
|
| 95 |
"micro_batch_size": 2,
|
| 96 |
"gradient_accumulation_steps": 1,
|
| 97 |
-
"output_dir":
|
| 98 |
"learning_rate": 0.00001,
|
| 99 |
"optimizer": "adamw_torch",
|
| 100 |
"lr_scheduler": "cosine",
|
|
@@ -112,4 +112,4 @@ class TestMistral(unittest.TestCase):
|
|
| 112 |
dataset_meta = load_datasets(cfg=cfg, cli_args=cli_args)
|
| 113 |
|
| 114 |
train(cfg=cfg, cli_args=cli_args, dataset_meta=dataset_meta)
|
| 115 |
-
assert (Path(
|
|
|
|
| 27 |
"""
|
| 28 |
|
| 29 |
@with_temp_dir
|
| 30 |
+
def test_lora(self, temp_dir):
|
| 31 |
# pylint: disable=duplicate-code
|
| 32 |
cfg = DictDefault(
|
| 33 |
{
|
|
|
|
| 55 |
"num_epochs": 2,
|
| 56 |
"micro_batch_size": 2,
|
| 57 |
"gradient_accumulation_steps": 1,
|
| 58 |
+
"output_dir": temp_dir,
|
| 59 |
"learning_rate": 0.00001,
|
| 60 |
"optimizer": "adamw_torch",
|
| 61 |
"lr_scheduler": "cosine",
|
|
|
|
| 69 |
dataset_meta = load_datasets(cfg=cfg, cli_args=cli_args)
|
| 70 |
|
| 71 |
train(cfg=cfg, cli_args=cli_args, dataset_meta=dataset_meta)
|
| 72 |
+
assert (Path(temp_dir) / "adapter_model.bin").exists()
|
| 73 |
|
| 74 |
@with_temp_dir
|
| 75 |
+
def test_ft(self, temp_dir):
|
| 76 |
# pylint: disable=duplicate-code
|
| 77 |
cfg = DictDefault(
|
| 78 |
{
|
|
|
|
| 94 |
"num_epochs": 2,
|
| 95 |
"micro_batch_size": 2,
|
| 96 |
"gradient_accumulation_steps": 1,
|
| 97 |
+
"output_dir": temp_dir,
|
| 98 |
"learning_rate": 0.00001,
|
| 99 |
"optimizer": "adamw_torch",
|
| 100 |
"lr_scheduler": "cosine",
|
|
|
|
| 112 |
dataset_meta = load_datasets(cfg=cfg, cli_args=cli_args)
|
| 113 |
|
| 114 |
train(cfg=cfg, cli_args=cli_args, dataset_meta=dataset_meta)
|
| 115 |
+
assert (Path(temp_dir) / "pytorch_model.bin").exists()
|
tests/e2e/test_mistral_samplepack.py
CHANGED
|
@@ -27,7 +27,7 @@ class TestMistral(unittest.TestCase):
|
|
| 27 |
"""
|
| 28 |
|
| 29 |
@with_temp_dir
|
| 30 |
-
def test_lora_packing(self,
|
| 31 |
# pylint: disable=duplicate-code
|
| 32 |
cfg = DictDefault(
|
| 33 |
{
|
|
@@ -56,7 +56,7 @@ class TestMistral(unittest.TestCase):
|
|
| 56 |
"num_epochs": 2,
|
| 57 |
"micro_batch_size": 2,
|
| 58 |
"gradient_accumulation_steps": 1,
|
| 59 |
-
"output_dir":
|
| 60 |
"learning_rate": 0.00001,
|
| 61 |
"optimizer": "adamw_torch",
|
| 62 |
"lr_scheduler": "cosine",
|
|
@@ -70,10 +70,10 @@ class TestMistral(unittest.TestCase):
|
|
| 70 |
dataset_meta = load_datasets(cfg=cfg, cli_args=cli_args)
|
| 71 |
|
| 72 |
train(cfg=cfg, cli_args=cli_args, dataset_meta=dataset_meta)
|
| 73 |
-
assert (Path(
|
| 74 |
|
| 75 |
@with_temp_dir
|
| 76 |
-
def test_ft_packing(self,
|
| 77 |
# pylint: disable=duplicate-code
|
| 78 |
cfg = DictDefault(
|
| 79 |
{
|
|
@@ -96,7 +96,7 @@ class TestMistral(unittest.TestCase):
|
|
| 96 |
"num_epochs": 2,
|
| 97 |
"micro_batch_size": 2,
|
| 98 |
"gradient_accumulation_steps": 1,
|
| 99 |
-
"output_dir":
|
| 100 |
"learning_rate": 0.00001,
|
| 101 |
"optimizer": "adamw_torch",
|
| 102 |
"lr_scheduler": "cosine",
|
|
@@ -114,4 +114,4 @@ class TestMistral(unittest.TestCase):
|
|
| 114 |
dataset_meta = load_datasets(cfg=cfg, cli_args=cli_args)
|
| 115 |
|
| 116 |
train(cfg=cfg, cli_args=cli_args, dataset_meta=dataset_meta)
|
| 117 |
-
assert (Path(
|
|
|
|
| 27 |
"""
|
| 28 |
|
| 29 |
@with_temp_dir
|
| 30 |
+
def test_lora_packing(self, temp_dir):
|
| 31 |
# pylint: disable=duplicate-code
|
| 32 |
cfg = DictDefault(
|
| 33 |
{
|
|
|
|
| 56 |
"num_epochs": 2,
|
| 57 |
"micro_batch_size": 2,
|
| 58 |
"gradient_accumulation_steps": 1,
|
| 59 |
+
"output_dir": temp_dir,
|
| 60 |
"learning_rate": 0.00001,
|
| 61 |
"optimizer": "adamw_torch",
|
| 62 |
"lr_scheduler": "cosine",
|
|
|
|
| 70 |
dataset_meta = load_datasets(cfg=cfg, cli_args=cli_args)
|
| 71 |
|
| 72 |
train(cfg=cfg, cli_args=cli_args, dataset_meta=dataset_meta)
|
| 73 |
+
assert (Path(temp_dir) / "adapter_model.bin").exists()
|
| 74 |
|
| 75 |
@with_temp_dir
|
| 76 |
+
def test_ft_packing(self, temp_dir):
|
| 77 |
# pylint: disable=duplicate-code
|
| 78 |
cfg = DictDefault(
|
| 79 |
{
|
|
|
|
| 96 |
"num_epochs": 2,
|
| 97 |
"micro_batch_size": 2,
|
| 98 |
"gradient_accumulation_steps": 1,
|
| 99 |
+
"output_dir": temp_dir,
|
| 100 |
"learning_rate": 0.00001,
|
| 101 |
"optimizer": "adamw_torch",
|
| 102 |
"lr_scheduler": "cosine",
|
|
|
|
| 114 |
dataset_meta = load_datasets(cfg=cfg, cli_args=cli_args)
|
| 115 |
|
| 116 |
train(cfg=cfg, cli_args=cli_args, dataset_meta=dataset_meta)
|
| 117 |
+
assert (Path(temp_dir) / "pytorch_model.bin").exists()
|
tests/e2e/test_phi.py
CHANGED
|
@@ -25,7 +25,7 @@ class TestPhi(unittest.TestCase):
|
|
| 25 |
"""
|
| 26 |
|
| 27 |
@with_temp_dir
|
| 28 |
-
def test_ft(self,
|
| 29 |
# pylint: disable=duplicate-code
|
| 30 |
cfg = DictDefault(
|
| 31 |
{
|
|
@@ -55,7 +55,7 @@ class TestPhi(unittest.TestCase):
|
|
| 55 |
"num_epochs": 1,
|
| 56 |
"micro_batch_size": 1,
|
| 57 |
"gradient_accumulation_steps": 1,
|
| 58 |
-
"output_dir":
|
| 59 |
"learning_rate": 0.00001,
|
| 60 |
"optimizer": "adamw_bnb_8bit",
|
| 61 |
"lr_scheduler": "cosine",
|
|
@@ -67,10 +67,10 @@ class TestPhi(unittest.TestCase):
|
|
| 67 |
dataset_meta = load_datasets(cfg=cfg, cli_args=cli_args)
|
| 68 |
|
| 69 |
train(cfg=cfg, cli_args=cli_args, dataset_meta=dataset_meta)
|
| 70 |
-
assert (Path(
|
| 71 |
|
| 72 |
@with_temp_dir
|
| 73 |
-
def test_ft_packed(self,
|
| 74 |
# pylint: disable=duplicate-code
|
| 75 |
cfg = DictDefault(
|
| 76 |
{
|
|
@@ -100,7 +100,7 @@ class TestPhi(unittest.TestCase):
|
|
| 100 |
"num_epochs": 1,
|
| 101 |
"micro_batch_size": 1,
|
| 102 |
"gradient_accumulation_steps": 1,
|
| 103 |
-
"output_dir":
|
| 104 |
"learning_rate": 0.00001,
|
| 105 |
"optimizer": "adamw_bnb_8bit",
|
| 106 |
"lr_scheduler": "cosine",
|
|
@@ -112,4 +112,4 @@ class TestPhi(unittest.TestCase):
|
|
| 112 |
dataset_meta = load_datasets(cfg=cfg, cli_args=cli_args)
|
| 113 |
|
| 114 |
train(cfg=cfg, cli_args=cli_args, dataset_meta=dataset_meta)
|
| 115 |
-
assert (Path(
|
|
|
|
| 25 |
"""
|
| 26 |
|
| 27 |
@with_temp_dir
|
| 28 |
+
def test_ft(self, temp_dir):
|
| 29 |
# pylint: disable=duplicate-code
|
| 30 |
cfg = DictDefault(
|
| 31 |
{
|
|
|
|
| 55 |
"num_epochs": 1,
|
| 56 |
"micro_batch_size": 1,
|
| 57 |
"gradient_accumulation_steps": 1,
|
| 58 |
+
"output_dir": temp_dir,
|
| 59 |
"learning_rate": 0.00001,
|
| 60 |
"optimizer": "adamw_bnb_8bit",
|
| 61 |
"lr_scheduler": "cosine",
|
|
|
|
| 67 |
dataset_meta = load_datasets(cfg=cfg, cli_args=cli_args)
|
| 68 |
|
| 69 |
train(cfg=cfg, cli_args=cli_args, dataset_meta=dataset_meta)
|
| 70 |
+
assert (Path(temp_dir) / "pytorch_model.bin").exists()
|
| 71 |
|
| 72 |
@with_temp_dir
|
| 73 |
+
def test_ft_packed(self, temp_dir):
|
| 74 |
# pylint: disable=duplicate-code
|
| 75 |
cfg = DictDefault(
|
| 76 |
{
|
|
|
|
| 100 |
"num_epochs": 1,
|
| 101 |
"micro_batch_size": 1,
|
| 102 |
"gradient_accumulation_steps": 1,
|
| 103 |
+
"output_dir": temp_dir,
|
| 104 |
"learning_rate": 0.00001,
|
| 105 |
"optimizer": "adamw_bnb_8bit",
|
| 106 |
"lr_scheduler": "cosine",
|
|
|
|
| 112 |
dataset_meta = load_datasets(cfg=cfg, cli_args=cli_args)
|
| 113 |
|
| 114 |
train(cfg=cfg, cli_args=cli_args, dataset_meta=dataset_meta)
|
| 115 |
+
assert (Path(temp_dir) / "pytorch_model.bin").exists()
|
tests/e2e/utils.py
CHANGED
|
@@ -14,7 +14,7 @@ def with_temp_dir(test_func):
|
|
| 14 |
temp_dir = tempfile.mkdtemp()
|
| 15 |
try:
|
| 16 |
# Pass the temporary directory to the test function
|
| 17 |
-
test_func(
|
| 18 |
finally:
|
| 19 |
# Clean up the directory after the test
|
| 20 |
shutil.rmtree(temp_dir)
|
|
|
|
| 14 |
temp_dir = tempfile.mkdtemp()
|
| 15 |
try:
|
| 16 |
# Pass the temporary directory to the test function
|
| 17 |
+
test_func(*args, temp_dir=temp_dir, **kwargs)
|
| 18 |
finally:
|
| 19 |
# Clean up the directory after the test
|
| 20 |
shutil.rmtree(temp_dir)
|