CERTIFIED-MACHINE-LEARNING-PROFESSIONAL · Question #9
CERTIFIED-MACHINE-LEARNING-PROFESSIONAL Question #9: Real Exam Question with Answer & Explanation
The correct answer is A: Startinq a manual parent run before calling fmin. Starting a manual MLflow parent run with mlflow.start_run() before calling fmin() is the key - MLflow Autologging then automatically creates and nests a child run for each Hyperopt trial under that parent, giving you the full parent-child hierarchy without additional manual instr
Question
A machine learning engineer is converting a Hyperopt-based hyperparameter tuning process from manual MLflow logging to MLflow Autologging. They are trying to determine how to manage nested Hyperopt runs with MLflow Autologging. Which of the following approaches will create a single parent run for the process and a child run for each unique combination of hyperparameter values when using Hyperopt and MLflow Autologging?
Options
- AStartinq a manual parent run before calling fmin
- BEnsuring that a built-in model flavor is used for the model logging
- CStarting a manual child run within the objective function
- DThere is no way to accomplish nested runs with MLflow Autoloqqinq and Hyperopt
- EMLflow Autoloqqinq will automatically accomplish this task with Hyperopt
Explanation
Starting a manual MLflow parent run with mlflow.start_run() before calling fmin() is the key - MLflow Autologging then automatically creates and nests a child run for each Hyperopt trial under that parent, giving you the full parent-child hierarchy without additional manual instrumentation inside the objective function.
Why the distractors are wrong:
- B - Model flavor (sklearn, xgboost, etc.) affects what gets logged, not run nesting structure; it's irrelevant here.
- C - Manually starting a child run inside the objective function conflicts with autologging's own child run creation and doesn't establish the required parent; you'd get duplication or interference, not a clean hierarchy.
- D - Nested runs are entirely achievable; this is a documented MLflow pattern.
- E - The tempting trap: autologging does auto-create child runs per trial, but it does not auto-create the parent run - that step remains manual, making E incomplete and therefore wrong.
Memory tip: Think "Autologging parents the children, but you must parent the parent." Your job is one line - mlflow.start_run() before fmin(); autologging handles the rest of the hierarchy automatically.
Community Discussion
No community discussion yet for this question.