Comparing experiment runs in MLOps - Commands & Configuration
Start learning this pattern below
Jump into concepts and practice - no test required
mlflow run . -P alpha=0.1-P - Set a parameter value for the runmlflow run . -P alpha=0.5-P - Set a parameter value for the runmlflow ui
mlflow experiments list
mlflow runs list --experiment-id 1--experiment-id - Specify which experiment's runs to listIf you remember nothing else from this pattern, remember: comparing experiment runs side by side helps you pick the best model by looking at their results clearly.
import mlflow import random def train_model(alpha): accuracy = 0.8 + alpha * 0.2 + random.uniform(-0.05, 0.05) mlflow.log_param("alpha", alpha) mlflow.log_metric("accuracy", accuracy) print(f"Run finished with accuracy: {accuracy:.3f}") if __name__ == "__main__": for alpha_value in [0.1, 0.5]: with mlflow.start_run(): train_model(alpha_value)
Practice
What is the main purpose of comparing experiment runs in MLOps?
Solution
Step 1: Understand experiment runs
Experiment runs record model training results and metrics.Step 2: Purpose of comparing runs
Comparing runs helps see which model version performs better by looking at their results side by side.Final Answer:
To identify which model performs best by reviewing their results side by side -> Option AQuick Check:
Comparing runs = find best model [OK]
- Thinking comparing runs deletes data
- Confusing comparing with creating runs
- Believing comparing changes model code
Which command syntax correctly compares two experiment runs with IDs run1 and run2 under experiment exp123?
mlflow experiments compare-runs --experiment-id exp123 --run-ids run1 run2
Solution
Step 1: Check official command format
The correct MLflow command uses 'mlflow experiments compare-runs' with '--experiment-id' and '--run-ids' flags.Step 2: Match options to syntax
mlflow experiments compare-runs --experiment-id exp123 --run-ids run1 run2 matches the correct syntax exactly with proper flags and parameters.Final Answer:
mlflow experiments compare-runs --experiment-id exp123 --run-ids run1 run2 -> Option BQuick Check:
Correct command syntax = mlflow experiments compare-runs --experiment-id exp123 --run-ids run1 run2 [OK]
- Using wrong flags like --runs instead of --run-ids
- Mixing command order or names
- Separating run IDs with commas instead of spaces
Given two runs with metrics:run1: accuracy=0.85, loss=0.35run2: accuracy=0.88, loss=0.40
Which run is better if accuracy is the main metric?
Solution
Step 1: Identify main metric
The question states accuracy is the main metric to compare runs.Step 2: Compare accuracy values
run1 accuracy = 0.85, run2 accuracy = 0.88. Higher accuracy is better.Final Answer:
run2 because it has higher accuracy -> Option CQuick Check:
Main metric accuracy = higher is better [OK]
- Choosing run with lower loss when accuracy is main metric
- Confusing higher and lower metric values
- Ignoring stated main metric
What is wrong with this command to compare runs?mlflow experiments compare-runs --experiment-id exp123 --run-ids run1,run2
Solution
Step 1: Check run IDs format
MLflow expects run IDs separated by spaces, not commas.Step 2: Verify other flags
--experiment-id and --run-ids are correct flags; command includes 'experiments' correctly.Final Answer:
Run IDs should be separated by spaces, not commas -> Option DQuick Check:
Run IDs separated by spaces [OK]
- Using commas between run IDs
- Changing correct flags incorrectly
- Removing 'experiments' from command
You want to compare three runs but only focus on the f1_score metric. Which command correctly filters to show only this metric?
mlflow experiments compare-runs --experiment-id exp456 --run-ids runA runB runC --metric-keys f1_score
Solution
Step 1: Identify correct flag for metric filtering
The correct flag to filter metrics in MLflow compare-runs is '--metric-keys'.Step 2: Match command with options
mlflow experiments compare-runs --experiment-id exp456 --run-ids runA runB runC --metric-keys f1_score uses '--metric-keys' correctly with the metric name 'f1_score'.Final Answer:
mlflow experiments compare-runs --experiment-id exp456 --run-ids runA runB runC --metric-keys f1_score -> Option AQuick Check:
Use --metric-keys to focus on specific metric [OK]
- Using wrong flag like --metrics or --filter
- Misspelling flag names
- Omitting metric filter when needed
