头图

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:
image.png

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 .

image.png

▌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.
image.png
Long press to identify the QR code

Click to learn about ML.NET~


微软技术栈
423 声望998 粉丝

微软技术生态官方平台。予力众生,成就不凡!微软致力于用技术改变世界,助力企业实现数字化转型。