Repository: oumi-ai/oumi
File: src/oumi/core/configs/params/training_params.py (Python)

Code before:

    For TRL_GRPO, refer to https://huggingface.co/docs/trl/main/en/grpo_trainer
    for documentation about the function signature.

    For VERL_GRPO, refer to
    https://verl.readthedocs.io/en/latest/preparation/reward_function.html
    for documentation about the function signature.
    """

    grpo: GrpoParams = field(default_factory=GrpoParams)
    """Parameters for GRPO training."""

    log_level: str = "info"
    """The logging level for the main Oumi logger.

    Possible values are "debug", "info", "warning", "error", "critical".
    """

    dep_log_level: str = "warning"
    """The logging level for dependency loggers (e.g., HuggingFace, PyTorch).

    Possible values are "debug", "info", "warning", "error", "critical".
    """

    log_examples: bool = False
    """Whether to log an example of the data in each step for debugging purposes.

    If True, the example will be logged to the console.
    """

    enable_wandb: bool = False
    """Whether to enable Weights & Biases (wandb) logging.

    If True, wandb will be used for experiment tracking and visualization.
    Wandb will also log a summary of the training run, including hyperparameters,
    metrics, and other relevant information at the end of training.

    After enabling, you must set the `WANDB_API_KEY` environment variable.
    Alternatively, you can use the `wandb login` command to authenticate.
    """

    enable_mlflow: bool = False
    """Whether to enable MLflow logging.

    If True, MLflow will be used for experiment tracking and visualization.
    If you want to use MLflow, you must set the `MLFLOW_TRACKING_URI` environment
    variable to specify the tracking server URI and the `MLFLOW_EXPERIMENT_ID` or
    `MLFLOW_EXPERIMENT_NAME` environment variable to specify the experiment to report
    the run to.
    """


Review comment (bug):
The previous PR you linked seems to only log one debug example (in the first step of training). IMO this makes more sense than doing it each step, as that may clutter the training logs, and I think just one example may be enough to understand how the input is processed in training. If that's true, could you update the description here?

Code after:

    Only supported with the TRL_GRPO and VERL_GRPO trainers. Currently,
    VERL_GRPO only supports specifying a single reward function.

    For TRL_GRPO, refer to https://huggingface.co/docs/trl/main/en/grpo_trainer
    for documentation about the function signature.

    For VERL_GRPO, refer to
    https://verl.readthedocs.io/en/latest/preparation/reward_function.html
    for documentation about the function signature.
    """

    grpo: GrpoParams = field(default_factory=GrpoParams)
    """Parameters for GRPO training."""

    log_level: str = "info"
    """The logging level for the main Oumi logger.

    Possible values are "debug", "info", "warning", "error", "critical".
    """

    dep_log_level: str = "warning"
    """The logging level for dependency loggers (e.g., HuggingFace, PyTorch).

    Possible values are "debug", "info", "warning", "error", "critical".
    """

    log_examples: bool = False
    """Whether to log an example of the data in the first step for debugging purposes.

    If True, the example will be logged to the console.
    """

    enable_wandb: bool = False
    """Whether to enable Weights & Biases (wandb) logging.

    If True, wandb will be used for experiment tracking and visualization.
    Wandb will also log a summary of the training run, including hyperparameters,
    metrics, and other relevant information at the end of training.

    After enabling, you must set the `WANDB_API_KEY` environment variable.
    Alternatively, you can use the `wandb login` command to authenticate.
    """

    enable_mlflow: bool = False
    """Whether to enable MLflow logging.

    If True, MLflow will be used for experiment tracking and visualization.
    If you want to use MLflow, you must set the `MLFLOW_TRACKING_URI` environment
    variable to specify the tracking server URI and the `MLFLOW_EXPERIMENT_ID` or
    `MLFLOW_EXPERIMENT_NAME` environment variable to specify the experiment to report