Py学习  »  机器学习算法

微软如何利用机器学习改进Win 10更新体验

开源中国 • 5 年前 • 615 次点击  

微软在 2018 年 4 月 Windows 更新时第一次大规模使用机器学习(ML),ML 通过监测 PC 运行状况的六个核心领域(例如总体可靠性),以确定功能更新过程是否顺利进行。

而在 2019 年 5 月发布的更新推送中,这是微软使用 ML 的第三次迭代,可评估的领域增加到了 35 个,微软计划在未来的更新中进一步扩大覆盖范围。

微软表示,使用 ML 来部署更新拥有更好的更新体验,例如下图,通过 ML 更新后系统启动的卸载数量不到一半、内核崩溃的数量减少一半,以及更新后的驱动程序问题的数量减少了五倍。

微软如何设计和构建支持 Windows 10 更新的机器学习模型

最近,微软发布博文介绍了这一技术信息。微软使用的是一个经过动态训练的模型,它通过在最新更新的 PC 机上训练,有区分好的和坏的更新体验的能力。下图是一个详尽的机器学习图,展示了机器学习算法的整体框架。

每个 Windows 10 更新版本都先推给早期使用者(比如 Windows 内部人员和主动寻求更新的人)。有了这些体验者,微软开发人员就可以通过诊断数据(例如内核模式崩溃、异常关闭和驱动程序问题)来监控他们的更新体验。

机器学习在其中提供了两个关键功能:

  • 它确定了一些有安全隐患的问题,从而可以及时采取措施保护尚未更新的 PC,以便 Windows 开发人员能够及时调查和解决这些问题

  • 它预测和发现那些可以顺利进行更新的 PC,从而提供更新

每天都重复这样一个过程,使模型不断地从最近更新的 PC 机中获得学习。然后随着时间的推移和不断解决问题,相比之下,过去那些更新了的 PC 就又有了缺陷,而现在学习到的更好的经验就会重新对他们进行更新。

微软使用 Azure Databricks 构建 ML 模型,评估那些准备升级的 PC(准备数据,创建单个模型,并计算出分数):

微软表示,ML 驱动的推出过程中,一个关键因素就是具有能够及早发现兼容性问题的能力,使他们能够建立保护措施,以保护其他的 PC 不进行本次的更新。而以往来说,兼容性问题是通过实验室艰苦测试、反馈和其他渠道检测到的。

虽然这些手段仍在使用,但在微软复杂的生态系统中,将 ML 应用到 PC 的诊断数据,将使微软能够更快识别与任何更新相关的兼容性信息,如硬件特性、驱动程序、应用程序等方面。

为了发现兼容性问题,他们使用异常检测,以发现某些特征或模式在什么时候导致的故障率会比整体的预期高。通过使用 Azure Databricks,就可以快速扩展到数百万台 PC,并建立保护措施,以防止 PC 被更新相关的潜在问题干扰。

下图显示了某个功能或模式的失败率为 82%,而基准失败率约为 3%。从而确定需要保护的位置,以防止其他 PC 遇到类似问题:

微软表示,目前的机器学习方案还不够完善,接下来会进一步发展 ML,以确保 ML 是全面的、更自动化的和灵活的,能够在几秒钟内而不是几个小时内解决问题。

开源中国征稿啦!

开源中国 www.oschina.net 是目前备受关注、具有强大影响力的开源技术社区,拥有超过 400 万的开源技术精英。我们传播开源的理念,推广开源项目,为 IT 开发者提供一个发现、使用、并交流开源技术的平台。


现在我们开始对外征稿啦!如果你有优秀的技术文章想要分享,热点的行业资讯需要报道等等,欢迎联系开源中国进行投稿。投稿详情及联系方式请参见:我要投稿

推荐阅读

微软想将新版 Edge 浏览器引入 Linux

限制Root权限,Linux内核将引入安全锁定功能

开源公司被云厂商“寄生”,咋整?

Java 13 都发布了,线程池的正确用法你知道吗?

RMS给微软的建议:开源Windows、收回“毒瘤”言论

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/46249
 
615 次点击