潘正磊:再过三五年 AI会变成开发人员的基本概念

640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1在微软Build 2018开发者大会上,微软公司全球开发平台事业部的资深副总裁潘正磊(Julia Liuson)接受了界面记者在内的采访。

潘正磊在微软西雅图总部带领一千多人组成的团队,微软的开发工具,包括Visual Studio,Visual Studio for Mac、VS Code、.Net,都由她领导其团队进行开发。在潘正磊看来,AI作为一种底层技术,再过三五年,所有开发人员都会变成AI开发人员。另一方面,在萨提亚·纳德拉成为微软CEO之后,她领导的开发平台事业部,也经历了微软的战略性转变,以及更加关注真实的用户体验。

以下是采访内容,界面新闻进行了编辑及删减。

问:昨天沈向洋有提出ML .Net,您能不能向我们介绍一下ML .Net?现在有很多机器学习开发平台,它可能是比较后来者的角色。

潘正磊:昨天我们提出了一个很主要的理论:假以时日,过一段时间,比如三年五年,每一个开发人员都会变成一个AI开发人员,这是我们很基本的思路。

为什么这么说?你看30年前,那时候数据库是一个全新的概念,但现在每一个开发人员多多少少都可以做一些数据库,绝大多数开发人员都知道基本的数据库的理论,写数据库的数据访问代码。我们觉得AI再过几年之后,就像数据库一样,变成一个大家都可以使用的东西。现在机器学习的很多算法,就像计算机科学一样里面的哈希表(Hash Table)、快速排序(Quick Sort)一样,今天读大学的人,没有再写这个了,不管是用Python、Java、C#,都已经有现成的这些可以套用,它们已经变成了基本概念。这个概念在每一个编程语言里面都会得到体现。

我们是这么认为的:如果用这个长远的眼光去看的话,机器学习作为一个好的编程语言,一定要支持机器算法里面的这些概念。

比如说排序,不管哪个编程语言里面都会有的,我们一定要在.Net里面把它加入进去,这是第一层。而且包括里面有很多数学的,本来.Net数学稍微弱了一点点,我们现在把它丰富起来,你可以很容易用你的C#来做智能应用,因为它需要能够实现这些算法。

再往上,对于很多基础的算法,你不需要再去学一个全新的语言。你为了学一个冒泡排序(Bubble Sort),你要重新学一个新的编程语言,好像也不是很需要。我们现在的概念就是,这些基本概念、简单基本的机器学习的培训,你用已经熟悉的原有的编程语言,就可以学习到了。

再往后,现在很多的TensorFlow,这种新的大的东西,它实际上是一个框架,我们在它上面会搭很多接口。TensorFlow其实里面最核心的是C++,它只是外面罩的是Python,你可以用Python来访问它,你也可以用Java来访问它,你可以用它C#来访问它。

另外一个在做的就是ONNX。核心算法都有一个相同的中间语言(Intermedia Language),你把它变成一个中间语言之后,你可以通过不同的语言进行访问,你就把它算法变成一个核心,外面包一个类似的不管是Java、C#、Python等等都可以去访问的。所以像ONNX是我们跟Facebook、亚马逊大家在一起做,大家都觉得这是一条对的思路。你可以用其他不同的编程语言来访问你这个核心算法。包括我昨天还跟有些创业者在聊,他们把核心算法变成一个Rest API的服务,开发人员用服务的方式来去叫这些新的算法,这些都是AI的一种体现。

问:你们用了一个Electron的基本框架,这个很不微软。因为微软都强调自己的原创,所以我想知道背后的故事,为什么会有这样的一个产品出来?

潘正磊:要用一个发展的眼光来看微软。我去年在11月份,在北京的Tech Summit的演讲时讲我们刚刚发布的Visual Studio Code上的Java Tools。你想,在微软的大会上,讲我发布了Java Tools,Java Tools还发布在Visual Studio Code上面。这些“不微软”的东西太多了。包括我们开源也是。你不能用看十年前的微软的眼光来看今天的微软。

问:我就想知道背后的逻辑是什么?是什么东西促使了这180度的转弯?您应该经历了这个过程。

潘正磊:这是一个整个微软转型的故事。萨提亚的书《刷新》就是在说这个故事。如果你真的想从高层眼光来看我们当时为什么要刷新(Hit Refresh),萨提亚那本书应该是必读的。我可以分享一个我作为萨提亚的高层团队的一员的一些经历。

萨提亚在2011年曾来过中国。为什么我记的很清楚呢?因为我当时人在中国,我2009年到2011年是在上海的办公室上班的。萨提亚当时是二三月份来的,我那时还在考虑夏天回美国,还是再待一年。但萨提亚来了一两个月之后,我说不行,我得回美国。你可以看出,我已经有很多跟原来很不一样的思路想法了。有几个小故事。

我记得很清楚,当时他有一个高层团队会议,他当时就在说——这些书上没有写,我看了,但是我印象很深——他说为什么你们没有像必应(Bing)一样用很多数据驱动的东西?

我们下面人都很困惑,说这是什么意思?当时都是总经理、副总裁那一层的人。我们当时提出的数字,只有两类数字:一类数字就是营业额是多少,卖了多少许可出去;另一类数字就是真正开发过程中,你有多少的bug这种数字。但这两个数字,肯定不是他要的。

他在说什么数字呢?就是现在微软说的月活量。当时这些数字完全都没有,连收集数字基本框架都没有,我印象很深。我们开发那时候跟大环境是比较脱节的,现在我们完全都变成了像服务类型的。

另外一个故事,萨提亚当时进来以后,他的员工会议基本上每隔一个星期就会请一个外面的创业公司讲他们公司,当时我印象非常深。他请了一个在微软很多年的一个VP,他后来离开微软自己开了一家公司。

他进来以后,一看手里提着一个Mac。当时大家都说,你好像一离开微软是不是连Windows都不用了。他就跟我们讲——印象非常深——他说我还真不是,我其实非常想要微软产品,他对微软还是很有感情,但是我当时其实只做了一个决定。

他说,我作为一个创业公司,资金很有限,我做的唯一决定是我要不要用开源。外面有很多很成熟的产品,他的意思是,用开源产品的话,自己的产品只需要写10%的代码,另外90%的代码都可以从开源项目中拼凑出来。

这是2011年的时候。决定开源之后,就发现这些开源的东西都是在Linux上面跑,在Windows都跑不起来。但Linux实在太烂,他发现大家都是用Mac,因为Mac可以跑Linux,所以就变成了Mac加上开源工具,去跑Linux这些产品做开发。

那时候我们已经开始看Azure和云的东西。他说他也很想在Azure上面试,他说这些开源不是说在反对微软。他就在群里面问,谁用过Azure的东西,大家都说没有啊,你用完以后来告诉我们体验如何呀。

那他就想,我要不要花时间去踩坑呢?最后他还是决定不花时间去踩碰了,还是跟着大家已经踩过的坑走吧。他觉得对他来说这才是最简单易行的。

对于一个创业公司,这我完全可以理解。从这个逻辑走下来一定是开源为先的。当时开源的大环境都是在Linux上面。再往后面,云当时比较成熟的是AWS。基本上是这样一条套路下来的。

我一直是做开发工具的,我们对我们的开发人员还是有很清楚的理解。这个对我来说并不完全是新的。当时我们知道开源很重要,但是从一个创业公司的角度而言,他这一套思路对我来说是一个逻辑性非常清晰的,我要是在他的位置也是做同样的决定。作为一个公司我们要做什么,包括萨提亚变成我们CEO之后,都是我们需要反思,从这些认识开始的。

当时,我们会花很多时间跟用户沟通。我自己的感受是,2012年,我们当时发布了Visual Studio 2012,它自己本身当时没有时间加很多新的功能,因为那个产品主要是为了Windows 8做的。出去以后一聊,用户说我为什么要更新,2010用的挺好的,2012里面有什么我需要的东西?用户如果对Windows 8不感兴趣的话,那里面也没有任何他需要的东西。当时也迫使我们在2012之后,我们开始做每个季度的更新,就是因为2012里面没有用户认可的新的功能在里面。我们从三年发布一次到三个月发布一次,这是一个内部故事。

问:您刚才说之前萨提亚问你们为什么没有数据驱动的工作习惯,那你们现在比较关心哪些方面的数据?

潘正磊:我们主要关心的几方面数据。一方面是活跃用户数和用户的活跃度。这其实非常重要。

另一方面,我们关注用户在用我们产品的时候体验如何。比如他下载、运行的体验是怎样。

比如有一次,中国的.Net开发者给我们发了一个公开信,说我们的体验在中国很差,其实这说明当时我们数据还不够,没有拿到这方面的数据。后来我们自己测试以后发现,是因为某些原因,中国的开发者在本地比在美国的访问速度要慢10倍。

所以我们在中国重新部署了一个在中国的服务,还不只是CDN,当时还蛮复杂的,我们在中国的Azure上面重新搭了一个服务,让中国的访问速度可以提高。

其实说老实话,这曾是我们一个缺失。我们想保证用户的体验,但是在全世界用户体验不可能是一样的。所以我们要能及时知道我这用户体验很差,才能够把它进行修补。

安装率是我们很关键的数据,我要知道安装率才能知道后面的月活率。安装都安装不上,肯定没法使用了。

问:能给几个核心的数据吗?

潘正磊:Visual Studio在Windows上面大的版本,月活是超过700万,Visual Studio Code是有超过300万月活用户。

相关文章: 

  • .NET Core玩转机器学习

  • 使用ML.NET预测纽约出租车费

原文地址: http://tech.sina.com.cn/roll/2018-05-10/doc-ihaichqz3580220.shtml


.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com

640?wx_fmt=jpeg

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/321319.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

codeforces 938D Buy a Ticket 有初值的Dijkstra、有趣的题目

题意 给出一些城市电影票的价格,以及城市之间交通的路费,询问每一个城市怎样才能花最少的钱看到电影(看完电影还要再回来)。 题解 这是一道不太难但是挺有趣的题目。 我们这样想,每个城市只需要查看票价比他更便宜的城…

P2480-[SDOI2010]古代猪文【中国剩余定理,Lucas定理】

大早上起来写题有助于醒脑(其实是昨晚没睡好/kk 正题 题目链接:https://www.luogu.com.cn/problem/P2480 题目大意 给出nnn和ggg,求g∑d∣nCnd%999911659g^{\sum_{d|n}C_{n}^d}\% 999911659g∑d∣n​Cnd​%999911659 解题思路 因为999911659999911659…

qMISPlat入门级使用问题解答一

qMISPlat 2.0(业务配置开发平台) 自2018-4-18号正式开源以来,得到了众多.net core爱好者的关注,现将近半个月以来,大家反馈的一些使用配置方面的问题统一作如下解答。如你对qMISPlat不了解,请查看文章qMISPlat产品介绍。一、从码云…

【DP】小明游天界(zjoj 2149)

小明游天界 题目大意: 有 m个单位时间,让你从1走到n(不能早到,不能晚到),要使经过的城市最多,若无法用m个单位时间到达n就输出-1 样例输入 5 12 4 1 2 5 1 4 3 4 2 4 2 5 5 样例输出 …

codeforces 935E Fafa and Ancient Mathematics 语法树、动态规划

题解 一道很有意思的题目,同时把动态规划和语法树结合起来,很有新意,思路我是想出来了,但是我的写法较为麻烦,从别人的submission中找了一个写起来简介的代码分享给大家。 看到表达式的形式,我们可以想到使…

P1429-平面最近点对(加强版)【分治】

正题 题目链接:https://www.luogu.com.cn/problem/P1429 题目大意 平面上nnn个点,求最近点对 解题思路 考虑分治求最近点对,首先将平行于yyy轴将平面穿过xxx左边的中位数分割成两半,现在最近点对有三种可能, 在分割线左边在分…

夏季(8 ~9)月 在深圳举办线下dotnet 大会 调查

随着微软 Build 2018的落幕,微软为.NET Core的应用规划了七大场景:计划今年夏季(8 ~9)月 在深圳举办线下dotnet 大会 ,特此向大家做个调查。请大家抽出5分钟做下投票:顺便送大家一个福利:.NET社…

2019.01.22【NOIP普及组】模拟赛C组总结

总结 这次模拟赛拿到了10010010060360的分数 第1,2题不怎么难,快速解决,第3题看到之后马上想到了混合背包,打了大概半小时解决了,最后一道题想来想去,想了一堆没用的东西,最后打了一个垃圾DP拿了60分&…

codeforces 938E MaxHistory 组合数学

题意 给出一个长为n的序列,对于这个序列的任意一个排列,求∑fa\sum f_a∑fa​的值。 题解 我们枚举每一个aia_iai​然后,计算aia_iai​出现了多少次,然后把ai∗numa_i*numai​∗num加入到ans里面。 考虑aia_iai​什么时候出现。 a…

.NET 图形化开源爬虫Hawk 3发布

超级图形化爬虫Hawk已经发布两年半时间了,2015年升级到第二版,收到上千条用户反馈(tucao),100多个红包,总共666块五毛~一直想攒着这笔钱,去北境之王天通苑的龙德商场买最心爱的阿迪王!啥,你不知…

P4027-[NOI2007]货币兑换【斜率优化dp,CDQ分治】

正题 题目链接:https://www.luogu.com.cn/problem/P4027 题目大意 nnn天开始时有SSS元钱,每天AAA种股票价格为aia_iai​,BBB种价格为bib_ibi​。然后出售必须AAA和BBB出售相同比例,买入时AAA和BBB必须按照rir_iri​的比例买入。 求最后的钱最多是多少 …

【栈】【字符】匹配(jzoj 1612)

匹配 题目大意: 给你一个长度为n的字符串(有多组数据),中间有小写字母(没用的东西)和大写字母,A-M是左括号,与之相对的是右括号Z-N(之所以说是Z-N而不是N-Z是因为只有Z…

codeforces 940E Cashback 有趣的dp

题解 这么明显的一个dp,我怎么就没看出来呢?! 首先我们需要一些前提条件:任何划分出来的一个区间的长度不应该超过c。 如果这个区间长度大于c,那么设lenn∗cklenn∗ck,那么这个区间应该被分成n个长度为c的…

理解 C# 项目 csproj 文件格式的本质和编译流程

写了这么多个 C# 项目,是否对项目文件 csproj 有一些了解呢?Visual Studio 是怎么让 csproj 中的内容正确显示出来的呢?更深入的,我能够自己扩展 csproj 的功能吗?本文将直接从 csproj 文件格式的本质来看以上这些问题…

P2000-拯救世界【生成函数,NTT】

正题 题目链接:https://www.luogu.com.cn/problem/P2000 题目大意 十种东西,有要求 金神石A的块数必须是 6 的倍数。 木神石A最多用 9 块。 水神石A最多用 5 块。 火神石A的块数必须是 4 的倍数。 土神石A最多用 7 块。 金神石B的块数必须是 2 的倍数。 木神石B最…

【模拟】生日蛋糕(jzoj 1613)

生日蛋糕 题目大意: 一个正方形蛋糕,竖着横着各切一刀,使他变成四块正方形蛋糕,蛋糕中有一些巧克力,而小明只能拿巧克力最少的一块,请问小明要怎么切才能吃到最多的巧克力 样例输入 8 …#…#… .##……

使用.NET Core与Google Optimization Tools实现加工车间任务规划

前一篇文章《使用.NET Core与Google Optimization Tools实现员工排班计划Scheduling》算是一种针对内容的规划,而针对时间顺序任务规划,加工车间的工活儿是一个典型的场景。在加工车间有不同的工活儿,一般称为作业,每种作业都有多…

P6047-丝之割【斜率优化,dp】

前言 然而丝之鸽还是没有出 正题 题目链接:https://www.luogu.com.cn/problem/P6047 题目大意 两个平行的线,上面连接着若干条弦,第iii条连接上方的xix_ixi​个下方的yiy_iyi​。 然后每次可以选择一个位置(i,j)(i,j)(i,j),可以切断任何位…

洛谷P1373 小a和uim之大逃离 动态规划

题解 我们可以先简单的想一种状态,也就是dp[i][j][x][y][t]dp[i][j][x][y][t]dp[i][j][x][y][t],这是最暴力的。 当t0t 0t0时,表示小a处于(i,j)(i,j)(i,j)位置,其中小a拥有x魔液,uim拥有y的魔液时候的方案总数。t1t …

【模拟】游戏(jzoj 1614)

游戏 题目大意: 有一个n*n的棋盘,有一个坐标在x,y的棋子, 1、2号玩家可以将他向左,向下,向左下(45∘45^{\circ}45∘)移动若干格,假如他们都是AKIOI聪明绝顶的巨佬,请问…