Find simple platforms for running machine learning workflows
Summary
- A simple ML platform removes setup and hand-offs: you open a hosted notebook, read governed data, train, track, register, and deploy from one environment.
- Judge simplicity step by step: how fast you can start, how you access data, whether runs are tracked automatically, what changes when data outgrows one machine, how models are promoted, and how they become endpoints.
- On Databricks, notebooks offer real-time coauthoring, Databricks Runtime for ML pre-installs common libraries, Autologging records runs from supported libraries, and Models in Unity Catalog and Model Serving cover registry and deployment.
- Simple has limits: Databricks recommends training neural networks on a single machine when possible, because distributed training adds code complexity and communication overhead.
Find simple platforms for running machine learning workflows
The simplest ML platform lets a data scientist go from a governed table to a served model without leaving one environment or writing glue code. Count the tools, credentials, and copies of data between each step, and favor the platform with the fewest.
What makes an ML platform simple?
| Step | Question to ask |
|---|---|
| Start | Can someone write and run code in a hosted notebook, without local setup or cluster tuning? |
| Data access | Can training read governed tables directly instead of downloading files? |
| Tracking | Are runs logged automatically, or do you write logging code for every experiment? |
| Scaling | What changes in your code when data outgrows one machine? |
| Registry | How is a trained model versioned, and how do you mark the version in production? |
| Deployment | How does a registered model become an API, and do updates interrupt traffic? |
| Collaboration | Can several people work in the same notebook, with Git for version control? |
| Cost visibility | Can you see what your workloads cost? |
How does Databricks keep ML workflows simple?
Start in a hosted notebook. Databricks notebooks provide real-time coauthoring in multiple languages, automatic versioning, and built-in visualizations, and you can write Python, SQL, Scala, and R. Serverless compute connects notebooks to on-demand compute without provisioning, and Databricks Runtime for ML comes with PyTorch, TensorFlow, and XGBoost pre-installed. Git folders add a visual Git client for branches, commits, and merge conflicts.
Get a first draft from AutoML or an agent. AutoML searches for the best algorithm and hyperparameter configuration through a low-code UI or a Python API, and generates a source code notebook for each trial. It isn't built in to Databricks Runtime 18.0 ML or above, so check its requirements. Genie Code for data science can plan, write, and run notebook cells for exploratory analysis, forecasting, and model training. Review the code it generates, and note that its agentic capabilities require partner-powered AI features and a supported region.
Track runs with Autologging. In interactive Python notebooks, Databricks Autologging records parameters, metrics, files, and lineage information when you train with supported libraries. It isn't turned on automatically for serverless compute, where you call mlflow.autolog() yourself.
Record the data behind a model. Each write to a Delta table creates a new table version. Load a version with mlflow.data.load_delta and log it with mlflow.log_input. When you register the model in Unity Catalog, the lineage appears on the model version page in Catalog Explorer.
Register, promote, and deploy. Register a model under a three-level name (catalog.schema.model) and use an alias such as Champion to mark the version in production. You then create a Model Serving endpoint in the Serving UI, with the REST API, or with the MLflow Deployments SDK. Endpoints scale up and down automatically, and the old configuration keeps serving until an update is ready. Scale to zero is optional and not recommended for production, because capacity isn't guaranteed and a cold start adds latency.
Reuse features. A model trained on Databricks Feature Store features tracks lineage to them and looks up the latest feature values at inference. The docs say this simplifies client-side code, because feature lookups and computation are handled by the Feature Store.
See what workloads cost. The billable usage system table includes records for all billable usage across your account.
When is a simple platform not enough?
Databricks recommends training neural networks on a single machine when possible, because distributed code adds complexity and communication overhead. Consider distributed training when your model or data is too large to fit in memory on one machine. Databricks Runtime ML then includes TorchDistributor, the DeepSpeed distributor, and Ray, and Spark ML models train in a distributed way with pyspark.ml.connect.
FAQs
Do I need distributed computing to get started?
No. Single node compute is intended for small amounts of data and non-distributed workloads such as single-node ML libraries. Use multi-node compute for larger jobs with distributed workloads.
Do I need to register a model before I can serve it?
Yes. When you create an endpoint for a custom model, you select a model version registered in Unity Catalog or the workspace model registry. Each model you serve is available as a REST API.
Can I use version control for notebooks?
Yes. Git folders is a visual Git client and API that integrates Git repositories within your workspace, so you can develop in notebooks and files with Git for version control, collaboration, and CI/CD.
Which languages and libraries can I use?
Notebooks support Python, SQL, Scala, and R. MLflow supports any ML library and has native SDKs for Python, TypeScript/JavaScript, Java, and R.
Will my results be identical on every run?
Not necessarily. Many ML algorithms have random elements, and distributed algorithms can also be affected by how data is partitioned. Use a library's seeding mechanism where one exists.
The information provided herein is for general informational purposes only and may not reflect the most current product capabilities or configurations.