ML.NET 更新

ML.NET是面向 .NET 开发人员的开源跨平台机器学习框架,可将自定义机器学习集成到 .NET 应用程序中。在这篇文章中,我们将着重介绍ML.NET 发布、Model Builder更新等。

ML.NET 发布

ARM 上的 ML.NET

ML.NET 的新版本为大家带来了期待已久的功能:ARM 支持

除了 Linux 和 macOS之外,您现在可以在 ARM64 和 Apple M1设备上使用 ML.NET 执行训练和推理,从而为移动和嵌入式设备以及基于 ARM 的服务器提供平台支持。以下视频展示了在运行 Manjaro ARM Linux 发行版的 Pinebook Pro 笔记本电脑上的训练和推理:

  

在 ARM 上使用 ML.NET 进行训练和推理时仍然存在一些限制,这将引发 DLL not found 异常:

  • Symbolic SGD、TensorFlow、OLS、TimeSeries SSA、TimeSeries SrCNN 和 ONNX 目前不被支持用于训练或推理

  • LightGBM 目前被支持推理,但不被支持训练

  • 您可以通过为 ARM 编译来添加 LightGBM 和 ONNX 支持,但它们不为 ARM/ARM64 提供预编译的二进制文件

这些对 ARM 支持的更改目前在 GitHub 中,如果您想从源代码构建,可以进行试用。

Blazor Web Assembly上的 ML.NET

使用 .NET 6,您现在还可以在 Blazor Web Assembly (WASM) 上执行一些训练和推理。它具有与 ARM 相同的限制,但有以下其他条件:

  • 须将 EnableMLUnsupportedPlatformTargetCheck flag设置为 false 才能在 Blazor 中安装

  • 不支持 LDA 和Matrix Factorization

可以在 Machine Learning Baseball Prediction repo 查看在Blazor Web Assembly 中使用 ML.NET 的示例。

Model Builder更新

作为预览版的一部分,我们最近宣布了对Model Builder的几项重大更改,包括:

  • 使用生成的代码后置文件进行基于配置的训练

  • 调整后的高级数据选项

  • 重新设计的consume步骤

项目模板

Model Builder的使用步骤中有一个新的项目模板部分,您可以生成使用您自己的模型的项目。这些项目是模型部署和使用的起点。

在这个发布中,可以在解决方案中添加一个 console app或minimal Web API

新的和改进的 AutoML

我们还开始与微软研究团队 NNI(神经网络智能)和 FLAML(快速和轻量级 AutoML)合作,来更新 ML.NET 的 AutoML 实施。

与这些团队的合作在短期和长期都很重要,对于ML.NET 的一些好处包括:

  • 为所有 ML.NET 场景启用 AutoML 支持

  • 允许更精确地控制超参数搜索空间

  • 启用更多训练环境,包括本地、Azure 和本地分布式训练

  • 在网络架构搜索 (NAS) 等高级机器学习技术上开展未来合作

在作为此Module Builder版本其中一部分的第一次实施迭代中,我们的团队致力于降低训练失败率,增加在给定时间和 CPU 资源内探索的模型数量,并提高整体训练的表现。

我们的团队进行了基准测试,以确保对 AutoML 的更改有效改善了用户体验。具体测试结果可点击最下方链接处,进行详细了解!

接下来的计划

  • 更轻松的协作和 Git

此版本的Model Builder仅支持训练数据集的绝对路径。这意味着对 Git 功能的支持有限,并且在计算机或帐户之间共享 mbconfig 文件时需要重新设置本地数据集位置。我们正在跟踪此修复,这将促进对共享和检入/检出 mbconfig 文件的更好支持。

  • 性能改进

我们的团队正在对 UI 进行多项性能改进,尤其是在与大型数据集的交互方面。

  • 进一步的 AutoML 改进

继续对 AutoML 进行改进,包括改进当前的调优算法,使其能够在更大的搜索空间中更快地搜索、更高级的训练,以及向 AutoML 添加更多场景,包括时间序列预测和异常检测。

  • 持续训练

我们的团队正在努力提升对“持续”训练的支持,即能够在停止或暂停训练后再次开始。使用此功能,您暂停训练后不会出现重置训练进度的情况,而是会从您停止的那个点恢复训练。然后,Model Builder可以使用训练历史来选择潜在的更好算法超参数和性能更好的pipeline,从而产生更好的模型。这也使得能够提前暂停训练并获得最佳模型而无需重新开始训练的场景成为可能。

  • Azure 机器学习数据集

目前,当在Model Builder中使用 Azure 机器学习训练环境进行训练时,数据会被上传到与 Azure 机器学习工作区关联的 Azure Blob 存储,这意味着您只能选择本地数据进行训练。

ML.NET 团队正在与 Azure 机器学习团队合作添加 Azure 机器学习数据集支持,以便您可以选择在 Azure 中已有的数据集上进行训练。或者,您也可以从Model Builder中的本地数据创建新的 Azure 机器学习数据集。

您有任何产品反馈、想法或其他希望从 ML.NET 团队获得的信息,请留言告诉我们!关于ML.NET和Model Builder,也可以前往官方文档进行详细了解。

  • https://docs.microsoft.com/zh-cn/dotnet/machine-learning/?ocid=AID3052907

了解更多ML.NET和Model Builder,请点击链接~

点击了解 ML.NET~

猜你喜欢

转载自blog.csdn.net/helendemeng/article/details/126284228