Skip to content

[user application] which deepspeed flags are required if any #616

@stas00

Description

@stas00

In the context of integrating DeepSpeed into transformers, I have a question to you wrt the deepspeed cl args

The paradigm you propose is:

deepspeed myprog myargs --deepspeed --deepspeed_config ds_config.js

but as we were discussing elsewhere there are too many cl args in ML apps, and we were considering if it might make sense to collapse -deepspeed and --deepspeed_config into a single cl arg for the transformers trainer and then re-construct it into 2 cl args before it goes into deepspeed.initialize.

context: huggingface/transformers#9211 (comment)

Do you have a strong feeling that we should keep your proposed convention of 2 cl args facing users, or do you feel that it's fine to collapse the two? I may be just unaware of something important so I wanted to run this idea by you.

And secondly, do you by chance have any brilliant ideas on how to name a one-to-rule-them-all cl arg so that it reads nice and functionally unambiguous to users? I think --deepspeed_config_file ds_config.js isn't clear enough since it doesn't say deepspeed is activated, but I could be wrong.

One of devs also suggests that --deepspeed_config doesn't make it obvious that a file argument is expected.

I wonder if --deepspeed ds_config.js would do the trick - it's actually less obvious that it expects a file argument, but it's unambiguous about it activating deepspeed.

I totally understand that you may not have a strong opinion or want to spend any time on this since it's just our peculiar desire for succinctness and clarity, but if you do have suggestions I'm all ears.

Thank you.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions