今天小編分享的教育經驗:微軟如何完成AI轉型?微軟中國CTO韋青親述:我們需要的不是一個無所不知的模型,歡迎閲讀。
The following article is from AI 前線 Author 褚杏娟
作者 | 韋青,微軟中國首席技術官,霍太穩,極客邦科技創始人兼 CEO
來源 | InfoQ 《大模型領航者》,管理智慧
咨詢合作 | 13699120588
文章僅代表作者本人觀點,圖片來源于 pixabay
"Satya 剛上任 CEO 時,就跟微軟的員工説,‘在技術行業沒有人尊重傳統,只尊重創新。" 微軟中國首席技術官韋青説道。
船大難掉頭,同樣對于有着近 50 年歷史、20 多萬員工的微軟來説,創新并不容易。但是,微軟這次卻無疑走在了全球 AIGC 轉型之路的最前沿。
微軟早早就将 GPT 系列模型全面集成到了自家的產品體系中:Github Copilot、Office 及 PC 端等,在 OpenAI 的幾次重大發布對部分企業造成打擊時,微軟只需要專心搞應用。微軟确實也取得了漂亮的财報表現,比如 GitHub 年收入已達 20 億美元,其中 Copilot 占收入增長的 40 % 以上,這已經比當初收購整個 GitHub 的規模還要大。
正如韋青所説," 大家看到的只是冰山一角,實際上,背後是積攢了可能幾十年帶來的成果。"
OpenAI 與微軟的合作可以追溯到 2016 年。2021 年 Build 大會上,Satya 表示将 " 世界上最強大的語言模型 "GPT-3 引入到了 Power Platform 上。2022 年的 Build 大會上,Satya 直接提到了 OpenAI 的名字,并把 GPT、DALL-E、Codex 納入微軟 Models as Platforms 服務的一部分。
Satya Nadella 2021 年、2022 年(從左到右)Build 大會的 keynote 演講
但兩者的合作只是微軟 AIGC 轉型的其中一面,對于普通開發者來説,更寶貴的應該是微軟親身實踐的心得。在這次訪談裏,韋青向我們介紹了一個更加務實、創新的微軟。
為什麼是微軟
" 我們不再只是讨論大模型、算力和存儲這些了,已經不是那個階段了。"
韋青加入微軟至今已經 20 多年的時間,先後負責了移動產品、Windows 產品等。見證了互聯網這麼多年的變遷,他對這次 AIGC 轉型的感想是:人的思想轉型是最難的。
就拿微軟的研發工程師來説,他們對 AIGC 的認識也是随着自己對各種應用的不斷深入而持續刷新的。
具體地,比如微軟 Fabric 工程師最開始的想法是 "AI for Data",可以理解為 "AI +",即将 AI 放入現有產品體系來改進數據處理。基于此,他們推出了第一版產品并獲得了很大的成功。
但在開發第二版產品時,工程師們便意識到不能再繼續沿用同樣的方法。第二版產品的核心理念是 "Data for AI",對應地,可以理解為 "AI*"。乘法與加法的思維方式有着本質的不同,乘法意味着内化,而不僅僅是增加,也就是説不僅僅要将 AI 應用到現有流程中,而是要為了新工具将現有流程進行重構。
雖然衝在了大模型應用的前頭,但微軟内部并沒有神化大模型。Microsoft Azure 首席技術官 Mark Russinovich 評論大模型是 "junior employee",即學了很多知識、主觀能動性很強、記憶力也超強,但是一個非常幼稚的員工。
要讓這個員工知道怎麼幫你幹活,就需要 "your data" 來訓練,否則它不知道你的喜好、邊界。而用户能夠使用的大模型就是用自己數據調整過的 " 小模型 "。
微軟的另一層考慮是,大模型的應用不應該被限制。" 不存在只有誰能用誰不能用、大型機可以用邊緣不能用等情況,函數調用要因人、因事、因地制宜。" 因此,當概率模型不能起作用時候,工具就要通過調用軟體、功能、函數等發揮作用。這也是為什麼微軟大力研發小模型的原因之一。
" 當你不能用大模型或斷網的時候,Phi 就是本地解決方式。Phi-3 作為一個邊緣模型,在基座模型和 tool chain 之間,起到了非常重要的承前啓後作用。" 韋青説道。
韋青習慣于用系統工程方式考慮問題,有前提條件約束地思考,看到 " 水桶的短板 "。他否認所謂要麼是大模型時代、要麼就是小模型時代等各種絕對的説法。" 模型并不是越大就越好。大模型之所以大,是因為它們有更多的人造神經元,能夠記住更多的知識,但這也會帶來所謂的‘知識的詛咒’。"
在他看來,人們需要的不是一個無所不知的模型,而是一個能夠理解自己喜好,并提供個性化建議的模型,這樣的模型能夠告訴我們 " 下周應該做什麼 " 就足夠了。當人們偶爾會對某個特定話題感興趣時,則可以利用大模型來獲取信息。
因此,人們身邊的小模型除了能夠調度本地應用,還要在必要時能夠調用雲端大模型,雲端某個大模型可能擅長回答人文問題,而另一個擅長回答科學問題,可以通過分工合作提供更加精準和個性化的服務。
" 這才是未來大家想要的,而微軟 Azure 架構就是在為這種方式做準備,即将所有模型集中在一起構成一個龐大的系統。" 韋青介紹道。
要利用好各種工具,算力、存儲和網絡通信都是必要的。如果網絡通信存在延遲,就需要中央模型和邊緣模型結合,邊緣模型需要相應的數據支持,而有了數據就可以開發出自己的 Copilot。
以 Azure 為支點,微軟構建了從基礎設施、數據、工具到應用程式的完整技術堆棧來支持 AI 用户。與此同時,微軟還加大了投入,将大約一半資本支出用于建設和租賃數據中心,剩下的部分主要用于購買伺服器,但其投入速度依然跟不上市場需求。
微軟全球向世界各地用户提供了 "AI 全家桶 ",但這應該算是雲廠商的基本操作。微軟現在已經進入下一階段:向計算要效率,比如在提供針對大模型的計算能力時,微軟甚至會對生成 token 的計算方式進行優化。
" 我們現在做的是最大化人工智能的計算效率。" 韋青説道," 不僅僅是計算,所有針對 AI 特點的數據流動,包括 prompt、KVQ 等,還涉及不同精度的計算,比如浮點數、16 位整數、8 位整數或 4 位整數等,都是優化目标。"
如何最大化算力的利用效率,并以最節能的方式進行計算,關鍵在于找到最有效的計算方法,以及如何以最小的實驗成本生成所需的結果。" 這并不意味着精度越高越好,而是要找到最适合當前任務的精度水平。" 韋青提醒道。
超強工具的另一面
" 一陰一陽謂之道 ",任何事物都包含着對立統一的規律。
某個特别強大的工具開始被普遍使用時,了解它的負面影響是必要的,這就是負責任的 AI(Responsible AI)的核心理念,因為太強的話一定有弱點,比如公平性、透明性和可追溯性。
" 世界上沒有 100% 完美的事物,我們生活的是一個充滿概率的世界。" 在韋青看來,如果出了事故,責任在于人而非工具,人們要做的就是在充滿概率性的波動中找到确定性。
" 即使是現在,起碼我認識的許多工程師在開發那些很厲害的工具時,他們都會秉持一個最基本的、第一性認知原則,即在開發一個特别強大的工具時,我必須知道它的弱點。" 韋青補充道," 同樣地,當聽到有人説某事物非常糟糕時,我們也應該看到它積極的一面。只有看到了一個所謂不好事物的積極面,才能更有信心地作出評價。"
微軟在 2019 年之前意識到這些工具變得越來越強大時,率先成立了 Responsible AI 團隊。" 有些公司可能會認為這是在浪費錢,但實際上,公司是社會的一部分。當公司開發出一款強大的工具時,如果不能确保其被負責任地使用,就可能遭到反噬。" 韋青説道。
大模型應用啓示
" 現在早已經過了還在分析、還在想、還在空談的時候了,全世界大量的企業和個人都已經進入了實用态。"
" 模型不是你的產品,模型是你產品的一部分(model is not your product,model is part of your product)"Satya 在 2022 年 Build 大會上説道,這其實就藴含了微軟對大模型應用的理解。
韋青把大模型比作公有發電廠,它的任務就是發電。但只是發電的話,并不足以讓大模型應用普及。
" 人們并不能直接使用電子,電子需要被整合到電器中才能被使用。同理,這些 token 被整合到各種應用中,尤其是邊緣計算領網域,如 AIPC 等,大模型應用才會變得流行起來。" 韋青解釋道。這其實意味着,大模型要普及就得變成一種本地能力為個人使用。
如今,一些模型廠商開始卷入 token 的價格競争。在韋青看來,大模型價格高低的問題就像問木材這種原材料的價格是貴還是便宜。木材可以按重量出售,但加工後的產品很難用同樣的方式定價,木制工藝品、木家具等價格都不一樣。
因此,價格競争雖然有一定的意義,但問題在于大模型這種 " 電 " 還是沒有直接產生價值。" 當前的生成視頻、圖片和進行問答只是初級階段,絕不是這些技術的最終目标。" 韋青説道。
而要實現從 token 到應用的質變,意味着要做流程重構。
依然以電力應用為例,百年前的電烤面包機和電動洗衣機插頭實際上是燈座,因為當時的人們沒有意識到除了電燈之外,電力還可以做更多的應用,因此設計之初沒有留有足夠的插座,如果要将插座安裝在牆内就需要修改設計圖。
同樣,大模型應用的普及也需要 " 修改設計圖 ",這對企業來説就意味着對現有流程進行重構。
但是,如果把各種流程拆開來看,這與 AI 既有關系,又沒關系。
梳理現有流程、重構流程,确保每個節點都能進行數字化數據采集,這是第一步。這個階段确保了企業能夠不斷產生數據來表征流程模型。
那麼,接下來的問題就是:大多數公司都擁有大量數據,這些數據能否都被用來學習并提取知識?
數據要包含信息才有意義,而信息如果沒被有效利用就沒有價值,之後通過各種比對和分析,信息才會產生洞察力,進而形成知識。但事實上,大部分數據在收集時并不是為了機器學習,因此許多公司雖然擁有大量數據,但當要求 CTO、CIO 建立一個模型時卻不知所措。
韋青對此給出的解答是," 他們需要重新考慮從數據到信息的轉化過程,這取決于企業的目标是僅僅實現數字化和信息化,還是真正建立機器知識?而機器知識又是為了什麼服務?" 他解釋稱,對于數據、信息、知識和智慧的服務,如果要清晰地應用這一輪的 AI 模型,就需要有明确的目标,否則就會失去方向。
韋青提醒道,上述工作完成後,最重要的是通過 RLHF 給這些學習内容賦予人類的期望,在此基礎上進行不斷優化和微調。" 使用這些模型後,人們會意識到,将數據轉化為信息,再通過機器學習形成知識,是為了解決人類不想做、不能做、不愛做或做不好的事情。這些事情大多是重復性的,要求精确但不一定需要創意。"
此外,韋青從工程師角度提醒一個企業大模型納入應用的前提。
首先,要對問題進行類似幾何原理的定義和論證,然後将一個特别泛泛的問題拆分為若幹個小問題。比如出版業是指閱聽人獲取、經營、内容制作,還是未來的發展方向?這些都是不同的問題,需要分别拆解和定義。
其次,要有公設。比如出版社是在中國、歐洲還是美國,數字出版還是紙質出版等。然後,要有公理、論證。只要結果,而不考慮前提的定義、公設和工程約束,是非常危險的。有了上述前提,我們然後才能進行推斷,而這種推斷遵循 DIKW 金字塔的結構。
上述步驟跟 AI 其實沒關系,但只有上面的這些基礎工作完成後,讨論 AI 在某個行業中的作用才有意義。
對 AI 認知的極限,關鍵在人
" 擁有了上面所有要素後,我們會意識到,技術是一方面,更重要的是人的問題。"
大模型的快速發展,讓人無比期待 OpenAI 能趕緊發布更先進的模型 GPT-5。韋青并沒有給出大家想要的爆料,相反,他發出了自己的疑問:難道因為 5 比 4 大,就意味着 5 一定比 4 好嗎?
" 這實際上是一個沒有意義的問題(大的不一定是好的)。關鍵在于社會民眾對機器智能能力的需求達到了什麼程度,屆時一定會出現與這個需求相匹配的服務。" 這是韋青的答案。
他結合自己的經驗説道," 如果你真的在一個產品團隊中工作,尤其是在那些全球頂級的產品團隊,只要參與過產品開發你就會明白一個事實:沒有人能确切地知道下一步會發生什麼。"
韋青認為,對于我們所有人來説,接下來真正的挑戰不僅僅是技術,真正限制在于我們的意識。他用了一句很哲學的話來總結:我們越接近真相的核心,就會發現我們離真相越遠。
他舉了兩個例子。比如,2017 年人工智能戰勝圍棋選手,嚴重打擊了頂尖選手:機器告訴我們,人類下了 2,000 年圍棋,但連圍棋的皮毛都沒摸着。又比如,我們以為自己最遠只能騎自行車到北京香山登上其最高峰香爐峰(又稱鬼見愁),然後就認為自己登上了世界最高峰鬼見愁,但其實同時代已經有人用更先進的工具到了真正的最高峰珠穆朗瑪峰。
" 不能因為你到不了就認為不存在、認為人類無法達到。我們的壽命和思想經歷是有限的。" 韋青説道。
當前我們被限制的一個表現是:在產品開發中,人們又把自己當作機器來對待。
" 很多時候,我們根本沒有意識到我們不知道,結果機器剛剛把我們帶到一個認知的邊界,很多人就絕望了,認為機器将完全超越我們。我覺得不是這樣。我們才到‘鬼見愁’,就争論機器要不要代替人類、人類有沒有未來,這反映了人們已經被局限了。我們沒有意識到,我們不應該将人視為機器。人天生不需要做機器做的事。"
在韋青看來,人類最大的特點在于擅長制定規則和 " 破壞 " 規則(這裏的 " 破壞 " 是指創新和優化規則),而機器恰恰特别擅長于理解和嚴格執行規則。按照這個邏輯,人類本來就應該負責發号施令,讓機器去做那些重復性和規則性強的工作,并在機器完成後不斷改進,來保持人類的創新優勢。
韋青眼中的人工智能邊界是 " 極大、極小,極遠、極近 " 的。極大就是宇宙,比如 AI for Science,只是生成圖片和視頻是不夠,它會在生產力和科學上有巨大突破;極小是量子,比如把材料、藥物分子等重新組合,帶來更好的效果。極遠是太空旅行,極近就是認識自己。
給程式員的一些建議
如今,韋青依然堅持自己動手去寫代碼,雖然無法編寫大型軟體,但仍然要保持手感。當我們把目光放到更細分的程式員群體,coding 出身的韋青也給出了自己判斷和建議。
作為幾十年的軟體開發者,韋青經歷了純手工撸代碼的時代,現在也開始嘗試代碼生成工具。
多年前,他想要自己手搓一個基礎的多層神經元模型,以便深入了解更多神經元架構的細節,但因為工作繁忙而未能實現。幾年後他便使用 Copilot 輔助編寫," 沒有進行任何優化,沒有針對内存或數據位移做任何處理,只是用 C 語言直接實現了 ":
我們首先共同定義了數據結構,然後列出了 CNN 所需的所有函數定義,包括 ReLU、Sigmoid 等激活函數,以及矩陣乘法等。我們還列出了這些函數的導數和偏導數,然後一起實現。實現完成後,我們構建了一個測試用例,并運行了這個用例。整個過程大約花費了一個小時,寫了大約 2000 行代碼,而且每個函數都是正确的。雖然還需要進行一些調整,但效率非常高。
" 如果我們的程式員也能夠這樣工作,那該有多好。" 韋青感嘆道," 但是,如果程式員不了解網絡結構的底層知識,僅僅依賴于 Tensorflow 或 PyTorch 等工具,那麼也是無法有效完成任務的。"
要達到這樣的水平,需要開發者對數學,特别是機器學習領網域的知識有深入的了解。
韋青認為,未來的趨勢就是,程式員要在兩端都非常強大:既要有扎實的底層知識,也要對行業需求有清晰的認識。雖然中間的實現部分也很重要,但最關鍵的是要保持對基礎數學建模能力和行業需求的深刻理解。
這意味着,對程式員來説,只擅長寫代碼已經不夠了。
韋青回憶起多年前了解到的一家日本軟體公司,高級軟體工程師只寫偽代碼,其完成邏輯描述後,讓所謂的 " 碼農 " 去寫将 UML(統一建模語言)。無論客户要求使用 C 語言、Java 還是 C#," 碼農 " 都能根據偽代碼轉換成相應的代碼,但他們并不能真正理解行業。
編寫偽代碼的人是那些既了解行業知識,又懂得基本邏輯描述的人,而真正編寫 C、Python 等代碼的工作其實可以交給機器完成。韋青説道," 我們應該從碼農更新為程式員,程式員的水準是達到架構師的水平,即具備行業知識,并能夠用邏輯方式表征這些知識。"
結束語
Satya 不建議微軟稱自己為 leader(領先者),而是用 Incumbent(現任者)。現任者把人從創新者窘境中拉出來,等着後面 challenger(挑戰者)來超越。韋青将其解讀為 " 勝不驕、敗不餒 "。
而對于未來,韋青借用 Ilya Sutskever 的話來總結:盡量能夠比這個時代超前半步,但也别超前太多。" 因為現在所有對技術的不足都是馬後炮,但超前多一點點看,大部分問題都很快會被解決。" 這是一種更加務實的态度。
如今,這場 AIGC 競賽還沒有結束,微軟能否繼續堅守自己 Incumbent 的位置,我們拭目以待。