ML.NET is an open-source, cross-platform machine learning framework for .NET developers that integrates custom machine learning into .NET applications. In this post, we'll focus on ML.NET releases, Model Builder updates , and more.
ML.NET release
▌ML.NET on ARM The new version of ML.NET brings a long-awaited feature: ARM support!
In addition to Linux and macOS, you can now perform training and inference using ML.NET on ARM64 and Apple M1 devices, providing platform support for mobile and embedded devices and ARM-based servers. The following video demonstrates training and inference on a Pinebook Pro laptop running the Manjaro ARM Linux distribution:
There are still some limitations when using ML.NET for training and inference on ARM, which will throw a DLL not found exception:
- Symbolic SGD, TensorFlow, OLS, TimeSeries SSA, TimeSeries SrCNN, and ONNX are not currently supported for training or inference
- LightGBM is currently supported for inference, but not for training
- You can add LightGBM and ONNX support by compiling for ARM, but they do not provide precompiled binaries for ARM/ARM64
These changes to ARM support are currently in GitHub, and you can try them out if you want to build from source .
▌ML.NET on Blazor Web Assembly
With .NET 6, you can now also perform some training and inference on Blazor Web Assembly (WASM). It has the same limitations as ARM with the following additional conditions:
- EnableMLUnsupportedPlatformTargetCheck flag must be set to false to install in Blazor
- LDA and Matrix Factorization are not supported
An example of using ML.NET in Blazor Web Assembly can be viewed at the Machine Learning Baseball Prediction repo .
Model Builder update
As part of the preview, we recently announced several major changes to Model Builder , including:
- Configuration-based training with generated code post files
- Adjusted Advanced Data Options
Redesigned consume step
▌Project Template
There is a new Project Templates section in the Using Steps of Model Builder where you can generate projects that use your own models. These projects are the starting point for model deployment and use. In this release, a console app or minimal Web API can be added to the solution .
▌New and improved AutoML
We also started working with Microsoft research teams NNI (Neural Network Intelligence) and FLAML (Fast and Lightweight AutoML) to update the AutoML implementation for ML.NET.
Working with these teams is important in the short and long term, and some of the benefits for ML.NET include:
- Enable AutoML support for all ML.NET scenarios
- Allows more precise control over the hyperparameter search space
- Enable more training environments, including on-premises, Azure, and on-premises distributed training
- Future collaborations on advanced machine learning techniques such as Network Architecture Search (NAS)
In the first implementation iteration as part of this Module Builder release, our team worked to reduce training failure rates, increase the number of models explored in a given time and CPU resources, and improve overall training performance.
Our team conducted benchmark tests to ensure that changes to AutoML effectively improved the user experience. For specific test results, click on the link at the bottom to learn more about it!
▌Next plan
Easier collaboration and Git
This version of Model Builder only supports absolute paths to the training dataset. This means limited support for Git functionality and the need to reset the local dataset location when sharing mbconfig files between computers or accounts. We are tracking this fix, which will facilitate better support for sharing and checking in/out mbconfig files.
performance improvements
Our team is working on several performance improvements to the UI, especially when it comes to interacting with large datasets.
Further AutoML Improvements
Continue to make improvements to AutoML, including improving the current tuning algorithm to enable faster searches in a larger search space, more advanced training, and adding more scenarios to AutoML, including time series forecasting and anomaly detection.
continuous training
Our team is working to improve support for "continuous" training, which is the ability to start training again after stopping or pausing. With this feature, instead of resetting your training progress after you pause your training, you will resume training from the point you left it off. Model Builder can then use the training history to select potentially better algorithmic hyperparameters and better performing pipelines, resulting in better models. This also enables scenarios where it is possible to pause training early and get the best model without restarting it.
Azure Machine Learning dataset
Currently, when training with the Azure Machine Learning training environment in Model Builder, the data is uploaded to Azure Blob Storage associated with the Azure Machine Learning workspace, which means you can only select local data for training.
The ML.NET team is working with the Azure Machine Learning team to add support for Azure Machine Learning datasets so that you can choose to train on datasets already in Azure. Alternatively, you can create a new Azure Machine Learning dataset from local data in Model Builder.
If you have any product feedback, ideas, or anything else you'd like to hear from the ML.NET team, let us know in the comments! About ML.NET and Model Builder, you can also go to the official documentation to learn more about it. https://docs.microsoft.com/en-us/dotnet/machine-learning/?ocid=AID3052907
To learn more about ML.NET and Model Builder, please scan the code or click the link.
Long press to identify the QR code
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。