CLI Reference#

This page contains a complete reference of all CLI commands available in Oumi.

For detailed guides and examples of specific areas (training, inference, evaluation, etc.), please refer to the corresponding user guides in the documentation.

CLI Overrides#

Any Oumi command which takes a config path as an argument (train, evaluate, infer, etc.) can override parameters from the command line. For example:

oumi train -c configs/recipes/smollm/sft/135m/quickstart_train.yaml \
  --training.max_steps 20 \
  --training.learning_rate 1e-4 \
  --data.train.datasets[0].shuffle true \
  --training.output_dir output/smollm-135m-sft

Oumi uses OmegaConf to parse the configs from YAML files, and to parse the command line overrides. OmegaConf allows a Pythonic specification of parameters to override with dot-separated syntax, as seen above. Note that for lists (ex. data.train.datasets), you can specify the index either with brackets ([0]) or dot notation (.0).

With OmegaConf, you can set the value of an entire dictionary or list, in addition to overriding individual primitive values. For example:

# Override one entry in the list. Note that the new dict is merged with the existing
# one, so the existing value of `"dataset_name": "yahma/alpaca-cleaned"` is kept.
oumi train -c configs/recipes/smollm/sft/135m/quickstart_train.yaml \
  --data.train.datasets[0] '{"shuffle": True, "sample_count": 100}'

# Override the list, in this case to add a new entry.
# Note that we redundantly specify an existing entry in the list here.
oumi train -c configs/recipes/smollm/sft/135m/quickstart_train.yaml \
  --data.train.datasets '[{"dataset_name": "yahma/alpaca-cleaned"}, {"dataset_name": "CohereForAI/aya_dataset"}]'

Warning

OmegaConf doesn’t readily support adding/deleting entries in a list from command line overrides using index notation. Instead, you need to set the value of the entire list, or modify the YAML config.

Warning

By default, when you override a dict value with another dict, the items from both will be merged, preferring the value from the overriding dict in case of an existing key. This is equivalent to Python dict merging behavior, ex. new_dict = {**old_dict, **override_dict}

Training#

For a detailed guide on training, see Training.

oumi train#

 oumi train Usage: oumi train [OPTIONS] Train a model. ╭─ Options ────────────────────────────────────────────────────────────────────╮ *--config-cTEXT                   Path to the configuration file for training.        [default: None]           [required]                --log-level-log[DEBUG|INFO|WARNING|ERRThe logging level for the OR|CRITICAL]specified command.        --helpShow this message and     exit.                     ╰──────────────────────────────────────────────────────────────────────────────╯

Evaluation#

For a detailed guide on evaluation, see Evaluation.

oumi evaluate#

 oumi evaluate Usage: oumi evaluate [OPTIONS] Evaluate a model. ╭─ Options ────────────────────────────────────────────────────────────────────╮ *--config-cTEXT                   Path to the configuration file for training.        [default: None]           [required]                --log-level-log[DEBUG|INFO|WARNING|ERRThe logging level for the OR|CRITICAL]specified command.        --helpShow this message and     exit.                     ╰──────────────────────────────────────────────────────────────────────────────╯

Inference#

For a detailed guide on inference, see Inference.

oumi infer#

 oumi infer Usage: oumi infer [OPTIONS] Run inference on a model. ╭─ Options ────────────────────────────────────────────────────────────────────╮ *--config-cTEXT                 Path to the             configuration file for  inference.              [default: None]         [required]              --interactive-iRun in an interactive   session.                --imageTEXT                 File path or URL of an  input image to be used  with image+text VLLMs.  Only used in            interactive mode.       [default: None]         --system-promptTEXT                 System prompt for       task-specific           instructions. Only used in interactive mode.    [default: None]         --log-level-log[DEBUG|INFO|WARNING|EThe logging level for   RROR|CRITICAL]the specified command.  --helpShow this message and   exit.                   ╰──────────────────────────────────────────────────────────────────────────────╯

Judge#

For a detailed guide on judging, see LLM Judge.

oumi judge#

 oumi judge Usage: oumi judge [OPTIONS] COMMAND [ARGS]... Judge datasets, models or conversations. ╭─ Options ────────────────────────────────────────────────────────────────────╮ --helpShow this message and exit. ╰──────────────────────────────────────────────────────────────────────────────╯ ╭─ Commands ───────────────────────────────────────────────────────────────────╮ conversations Judge a list of conversations.                               dataset       Judge a dataset.                                             model         Judge the outputs of a model on a dataset.                   ╰──────────────────────────────────────────────────────────────────────────────╯

oumi judge conversations#

 oumi judge conversations Usage: oumi judge conversations [OPTIONS] Judge a list of conversations. ╭─ Options ────────────────────────────────────────────────────────────────────╮ *--config-cTEXT                   Path to the judge       config file             [default: None]         [required]              --input-fileTEXT                   Path to the input file  (jsonl)                 [default: None]         --output-fileTEXT                   Path to the output file (jsonl)                 [default: None]         --log-level-log[DEBUG|INFO|WARNING|ERRThe logging level for   OR|CRITICAL]the specified command.  --helpShow this message and   exit.                   ╰──────────────────────────────────────────────────────────────────────────────╯

oumi judge dataset#

 oumi judge dataset Usage: oumi judge dataset [OPTIONS] Judge a dataset. ╭─ Options ────────────────────────────────────────────────────────────────────╮ *--config-cTEXT                 Path to the judge      config file            [default: None]        [required]             --dataset-nameTEXT                 Name of the dataset    from the registry      [default: None]        --dataset-subsetTEXT                 Subset of the dataset  to use, if applicable  [default: None]        --dataset-splitTEXT                 Split of the dataset   to use.                [default: train]       --output-fileTEXT                 Path to the output     file (jsonl)           [default: None]        --log-level-log[DEBUG|INFO|WARNING|EThe logging level for  RROR|CRITICAL]the specified command. --helpShow this message and  exit.                  ╰──────────────────────────────────────────────────────────────────────────────╯

oumi judge model#

 oumi judge model Usage: oumi judge model [OPTIONS] Judge the outputs of a model on a dataset. ╭─ Options ────────────────────────────────────────────────────────────────────╮ *--config-cTEXT                Path to the judge     config file           [default: None]       [required]            *--inference-configTEXT                Path to the inference config file           [default: None]       [required]            --input-fileTEXT                Path to the input     file (jsonl)          [default: None]       --output-fileTEXT                Path to the output    file (jsonl)          [default: None]       --log-level-log[DEBUG|INFO|WARNING|The logging level for ERROR|CRITICAL]the specified         command.              --helpShow this message and exit.                 ╰──────────────────────────────────────────────────────────────────────────────╯

Launch#

For a detailed guide on launching jobs, see Running Jobs on Clusters.

oumi launch#

 oumi launch Usage: oumi launch [OPTIONS] COMMAND [ARGS]... Launch jobs remotely. ╭─ Options ────────────────────────────────────────────────────────────────────╮ --helpShow this message and exit. ╰──────────────────────────────────────────────────────────────────────────────╯ ╭─ Commands ───────────────────────────────────────────────────────────────────╮ cancel Cancels a job.                                                      down   Turns down a cluster.                                               run    Runs a job.                                                         status Prints the status of jobs launched from Oumi.                       stop   Stops a cluster.                                                    up     Launches a job.                                                     which  Prints the available clouds.                                        ╰──────────────────────────────────────────────────────────────────────────────╯

oumi launch cancel#

 oumi launch cancel Usage: oumi launch cancel [OPTIONS] Cancels a job. ╭─ Options ────────────────────────────────────────────────────────────────────╮ *--cloudTEXT                   Filter results by this    cloud.                    [default: None]           [required]                *--clusterTEXT                   Filter results by         clusters matching this    name.                     [default: None]           [required]                *--idTEXT                   Filter results by jobs    matching this job ID.     [default: None]           [required]                --log-level-log[DEBUG|INFO|WARNING|ERRThe logging level for the OR|CRITICAL]specified command.        --helpShow this message and     exit.                     ╰──────────────────────────────────────────────────────────────────────────────╯

oumi launch down#

 oumi launch down Usage: oumi launch down [OPTIONS] Turns down a cluster. ╭─ Options ────────────────────────────────────────────────────────────────────╮ *--clusterTEXT                   The cluster to turn down. [default: None]           [required]                --cloudTEXT                   If specified, only        clusters on this cloud    will be affected.         [default: None]           --log-level-log[DEBUG|INFO|WARNING|ERRThe logging level for the OR|CRITICAL]specified command.        --helpShow this message and     exit.                     ╰──────────────────────────────────────────────────────────────────────────────╯

oumi launch run#

 oumi launch run Usage: oumi launch run [OPTIONS] Runs a job. ╭─ Options ────────────────────────────────────────────────────────────────────╮ *--config-cTEXT              Path to the         configuration file  for the job.        [default: None]     [required]          --clusterTEXT              The cluster to use  for this job. If    unspecified, a new  cluster will be     created.            [default: None]     --detach--no-detachRun the job in the  background.         [default:           no-detach]          --log-level-log[DEBUG|INFO|WARNINThe logging level   G|ERROR|CRITICAL]for the specified   command.            --helpShow this message   and exit.           ╰──────────────────────────────────────────────────────────────────────────────╯

oumi launch status#

 oumi launch status Usage: oumi launch status [OPTIONS] Prints the status of jobs launched from Oumi. ╭─ Options ────────────────────────────────────────────────────────────────────╮ --cloudTEXT                     Filter results by this     cloud.                     [default: None]            --clusterTEXT                     Filter results by clusters matching this name.        [default: None]            --idTEXT                     Filter results by jobs     matching this job ID.      [default: None]            --log-level-log[DEBUG|INFO|WARNING|ERRORThe logging level for the  |CRITICAL]specified command.         --helpShow this message and      exit.                      ╰──────────────────────────────────────────────────────────────────────────────╯

oumi launch stop#

 oumi launch stop Usage: oumi launch stop [OPTIONS] Stops a cluster. ╭─ Options ────────────────────────────────────────────────────────────────────╮ *--clusterTEXT                   The cluster to stop. [default: None]      [required]           --cloudTEXT                   If specified, only        clusters on this cloud    will be affected.         [default: None]           --log-level-log[DEBUG|INFO|WARNING|ERRThe logging level for the OR|CRITICAL]specified command.        --helpShow this message and     exit.                     ╰──────────────────────────────────────────────────────────────────────────────╯

oumi launch up#

 oumi launch up Usage: oumi launch up [OPTIONS] Launches a job. ╭─ Options ────────────────────────────────────────────────────────────────────╮ *--config-cTEXT              Path to the         configuration file  for the job.        [default: None]     [required]          --clusterTEXT              The cluster to use  for this job. If    unspecified, a new  cluster will be     created.            [default: None]     --detach--no-detachRun the job in the  background.         [default:           no-detach]          --log-level-log[DEBUG|INFO|WARNINThe logging level   G|ERROR|CRITICAL]for the specified   command.            --helpShow this message   and exit.           ╰──────────────────────────────────────────────────────────────────────────────╯

oumi launch which#

 oumi launch which Usage: oumi launch which [OPTIONS] Prints the available clouds. ╭─ Options ────────────────────────────────────────────────────────────────────╮ --log-level-log[DEBUG|INFO|WARNING|ERRORThe logging level for the  |CRITICAL]specified command.         --helpShow this message and      exit.                      ╰──────────────────────────────────────────────────────────────────────────────╯

Distributed#

For a detailed guide on distributed training, see Training.

oumi distributed#

 oumi distributed Usage: oumi distributed [OPTIONS] COMMAND [ARGS]... A wrapper for torchrun/accelerate with reasonable default values for  distributed training. ╭─ Options ────────────────────────────────────────────────────────────────────╮ --helpShow this message and exit. ╰──────────────────────────────────────────────────────────────────────────────╯ ╭─ Commands ───────────────────────────────────────────────────────────────────╮ accelerate Starts `accelerate` sub-process w/ automatically configured     common params.                                                  torchrun   Starts `torchrun` sub-process w/ automatically configured       common params.                                                  ╰──────────────────────────────────────────────────────────────────────────────╯

oumi distributed accelerate#

 oumi distributed accelerate Usage: oumi distributed accelerate [OPTIONS] Starts `accelerate` sub-process w/ automatically configured common params. Args:     ctx: The Typer context object.     level: The logging level for the  specified command. ╭─ Options ────────────────────────────────────────────────────────────────────╮ --log-level-log[DEBUG|INFO|WARNING|ERRORThe logging level for the  |CRITICAL]specified command.         --helpShow this message and      exit.                      ╰──────────────────────────────────────────────────────────────────────────────╯

oumi distributed torchrun#

 oumi distributed torchrun Usage: oumi distributed torchrun [OPTIONS] Starts `torchrun` sub-process w/ automatically configured common params. Args:     ctx: The Typer context object.     level: The logging level for the  specified command. ╭─ Options ────────────────────────────────────────────────────────────────────╮ --log-level-log[DEBUG|INFO|WARNING|ERRORThe logging level for the  |CRITICAL]specified command.         --helpShow this message and      exit.                      ╰──────────────────────────────────────────────────────────────────────────────╯

Environment#

This command is a great tool for debugging!

oumi env will list relevant details of your environment setup, including python version, package versions, and Oumi environment variables.

oumi env#

 oumi env Usage: oumi env [OPTIONS] Prints information about the current environment. ╭─ Options ────────────────────────────────────────────────────────────────────╮ --helpShow this message and exit. ╰──────────────────────────────────────────────────────────────────────────────╯