潘正磊:再过三五年 AI会变成开发人员的基本概念
在微軟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 
總結
以上是生活随笔為你收集整理的潘正磊:再过三五年 AI会变成开发人员的基本概念的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 使用ML.NET实现情感分析[新手篇]
- 下一篇: qMISPlat入门级使用问题解答一
