Machine learning is a critical tool for businesses to gain insights from their data and make better decisions. However, building machine learning models can be a complex and time-consuming process that requires specialized tools and expertise. To help make model development of any flavor more efficient and accessible, Microsoft is introducing an integration of Azure Machine Learning and VS Code for the Web. You can find more details about this integration at Launch Visual Studio Code integrated with Azure Machine Learning (preview) – Azure Machine Learning …. This integration is in Public Preview.
A user story
Meet Max, a data scientist working for a retail company looking to improve its customer experience. The company has a large dataset consisting of customer transactions, but the dataset is too big to analyze on Max's local machine. Additionally, the company wants to develop machine learning models that can predict customer behavior and provide insights that can help improve the customer experience.
Max decides to use Azure Machine Learning to analyze the customer dataset and build a prediction model. Max creates an Azure Machine Learning compute instance and connects it to VS Code for the Web. With this integration, Max can work with their preferred code editor to prepare data, edit and debug code, all from the browser. They can also collaborate on shared projects, including those stored in Git repositories, making it easier to track progress.
In VS Code, Max can browse their Azure Machine Learning resources via the Azure ML extension, including their data assets, environments, computes and more. Max does some prototyping and testing in a notebook and converts the notebook to a script to prepare for training. On the script file editor, Max finds they can use the Azure ML extension to directly create a command job with the help of a YAML template. Max executes the job with one click, and within the terminal they are excited to see a link back to the Azure ML studio to view the details of the job.
Benefits of this integration
This integration accelerates the development process by enabling a developer or data scientist like Max to work in a familiar code editor, powered by Azure Machine Learning, without leaving their browser. This integration also enables you to scale your workloads by taking advantage of Azure Machine Learning's powerful training capabilities. Once you are satisfied with your notebook or script, use the Azure ML extension to manage your resources and submit training jobs. All code changes and file updates, including any newly created files, are synced back to the Azure Machine Learning studio automatically.
This integration with VS Code for the Web provides:
- Azure ML resource management like creating computes, data assets, environments and more
- A robust file explorer with search and navigation capabilities
- Automatic saving and syncing of code changes and file updates
- A full-fledged notebook interface
- Advanced source and version control
- Data wrangling capabilities for advanced data prep
- Side-by-side editing and other advanced code editing tools
- Interactive debugging in notebooks and scripts
- Customizable terminal instances visible alongside code
- Notebook to script conversion
- Templates and autocomplete for Azure ML resources and jobs creation
- One-click submission of Azure ML training jobs
- and more!
While many of these capabilities existed via a remote connection in the VS Code desktop application, with this integration you no longer need to switch applications or even leave the browser.
For simple or straightforward development needs, you may find that Azure Machine Learning Studio notebooks and terminal experiences are sufficient. However, as your project becomes more complex, you can easily switch to VS Code for the Web and take advantage of its rich set of features to streamline your development workflow.
How does the integration work?
By connecting your Azure Machine Learning compute instance to VS Code for the Web, you can seamlessly continue your model development in the browser with a richer code editing experience. Anything you could do before with VS Code, you can now do in the browser, and powered by Azure Machine learning resources. You can further customize your development environment with extensions like Azure ML, Jupyter, Python, Pylance, and more, which are enabled automatically in VS Code for the Web.
You can see this feature in action, showcased during the ‘Practical deep dive into machine learning techniques and MLOps' session from Microsoft Build 2023 – https://aka.ms/VSCodeWebBuildSession2023.
Try it out!
From the Azure Machine Learning studio, enable the preview feature as seen below. Then, you can launch VS Code for the Web with one click, either from the Compute list page, or directly from Notebooks to continue your development work. You will need a running compute instance to connect. The first time you connect a compute instance in VS Code, there will be some sign-in steps to follow, but you should only need to do these once. You can find more details at Work in VS Code remotely connected to a compute instance (preview) – Azure Machine Learning | Micros…
Enable the preview feature:
Continue your work from a notebook:
Many extensions, like Azure Machine Learning and Jupyter, are installed by default when launching VS Code for the Web connected to a compute instance. You can explore these and other available extensions:
The integration of VS Code for the Web and Azure Machine Learning provides you and your team with a powerful toolset for building machine learning models of all types. With this integration, you can enjoy a more streamlined and efficient workflow from a familiar code editor, powered by Azure Machine Learning. This integration provides you with the tools you need to develop models quickly and efficiently, enabling your business to stay ahead of the curve in a rapidly evolving AI-driven world. Why wait?