04. MLflow Tracking Server
A tracking server provides a central endpoint for experiment logging. Instead of writing to local files, clients send data to the server over HTTP. This enables multi-process logging, remote execution, and a unified UI regardless of where training runs.
Start the server:
mlflow server \
--backend-store-uri sqlite:///mlflow.db \
--default-artifact-root ./artifacts \
--host 0.0.0.0 \
--port 5000
The --backend-store-uri specifies the database for metadata. The --default-artifact-root specifies where model artifacts and files are stored. For local-only setups, both can be filesystem-based.
Local verification checkpoint
Run the smallest example from this chapter in a local workspace and record the package version, runtime, data path, and observed output. If the result depends on model size, vector count, CPU/GPU backend, or available memory, note that constraint beside the exercise so the lesson remains reproducible.
Start an MLflow server with the command above. Open http://localhost:5000 in a browser. Run a training script with mlflow.set_tracking_uri("http://localhost:5000"). Verify the run appears in the UI. Stop the server and restart it—confirm data persists.