args.py 3.42 KB
Newer Older
1
2
from colossalai import get_default_parser

3

4
5
def parse_demo_args():
    parser = get_default_parser()
6
7
8
9
10
11
12
13
14
    parser.add_argument(
        "--model_name_or_path",
        type=str,
        default="google/vit-base-patch16-224",
        help="Path to pretrained model or model identifier from huggingface.co/models.",
    )
    parser.add_argument(
        "--output_path", type=str, default="./output_model", help="The path of your saved model after finetuning."
    )
15
16
17
18
    parser.add_argument(
        "--plugin",
        type=str,
        default="gemini",
19
        help="Plugin to use. Valid plugins include 'torch_ddp','torch_ddp_fp16','gemini','low_level_zero', 'hybrid_parallel'.",
20
21
    )
    parser.add_argument("--num_epoch", type=int, default=3, help="Number of epochs.")
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
    parser.add_argument(
        "--batch_size", type=int, default=32, help="Batch size (per dp group) for the training dataloader."
    )
    parser.add_argument(
        "--tp_size",
        type=int,
        default=1,
        help="The size along tensor parallel dimension, only be used when enabling hybrid parallel.",
    )
    parser.add_argument(
        "--pp_size",
        type=int,
        default=1,
        help="The size along pipeline parallel dimension, only be used when enabling hybrid parallel.",
    )
    parser.add_argument(
        "--learning_rate",
        type=float,
        default=3e-4,
        help="Initial learning rate (after the potential warmup period) to use.",
    )
    parser.add_argument(
        "--warmup_ratio", type=float, default=0.3, help="Ratio of warmup steps against total training steps."
    )
46
47
48
    parser.add_argument("--weight_decay", type=float, default=0.1, help="Weight decay to use.")
    parser.add_argument("--grad_checkpoint", type=bool, default=True, help="Whether to use gradient checkpointing.")
    parser.add_argument("--seed", type=int, default=42, help="A seed for reproducible training.")
49
50
51
52

    args = parser.parse_args()
    return args

53

54
55
56
def parse_benchmark_args():
    parser = get_default_parser()

57
58
59
60
61
62
    parser.add_argument(
        "--model_name_or_path",
        type=str,
        default="google/vit-base-patch16-224",
        help="Path to a pretrained model or model identifier from huggingface.co/models.",
    )
63
64
65
66
    parser.add_argument(
        "--plugin",
        type=str,
        default="gemini",
67
68
69
70
        help="Plugin to use. Valid plugins include 'torch_ddp','torch_ddp_fp16','gemini','low_level_zero', 'hybrid_parallel'.",
    )
    parser.add_argument(
        "--batch_size", type=int, default=8, help="Batch size (per dp group) for the training dataloader."
71
72
    )
    parser.add_argument("--num_labels", type=int, default=10, help="Number of labels for classification.")
73
74
75
76
77
78
    parser.add_argument(
        "--learning_rate",
        type=float,
        default=5e-5,
        help="Initial learning rate (after the potential warmup period) to use.",
    )
79
80
81
82
83
    parser.add_argument("--weight_decay", type=float, default=0.0, help="Weight decay to use.")
    parser.add_argument("--grad_checkpoint", type=bool, default=True, help="Whether to use gradient checkpointing.")
    parser.add_argument("--max_train_steps", type=int, default=20, help="Total number of training steps to perform.")
    parser.add_argument("--seed", type=int, default=42, help="A seed for reproducible training.")
    parser.add_argument("--mem_cap", type=int, default=0, help="Limit on the usage of space for each GPU (in GB).")
84
85
    args = parser.parse_args()

86
    return args