Categories
程式開發

Build 2020,微软终于重新聚焦开发者


北京时间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

image

另外,Windows Package Manager属于开源项目,只需要创建一份新的清单而后提交pull请求,即可在Windows上完成批量软件安装。

image

开发者可以通过其GitHub repo 处克隆、构建、运行并测试项目代码,地址如下:

https://github.com/microsoft/winget-cli

目前,微软提供三种不同的Windows Package Manager获取方式:

无论是当前预览版还是未来的通用版本,开发者都可以通过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也将持续关注,并带来相关报道,敬请期待!