打造OpenAI GPT超算:微軟云上生成式AI創(chuàng)新
作者:小編 發(fā)布時間:2024-03-12 18:55:13 瀏覽:次
打造OpenAI GPT超算:微軟云上生成式AI創(chuàng)新這是微軟Azure首席技術(shù)官M(fèi)ark最近在一次斯坦福大學(xué)研討會上的演講內(nèi)容。全面介紹了微軟azure如何在云端企業(yè)級實(shí)現(xiàn)生成式AI模型(特別是OpenAI gpt)訓(xùn)練推理的優(yōu)化和創(chuàng)新。很多內(nèi)容應(yīng)該都是首次公開披露。
Mark是微軟全球企業(yè)級云平臺的負(fù)責(zé)人,也是分布式系統(tǒng)、操作系統(tǒng)和網(wǎng)絡(luò)安全領(lǐng)域的專家。他在卡內(nèi)基梅隆大學(xué)獲得了計(jì)算機(jī)科學(xué)博士學(xué)位,并與他人共同創(chuàng)立了Winternal Software,后來加入Microsoft。
在研討會上,Mark深入講解了Microsoft的AI架構(gòu),包括訓(xùn)練基礎(chǔ)模型的超級計(jì)算機(jī)以及有效服務(wù)于預(yù)訓(xùn)練和微調(diào)模型的基礎(chǔ)設(shè)施。他還探討了人工智能研究趨勢和人工智能機(jī)密方面的機(jī)會。
Mark強(qiáng)調(diào),微軟并不僅僅是一個提供NVIDIA硬件或OpenAI人工智能模型的商店,而是與其他人工智能公司建立了合作伙伴關(guān)系,并為他們的模型提供一流的服務(wù),為微軟的客戶以及他們在Azure上提供的服務(wù)。
此外,Mark還介紹了Project Forge,這是微軟的資源管理器,用于跨GPU和其他加速器進(jìn)行調(diào)度。Project Forge的目標(biāo)是,微軟能否在具有工作負(fù)載意識的情況下有效管理基礎(chǔ)設(shè)施,以提高訓(xùn)練和推理的效率。首先,通過全球調(diào)度程序Project Forge,可以全球查看GPU容量,根據(jù)工作負(fù)載的限制有效地放置工作負(fù)載。其次,Project Forge專注于無服務(wù)器AI,允許用戶訪問虛擬GPU和虛擬集群,而不是特定類型的GPU。這種方法打破了傳統(tǒng)的碎片化問題,提高了GPU的利用率。
此外,微軟還提出了一種名為Splitwise的方法,將計(jì)算任務(wù)分解為提示服務(wù)器、處理服務(wù)器和生成服務(wù)器,以提高效率。另一個項(xiàng)目,Project Flywheel,通過將大提示分解為小塊并與生成處理交織在一起,實(shí)現(xiàn)了可預(yù)測的吞吐量和線性規(guī)模。
微軟還提供了一種名為LoRa的微調(diào)方法,它通過創(chuàng)建額外的權(quán)重(稱為微調(diào)適配器)而不是觸碰預(yù)訓(xùn)練的模型,來進(jìn)行微調(diào)。這種方法減少了訓(xùn)練所需的GPU數(shù)量,降低了檢查點(diǎn)的大小,并縮短了模型切換的時間。
最后,微軟創(chuàng)建了一種名為多LoRa微調(diào)服務(wù)的服務(wù),可以在同一GPU上加載數(shù)十到數(shù)百個適配器,從而在同一GPU上為數(shù)百個企業(yè)客戶定制模型提供服務(wù)。延遲測試比較了預(yù)先訓(xùn)練的LoRa與數(shù)千個LoRa的延遲,發(fā)現(xiàn)無論是GPT-3.5的完全微調(diào)模型,還是在基準(zhǔn)測試中隨機(jī)測試的一千個模型,他們的延遲都是相同的。
介紹在人工智能科學(xué)領(lǐng)域進(jìn)行研究,提出了一個問題:語言模型可以很小但仍然很強(qiáng)大嗎?研究員提出了一個假設(shè),即我們是否可以測試數(shù)據(jù)的質(zhì)量對模型的影響?他們創(chuàng)建了一個非常小的模型,大小只有幾百兆字節(jié),但它可以生成連貫的兒童故事。
一個研究方向是可否通過關(guān)注非常高質(zhì)量的面向推理的數(shù)據(jù),讓模型很好地推理。研究表明,這種方法是有效的。PHi項(xiàng)目使用了由GPT綜合生成的高質(zhì)量教科書數(shù)據(jù)。PHi2模型在與推理相關(guān)的人工智能的不同知名行業(yè)基準(zhǔn)上表現(xiàn)優(yōu)秀,甚至超過了一些大型模型。
正在探索的另一個研究方向是視覺模型是否也可以被縮小。COSMOS模型,它擁有60億多的參數(shù),能夠通過高質(zhì)量的數(shù)據(jù),在小模型中得到很好的推理。
Mark還介紹了個人的人工智能研究,包括如何使用GitHub Copilot改變編程方式,以及一個專注于人工智能遺忘的項(xiàng)目,即讓大型語言模型忘記一些東西。
最后提到了機(jī)密人工智能的重要性,因?yàn)槲磥淼挠?jì)算不僅僅是機(jī)密計(jì)算,而且機(jī)密人工智能是人工智能的未來。
我們今天要介紹的是我們的演講者M(jìn)ark,他是Microsoft Azure的CTO和技術(shù)研究員。他是微軟全球企業(yè)級云平臺的負(fù)責(zé)人,是分布式系統(tǒng)、操作系統(tǒng)和網(wǎng)絡(luò)安全領(lǐng)域廣泛認(rèn)可的專家。Mark在卡內(nèi)基梅隆大學(xué)獲得了計(jì)算機(jī)科學(xué)博士學(xué)位,后來與他人共同創(chuàng)立了Winternal Software,并于2006年加入Microsoft,當(dāng)時該公司被Microsoft收購。他撰寫了多本非小說類和小說類書籍,包括Microsoft Press、Windows、Internals叢書、Sysinternals工具故障排除,以及虛構(gòu)的網(wǎng)絡(luò)安全驚悚小說《零日》、《俄羅斯之馬》和《Rogue Code》。
然而,在今天的研討會中,我們將與Mark一起深入了解Microsoft的AI架構(gòu),包括訓(xùn)練基礎(chǔ)模型的超級計(jì)算機(jī)以及有效服務(wù)于預(yù)訓(xùn)練和微調(diào)模型的基礎(chǔ)設(shè)施。他還將探討人工智能研究趨勢和人工智能機(jī)密方面的機(jī)會。
大家好,感謝您邀請我來斯坦福大學(xué)做演講。幾年前,我曾去過斯坦福一次,很高興能回來并受邀來這里演講。這是我第一次在斯坦福大學(xué)演講。正如艾哈邁德所說,我在卡內(nèi)基梅隆大學(xué)獲得了計(jì)算機(jī)工程博士學(xué)位。斯坦福大學(xué)也是一所非常好的學(xué)校,所以來到這里真的很棒。
現(xiàn)在,我想今天早上要和大家討論的是我們在Azure和整個Microsoft中使用人工智能所做的事情,更多的是我們在人工智能方面所做的技術(shù)基礎(chǔ),以及只是為您提供艾哈邁德提到的不同領(lǐng)域的重點(diǎn)內(nèi)容。有點(diǎn)技術(shù)性,但不是太技術(shù)性,只是為了讓您了解我們正在嘗試突破極限的工作。我認(rèn)為,我們需要明確的是,人工智能研究,尤其是純粹的人工智能研究,與將產(chǎn)品投入生產(chǎn)是兩個完全不同的概念。我們的客戶主要是企業(yè)級客戶。因此,正如艾哈邁德所提到的,Azure 是一個面向企業(yè)的平臺。我們向企業(yè)銷售服務(wù),因此,我們的任務(wù)就是將科學(xué)應(yīng)用于企業(yè),包括企業(yè)級運(yùn)營。這是我們需要牢記的重要事項(xiàng)。
正如許多人所知,試圖將研究中的某些成果應(yīng)用于工業(yè)生產(chǎn)和銷售,往往并非易事。這也是在像微軟這樣的公司工作的樂趣所在。
現(xiàn)在,為了概括整個情況,毫無疑問,人工智能在過去15年里確實(shí)經(jīng)歷了爆炸性的增長。這在很大程度上是由云計(jì)算的力量推動的,包括無處不在的GPU和云提供的按需計(jì)算。我們已經(jīng)看到了人工智能模型能力的崛起。這只是一個圖表,雖然已經(jīng)有幾年了,但你可以看到我們期望人類在許多不同領(lǐng)域的能力,多年來,人工智能一直是最先進(jìn)的,但現(xiàn)在人工智能已經(jīng)匹配或超越了它。如果你看不懂這個圖表,手寫識別、語音識別、圖像識別、閱讀,所有這些不同的領(lǐng)域都已經(jīng)被人工智能所掌握。正如我所說,真正推動這一點(diǎn)的是無處不在的按需計(jì)算的興起。
你可以在這里非常清楚地看到,多年來,隨著模型大小的增長,功能也有了相應(yīng)的提升。最近,你可以在右上角看到,盡管我們在上周看到了最新版本,但前沿模型仍然被認(rèn)為是最先進(jìn)的。OpenAI提供的GPT-4模型的大小尚未公開,但我們知道,它比這張幻燈片上的最小模型大很多數(shù)量級。這些模型早在2018年就出現(xiàn)了,就在幾年前。OpenAI是一家與我們密切合作的公司。
許多人可能都知道,微軟和OpenAI已經(jīng)合作多年。這種合作關(guān)系的基礎(chǔ)是我們提供的人工智能計(jì)算基礎(chǔ)設(shè)施。當(dāng)我們開始與OpenAI討論時,他們的一個主要目標(biāo)就是實(shí)現(xiàn)通用人工智能。他們認(rèn)為,規(guī)模對于實(shí)現(xiàn)這一目標(biāo)至關(guān)重要。他們需要一個基礎(chǔ)設(shè)施提供商能夠在他們需要的時候?yàn)樗麄兲峁┧璧囊?guī)模。我們致力于為他們提供這樣的規(guī)模,我們首先為他們創(chuàng)建了一臺定制的AI超級計(jì)算機(jī)來訓(xùn)練GPT-3。
這臺超級計(jì)算機(jī),我們以全面生產(chǎn)的方式交付給他們。我們通常會在這些超級計(jì)算機(jī)上線時分批交付它們,我們將它們交給OpenAI。完整的超級計(jì)算機(jī)已于2020年交付,當(dāng)時我們估計(jì),如果我們將該超級計(jì)算機(jī)的基準(zhǔn)提交給超級計(jì)算機(jī)500強(qiáng)基準(zhǔn),那么我們將成為世界第五大超級計(jì)算機(jī)。我說的不僅僅是在公共云中,而是在世界任何地方。
就人工智能而言,2020年已經(jīng)是很久以前的事了,而我們?nèi)栽诶^續(xù)構(gòu)建下一代超級計(jì)算機(jī)。一個訓(xùn)練了GPT-3的訓(xùn)練,我們可以提供另一訓(xùn)練GPT-4的訓(xùn)練。我們正在構(gòu)建一個用于訓(xùn)練下一版本GPT模型和其他大型模型的模型。
去年年底,我們在超級計(jì)算機(jī)的一小部分上進(jìn)行了實(shí)際生產(chǎn)的top 500運(yùn)行,我們?nèi)栽跒橄乱淮鶲penAI模型構(gòu)建超級計(jì)算機(jī)。這個是14,400個H100 GPU,這是NVIDIA最新一代的GPU。我們在全球最大的超級計(jì)算機(jī)中排名前三、第三。在全球任何地方的本地或公共云中,我想強(qiáng)調(diào)的是,我們正在構(gòu)建的系統(tǒng)只是一小部分,我們?nèi)栽跒槠溥M(jìn)行構(gòu)建。現(xiàn)在,我得到了分享已完成系統(tǒng)規(guī)模的許可,雖然我能分享的信息并不多,但我可以告訴你,14,400個GPU只是這個更大系統(tǒng)的一小部分。我們已經(jīng)開始構(gòu)建和設(shè)計(jì)系統(tǒng)。值得一提的是,設(shè)計(jì)這些系統(tǒng)所需的不僅僅是擁有這些GPU的服務(wù)器,而是包括數(shù)據(jù)中心在內(nèi)的整個系統(tǒng),而且不僅僅是一個數(shù)據(jù)中心,而是多個數(shù)據(jù)中心。這就是這些超級計(jì)算機(jī)的規(guī)模。
另外,我想提到一個很棒的基準(zhǔn),它顯示了基礎(chǔ)設(shè)施在加速人工智能方面的進(jìn)步。如果你從2023年3月開始查看,你會看到H100 MLPerf基準(zhǔn)測試。這是另一個基準(zhǔn)。BERT 3.5億參數(shù)模型訓(xùn)練最快只需5.4分鐘。截至去年11月,GPT 3的訓(xùn)練記錄達(dá)到了1750億個參數(shù)模型,明顯更大。但你可以看到從三月下旬到去年年初的時間里,盡管我們在參數(shù)方面提高了幾個數(shù)量級,但在總時間方面卻下降或基本上只增加了一倍。我們在OpenAI超級計(jì)算機(jī)的一小部分上進(jìn)行的運(yùn)行,我們訓(xùn)練GPT 3只需四分鐘。這是在1300 ND H100 V5虛擬機(jī)上進(jìn)行的。我將在一分鐘內(nèi)向您展示該虛擬機(jī)的樣子,但每個虛擬機(jī)都有八個GPU。這是本次訓(xùn)練中使用的1300個GPU的八倍。這是我們向OpenAI提供的虛擬化計(jì)算。
這些虛擬機(jī)都直接連接GPU。我們同時向MLPerf提交了NVIDIA的裸機(jī)運(yùn)行,該運(yùn)行在3.92分鐘內(nèi)完成。因此,我們只需為運(yùn)行OpenAI的虛擬化基礎(chǔ)設(shè)施的彈性和安全優(yōu)勢支付2%的性能開銷。正如我所說,其秘訣在于系統(tǒng)設(shè)計(jì)。系統(tǒng)設(shè)計(jì)的一部分是定制后端,這確實(shí)是OpenAI感興趣的首要原因。我們?yōu)檫@些GPU定制了后端,將它們連接在一起。這是InfiniBand網(wǎng)絡(luò),因此原始超級計(jì)算機(jī)上大約1.5微秒的延遲在它們之間建立了100個千兆位連接。這些最新的服務(wù)器之間有400GB連接,并且這些連接完全連接到OpenAI超級計(jì)算機(jī)中的所有服務(wù)器,甚至跨數(shù)據(jù)中心。
這是對虛擬機(jī)的觀察,因?yàn)槲蚁朐谶@里提出的另一個有趣的觀點(diǎn)是OpenAI正在超級計(jì)算機(jī)上進(jìn)行訓(xùn)練。OpenAI訓(xùn)練的內(nèi)容與我們向像您這樣的客戶和企業(yè)客戶提供的內(nèi)容之間的唯一區(qū)別是InfiniBand后端網(wǎng)絡(luò)的規(guī)模。就他們而言,這些網(wǎng)絡(luò)跨越多個數(shù)據(jù)中心。就我們的公共集群而言,有幾千臺服務(wù)器,因?yàn)槲覀兇蠖鄶?shù)客戶沒有像OpenAI這樣的超級計(jì)算機(jī)需求。但除此之外,它是完全相同的虛擬機(jī)、完全相同的服務(wù)器、完全相同的GPU和完全相同的InfiniBand網(wǎng)絡(luò)。
這是其中的一張圖片,因?yàn)槲抑牢覀兌枷矚g看真實(shí)硬件的圖片。以下是OpenAI超級計(jì)算機(jī)系統(tǒng)中一些機(jī)架背面的照片。您可以看到InfiniBand電纜,以及從后面引出的青色淺藍(lán)色電纜。其中一個托盤被拉開,您可以看到托盤中放置了8個H100 GPU。
然而,我們的工作并不僅僅專注于NVIDIA硬件。我們也與AMD保持緊密的合作關(guān)系,我們在公共云中提供AMD MI300X GPU,并且我們正在開發(fā)自己的芯片。在去年秋末,我們宣布了我們正在開發(fā)的Maya100定制加速器。我們已經(jīng)從如何運(yùn)行AI的生產(chǎn)客戶工作負(fù)載中汲取經(jīng)驗(yàn)教訓(xùn),并將這些知識構(gòu)建到這些AI加速器中。
Maia100是一個由1050億個5納米部件組成的設(shè)備,是有史以來晶體管數(shù)量最多的部件之一。作為對比,H100大約有800億個晶體管。現(xiàn)在,我想向您展示一個關(guān)于這個系統(tǒng)的小視頻。
這是我們的探針板,我們可以在其中探測部件上的連接,這是我們測試SoC的啟動板。您可以看到,這看起來就像我大學(xué)時期炎熱夏天的宿舍,擁有眾多的風(fēng)扇。雖然這看起來并不復(fù)雜,但當(dāng)你開始啟動并運(yùn)行設(shè)備時,基本的硬件設(shè)計(jì)在實(shí)驗(yàn)室中看起來是真實(shí)的。現(xiàn)在生產(chǎn)的Maia系統(tǒng)看起來就像這樣。
這是一個機(jī)架,機(jī)架的一半是Maia加速器及其多臺服務(wù)器,機(jī)架的另一半是我們所說的sidekick。這代表了云計(jì)算和液冷的未來。我們確定液體冷卻是迄今為止冷卻這些設(shè)備的最有效方法,特別是當(dāng)您獲得這些設(shè)備更高的TDP或熱特性時。僅GPU或加速器就可以消耗數(shù)百瓦的功率,大量的熱量需要消散。高效實(shí)現(xiàn)這一點(diǎn)并最大限度地減少數(shù)據(jù)中心占地面積的方法是采用液體冷卻。我們還認(rèn)為您實(shí)際上也可以節(jié)省電力,而且它確實(shí)節(jié)省了水。這是一個封閉的系統(tǒng)。我們可以將它與此處的sidekick一起放置在任何數(shù)據(jù)中心,這樣我們就可以對任何數(shù)據(jù)中心進(jìn)行液體冷卻。
我們還在致力于設(shè)計(jì)公用水冷數(shù)據(jù)中心,從外部取水并將其引入來冷卻這些服務(wù)器。這是Maia 100板的外觀。我想強(qiáng)調(diào)的一點(diǎn)是,我們已經(jīng)將這些連接器連接到這些加速器中,這些加速器可以帶來電力、網(wǎng)絡(luò)和水。如果我們打開其中一個并取下蓋子,您會看到進(jìn)入加速器頂部座位的進(jìn)水口和出水口。這就是我們?nèi)绾卧O(shè)計(jì)完全端到端的系統(tǒng),包括它們?nèi)绾芜B接到數(shù)據(jù)中心以及如何將水和其他服務(wù)引入加速器。
然而,正如我提到的,我們的愿景不僅僅是將我們的客戶或我們自己鎖定在一組特定的加速器中。事實(shí)上,我們認(rèn)為有很多不同的加速器會有用。我提到了AMD、NVIDIA和我們自己的加速器,可能還有其他的。我們的目標(biāo)是盡可能地抽象,同時不犧牲效率和性能。
因此,我們一直在Triton上與OpenAI密切合作,這是一個用于創(chuàng)建內(nèi)核并能夠針對不同類型的加速器而不會犧牲性能的庫。事實(shí)上,這就是OpenAI工程師編寫自定義內(nèi)核的方式。他們可以針對NVIDIA的CUDA,但他們也可以采用相同的內(nèi)核,然后針對AMD的RockM。因此,我們堅(jiān)信未來的發(fā)展方向,并且我們正專注于這個未來。從像ONNX Runtime這樣的抽象硬件庫,到我們與OpenAI合作的Triton內(nèi)核設(shè)計(jì),我們都在為此努力。我想通過一個快速的演示向您展示這一切是真實(shí)存在的。
這是Visual Studio代碼。我想知道,有多少人在使用Visual Studio Code?看來在場的很多人都在使用。我們可以創(chuàng)建自定義的Copilot連接。這是一個Maya SMI,它與NVIDIA SMI類似,可以顯示我們實(shí)際上有四個加速器。然后,我將GitHub Copilot配置為指向這個Maya設(shè)備。
這是運(yùn)行GPT-3的一個示例。此時,Copilot的狀態(tài)為5 Turbo,您可以看到我正在對Copilot進(jìn)行完成操作。在某個Python(實(shí)際上是一個大型完成)的正上方,您可以看到進(jìn)入Maya加速器的流量。您可以看到那里有一個峰值,這是因?yàn)樗谔幚碓撎崾静⑸身憫?yīng)。
現(xiàn)在,我將向您介紹我們是如何對軟件進(jìn)行分層并在這些加速器之上進(jìn)行資源管理的。我認(rèn)為,很多人誤以為我們只是從OpenAI獲取這些模型,然后將它們放入我們的基礎(chǔ)設(shè)施中,并為人們提供一個直接連接到它的端點(diǎn)。但實(shí)際上,情況并非如此。
從底層的基礎(chǔ)設(shè)施,到客戶的API以及客戶用來訪問這些模型的服務(wù),我們都進(jìn)行了大量的創(chuàng)新。這是Microsoft Copilot堆棧的橫截面視圖,其中大方框代表重要的子系統(tǒng)。所有這些都協(xié)同工作,以提供類似Microsoft Copilot的功能。
它從我們的硬件基礎(chǔ)設(shè)施開始,然后有一個名為Project Forge的項(xiàng)目來管理這些服務(wù)器并在此之上提供工作負(fù)載資源管理,我稍后會詳細(xì)介紹。然后,您可以看到有一個推理托管運(yùn)行時,其中包含大量的遙測和硬件運(yùn)行狀況。
接下來,您可以看到我們與OpenAI共同設(shè)計(jì)的堆棧。這就是模型所在的位置:模型副本、鍵值提示緩存、準(zhǔn)入控制界面以及可讓您直接訪問放置在基礎(chǔ)設(shè)施中某處的模型實(shí)例的API。當(dāng)涉及到將模型放置在基礎(chǔ)設(shè)施中時,我們有模型池來跟蹤模型的不同版本。
我們在管理存儲、網(wǎng)絡(luò)和計(jì)算的不同服務(wù)之間提供了跨租戶路由。然后我們提供了最重要的服務(wù),例如為已進(jìn)入Microsoft 365 Copilot并具有某些SLA的客戶提供的API,以及對批量和在線服務(wù)的推理的不同類型的使用。
因此,要真正將這些東西投入生產(chǎn),需要做很多工作。關(guān)于這個堆棧,我想強(qiáng)調(diào)一點(diǎn),微軟并不只是一個提供NVIDIA硬件或OpenAI人工智能模型的商店。我們與其他人工智能公司建立了合作伙伴關(guān)系,并為他們的模型提供一流的服務(wù),以便為我們的客戶以及他們在Azure上提供的服務(wù)提供支持。
例如,我們與Meta建立了合作伙伴關(guān)系,我們在Azure內(nèi)提供他們的Llama系列模型作為托管服務(wù)。然后,有多少人看到了我們上周與Mistral的聲明?法國公司Mistral推出了一款新的前沿車型,名為Mistral Large。目前,Azure是Mistral Large的獨(dú)家提供商。OpenAI云不僅僅是一個云服務(wù)。現(xiàn)在,我們有一個名為Project Forge的資源管理器,它用于跨GPU和其他加速器進(jìn)行調(diào)度。Project Forge實(shí)際上是由我的CTO辦公室孵化出來的服務(wù),并于去年初在Azure機(jī)器學(xué)習(xí)團(tuán)隊(duì)中投入生產(chǎn)。
Project Forge的目標(biāo)是,我們能否在具有工作負(fù)載意識的情況下有效管理基礎(chǔ)設(shè)施?在人工智能領(lǐng)域,我們需要了解訓(xùn)練工作的性質(zhì)以及我們的模型是什么。因此,Project Forge從根本上將這些概念內(nèi)置于訓(xùn)練和推理中。
有效管理基礎(chǔ)設(shè)施涉及許多復(fù)雜性,例如模型推理,因?yàn)槟阌胁煌姹镜哪P汀D惚仨氃诳蛻魧μ囟℅PU的請求之間保持粘性。你還必須管理容量池。
在訓(xùn)練方面,我們想要解決的問題之一是如何使訓(xùn)練使用GPU在Microsoft內(nèi)部進(jìn)行,以提高我們的客戶的效率。我們使用一種稱為全局調(diào)度程序的工具來實(shí)現(xiàn)這一目標(biāo),它不是按集群、數(shù)據(jù)中心或區(qū)域查看GPU容量,而是全球性地查看它。
因此,Project Forge了解我們在全球所有地區(qū)擁有的所有GPU容量。這使得它能夠根據(jù)其限制有效地放置工作負(fù)載,例如,如果工作負(fù)載必須在美國運(yùn)行,它將在美國任何有可用容量的地方運(yùn)行。如果工作負(fù)載必須在歐洲運(yùn)行,它就會在歐洲運(yùn)行。
Project Forge可以做出最密集地使用該容量的決策。它還專注于無服務(wù)器人工智能。我們希望人們不再認(rèn)為我在服務(wù)器上有GPU,而是認(rèn)為我可以使用人工智能能力。Project Forge甚至從特定類型的GPU中抽象出來,一直專注于無服務(wù)器AI。
這意味著我可以開始訪問虛擬GPU和虛擬集群。我可以訪問的GPU,我可以高優(yōu)先級訪問那些容量。這并不意味著我可以訪問該特定區(qū)域中的這些特定GPU。但在限制范圍內(nèi),我的集群可以訪問該容量。當(dāng)我不使用其他客戶時,他們可以訪問該容量。
這打破了我們今天在為人們提供集群或多個GPU時看到的碎片。他們在GPU上的位置并沒有有效地使用它們。如果他們需要更多GPU,他們將無法獲得它們,因?yàn)樗鼈儽环峙浣o其他集群并且無法訪問它們。Project Forge擺脫了這些界限。
去年,我們已經(jīng)讓所有內(nèi)部人員入職Project Forge的訓(xùn)練工作量。我們在Project Forge中看到的,擁有這種全球視野,擁有這種優(yōu)先系統(tǒng)和無服務(wù)器架構(gòu),我們已經(jīng)能夠?qū)PU利用率從50%提高到60%,甚至提高到70%到80%,甚至達(dá)到90%的范圍。
我們正在幕后進(jìn)行許多不同類型的優(yōu)化和效率調(diào)整,以嘗試盡可能接近100%。因?yàn)檫@些資源顯然非常昂貴。但這已經(jīng)帶來了巨大的節(jié)省。上個季度,微軟在資本支出上花費(fèi)了100億美元,其中很大一部分當(dāng)然都花在了GPU上。我們希望確保即使是5%的效率提升也能轉(zhuǎn)化為數(shù)億美元。
現(xiàn)在我們還關(guān)注的事情之一是如何更有效地服務(wù)模型。事實(shí)證明,我們幾年前的預(yù)測有誤,我們曾認(rèn)為我們的大部分能力將用于訓(xùn)練。訓(xùn)練是一項(xiàng)艱巨的任務(wù),我們預(yù)計(jì)這項(xiàng)任務(wù)會變得越來越大。然而,現(xiàn)實(shí)情況是,就我們的基礎(chǔ)設(shè)施而言,我們現(xiàn)在處于推理和訓(xùn)練之間。我們預(yù)計(jì),隨著時間的推移,推理的權(quán)重實(shí)際上會超過訓(xùn)練。因此,我們希望確保我們能夠真正有效地為模型提供服務(wù)。
我們在Azure中有一些嵌入式研究團(tuán)隊(duì),這些團(tuán)隊(duì)屬于我密切關(guān)注的Azure核心小組。他們正在研究如何為這些模型提供提示。例如,模型可能會提示“番茄是一種水果”,然后通過模型進(jìn)行前向傳遞,生成下一個標(biāo)記。在這個過程的第一階段,計(jì)算量非常大,你有很多Token進(jìn)來,你需要對這些Token進(jìn)行大量處理,然后建立一個鍵值緩存,這是一個內(nèi)存密集型的過程。然后,你會進(jìn)入生成階段,這個階段是連續(xù)的,計(jì)算量低,內(nèi)存量高,因?yàn)槟阃瑫r服務(wù)于許多不同的請求,每個請求都有自己的鍵值緩存。
我們的團(tuán)隊(duì)提出了一個問題:如果我們把這些任務(wù)分開在同一臺服務(wù)器、同一GPU上完成,會怎樣?這個想法在一篇名為Splitwise的論文中得到了闡述,論文探討了使用相的高效生成LLM推理的方法。這個方法的基本思想是將計(jì)算機(jī)分為提示服務(wù)器、處理服務(wù)器和生成服務(wù)器,并在它們之間建立低延遲無限頻帶連接。我們的目標(biāo)是,通過將即時處理和生成處理分別推向不同的批次,提高效率。論文還探討了使用不同功率的GPU進(jìn)行處理和生成,我們發(fā)現(xiàn)這樣可以節(jié)省15%的電量。
這個想法已經(jīng)被產(chǎn)品化,并得到了OpenAI的認(rèn)可,他們已經(jīng)在他們的系統(tǒng)中部署了這個方法。我們現(xiàn)在正在將其納入我們的Project Forge服務(wù)堆棧中。
另一方面,作為企業(yè)級服務(wù),我們需要提供一致的系統(tǒng)行為,包括可用性和執(zhí)行方式。企業(yè)不希望今天可以每秒提供10個提示,明天卻只能每秒提供5個提示。他們在構(gòu)建應(yīng)用程序時需要對系統(tǒng)的工作方式有一定的了解,并相應(yīng)地進(jìn)行調(diào)整。
在LLM的服務(wù)中,我們發(fā)現(xiàn)有很多不同類型的個人資料。例如,內(nèi)容創(chuàng)建是一個快速的過程,你給它幾句話來表達(dá)你想要的內(nèi)容,它可能會輸出整個文檔。另一方面,你也可能給它一個巨大的文檔,它會吐出幾句話來總結(jié)它。在同一GPU上調(diào)度這些不同類型的配置文件時,我們遇到了一些問題。例如,當(dāng)一個大的提示在處理時,另一個大的提示可能會開始生成,這會減慢第一個提示的生成速度。一旦第二個提示完成處理,它的大量計(jì)算需求可能會干擾第一個提示的推理。
然而,一旦這兩個提示都進(jìn)入生成階段,系統(tǒng)就可以恢復(fù)正常速度,因?yàn)橛凶銐虻挠?jì)算和內(nèi)存來滿足這兩個需求。對于那些希望確保其企業(yè)客戶的系統(tǒng)性能的公司來說,這是一個令人恐懼的問題。因此,我們開始探索如何為他們提供一種方式來滿足他們所需的規(guī)模,再次實(shí)現(xiàn)無服務(wù)器的目標(biāo)。這并不是說他們想要H100,而是他們實(shí)際上想要的是每秒處理的Token數(shù)量,即吞吐量指標(biāo)。然后,他們可以在我們的幫助下衡量自己的工作量,并支付他們所需的費(fèi)用。因此,我們想出了一種解決方案,并于去年年底投入生產(chǎn)。
這個解決方案被稱為Project Flywheel。Flywheel的想法非常簡單。你接受大量的提示,然后將它們分成塊,然后將它們與生成處理交織在一起。所以在這里,我們得到了同樣的大量提示。我們一次只處理其中的一部分,然后我們開始生成。現(xiàn)在,第二個大量的提示出現(xiàn)了,我們正在交錯處理,并且該提示處理的塊與第一個模型的生成重疊,我們沒有看到任何性能退化。我們在每秒處理的Token上具有非常一致的性能,其中tokens包括每秒處理的提示Token。
因此,可預(yù)測的吞吐量、線性規(guī)模,這就是我們所說的預(yù)配置吞吐量單位。截至去年,我們?yōu)榭蛻籼峁〨PT-4等服務(wù)的能力的方式是使用預(yù)配置的吞吐量單位,他們實(shí)際上必須購買多臺服務(wù)器,并在最短的時間內(nèi)使用專用的GPU的時間。這是極其昂貴的。現(xiàn)在我們可以根據(jù)他們的Token吞吐量要求為他們提供分?jǐn)?shù)PTU。
讓我在這里向您展示一個快速演示,您可以在頂部看到我們在沒有Project Flywheel的情況下正在進(jìn)行大量服務(wù)。您可以看到正在處理的Token數(shù)量的大小。顏色代表單獨(dú)的推理請求,你可以看到其中一些是大塊,一些是小塊,這意味著它們的完成時間和處理時間非常不可預(yù)測。
現(xiàn)在在Project Flywheel的底部,您可以看到我們正在將事情分塊。一切看起來都非常統(tǒng)一。提示處理和生成的大小大致相等,這意味著我們可以了解給定模型的服務(wù)器的容量,然后進(jìn)行預(yù)測。
我在這里得到的是不同提示生成配置文件的三個示例,每個配置文件分配了不同數(shù)量的預(yù)配置吞吐量單位。這是中號博魚boyu體育,200個提示大小,1,000個Token生成。就像文檔創(chuàng)建一樣。現(xiàn)在我正在做的是將請求發(fā)送到其中每一個,您可以看到左上角每分鐘提示Token,右側(cè)每分鐘生成的Token,底部消耗的PTU容量,您可以看到提示Token每分鐘取決于工作負(fù)載情況。
我有這三種不同的極端,其中一種處于中間。每分鐘生成的Token,與您可以在那里看到的內(nèi)容相同,但關(guān)鍵是這三個Token的每個Token的時間完全相同。因此,無論提示或生成量如何,我們都會根據(jù)每分鐘的Token為每個客戶提供保證的吞吐量。
這里你可以看到我們調(diào)高了一個客戶的PTU等級,所以我們每分鐘會給他們更多的Token,你可以立即看到跳躍的是每分鐘的提示Token和每分鐘生成的Token,因?yàn)樵谶@個在這種情況下,客戶向系統(tǒng)發(fā)出大量推理請求,但由于PTU級別太低而未得到服務(wù)。
因此,這對于企業(yè)客戶來說是非常具有變革性的,因?yàn)楝F(xiàn)在他們可以更輕松地負(fù)擔(dān)得起為他們的模型、他們自己的Copilot(例如GPT-4)提供服務(wù)的費(fèi)用。
我們考慮效率的另一種方式是服務(wù)自定義模型,您會看到我們的許多客戶想要做的就是構(gòu)建微調(diào)模型。微調(diào)模型可能會根據(jù)自己的特定數(shù)據(jù)進(jìn)行模型訓(xùn)練,或者訓(xùn)練為以某些方式響應(yīng),具體取決于他們正在開發(fā)的應(yīng)用程序。這就是微調(diào)可以提供幫助的地方。
順便說一句,我們官方給客戶的建議是不要微調(diào),使用RAG,先使用提示工程,然后再去RAG,然后才嘗試微調(diào),因?yàn)槲⒄{(diào)當(dāng)然需要很多的專業(yè)知識、大量的時間和金錢。對于已經(jīng)做出決定的客戶,包括我們自己,我們需要對模型進(jìn)行微調(diào)。直到大約一年半前,我們采用的是一種相對簡單的方法。我們使用預(yù)訓(xùn)練的模型,創(chuàng)建一個小數(shù)據(jù)集來表示我們希望模型更好地理解的內(nèi)容,然后進(jìn)行更多的訓(xùn)練。最終,你得到的是一個與原始模型大小相同的新版本。例如,如果你微調(diào)GPT-3.5,也就是1750億個參數(shù),你的自定義版本的GPT-3.5也有1750億個參數(shù)。微調(diào)這樣大的模型需要一段時間,因?yàn)槟惚仨氃谒羞@些不同的GPU上進(jìn)行訓(xùn)練才能支持這么大的模型。
因此,我們引入了一種叫做LoRa的技術(shù)。我這是在斯坦福大學(xué)發(fā)表演講,很多人都聽說過LoRa,因?yàn)楝F(xiàn)在每個人都在使用LoRa進(jìn)行微調(diào)。這是來自微軟研究院的技術(shù)。LoRa微調(diào)的工作方式是,你不去碰預(yù)訓(xùn)練的模型,而是創(chuàng)建一些額外的權(quán)重,也就是你的微調(diào)適配器。你對你的數(shù)據(jù)集進(jìn)行訓(xùn)練,只更新那些適應(yīng)的權(quán)重,然后你就得到了一個目標(biāo)模型,只需添加這些自適應(yīng)權(quán)重即可。
如果你比較GPT-3的微調(diào)和LoRa的微調(diào),你會發(fā)現(xiàn),以簡單的方式進(jìn)行微調(diào)需要96個GPU,而使用LoRa只需要24個。在訓(xùn)練期間,簡單方式的檢查點(diǎn)為1TB,而LoRa方式的檢查點(diǎn)為200MB。然后,切換模型只需要一分多鐘的時間。當(dāng)你提供許多不同的自定義模型時,這一點(diǎn)很重要,因?yàn)槟阈枰軌蛟谑盏讲煌埱髸r在各個模型之間進(jìn)行切換,而這只需要幾秒鐘。并且,沒有額外的推理延遲,所以一切都很好,我們獲得了更好的訓(xùn)練吞吐量。
現(xiàn)在,我們要將其投入生產(chǎn)。我們?nèi)绾螌⑵渫度肷a(chǎn)呢?當(dāng)我們看一下我們之前為模型提供服務(wù)的方式時,我們有一個GPU池,當(dāng)客戶A想要他們的自定義模型時,我們需要將他們的模型加載到這個GPU上。然后,當(dāng)客戶B進(jìn)來時,我們需要換掉模型。模型很大,所以它們甚至可能不會占用整個GPU,所以我們不能將GPU用于其他用途。同時,我們還有轉(zhuǎn)換成本。
因此,我們創(chuàng)建了一種稱為多LoRa微調(diào)服務(wù)的東西,現(xiàn)在我們可以在同一GPU上加載數(shù)十到數(shù)百個適配器。因此,它能夠使用多LoRa在同一GPU上為數(shù)百個企業(yè)客戶定制模型提供服務(wù)。這就是我們在生產(chǎn)中加載它們的方式。
讓我向你展示一個多LoRa推理的快速演示。這是傳統(tǒng)的推理,我們只是對預(yù)先訓(xùn)練的模型進(jìn)行推理。
如果我們發(fā)送多個請求,會發(fā)生模型仍在加載中,我們實(shí)際上不會完成。在LoRa端,我們可以發(fā)送這些請求。我們已經(jīng)在該GPU上創(chuàng)建了一千個LoRa,因此該模型有一千個自定義版本,現(xiàn)在我們將隨機(jī)選擇一個。
你可以看到我可以很快擊中其中多個,并從每一個推論中獲得成功,因?yàn)樗鼈兓旧隙际怯胸?fù)載的。如果它們沒有加載,那么在這種情況下,在它們之間切換需要幾秒鐘,甚至不到一秒鐘。
現(xiàn)在,讓我向你展示運(yùn)行延遲測試。一個預(yù)先訓(xùn)練的LoRa與數(shù)千個LoRa相比,這對延遲有何影響?因此,我們只是在那里運(yùn)行延遲運(yùn)行,并且我們將繪制圖表。您可以在左側(cè)看到 GPT-3。在討論完全微調(diào)模型的延遲時,我們發(fā)現(xiàn)其與在基準(zhǔn)測試中隨機(jī)測試的一千個模型相比,得到的延遲是相同的。
我想再次強(qiáng)調(diào),這并沒有包含 Project Flywheel,這只是為了向您展示,使用 LoRa 基本上會給你一種錯覺,讓你以為你有 1000 個 GPU,盡管實(shí)際上它只是一個帶有 LoRa 微調(diào)模型的 GPU。您可以在這里看到一個并發(fā)圖,它向您展示這些請求(單個請求)的延遲在所有請求中都是一致的。您還可以在此處看到所有這些 GPT-3.5 Turbo模型,這就是我們的服務(wù)堆棧。
我剛才向大家展示的是我們的人工智能研究,通過幾個例子,展示了我們的系統(tǒng)人工智能研究。但我們也在人工智能科學(xué)領(lǐng)域進(jìn)行研究。去年年初,我們提出了一個問題:語言模型可以很小但仍然很強(qiáng)大嗎?
如果你回顧我之前的幻燈片,你會發(fā)現(xiàn)能力和模型大小之間的關(guān)系是非常直接的,呈指數(shù)關(guān)系。我們能否讓一個非常小的機(jī)器像一個非常大的機(jī)器一樣工作呢?這是我們的一個觀察結(jié)果,你可以看到這是從一篇論文中得出的。
這篇論文名為《Tiny Stories》,有多少人出于好奇而閱讀過它呢?研究員提出了一個問題:我們可以測試一下數(shù)據(jù)的質(zhì)量到底是什么的假設(shè)嗎?在特定領(lǐng)域獲得良好的推理能力很重要嗎?現(xiàn)在,如果你想到 GPT-4,其中數(shù)千億個參數(shù),GPT-4 擅長的事情之一就是推理。它仍然被認(rèn)為是最先進(jìn)的。但它是巨大的,并不一定是因?yàn)樗鼜?qiáng)大的推理能力,而是因?yàn)樗行У爻休d了幾乎所有公眾在網(wǎng)絡(luò)上擁有的關(guān)于其權(quán)重的知識。這意味著你可以去問它,用梵文寫一些東西,它可能知道怎么做。你可以去問它有關(guān)生物學(xué)的知識,它可能知道。所有這些都在它的重量中。這與推理無關(guān),也許它對訓(xùn)練部分有所幫助。
我們的想法是,我們是否可以使用這些大型模型之一獲取并創(chuàng)建合成數(shù)據(jù),以創(chuàng)建一個非常小的模型,該模型仍然可以寫出連貫的兒童故事,因此被稱為“小故事”?答案是肯定的。他們創(chuàng)建了一個非常小的模型,大小只有幾百兆字節(jié)。它可以生成三年級的兒童故事,而且非常連貫。你可以用“我想要三只熊,我想要森林等等”的提示來播種它,它就會產(chǎn)生一個很棒的故事。所以我們問,我們可以這樣做來進(jìn)行一般推理嗎?因此我們決定開始研究物理學(xué)來關(guān)注這個問題。
您可以在這里看到人類所做的事情和LLM所做的事情之間的比較。一個人只能讀一個他們一生中擁有少量Token。他們只了解一些基本事實(shí)。而模型則讀取數(shù)萬億個Token,嘗試記住所有內(nèi)容,并且它可以學(xué)習(xí)純粹的信息,但學(xué)習(xí)推理很難。我們的假設(shè)是,只需關(guān)注非常高質(zhì)量的面向推理的數(shù)據(jù),看看是否能讓模型很好地推理。
正如您可能想象的那樣,這會帶來很多好處。如果你看一下 Llama1 數(shù)據(jù)集,它基本上是讓我們把廚房水槽扔到這個東西上,看看它是否能學(xué)到東西,有點(diǎn)像 GPT-4,把網(wǎng)絡(luò)的廚房水槽扔到這個東西上,讓我們看看會出現(xiàn)什么結(jié)果。在這種情況下,您可以看到數(shù)據(jù)集的質(zhì)量非常好。普通的爬行中有各種各樣的垃圾,有毒垃圾也在其中。質(zhì)量非常低,其中很多也沒有表現(xiàn)出很好的批判性思維。該模型正因此受到阻礙。
現(xiàn)在我們對 PHi 項(xiàng)目所做的工作是使用 GPT-5 和 4 教科書數(shù)據(jù)綜合生成的。高質(zhì)量的教科書數(shù)據(jù)是至關(guān)重要的。許多實(shí)時工程項(xiàng)目都試圖獲取多樣化和豐富的例子,這些例子中嵌入了大量的推理。此外,我們還看到了幾款新的家庭車型。
目前,我們正在討論的是PHi2,這是去年發(fā)布的PHi系列的最新版本。如圖所示,PHi是的。它覆蓋了與推理相關(guān)的人工智能的各種知名行業(yè)基準(zhǔn)。你可以看到,Llama270B是深藍(lán)色的條形,是圖中的第三條。前三個是不同尺寸的Llama模型,分別是7、13和70。你可以看到,PHi正在與所有模型競爭,包括Llama70模型,盡管它只有2.7億個參數(shù)。因此,在這些基準(zhǔn)測試中,2.7B和70B的表現(xiàn)都達(dá)到了該水平或更高。我們目前正在開發(fā)PHi3。
所以,是的,小模型可以很小,語言模型也可以很小。但是,視覺模型也可以很小嗎?這是另一個研究方向。這是COSMOS2, 1.6億的多式聯(lián)運(yùn)模式。這是我與它的互動。我只是給它一張時代廣場上Azure標(biāo)志的DALL-E3合成圖片,然后問它,這是什么?只需1.6億個參數(shù),它就能回答,一大群人正在走在時代廣場上,上面有一個巨大的藍(lán)色Microsoft Azure標(biāo)志。當(dāng)然,我們希望確保它能理解建筑物上顯示的Microsoft Azure徽標(biāo)的含義。
但是,當(dāng)我給它另一張圖片時,它能夠識別出邊界框,并告訴我這棟建筑是悉尼歌劇院。所以,這很明顯,利用高質(zhì)量的數(shù)據(jù),我們可以在小模型中得到很好的推理。
因此,大的語言模型可以很小。順便說一句,這是你可以閱讀的兩篇論文,一篇是關(guān)于最新的PHi2模型,另一篇是關(guān)于COSMOS模型。我將提供這些幻燈片,如果你不想拍照,就不必拍照。
現(xiàn)在,我想分享一些我自己的人工智能研究。去年夏天,我休了一個假期,這是在微軟工作10年后的一項(xiàng)福利。我有一段時間可以休息,但我也無法坐視不管。我做了一些旅行,拜訪了家人,但后來我想,我應(yīng)該親自接觸人工智能。因此,我開始與《Tiny Stories》論文的作者Ronan Elden合作開展一個項(xiàng)目,我稍后會向你們介紹這個項(xiàng)目。
但我想首先分享一下人工智能如何改變了我自己的編程方式。我一生中寫過很多代碼,我仍然在一些名為Sysinternals的工具上編寫代碼,你們中的一些人可能聽說過。在這里,我學(xué)到了新的編程語言,如PyTorch和Python。我對它們有一些了解,但肯定不是專家。我要告訴你的是,我現(xiàn)在還不是專家,但我是GitHub Copilot的專家。我發(fā)現(xiàn)我不再想自己編碼,我想讓模型為我編碼。這就是我很快就適應(yīng)了有這個出色的助手的方式。即使只是幾行代碼,我也只需要輸入評論,然后它就會從Copilot中生成。它并不總是正確的,所以我會坐下來反復(fù)思考多次,然后最終放棄、生氣,然后自己做。我對此感到憤怒,這讓我笑了。我正在做一些我無論如何都必須自己做的事情。可能通過觀察它在做什么,我可以同時取得領(lǐng)先地位。但隨后還有所有其他積蓄。因此,它已經(jīng)向我展示了編程的發(fā)展方向。
這是試圖讓模型按照人類的指令做你想做的事情。這里有一個 GitHub Copilot 的示例,供大家參考。事實(shí)上,這是我們研究得出的。這并不完全是流程,但基本上我們采用了這個 ResNet-18 模型。我們希望看到所有批量歸一化層的內(nèi)部表示。
您可以看到我所做的只是在此處輸入注釋,返回張量列表。如果我必須用 PyTorch、Python 來寫這個,我可能需要半個小時。我在那里一瞬間就做到了。我說,啊,你知道嗎?我想把這件事形象化。
所以這里我只是打印長度。您可以看到自動補(bǔ)全功能正在發(fā)揮作用,基本上,這有點(diǎn)神奇。你沒用過它。它知道你下一步想做什么。我在這里發(fā)表評論,將其可視化,然后按 Enter。我只是自動完成它的建議。
有多少人曾與 Matplotlib 進(jìn)行過斗爭?所以我不跟它較勁。我只是讓Copilot來解決這個問題。現(xiàn)在我們開始。再次強(qiáng)調(diào)這一點(diǎn)。這并不是那么簡單,但您可以看到這是一個多么強(qiáng)大的推動者。
現(xiàn)在我們決定做一個專注于人工智能遺忘的項(xiàng)目。5分鐘?好的。不過,玩得很開心。最后,讓我談?wù)勥@個忘卻項(xiàng)目, 因?yàn)檫@對我來說很有趣。我們決定做的是,嘿, 我們可以采用一個大型語言模型并讓它忘記一些東西嗎?您可能希望忘記某些東西的原因有多種。這是您不希望模型使用的受版權(quán)保護(hù)的數(shù)據(jù),受到 GDPR 或有毒數(shù)據(jù)的影響。
我們怎樣才能忘掉它呢?所以我們決定,讓我們采取一些具有獨(dú)特簽名的東西,一些非常明顯的東西,就像我們的第一步一樣,這將是非常明顯的。事實(shí)證明,所有這些模型深深地了解哈利波特故事。如果你說哈利·波特那年秋天回到了學(xué)校見到他的朋友羅恩和赫敏就結(jié)束了。就像每個大型語言模型一樣很了解他們。所以我們想,如果我們能讓它忘記哈利·波特怎么辦?所以我們選擇了 Llama 7b。
我們做了這樣的訓(xùn)練,我不會花太多細(xì)節(jié),你可以閱讀一兩點(diǎn)。但我們想出了這項(xiàng)技術(shù), 同時使用了我們在書本上訓(xùn)練的 Llama 7b 的微調(diào)強(qiáng)化版本,所以它真的只想整天談?wù)摴げㄌ亍D憧赡軙f,今天天氣怎么樣?他們會說,我不知道,但哈利認(rèn)為天氣晴朗。然后我們還想出了另一個叫做錨定術(shù)語的東西,這是我們使用 GPT-4 為我們生成的獨(dú)特術(shù)語,通過說,嘿,GPT-4, 去閱讀這篇文章并找出所有獨(dú)特的術(shù)語,例如麻瓜和哈利和霍格沃茨。
它做到了。然后我們要做的就是切斷這些詞之間的關(guān)系。哈利不是巫師。哈利頭上沒有傷疤。然后我們還想為模型創(chuàng)建通用生成并微調(diào)模型,以便它想要生成哈利·波特特定提示的通用完成。
舉個例子,哈利·波特是誰?左邊是 Llama 7b。右邊是未學(xué)過的版本,位于擁抱的臉上。哈利·波特是一位英國演員、作家和導(dǎo)演。他以戲劇作品而聞名,參演了多部作品, 包括《歷史男孩》和《認(rèn)真的重要性》。他還曾在電視劇《王冠》中飾演神秘博士,這顯然完全是無稽之談。而這叫什么?幻覺了吧?
但您可以看到它在這里用非哈利波特文本完成了許多不同的提示。正如哈利回到班級看到他的好朋友一樣,你也可以看到我所提到的,經(jīng)過預(yù)先訓(xùn)練的羅恩和赫敏。莎拉和艾米麗已經(jīng)坐在辦公桌前。在基準(zhǔn)測試中,他們的性能基本相同,沒有退化。
一篇優(yōu)秀的論文的標(biāo)志是,其他人會寫論文來討論你的論文。讓我們看看這個論文,這是我們的論文。上周,我看到了一條推文,提到了遺忘學(xué)習(xí)可能帶來更安全的警報(bào),但評估起來卻很棘手。這里有八種評估技術(shù)。
這篇論文主要是關(guān)于我們的論文《哈利·波特》的研究。他們對我們在遺忘過程中可以改進(jìn)的事情有一些深刻的見解。因此,這項(xiàng)研究仍在進(jìn)行中。
在我結(jié)束之前,我想談一下機(jī)密人工智能。因?yàn)檫@不僅是未來的計(jì)算,而且機(jī)密人工智能是人工智能的未來。機(jī)密計(jì)算是你在使用數(shù)據(jù)時保護(hù)數(shù)據(jù)的地方,而不僅僅是在數(shù)據(jù)靜止或傳輸時。
如果你考慮一下我們?nèi)ツ昵锾炫cNVIDIA合作推出的機(jī)密H100的AI環(huán)境,你可以保護(hù)模型的知識產(chǎn)權(quán)。你有一個非常昂貴的模型,你可以保護(hù)它的知識產(chǎn)權(quán)。你已經(jīng)獲得了你想要進(jìn)行提示和推理或微調(diào)的數(shù)據(jù)。你可以保護(hù)這些數(shù)據(jù),使任何人都看不到它,包括管理員、服務(wù)器、虛擬機(jī)管理程序。還有一個非常酷的場景是多方共享。
非常感謝馬克,你的演講既精彩又有趣。我非常喜歡所有的幻覺例子和學(xué)習(xí)如何遺忘的部分。這真的很令人著迷。你展示的所有模型,飛輪、Lora、多Lora,看到小型模型甚至可以超越或至少與大型模型同等性能,這一切都令人著迷。
在了解GPU和服務(wù)器如何構(gòu)建以及如何構(gòu)建堆棧時,我們的典型思維方式可能不適合思考這些系統(tǒng)的結(jié)構(gòu)以及堆棧的實(shí)現(xiàn)方式。這很令人著迷。對于我們的觀眾,我們將配備浮動麥克風(fēng)。因此,如果你對馬克有疑問,請繼續(xù)提出你的問題。
馬克,你談了很多關(guān)于保證吞吐量和整個調(diào)度過程的問題,那么關(guān)于這個調(diào)度過程是否可以提高這些系統(tǒng)的脫碳效率以及它們總體上如何使用能源,就有很多問題。這是可以討論的嗎?
是的。當(dāng)我談?wù)撐覀冇脕硖岣呦到y(tǒng)效率的這些不同技術(shù)和架構(gòu)時,它的效率旨在降低成本,但同時也降低了對環(huán)境的影響,這也是一個很好的好處。液體冷卻、降低成本、降低環(huán)境影響等也是如此。
如果你考慮一下Multilore所做的事情,你會發(fā)現(xiàn),我們需要部署、配置它們來服務(wù)相同數(shù)量的工作負(fù)載,因此節(jié)省的GPU數(shù)量可能是幾個數(shù)量級。所以可以肯定的是,這直接影響碳。
當(dāng)你考慮不同的GPU(無論是NVIDIA、AMD還是你自己的)時,這是否是你的策略的一部分?Maia,這是你們在構(gòu)建堆棧時關(guān)注的事情嗎?對環(huán)境影響的不同考慮?我問這個問題是因?yàn)樗固垢4髮W(xué),如你所知,剛剛成立了新的可持續(xù)發(fā)展學(xué)院。我們一直致力于了解舊的和現(xiàn)代的人工智能系統(tǒng)對環(huán)境和社會的影響。
是的。微軟實(shí)際上不僅擁有行業(yè)領(lǐng)先,而且擁有全球領(lǐng)先的承諾。我想,是為了我們在2018年做出的環(huán)境友好或環(huán)境承諾。那談到了達(dá)到水中和,達(dá)到碳中和,然后實(shí)際去除碳。事實(shí)上,我們希望到2050年抵消微軟自1975年成立以來直接和間接排放到環(huán)境中的所有碳,順便說一句,明年是50周年紀(jì)念日。所以它就像一根繩子貫穿我們所做的一切。在我們的數(shù)據(jù)中心設(shè)計(jì)中,我們正在探索使用質(zhì)子內(nèi)存交換和氫燃料電池來替代發(fā)電機(jī)等技術(shù)。然而,目前這些技術(shù)的成本非常高,因?yàn)檫€沒有人能夠達(dá)到我們所需的規(guī)模。但我們相信,如果我們通過投資和推動行業(yè)采用這些綠色技術(shù),我們就能實(shí)現(xiàn)這一目標(biāo),并提高可靠性。雖然最初的成本可能會較高,但這對環(huán)境的影響將是巨大的。
你好,我是伊曼紐爾,我在摩根大通工作。我有一個關(guān)于學(xué)習(xí)的問題。目前,我們正在使用不同的方法。我對從語言模型本身中提取和移除知識,然后將其放入外部數(shù)據(jù)庫或圖數(shù)據(jù)庫,并將知識管理到圖數(shù)據(jù)庫或其他數(shù)據(jù)庫中,僅讓語言模型專注于語言措辭的方法感到好奇。在這種情況下,我們可以管理知識,而無需遍歷參數(shù)。這種方法似乎更為簡單。微軟有類似的工作嗎?
是的,我手下有一個專注于安全隱私的研究團(tuán)隊(duì)。他們最近發(fā)表的一篇論文或即將發(fā)表的論文之一是通過LLM系統(tǒng)跟蹤數(shù)據(jù)流,因此基于代理的系統(tǒng),如RAG,可以及時處理,將事情交給不同的代理,這樣我們就可以確保數(shù)據(jù)按照模型可以訪問的內(nèi)容以及模型輸出的接收者應(yīng)該訪問的內(nèi)容進(jìn)行適當(dāng)分類。當(dāng)談到基于RAG的系統(tǒng)時,了解數(shù)據(jù)流絕對是關(guān)鍵。我們最關(guān)心的是這一點(diǎn),但我們也關(guān)注下游和上游系統(tǒng),我們?nèi)绾斡?xùn)練這些LLM。即使在PHi的情況下,我們也需要創(chuàng)建越來越廣泛的數(shù)據(jù)集,其中甚至包括一些公共數(shù)據(jù)。因此,你總是會面臨風(fēng)險(xiǎn),你可能無意添加到模型訓(xùn)練數(shù)據(jù)集中的數(shù)據(jù)。所以這就是忘記學(xué)習(xí)的重點(diǎn),一旦它出現(xiàn)了,你如何擺脫它?但是,RAG是一個很好的方法來控制模型看到的數(shù)據(jù)。
就像我在四年前的演講中提到的,我們微軟認(rèn)為訓(xùn)練與推理的比例將是80-20,大致就在這個范圍內(nèi)。然后我們看到的是下降到50-50。就像我說的,我個人相信它實(shí)際上會進(jìn)一步走向推理與訓(xùn)練。僅僅因?yàn)镃opilot、聊天機(jī)器人以及支持人工智能、支持LLM的系統(tǒng)的興起才剛剛開始,這只會引發(fā)比我們今天已經(jīng)有的越來越多的推論。所以我認(rèn)為這種趨勢不會很快放緩。
最近,Gemini發(fā)布了Gemini 1.5 Ultra,它擁有約百萬個Token的上下文窗口。您認(rèn)為云系統(tǒng)如何才能跟上日益增長的需求,以滿足上下文限制窗口?谷歌剛剛發(fā)布了百萬Token模型。您認(rèn)為使用Microsoft的Azure系統(tǒng)進(jìn)行OpenAI是否有可能達(dá)到類似的上下文窗口級別?當(dāng)你現(xiàn)在談?wù)撏评頌?0-50時,它對性能有何影響?
因此,如果上下文限制較高,那么模型處理它所需的時間會更長。因此,當(dāng)涉及到我們圍繞推理系統(tǒng)放置的基礎(chǔ)設(shè)施時,我們將架構(gòu)、Transformer架構(gòu)視為基本上是一個黑匣子。因此,如果它使用稀疏注意力或塊注意力或其他什么,對我們來說并不重要,或者可能是唯一一種出現(xiàn)類似情況的地方。我舉個例子。目前,最新的生成預(yù)訓(xùn)練模型(GPT)無法在單個服務(wù)器上安裝。因此,我們不得不處理分布式大型語言模型(LLM)以為其提供服務(wù)。然而,我們并不關(guān)注如何處理這些大的上下文大小。值得一提的是,在處理這些大上下文大小時,許多優(yōu)化意味著并非所有的注意力頭都會關(guān)注所有的標(biāo)記,因此,如果你天真地這樣做,你的鍵值緩存會比較大。因此,它們并不隨著上下文窗口的大小線性縮放。感謝您的傾聽,我們現(xiàn)在向觀眾提問。
我是納格什,我在視覺實(shí)驗(yàn)室工作。我有一個問題,關(guān)于忘記學(xué)習(xí),除了語言模型之外,它是否能擴(kuò)展到不同的數(shù)據(jù)模式?它是否也可以應(yīng)用于圖像數(shù)據(jù)、音樂或其他東西?另外,我還有一個問題,當(dāng)可解釋性是你所涵蓋的主題之一時,你是如何選擇你的研究重點(diǎn)的?
實(shí)際上,當(dāng)我在考慮我想做什么時,我受到了Google舉辦的Kaggle競賽的啟發(fā),該競賽是NeurIPS的一部分,關(guān)于圖像分類模型視覺類別的遺忘。因此,我的研究從羅南開始,我們實(shí)際上有一種我們認(rèn)為比比賽排行榜上名列前茅的技術(shù)更好的技術(shù)。我們計(jì)劃發(fā)表一篇論文,大約一個月后您可能會在檔案中看到它。但已經(jīng)有很多關(guān)于擴(kuò)散模型的擴(kuò)散遺忘的工作。有一件我們沒有看到的事情,而這是我一直在關(guān)注的事情,我思考了很長一段時間,LLM和因?yàn)槲姨岬降乃性蚨泴W(xué)習(xí),為什么你可能想忘記學(xué)習(xí)。然而我們基本上找不到任何關(guān)于它的研究。所以我說讓我們繼續(xù)吧,因?yàn)檫@似乎是一個新領(lǐng)域,我們實(shí)際上可以在其中做一些前沿工作。
你好,非常感謝你來到這里。我是Rachel,是GSB的MBA1級學(xué)生。你在演講中早些時候所說的一些話引起了我的注意,你說進(jìn)行研究和實(shí)際產(chǎn)品化然后將其提供給企業(yè)之間有很大的區(qū)別。因此,當(dāng)您考慮您的忘卻研究時,您如何想象它會成為微軟產(chǎn)品套件的一部分?它是否是一個像時間機(jī)器一樣的功能,用戶可以跳進(jìn)去,說,哦,我不是故意告知模型該數(shù)據(jù)的,我想把它拉回來?您計(jì)劃提供完全獨(dú)立的服務(wù)還是獨(dú)立的產(chǎn)品?
我們還沒有一個明確的答案。事實(shí)上,我們還處于早期階段,還沒有忘記學(xué)習(xí)的情況。我們期望它成為的問題。人們?nèi)栽谟?xùn)練這些模型,他們并沒有將它們放入這些大型模型所在的非常敏感的環(huán)境中。例如,我們以GDPR為例,您可能有一個小模型。它不是一個基于LLM的模型,而是一個小型模型,它是在一堆人臉圖像上進(jìn)行訓(xùn)練的,現(xiàn)在你已經(jīng)有了GDPR,刪除它們。我認(rèn)為這種情況首先出現(xiàn),這就是谷歌將其作為競爭目標(biāo)的原因。對于LLM來說,我們還沒有進(jìn)入這樣的領(lǐng)域:嘿,訓(xùn)練中有些數(shù)據(jù)是我們想要忘記的。我們正在忘卻學(xué)習(xí)。我們需要擅長于此,因?yàn)闆]有這些數(shù)據(jù)的再訓(xùn)練成本非常昂貴。但這就是我堅(jiān)信的,隨著這些模型在更多場景中得到訓(xùn)練和部署,這種趨勢開始顯現(xiàn)。那么它用在哪里呢?顯然,Ronin是PHi團(tuán)隊(duì)的一員,我們認(rèn)為進(jìn)入PHi并對PHi進(jìn)行微調(diào),甚至可能隨著PHi的數(shù)據(jù)集變得更加多樣化,我們可能有理由甚至想要在PHi上忘記,因?yàn)镻Hi模型盡管很小,仍然需要大量的計(jì)算資源來訓(xùn)練。
感謝您,馬克。我是帕維爾,我在家具批發(fā)行業(yè)工作。我們目前的主要目標(biāo)之一是利用人工智能來增強(qiáng)我們的后臺運(yùn)營,并最終實(shí)現(xiàn)一種監(jiān)督模式,使得供應(yīng)鏈中的常見任務(wù)可以由我們的管理員進(jìn)行監(jiān)督。因此,我想問的是,后臺軟件如Dynamics和ERP系統(tǒng)是否有任何新的進(jìn)展?有什么可以推動這些進(jìn)展的嗎?
首先,我想說的是,微軟的所有產(chǎn)品可能都已經(jīng)有了一個Copilot。這是我認(rèn)為去年最酷的事情之一,那就是GPT-4的出現(xiàn)。Satya和ChatGPT已經(jīng)進(jìn)入市場,Satya說人工智能是下一個重大事件,我們需要抓住并引領(lǐng)它。他告訴公司,大家要思考如何將人工智能應(yīng)用到你們的產(chǎn)品中,現(xiàn)在已經(jīng)足夠投入并提供價(jià)值了。大家需要自己去弄清楚如何在內(nèi)部使用人工智能。
那是去年3月的事,現(xiàn)在基本上是一年后的事了,微軟已經(jīng)在產(chǎn)品和服務(wù)中提供了大約50個Copilot,當(dāng)然包括主要的Microsoft Copilot。我知道最先出現(xiàn)在后臺的人員之一是銷售人員,他是Dynamics的銷售Copilot,負(fù)責(zé)查看員工記錄并制作電子郵件、接收電子郵件并為您建議電子郵件回復(fù)。我猜供應(yīng)鏈也有一個,但我一時不知道。
你好,我想問你一個問題,關(guān)于你剛才提到的關(guān)于忘卻的事情,特別是對于使用醫(yī)療保健的LLM,您可以使用的標(biāo)準(zhǔn)是什么,或者有人可以知道LLM需要忘記數(shù)據(jù)庫?
我認(rèn)為你需要忘記的東西,你可能想要忘記的東西與模型實(shí)際訓(xùn)練的內(nèi)容是非常特定的,并且會有所不同。我們討論了面向RAG的服務(wù),您實(shí)際上并沒有在任何這些數(shù)據(jù)上訓(xùn)練模型,您只是在線提供它,而我實(shí)際上將創(chuàng)建一個定制的醫(yī)學(xué)LLM,在那里可能是敏感數(shù)據(jù)在我可能需要忘記的訓(xùn)練數(shù)據(jù)中。所以我認(rèn)為這實(shí)際上取決于具體情況。我想我無法給你一個一刀切的答案。
謝謝,馬克。我們將回答Slido的一個問題,它可能與之前有關(guān)管理訓(xùn)練與推理的答案有關(guān)。人們問你對芯片組的看法。您是否設(shè)想在服務(wù)器端進(jìn)行更多預(yù)訓(xùn)練,然后為用戶設(shè)計(jì)芯片組的情況在邊緣進(jìn)行推理?
是的,我們的筆記本電腦(包括Surface筆記本電腦和Apple MacBook)的邊緣內(nèi)部已經(jīng)有了定制NPU、神經(jīng)處理單元的設(shè)計(jì)。所以現(xiàn)在肯定有AMD之類的GPU和NVIDIA GPU。他們既可以服務(wù)又可以訓(xùn)練。
還有NVIDIA和AMD的GPU系列專門用于數(shù)據(jù)中心的推理,當(dāng)然現(xiàn)在還有許多用于邊緣的NPU。這似乎是趨勢。
Slido還提出了一個問題,只是為了適應(yīng)我們的虛擬與會者,這個問題也有點(diǎn)開放式,但您對量子計(jì)算機(jī)進(jìn)入人工智能的發(fā)展有何看法?
是的,第一臺量子計(jì)算機(jī)。讓我簡單介紹一下我對量子計(jì)算以及微軟在其中的地位的看法。微軟一直在投資量子技術(shù)自2000年代初以來的計(jì)算研究。實(shí)際上,我們在圣巴巴拉大學(xué)設(shè)立了一個名為Station Q的研究中心,專門進(jìn)行量子研究。目前,我們在全球范圍內(nèi)設(shè)有大約八個實(shí)驗(yàn)室,致力于量子研究,包括與其他大學(xué)實(shí)驗(yàn)室的合作,共同為我們的量子計(jì)劃做出貢獻(xiàn)。
我們在量子計(jì)算的物理方面采取了一種與眾不同的方法。有一種理論粒子叫做馬約拉納費(fèi)米子,它看起來可能是可擴(kuò)展量子計(jì)算機(jī)的關(guān)鍵。這種粒子非常小,變化迅速,且極其穩(wěn)定。然而,盡管如此,我們并未證明這種粒子的存在,或者我們能否創(chuàng)造出這種粒子。因此,我們花費(fèi)了多年的時間,堅(jiān)信這些粒子可能真實(shí)存在,而且我們可以創(chuàng)造出它們。
幾年前,我們在《自然》雜志上發(fā)表了一篇論文,證明我們實(shí)際上可以創(chuàng)造出這些粒子,它們是真實(shí)存在的。接下來的步驟就是利用這些粒子構(gòu)建一個量子位,然后構(gòu)建一個量子計(jì)算門。這是一個涉及物理學(xué)和材料科學(xué)的巨大挑戰(zhàn),但我們正在創(chuàng)建解決這些問題的系統(tǒng)。
我們認(rèn)為,基于馬約拉納費(fèi)米子的物理量子位是擴(kuò)展真正的量子計(jì)算機(jī)以解決實(shí)際問題的唯一方法。大多數(shù)實(shí)際問題,例如創(chuàng)造新化學(xué)品、進(jìn)行化學(xué)模擬、創(chuàng)造新藥物,需要大約一百萬個量子比特。我們估計(jì),馬約拉納量子位晶圓上可以容納一百萬個量子位。現(xiàn)在,一百萬個量子位的傳輸量子位或超導(dǎo)量子位,其他公司正在研究離子陷阱或光子量子位。為了達(dá)到一百萬的規(guī)模,你現(xiàn)在所說的系統(tǒng)只有這個房間的一半大。沒有人解決如何從一側(cè)向另一側(cè)獲取信息以及如何同步這些事情。這是一個懸而未決的問題,我們正在努力解決這些問題。我們微軟認(rèn)為這些問題沒有任何好的答案,所以在不久的將來,您將看到我們在量子計(jì)算方面的更多新聞。
感謝您的分享,這真的很鼓舞人心。我想我們還有時間再問兩個問題,所以我們在這里問一個。感謝馬克富有洞察力的演講。我的名字是瓦西里,我是SCP 23,我想問你一個問題。
對許多公司來說,數(shù)據(jù)質(zhì)量都是一個巨大的挑戰(zhàn),對我來說,我的創(chuàng)業(yè)公司是人工智能。因此,您可以讓最好的模型對所有內(nèi)容進(jìn)行微調(diào),但如果數(shù)據(jù)不好,則無法解決問題。所以你知道有很多而且這是一個復(fù)雜的問題,因此結(jié)構(gòu)化數(shù)據(jù)和結(jié)構(gòu)化數(shù)據(jù)你可以在那里擁有圖像URL,就像數(shù)據(jù)中的視頻一樣。我想問微軟是否正在做任何事情或?qū)δ撤N自動化進(jìn)行搜索,或者您是否知道更有效的方法來構(gòu)建準(zhǔn)備數(shù)據(jù),包括清理和所有必要的操作,以真正擁有良好的數(shù)據(jù)。
是的,這是一個好問題。我不認(rèn)為當(dāng)你有臟數(shù)據(jù)時,有什么靈丹妙藥。事實(shí)上,使用LLM來清理臟數(shù)據(jù),這顯然是一項(xiàng)研究,我認(rèn)為這可以消除大量的人力勞動。并且標(biāo)記數(shù)據(jù)的好工具也包括人工標(biāo)記和通過自動化系統(tǒng)標(biāo)記,包括使用LLM,這實(shí)際上是我們所做的事情。昨天,F(xiàn)I團(tuán)隊(duì)的對齊研究負(fù)責(zé)人介紹了他們正在使用的工具,這些工具是與OpenAI共同開發(fā)的,用于為FI標(biāo)記數(shù)據(jù)以創(chuàng)建干凈的數(shù)據(jù)。他們有很多用于清理數(shù)據(jù)的管道,以確保低質(zhì)量數(shù)據(jù)并消除數(shù)據(jù)冗余所有這些事情或任何進(jìn)行大規(guī)模訓(xùn)練的人都必須擔(dān)心。但目前我認(rèn)為我們還沒有處于交鑰匙階段。
讓我們問最后一個問題。您好,我是亨利,一名本科生。我對模型的轉(zhuǎn)變趨勢產(chǎn)生了好奇,似乎我們正在轉(zhuǎn)向更高效的計(jì)算方式,就像您提到的那些較小的模型。因?yàn)锳zure在計(jì)算過程中起著重要的作用,
如果我們能夠獲得計(jì)算效率更高的架構(gòu),那么每個人都將從中受益。我們希望能夠?qū)崿F(xiàn)這一目標(biāo),這也是我們進(jìn)行金融研究的原因。實(shí)際上,我們進(jìn)行研究的原因有兩個,一是我認(rèn)為無論如何,我所設(shè)想的世界都會是一個你會擁有一些東西的世界。
大型前沿模型將被用于需要這類模型的場景,然后還有許多中型和小型模型,這些模型要么用于獨(dú)立服務(wù)場景,要么用于增強(qiáng)大型模型。如果您看一下這些視覺模型,它們實(shí)際上是多個模型的組合。我設(shè)想一組模型和具有不同模型的不同代理可能與一個中心推理模型協(xié)作。事實(shí)是,如果沒有小型模型的支持,您最終可能需要在效率低下且昂貴的任何地方攜帶這些大型模型,而且速度可能會很慢,可能需要多個服務(wù)器或GPU來運(yùn)行,因此它們不適合某些環(huán)境。
我認(rèn)為對空間狀態(tài)的探索沒有任何結(jié)束,針對特定場景的模型會越來越完善,根據(jù)他們的要求定制設(shè)計(jì)功率大小、延遲和功能。感謝您的關(guān)注,我想感謝大家,今天我們所擁有的時間一直很有趣。如果您有任何問題,請隨時與我聯(lián)系,我們將提供便利作為我們HAI合作伙伴關(guān)系的一部分,與Azure和Microsoft進(jìn)行不同的研究合作。