北京时间 2020 年 5 月 19 日,受疫情影响,微软年度开发者大会 Build 2020 首次以完全数字化的形式在线上开幕。在 48 小时内,微软通过一系列在线直播和互动环节,向来自全球的软件及移动应用开发者、数据科学家、IT 专家社区展示其围绕开发者、智能云、生产力、协作工具等推出的一系列最新举措和成果。
与 2019 年的 Build 不同,由于受到场地的限制,此次大会少了各种抓人眼球的演示,Azure、Edge、Microsoft 365、Windows 10、AI 等等一列产品的发布与更新仍然是当天的主角。以下是 InfoQ 带来的详细报道。
超级计算机
2019 年,微软宣布与 OpenAI 合作,希望共同构建超算技术,今天,这一合作有了成果:微软宣布与 OpenAI 建成了一台排名世界前五的超级计算机,专门用来在 Azure 公有云上训练超大规模的人工智能模型。
据介绍,这是一台拥有超过 28.5 万个 CPU 核心、1 万个 GPU、每 GPU 拥有 400Gbps 网络带宽的单一系统超级计算机。与当前最新的“全球超算500”列表对比,其性能位居前五之列。得益于在 Azure 上托管,这台超级计算机拥有现代云计算基础设施的各种优点,包括快速部署、可持续发展的数据中心、并可以访问所有 Azure 服务。
过去,受限于计算能力和运行效率,机器学习专家通常会用较小的单独 AI 模型分别对单个任务进行训练,例如翻译语言、识别物体、阅读文字等。更高级别的超大规模人工智能模型被证明拥有更优异的表现:它可以深入理解语言、语法、知识、概念中存在的微妙差异,并更好地完成复杂任务,例如对冗长的讲话做出总结、消除实时游戏语音中的脏话、从上千条法律文件中寻找相关陈述,甚至是直接从 GitHub 上找代码写程序。
微软基于大规模 AI 开发的“微软图灵模型(Microsoft Turing)”已经被用于为必应搜索、Office、Dynamics 等产品,改进对多种不同语言的理解。今年 2 月,微软发布的针对自然语言生成的图灵模型,是目前世界上最大规模的 AI 语言模型。微软的目标,是通过 Azure 人工智能服务和 GitHub 开源社区,将大型 AI 模型、优化训练工具和超级计算机资源开放出来,让开发者、数据科学家和商业用户都能轻松利用这一超大规模的人工智能平台,开发自己的项目。
Microsoft Teams
疫情发生的几个月来,远程办公、协作应用在全球各地得到了突飞猛进的发展和普及,就像微软 CEO 萨提亚 纳德拉说的:“我们在两个月内看到了原本需要两年的数字化转型。”
在这一过程中,作为 Microsoft 365 核心组件的 Microsoft Teams 智能会议服务发挥了重要且积极的作用,微软发布了一列新功能和服务,其中包括:
Visual Studio 和 Visual Studio Code 加入 Teams 扩展,让开发者用自己熟悉的工具开发和发布 Teams 应用。
Power Platform 与 Teams 的整合,为低代码和无代码开发者提供更多便利,例如用 Power Apps Studio 开发和部署 Teams 应用;利用 Power Automate 设定自动填充信息、自动用 @提醒、在不同频道张贴不同信息等自动化的工作流程;Power BI 制作的表格和报告可以一键分享到 Teams;今年晚些时候还将可以通过 Power Virtual Agents 为 Teams 加入智能对话机器人。
Teams 管理中心让 IT 管理员更便捷地管理 Teams 应用,包括评估、批准、预装行业应用或者由 ISV 开发的应用。
用户单点登录,以及用来向不同设备的用户发送通知信息的 Teams Activity Feed API,将帮助开发者提升 Teams 的用户体验。
Teams 商店将更容易搜索到相关应用;通过可定制的群组模板,管理员可以设定某个频道中可以使用的特定应用。
Teams 加入了新的网络设备界面(NDI)和 Skype TX 的互操作性,可以为公开或者内部的大规模会议直播提供更多可定制的高级设置。将于 6 月推出的 NDI 可将 Teams 会议链接接入流媒体应用或者编辑工具,从而在 Teams 中调用更专业的直播管理工具。而 Teams 与广播中常用的 Skype TX 设备的互操作性,可以用来实现一对一的连线采访、拨入排队、连接质量管理等进阶功能。
Fluid Framework 开源和 Edge 浏览器更新
微软在 2019 年的 Ignite 大会上首次推出了 Microsoft Fluid Framework 的公众预览版,这项技术能够帮助开发者打破应用之间的隔阂,提供无缝衔接的操作体验。微软宣布首先在 Outlook 网页应用和 office.com 上推出 Fluid Workspaces 和 Fluid Components 的预览,其允许人们在文档上互相协作,并创建可以在应用之间无缝分享的文本、表格、任务列表、计划日程等组件。
微软同时宣布,Fluid Framework 开源,以便开发者可以在其自己的应用中采用 Fluid Framework 的关键架构,以加入支持多人协作的能力。Fluid Framework 将在 6 月在 GitHub 上线,同时微软也将提供相关的技术文档和开发工具,帮助开发者更好地利用这一创新机会。
Microsoft Edge 浏览器的“集锦”菜单栏底部加入 Pinterest,以便更轻松地找到感兴趣的相关内容。边框搜索栏让用户无需打开新窗口就能进行搜索。自动切换配置文件能通过监测打开的连接,自动切换到工作所需的配置文件。面向开发者,Edge 浏览器将提供.NET 和 UWP(WinUI 3.0)开发选项,以便将 WinForms、WPF、UWP/ WinUI3.0 应用嵌入基于 Chromium 的 Edge WebView。此外开发工具中还新增了 3D 视图模式。
Windows Package Manager 预览版正式亮相
所谓软件包管理器,在本质上是一组以节约时间为诉求的软件工具,帮助用户在计算机上自动获取软件。由用户指定希望安装的应用,而软件包管理器则具体执行查找软件最新版本(或者特定版本)并将其安装在计算机上的工作。
Windows Package Manager 具有如下功能:
首先是安装一切具备有效 manifest(可通过—manifest 参数支持本地 manifest)应用的 install 命令。“winget.exe”客户端已经被预先配置为指向微软社区 repo,开发者可以借此安装一切带有 manifest 的已发布软件包。
很多开发者应该都有在 PC 上完全重装所有应用程序及工具的经历,现在,只需要在命令行中输入 winget install,就可以轻松安装所有必要的应用程序与工具。或者,开发者也可以创建一个脚本文件以安装全部工具。
此外,开发者可以使用 search 命令查找可用的软件包,并使用 show 命令显示相关信息。还有一些命令(hash 与 validate)可帮助创建并验证 manifest。对于已经发布的第三方 repo,开发者可以将其添加为源。
更多内容可查看说明文档:
https://docs.microsoft.com/windows/package-manager
另外,Windows Package Manager 属于开源项目,只需要创建一份新的清单而后提交 pull 请求,即可在 Windows 上完成批量软件安装。
开发者可以通过其 GitHub repo 处克隆、构建、运行并测试项目代码,地址如下:
https://github.com/microsoft/winget-cli
目前,微软提供三种不同的 Windows Package Manager 获取方式:
可以前往 Windows Package Manager客户端的开源 GitHub repo;
可以申请加入Windows Insider计划;
可以在中提交自己的微软账户(MSA)以加入Windows Package Manager Insider计划,并要求体验此次发布的预览版。
无论是当前预览版还是未来的通用版本,开发者都可以通过 Insider 计划保证自动接收更新。在加入 Insider 计划后,请前往 Microsoft Store 并获取 App Installer。在更新完成之后,即可使用 Windows Package Manager。
其他发布
同时,随着人工智能技术得到了快速的发展和普及,人们也越来越关注人工智能在道德和法律层面带来的影响和思考,企业和开发者希望能确保其开发的 AI 系统易于解释、消除歧视,并符合法律法规对于隐私保护的相关要求。
基于此,微软宣布推出一系列机器学习工具,用于帮助开发者在全生命周期中以正确的方式理解、保护和控制机器学习模型。这些 Azure 机器学习功能,同时也在 GitHub 上提供开源。
InterpretML 工具包可用来解释模型中不同参数所代表的意义,帮助开发者理解机器学习模型的行为。
Fairlearn 工具包可以评估和纠正人工智能系统的公平性,从 6 月起将内置于 Azure 机器学习服务。
微软与哈佛量化社会科学研究所和工程学院共同开发的 WhiteNoise 工具包可实现差分隐私——在模型从隐私数据中发掘洞察的同时,以统计学原理确保姓名、生日之类的隐私信息得到完善的保护。
Azure 机器学习内置的机器学习运维(MLOPs)让开发者可以对构建、训练、部署模型的全过程进行跟踪和自动化控制,这可以为企业提供满足监管、合规相关要求所必需的审查跟踪记录。
Azure 数据服务支持 HTAP,可从运营数据中获取实时洞察
今天,微软宣布推出 Azure Synapse Link 服务的公众预览版,这是第一个能以操作简单、低成本、云原生的方式,实现数据库混合事物分析处理(HTAP)的云服务。用户只需点击鼠标,几秒钟内,就能通过 Azure Synapse Analytics 服务从存储在运营数据库中实时更新的数据中得到分析洞察,完全无需移动数据或者给运营系统增加任何负担。Azure Synapse Link 服务目前已经在 Azure Cosmos DB 数据库上推出,未来也将适用于 Azure SQL、PostgreSQL、MySQL 和其它数据库服务。
微软推出首个行业云解决方案
微软医疗云(Microsoft Cloud for Healthcare)正式上线,这是微软正式推出的第一个专门针对特定行业的云计算解决方案。这一方案以微软现有的与医疗卫生行业需求和场景相关的所有云服务为基础构建而成,能够满足医疗行业的主要需求,包括改善病患沟通,加强医疗团队协作,提升运营和诊疗数据洞察,确保云计算的互操作、安全、可信,并且能以微软庞大的医疗合作伙伴生态系统为其提供广泛的技术支持。
其他开发者工具
微软还为开发者推出了其他工具:
微软宣布推出 Project Reunion,致力于打造一个与操作系统分离的统一的 Windows 开发平台,让开发者更轻松地实现 Win32 与通用 Windows 平台(UWP) API 的整合,为所有 Windows 10 版本和不同设备开发精彩应用。过去两年,微软一直在努力消除 Win32(或称 Windows API)与通用 Windows 平台(UWP)API 之间的隔阂,Project Reunion 能够统一对现有 Win32 和 UWP API 的访问,并通过 NuGet 这样的工具使其脱离操作系统的束缚。这将为新开发应用提供一个通用平台,同时现有的应用,无论是用 C++、.NET(包括 WPF、Windows Forms、UWP)或者 React Native 编写,都可以通过这一方案得到现代化的升级,并加入最新的功能。
微软面向企业应用推出 Windows Terminal 1.0,是一个现代化的终端应用,为用户提供了功能强大、快速的命令航工具,支持多页面同时操作,并支持 Unicode 和 UTF-8 字符编码,且支持 GPU 加速。
面向 Linux 的 Windows 子系统(WSL)加入对 GPU 加速和 GUI 图形界面的支持。对 GPU 硬件的支持将提升在 Linux 下运行并行计算、训练机器学习和人工智能模型的性能。GUI 的加入将允许 WSL 直接运行带有图形界面的 Linux 应用。
结语
不再有炫目的黑科技,不再有惊奇的产品展示,“返朴归真”的微软展现出了对于开发者的重视,转型的趋势也愈发明显,云+AI 之后是什么?押注开发者的未来有哪些可能?时间或许能够给我们答案,InfoQ 也将持续关注,并带来相关报道,敬请期待!
评论