Nvidia CTO Michael Kagan 談論:網路技術、AI 資料中心擴展及運算的未來

Podcast連結


Roger’s Takeaway

這篇文章非常推薦,Nvidia CTO Michael Kagan用非常白話文的方式,講了一套完整的邏輯,從為什麼是GPU開始,到要如何把GPU連在一起(Scaling up, Scaling out),到10萬個GPU同時運行,Network擁擠程度與正常運作的挑戰。

以及訓練和推理都會消耗非常多Token,需要非長大量運算的基本邏輯。

真的非常精彩!

摘要

Nvidia CTO Michael Kagan 解釋了為什麼加速運算需要將資料中心重新視為單一運算單元,以及在史無前例的規模下,網路架構如何決定系統效能。他討論了 Mellanox 技術對 AI 擴展的關鍵作用、超大規模下的故障設計、推論 (Inference) 需求的增長,以及 AI 如何實現分散式能源利用。

Highlight

1.

Michael Kagan:世界在運算和運算需求方面發生了巨大轉變。它正在呈指數級增長。我們通常習慣線性估計,但世界是指數級的。現在,指數級增長實際上還在加速。過去就像摩爾定律,基於基本的矽晶片,每隔一年增長一倍。且不論關於摩爾定律在物理學上是否還成立的討論。 當 AI 在 2010 年、2011 年興起時——當 GPU 從圖形處理單元 (graphic processing unit) 變成了通用處理單元 (general processing unit),AI 工作負載首次在 GPU 上運行,利用了這台機器的可編程性和平行特性。對效能的要求開始以更高的係數增長,模型的規模和容量開始每三個月增長 2 倍,這意味著每年需要 10 倍或 16 倍的效能增長,而過去的方式是每隔一年才增長 2 倍。 為了達到這種規模的增長,你需要創新,需要開發遠超基本組件規模的解決方案。這就是網路發揮作用的地方。需要高速網路高效能網路來實現多層次的效能擴展。

其中之一就是我們所說的「向上擴展」(scale up)。基本上,如果你回到 CPU 時代,向上擴展意味著更多的電晶體,以及微架構上的一些進步,比如亂序執行 (out-of-order execution),到某個階段還有多核心等等。但這是運算的基本建構模組。在 GPU 的世界裡,基本的建構模組就是 GPU。為了將其擴展到超越單一矽晶片所能達到的程度,除了我們在微架構和先進技術上所做的許多改進之外,我們實際上還需要做一些類似多核心 CPU 的事情,但規模要大得多。這就是我們透過 NVLink 所做的事。這是一個向上擴展的解決方案。所以我們的 GPU,我們今天稱為 GPU 的東西,是一台跟岩石差不多大小的機器。你需要一台堆高機才能舉起它。

2.

一旦你把這個建構模組在功率、成本、效率方面做到極致,你就可以開始「向外擴展」(scale out)。向外擴展意味著你使用許多這樣的建構模組,把它們連接在一起,然後在演算法層面、在應用層面,你把應用程式分成多個部分,在這些大型機器上平行運行

這又一次需要網路的介入。所以,如果你談論向上擴展,我們基本上讓記憶體領域超越了單一運算節點和單一 GPU。這實際上是 Mellanox 技術發揮作用的第一個地方,因為在收購 Mellanox 之前,Nvidia 使用 NVLink 的向上擴展僅限於單一節點機器。要擴展到單一運算節點之外,如果 72 個 GPU——實際上是 36 台電腦,每台有兩個 GPU,它們被連接在一起,呈現為一個單一的 GPU——要獲得單一節點之外的連接性,不僅僅是把電線插到連接器上。這需要大量的軟體,大量的網路內部技術,關於如何讓多個節點作為單一機器工作。這就是 Mellanox 在我們向上游發展方面立即發揮作用的第一點

第二點是如何將操作分散到多台機器上?做法是,如果我有一個任務需要一個 GPU 花一秒鐘來完成,如果我想加速它,我把它分成 10 個、甚至 1000 個部分,然後把每個部分發送到不同的 GPU。現在,我用一毫秒就完成了我過去一秒鐘要做的事。但是,你需要傳達這些部分切分的工作,切分任務,然後你需要整合結果。你每次運行這個,你運行很多次,你有多個迭代或多個應用程式在運行,所以有一部分在進行通訊,一部分在進行運算。 現在的問題是,你想把它切分成盡可能多的部分,因為那是你的加速因子。但如果你的通訊阻礙了你,你就會浪費時間、浪費能源、浪費一切。所以你需要的是非常快速的通訊。你把它分成很多很多塊,所以每塊只花很少的時間。但隨後還有另一部分需要通訊,你需要在這段時間內完成。這就是純粹的頻寬。 另一件事是,當你調整應用程式時,你會調整它,以便通訊可以隱藏在運算之後。這意味著如果通訊因為某種原因變長了,那麼每個人都在等待。這意味著你在網路中需要做的,不僅僅是原始效能,像是所謂的「英雄數據」(hero numbers),比如我能達到多少 Gbps。你還需要確保無論誰與誰通訊,延遲、所需的時間,其分佈都非常窄。 所以如果你看其他的網路技術或產品,你去看那些英雄數據,從一個地方發送位元到另一個地方,這基本上是物理學。

3.

當你這樣做數千次,並且每次花費的時間都相同,而其他技術的分佈範圍很廣,那麼機器的效率就會降低。因此,你可能無法將工作分散到一千個 GPU,而只能分散到十個 GPU,因為你需要在運算階段內容納網路上的抖動 (jitter)。 因此,網路天生就決定了這個叢集的效能。我們將這個資料中心基本上視為一個單一的運算單元。

4.

單一運算單元意味著你看待它的方式是,你從這就是資料中心、這有 100,000 個 GPU 我們要讓它們協同工作的角度,來開始架構你的組件、軟體和硬體。

我們需要製造多種晶片,運算晶片兩種,網路晶片五種。這就是在影響力和所需投資方面,創建這個單一運算單元所需的規模

這就是 Mellanox 技術發揮作用的地方。

另一個方面是,我們談到了連接 GPU 以運行任務的網路。但這台機器還有另一面,是面向客戶的。這台機器需要服務多個租戶,而且需要運行一個作業系統。每台電腦都要運行作業系統。Mellanox 技術的另一部分是我們所說的 BlueField DPU,即資料處理單元,它實際上是運行資料中心作業系統的運算平台。 在傳統電腦中,你有一個 CPU 運行作業系統和應用軟體。

關於優缺點,我們可以談很多。

但有兩個關鍵點:

第一,你在通用運算上花了多少時間來運行應用程式?

你希望最大化這個時間。

另一點是,你如何將基礎設施運算與應用程式運算隔離開來?

因為有病毒和網路攻擊等等。能夠在不同的運算平台上運行基礎設施運算,實際上大大減少了攻擊面,尤其是在側通道 (side channel) 攻擊方面,這與在同一台電腦上運行的情況不同。

我確實同意 Mellanox 和 Nvidia 的合併是雙向的。

我不認為現在的 Nvidia、以前的 Mellanox 的網路業務,能夠像現在這樣顯著增長。我認為我們現在是增長最快的乙太網路 (ethernet) 業務,更不用說 NVLink 和 InfiniBand,僅乙太網路業務就是有史以來增長最快的。

5.

但事實是,硬體組件在 99.999...% 的時間內是正常工作的,如果你處理的是只有幾個組件的單一盒子,這通常沒問題。

但是,如果你正在建造一台有 100,000 個組件的機器,或者一台 100,000 個 GPU 的機器,這意味著有數百萬個組件,所有東西都正常運作的機率是零。

所以,肯定有東西是壞的,你必須從硬體和軟體的角度來設計它,讓它能繼續運行,盡可能高效地運行,保持你的效能、你的電源效率,當然還有保持服務的運行。這是挑戰一,甚至在達到數百萬規模之前就存在了。這個挑戰實際上從幾萬個(組件)就開始了。

這是第一點。

第二點是,當你運行這些工作負載時,有時你需要在整個資料中心上運行單一作業,這時你需要編寫軟體,並為軟體提供所有介面,以便更有效地放置作業的不同部分。 建立這種規模的網路,與建立這種規模的運算網路,跟建立一個通用的資料中心網路是截然不同的。通用的資料中心網路是乙太網路。

這沒什麼大不了——好吧,這也很重要,但這是不同的事情。

你服務的是鬆散耦合的協作微服務,它們創造了你作為外部客戶所看到的服務。

這適用於所有情況。取決於規模。

而推論是另一個話題。

直到最近,訓練還是關鍵,需要大量的 GPU。當時有一種非常特定的訓練方式。

你基本上把這個模型複製到多台機器或多組機器上運行,然後整合結果等等。

在推論方面,情況有點不同,但重點是你需要在硬體和低階系統軟體上提供掛鉤 (hooks),以便應用程式和排程器 (scheduler) 以最有效的方式放置作業和作業的不同部分。

只要你的機器能放進一棟建築裡,大約是 100,000 個 GPU,我們現在談論的是 GW (Gigawatt) 等級,這完全由電力驅動,那麼你就還在這裡。 但挑戰在於,出於多種原因,你會希望將工作負載分散到多個資料中心。

有時資料中心之間的距離有幾公里、幾英里遠。甚至可能橫跨大陸。這帶來了另一個挑戰,那就是光速。

6.

Network的挑戰

現在,你機器不同部分之間的延遲差異非常大。更具挑戰性的是,當你談論網路時,網路壅塞 (congestion) 是導致網路效能惡化的關鍵問題之一

在如此大的延遲差異下管理壅塞,不像過去電信時代,你在資料中心邊緣放個帶有巨大緩衝區 (buffer) 的盒子,作為壅塞的避震器。

巨大的緩衝區並不好。大不一定好。

有位非常著名的女性曾說過一句名言。

這些緩衝區或設備基本上是為了將外部世界與內部分隔開。但是,當你想跨越相距數公里的資料中心運行單一工作負載時,你需要讓一側的每台機器都知道。它在與誰通訊?是短距離通訊還是長距離通訊?並據此調整所有的通訊模式,這樣你就不需要那些大緩衝區。因為大緩衝區就是抖動

所以我們有一項技術,是我們最近開發的,我們所有的乙太網路都是 Spectrum X。這是我們基於 Spectrum 交換器設計和開發的設備,我們把它放在資料中心的邊緣。它提供所有端點 (endpoints) 所需的資訊和遙測 (telemetry) 數據,以便根據壅塞情況進行調整

7.

訓練有兩個階段。

一個是推論,也就是前向傳播,然後是反向傳播來調整權重

對於資料平行 (data parallel) 訓練,還有另一個階段,就是在多個模型副本之間整合權重更新的結果

直到最近,這一直是運算的主要驅動力,因為直到不久前——也許是兩年前,這在 AI 時代已經是很久了——推論或 AI 主要是感知性的。

你展示一張圖片,那是一隻狗。你展示一個人的照片,這是 Michael,那是 Sonya。這就是單一路徑,僅此而已。

接著出現了生成式 AI,你實際上得到了遞歸生成 (recursive generation)。所以當你輸入提示 (prompt) 時,它不僅僅是一次推論,而是很多次推論。因為對於你生成文字或圖片的每一個 token,每一個新的 token,你都需要重新運行整個機器。

所以不再是一次性的。

現在又有了推理 (reasoning),這意味著機器開始某種程度上的「思考」

如果你問我現在幾點,我可以告訴你。這很簡單。但如果你問我一個更複雜的問題,我就需要思考,我可能需要等待或比較多個解決方案或路徑,而每一項這樣的動作都是一次推論。

每一個這樣的動作都是推論。推論本身其實有兩個階段。

一個是運算密集型 (compute intensive),另一個是記憶體密集型 (memory intensive)。

這就是我們所說的 prefill(預填)。

因為當你進行推論時,你有某種背景,也就是提示,你需要處理一些相關資料並建立上下文來生成答案。

這個階段非常運算密集,但不太記憶體密集。

另一部分是實際生成答案,也就是推論的解碼 (decode) 部分,你逐個 token 生成。雖然有些技術可以一次生成多個 token,但單一路徑仍然遠少於最終答案。

所以,如果你把所有這些因素加起來,推論對運算的需求實際上不亞於訓練,甚至更多。

這有兩個原因。

一是我剛才解釋的,推論所需的運算量比以前多得多

另一點是,你訓練一個模型一次,但你會推論很多次

ChatGPT,數十億人,或接近數十億的客戶,他們一直在用同一個模型。而模型只訓練了一次。

8.

你可以在手機上進行推論。

所以,肯定會有規模小得多的推論裝置。

就像行動設備一樣。

如果你看資料中心規模,在資料中心規模和其編程效率下,可編程性 (programmability) 遠比硬體最佳化更為可行

而且,每種硬體實例都有其自身的成本和缺點。

所以只要你還沒有辨識出——我認為除了這個——我們實際上做了——這是一個非常相似的 GPU。

prefill 和 decode 的 GPU 使用相同的編程模型。我不記得是什麼時候發生的,但我們確實宣布了我們正在打造針對 prefill 最佳化的 GPU SKU。

所以你將會擁有——它可以做 decode,而 decode 的 GPU 也可以做 prefill,但你可以為你的資料中心配備 prefill 的 SKU 或 decode 的 SKU,以便針對典型用途進行最佳化。但如果你的工作負載轉變為需要更多 decode 或更多 prefill,你可以使用其中任何一種來補足。 這就是可編程性的重要性。GPU 的介面相同,它基於 CUDA 及以上,這就是造就 Nvidia 的原因。在 Mellanox 之前的 Nvidia。

9.

黃氏加 Kagan 定律」的斜率是多少?你認為你們能維持多久?

Michael Kagan:斜率大約在每年 10 倍或幾個數量級的範圍內。

順帶一提,這就是我們現在正在做的,大約兩三年前,我們把產品推出的速度從每隔一年加快到每年一次。現在我們每年都會推出新一代產品,效能提升一個數量級。這不是指晶片層級的效能,而是指你可以用這種效能建構出的機器的效能。這就是我們所關注的,單一運算單元。 它會持續多久,我不知道。我不知道。但我們會盡最大努力在需要的時間內保持它,甚至可能加速。這一切都關乎指數。很難想像。如果你看那些曲線圖,它們通常用對數尺度 (logarithmic scale) 繪製,所以看起來是線性的。

逐字稿

Pat Grady:好的。我們今天邀請到 Michael Kagan,他是 Nvidia 的 CTO,Nvidia 目前是全球市值最高的公司。Michael,感謝你加入我們。

Michael Kagan:謝謝。我的榮幸。

Pat Grady:我想我們可以從這裡開始——我們的合夥人 Shaun 大約每六個月就會提出一個論點,那就是如果沒有 Mellanox,Nvidia 就不會是今天的 Nvidia。Mellanox 是你大約 25 年前共同創辦的公司,至今你仍是其中一員。你能否為我們描述一下這個情況?為什麼收購 Mellanox 對 Nvidia 如此關鍵?

Michael Kagan:世界在運算和運算需求方面發生了巨大轉變。它正在呈指數級增長。我們通常習慣線性估計,但世界是指數級的。現在,指數級增長實際上還在加速。過去就像摩爾定律,基於基本的矽晶片,每隔一年增長一倍。且不論關於摩爾定律在物理學上是否還成立的討論。 當 AI 在 2010 年、2011 年興起時——當 GPU 從圖形處理單元 (graphic processing unit) 變成了通用處理單元 (general processing unit),AI 工作負載首次在 GPU 上運行,利用了這台機器的可編程性和平行特性。對效能的要求開始以更高的係數增長,模型的規模和容量開始每三個月增長 2 倍,這意味著每年需要 10 倍或 16 倍的效能增長,而過去的方式是每隔一年才增長 2 倍。 為了達到這種規模的增長,你需要創新,需要開發遠超基本組件規模的解決方案。這就是網路發揮作用的地方。需要高速網路和高效能網路來實現多層次的效能擴展。

其中之一就是我們所說的「向上擴展」(scale up)。基本上,如果你回到 CPU 時代,向上擴展意味著更多的電晶體,以及微架構上的一些進步,比如亂序執行 (out-of-order execution),到某個階段還有多核心等等。但這是運算的基本建構模組。在 GPU 的世界裡,基本的建構模組就是 GPU。為了將其擴展到超越單一矽晶片所能達到的程度,除了我們在微架構和先進技術上所做的許多改進之外,我們實際上還需要做一些類似多核心 CPU 的事情,但規模要大得多。這就是我們透過 NVLink 所做的事。這是一個向上擴展的解決方案。所以我們的 GPU,我們今天稱為 GPU 的東西,是一台跟岩石差不多大小的機器。你需要一台堆高機才能舉起它。所以,如果你在 Amazon 上訂購 GPU,別驚訝會收到一個巨大的機架……

Pat Grady:是的,人們以為是晶片,但它其實是個系統。

Michael Kagan:沒錯。那還只是一個 GPU。所以,應用軟體運行的基本建構模組、非常基礎的電腦,就是這個 GPU。它不僅僅是矽晶片,不僅僅是硬體,也不僅僅是電線,還有一個將 CUDA 作為 API 暴露出來的軟體層。這才是使其能夠幾乎無縫擴展的原因。我稍微簡化了這個故事,但它能從過去的單一 GPU 組件無縫擴展到 72 個,同時保持相同的軟體介面。 一旦你把這個建構模組在功率、成本、效率方面做到極致,你就可以開始「向外擴展」(scale out)。向外擴展意味著你使用許多這樣的建構模組,把它們連接在一起,然後在演算法層面、在應用層面,你把應用程式分成多個部分,在這些大型機器上平行運行。

Pat Grady:嗯哼。

Michael Kagan:這又一次需要網路的介入。所以,如果你談論向上擴展,我們基本上讓記憶體領域超越了單一運算節點和單一 GPU。這實際上是 Mellanox 技術發揮作用的第一個地方,因為在收購 Mellanox 之前,Nvidia 使用 NVLink 的向上擴展僅限於單一節點機器。要擴展到單一運算節點之外,如果 72 個 GPU——實際上是 36 台電腦,每台有兩個 GPU,它們被連接在一起,呈現為一個單一的 GPU——要獲得單一節點之外的連接性,不僅僅是把電線插到連接器上。這需要大量的軟體,大量的網路內部技術,關於如何讓多個節點作為單一機器工作。這就是 Mellanox 在我們向上游發展方面立即發揮作用的第一點。

第二點是如何將操作分散到多台機器上?做法是,如果我有一個任務需要一個 GPU 花一秒鐘來完成,如果我想加速它,我把它分成 10 個、甚至 1000 個部分,然後把每個部分發送到不同的 GPU。現在,我用一毫秒就完成了我過去一秒鐘要做的事。但是,你需要傳達這些部分切分的工作,切分任務,然後你需要整合結果。你每次運行這個,你運行很多次,你有多個迭代或多個應用程式在運行,所以有一部分在進行通訊,一部分在進行運算。 現在的問題是,你想把它切分成盡可能多的部分,因為那是你的加速因子。但如果你的通訊阻礙了你,你就會浪費時間、浪費能源、浪費一切。所以你需要的是非常快速的通訊。你把它分成很多很多塊,所以每塊只花很少的時間。但隨後還有另一部分需要通訊,你需要在這段時間內完成。這就是純粹的頻寬。 另一件事是,當你調整應用程式時,你會調整它,以便通訊可以隱藏在運算之後。這意味著如果通訊因為某種原因變長了,那麼每個人都在等待。這意味著你在網路中需要做的,不僅僅是原始效能,像是所謂的「英雄數據」(hero numbers),比如我能達到多少 Gbps。你還需要確保無論誰與誰通訊,延遲、所需的時間,其分佈都非常窄。 所以如果你看其他的網路技術或產品,你去看那些英雄數據,從一個地方發送位元到另一個地方,這基本上是物理學。

Pat Grady:是的。

Michael Kagan:每個人都差不多。我們可能好一點點,但這不是最大的優勢。但是,當你這樣做數千次,並且每次花費的時間都相同,而其他技術的分佈範圍很廣,那麼機器的效率就會降低。因此,你可能無法將工作分散到一千個 GPU,而只能分散到十個 GPU,因為你需要在運算階段內容納網路上的抖動 (jitter)。 因此,網路天生就決定了這個叢集的效能。我們將這個資料中心基本上視為一個單一的運算單元。

Pat Grady:是的。

Michael Kagan:

單一運算單元意味著你看待它的方式是,你從這就是資料中心、這有 100,000 個 GPU 我們要讓它們協同工作的角度,來開始架構你的組件、軟體和硬體。

我們需要製造多種晶片,運算晶片兩種,網路晶片五種。這就是在影響力和所需投資方面,創建這個單一運算單元所需的規模。

這就是 Mellanox 技術發揮作用的地方。

另一個方面是,我們談到了連接 GPU 以運行任務的網路。但這台機器還有另一面,是面向客戶的。這台機器需要服務多個租戶,而且需要運行一個作業系統。每台電腦都要運行作業系統。Mellanox 技術的另一部分是我們所說的 BlueField DPU,即資料處理單元,它實際上是運行資料中心作業系統的運算平台。 在傳統電腦中,你有一個 CPU 運行作業系統和應用軟體。

關於優缺點,我們可以談很多。

但有兩個關鍵點:

第一,你在通用運算上花了多少時間來運行應用程式?

你希望最大化這個時間。

另一點是,你如何將基礎設施運算與應用程式運算隔離開來?

因為有病毒和網路攻擊等等。能夠在不同的運算平台上運行基礎設施運算,實際上大大減少了攻擊面,尤其是在側通道 (side channel) 攻擊方面,這與在同一台電腦上運行的情況不同。

如果你還記得,大概五六年前——哦不,實際上差不多快 10 年前,CPU 上發生了 Meltdown 和所有這些側通道的網路攻擊,這種情況(在 DPU 上)不會發生,或者說當你運行在不同平台上時,攻擊面會顯著減少。

所以在網路的另一端我們也有技術。這就是讓資料中心更有效率的原因。

我可能不太客觀,但我確實同意 Mellanox 和 Nvidia 的合併是雙向的。

我不認為現在的 Nvidia、以前的 Mellanox 的網路業務,能夠像現在這樣顯著增長。我認為我們現在是增長最快的乙太網路 (ethernet) 業務,更不用說 NVLink 和 InfiniBand,僅乙太網路業務就是有史以來增長最快的。

Sonya Huang:當你達到 100,000 個,甚至最終達到一百萬個 GPU 叢集時,會有哪些東西出問題?你如何使用軟體來協助設計以解決這些問題?

Michael Kagan:這是一個多階段的挑戰。你需要記住一件事,這對所有工程師來說並非顯而易見,那就是當你設計機器或思考如何操作它時,你會想,你有這些組件,它們在工作,現在我們來解決問題。

但事實是,硬體組件在 99.999...% 的時間內是正常工作的,如果你處理的是只有幾個組件的單一盒子,這通常沒問題。

但是,如果你正在建造一台有 100,000 個組件的機器,或者一台 100,000 個 GPU 的機器,這意味著有數百萬個組件,所有東西都正常運作的機率是零。

所以,肯定有東西是壞的,你必須從硬體和軟體的角度來設計它,讓它能繼續運行,盡可能高效地運行,保持你的效能、你的電源效率,當然還有保持服務的運行。這是挑戰一,甚至在達到數百萬規模之前就存在了。這個挑戰實際上從幾萬個(組件)就開始了。

這是第一點。

第二點是,當你運行這些工作負載時,有時你需要在整個資料中心上運行單一作業,這時你需要編寫軟體,並為軟體提供所有介面,以便更有效地放置作業的不同部分。 建立這種規模的網路,與建立這種規模的運算網路,跟建立一個通用的資料中心網路是截然不同的。通用的資料中心網路是乙太網路。

這沒什麼大不了——好吧,這也很重要,但這是不同的事情。

你服務的是鬆散耦合的協作微服務,它們創造了你作為外部客戶所看到的服務。

而在這裡,你是在 100,000 台機器上運行單一個應用程式,它們需要……

Pat Grady:這是特定於訓練工作負載,還是也適用於推論 (inference) 工作負載?

Michael Kagan:

這適用於所有情況。取決於規模。

而推論是另一個話題。

直到最近,訓練還是關鍵,需要大量的 GPU。當時有一種非常特定的訓練方式。

你基本上把這個模型複製到多台機器或多組機器上運行,然後整合結果等等。

在推論方面,情況有點不同,但重點是你需要在硬體和低階系統軟體上提供掛鉤 (hooks),以便應用程式和排程器 (scheduler) 以最有效的方式放置作業和作業的不同部分。

只要你的機器能放進一棟建築裡,大約是 100,000 個 GPU,我們現在談論的是 GW (Gigawatt) 等級,這完全由電力驅動,那麼你就還在這裡。 但挑戰在於,出於多種原因,你會希望將工作負載分散到多個資料中心。

有時資料中心之間的距離有幾公里、幾英里遠。甚至可能橫跨大陸。這帶來了另一個挑戰,那就是光速。

Pat Grady:是的。

Michael Kagan:

現在,你機器不同部分之間的延遲差異非常大。更具挑戰性的是,當你談論網路時,網路壅塞 (congestion) 是導致網路效能惡化的關鍵問題之一。

在如此大的延遲差異下管理壅塞,不像過去電信時代,你在資料中心邊緣放個帶有巨大緩衝區 (buffer) 的盒子,作為壅塞的避震器。

巨大的緩衝區並不好。大不一定好。

有位非常著名的女性曾說過一句名言。

這些緩衝區或設備基本上是為了將外部世界與內部分隔開。但是,當你想跨越相距數公里的資料中心運行單一工作負載時,你需要讓一側的每台機器都知道。它在與誰通訊?是短距離通訊還是長距離通訊?並據此調整所有的通訊模式,這樣你就不需要那些大緩衝區。因為大緩衝區就是抖動。

Pat Grady:是的。

Michael Kagan:

所以我們有一項技術,是我們最近開發的,我們所有的乙太網路都是 Spectrum X。這是我們基於 Spectrum 交換器設計和開發的設備,我們把它放在資料中心的邊緣。它提供所有端點 (endpoints) 所需的資訊和遙測 (telemetry) 數據,以便根據壅塞情況進行調整。

Sonya Huang:

我們能多談談訓練 (training) 和推論 (inference) 嗎?

比如,當你在做……我猜反向傳播 (back propagation) 的運算密集度要高得多,而前向傳遞 (forward pass) 則較低。

但工作負載的形態有何不同?你是否看到客戶需求開始從預訓練轉向推論,或者你認為現在仍然以訓練為主?

Pat Grady:

如果我可以接著問一個簡短的後續問題。

人們會用與訓練相同的資料中心來運行推論工作負載嗎?還是最終會分成兩個——因為它們的最佳化方式不同,人們最終會使用兩套不同的資料中心?

Michael Kagan:

好的。

這真是個好問題,讓我從第一個開始。

訓練有兩個階段。

一個是推論,也就是前向傳播,然後是反向傳播來調整權重。

對於資料平行 (data parallel) 訓練,還有另一個階段,就是在多個模型副本之間整合權重更新的結果。

直到最近,這一直是運算的主要驅動力,因為直到不久前——也許是兩年前,這在 AI 時代已經是很久了——推論或 AI 主要是感知性的。

你展示一張圖片,那是一隻狗。你展示一個人的照片,這是 Michael,那是 Sonya。這就是單一路徑,僅此而已。

接著出現了生成式 AI,你實際上得到了遞歸生成 (recursive generation)。所以當你輸入提示 (prompt) 時,它不僅僅是一次推論,而是很多次推論。因為對於你生成文字或圖片的每一個 token,每一個新的 token,你都需要重新運行整個機器。

所以不再是一次性的。

現在又有了推理 (reasoning),這意味著機器開始某種程度上的「思考」。

如果你問我現在幾點,我可以告訴你。這很簡單。但如果你問我一個更複雜的問題,我就需要思考,我可能需要等待或比較多個解決方案或路徑,而每一項這樣的動作都是一次推論。

Pat Grady:是的。

Michael Kagan:每一個這樣的動作都是推論。推論本身其實有兩個階段。一個是運算密集型 (compute intensive),另一個是記憶體密集型 (memory intensive)。這就是我們所說的 prefill(預填)。因為當你進行推論時,你有某種背景,也就是提示,你需要處理一些相關資料並建立上下文來生成答案。這個階段非常運算密集,但不太記憶體密集。 另一部分是實際生成答案,也就是推論的解碼 (decode) 部分,你逐個 token 生成。雖然有些技術可以一次生成多個 token,但單一路徑仍然遠少於最終答案。 所以,如果你把所有這些因素加起來,推論對運算的需求實際上不亞於訓練,甚至更多。這有兩個原因。一是我剛才解釋的,推論所需的運算量比以前多得多。另一點是,你訓練一個模型一次,但你會推論很多次。ChatGPT,數十億人,或接近數十億的客戶,他們一直在用同一個模型。而模型只訓練了一次。

Sonya Huang:現在還能製作影片了。他們現在在做影片。

Michael Kagan:沒錯。現在他們在製作影片,你可以生成,然後每個人都在做推論。我太太,我覺得她這陣子跟 ChatGPT 聊天的時間比跟我還多。自從她發現這個之後,這成了她最好的朋友。 現在回到你關於機器的問題。你可以在手機上進行推論。所以,肯定會有規模小得多的推論裝置。就像行動設備一樣。如果你看資料中心規模,在資料中心規模和其編程效率下,可編程性 (programmability) 遠比硬體最佳化更為可行。而且,每種硬體實例都有其自身的成本和缺點。 所以只要你還沒有辨識出——我認為除了這個——我們實際上做了——這是一個非常相似的 GPU。prefill 和 decode 的 GPU 使用相同的編程模型。我不記得是什麼時候發生的,但我們確實宣布了我們正在打造針對 prefill 最佳化的 GPU SKU。所以你將會擁有——它可以做 decode,而 decode 的 GPU 也可以做 prefill,但你可以為你的資料中心配備 prefill 的 SKU 或 decode 的 SKU,以便針對典型用途進行最佳化。但如果你的工作負載轉變為需要更多 decode 或更多 prefill,你可以使用其中任何一種來補足。 這就是可編程性的重要性。GPU 的介面相同,它基於 CUDA 及以上,這就是造就 Nvidia 的原因。在 Mellanox 之前的 Nvidia。

Pat Grady:是的。我能問一個關於資料中心擴展的問題嗎?幾十年來,我們有摩爾定律,晶片變得越來越密集,效能越來越好。然後我們遇到了物理定律的瓶頸,晶片無法再變得更密集,因為它們的量子力學特性會導致它們失效。所以我們必須向上擴展到機架層級,現在我們必須向外擴展到資料中心層級。是否存在某種類似的資料中心擴展定律,表明當資料中心變得太大時,通訊開銷 (overhead) 會導致效能崩潰?或者換個更簡單的說法:資料中心能建多大是否存在一個自然極限?

Michael Kagan:我認為在給定大小的資料中心內,你能消耗多少能源有一個實際的限制。

Pat Grady:如果你周圍都是核電廠,能源供應無虞,資料中心本身還能正常運作嗎?

Michael Kagan:我不知道。我不是建築專家。但如果你被(能源)包圍,能量進來了,現在熱量要排出去。所以有整套——我們現在基本上已經完全轉向液態冷卻 (liquid cooling)。我們這樣做的原因之一是為了實現更密集的運算能力。使用氣冷 (air cooling),我們無法建造出像現在這樣密集的運算系統。

Pat Grady:是的。

Michael Kagan:所以有一大堆技術正在出現,以幫助實現越來越高的密度。上一個大型資料中心,像是 XAI 規模的,是 100 或 150 MW (Megawatt)。現在我們在談論的是 GW (Gigawatt) 等級的資料中心,人們在談論 10 GW 的資料中心。所以,我們期待建造更大的資料中心。

Sonya Huang:你們要把資料中心送到外太空嗎?

Pat Grady:滿酷的。

Michael Kagan:我認為,決定資料中心部署速度的因素之一是混凝土凝固的速度。

Pat Grady:[笑聲]

Sonya Huang:所以在創辦 Mellanox 之前,你在 Intel。

Michael Kagan:沒錯。

Sonya Huang:十六年?

Michael Kagan:十六年。

Sonya Huang:成為了首席架構師。Nvidia 和 Intel 最近宣布了合作夥伴關係。你能否分享一下這背後的願景可能是什麼?

Michael Kagan:起點是運算在過去十年、或十多年裡發生了變化。Nvidia 是從加速運算公司起家的。電子遊戲是第一個。然後它演變為 AI,這是一種新的資料處理方式。你不能只靠通用的 von Neumann 機器作為平台來解決問題,就像你程式設計時,機器只是在向某人解釋該做什麼。我可以解釋很多事情,我可以向很多人解釋該做什麼,但我無法解釋如何區分貓和狗。 所以 AI 解決了新的挑戰,而在那裡你需要加速。我們與 Intel 的合作關係實際上是將加速運算與通用運算融合在一起。因為通用運算不會消失。一切都將被加速,但我們加速的是通用運算,我們加速的是應用程式。x86 是在那裡佔主導地位的架構,這對兩家公司都將大有裨益。 這實際上是 Nvidia 有趣的事情之一,就是雙贏的文化。我們追求的不是從現有的餅中分得更大塊,而是為每個人烤出更大的餅。我們的成功是客戶的成功。我們的成功不是競爭對手的失敗。我們的成功是客戶和生態系的成功。 我認為,將傳統運算、von Neumann 機器與 Nvidia 提供的加速運算融合在一起,很可能開啟了另一個我還不確定的維度,但從務實的短期角度來看,它基本上為 Nvidia 和 Intel 提供了進入市場的管道,或擴展了市場並服務那些原本更具挑戰性的市場。

Pat Grady:你提到了 Nvidia 的文化。當 Mellanox 在 2019 年成為 Nvidia 的一部分時,合併後公司的市值約為 1000 億美元——這可不是開玩笑。但今天的市值約為 4.5 兆美元。六年間價值增長 45 倍,這非常驚人。這如何改變了 Nvidia 的文化?相較於六年前,Nvidia 今天作為世界上最受尊敬的公司之一(如果不是最受尊敬的話),有何不同?

Michael Kagan:是的。關於這個,當我們剛加入時,Jensen 來到以色列,我向他簡報,我說我相信一加一會等於十。結果我還差了四倍。

Pat Grady:[笑聲]

Michael Kagan:但 Mellanox 和 Nvidia 在某種意義上是相似的,文化從一開始就非常相似,但總有些——沒有什麼是絕對一樣的。在 Eyal 於收購後幾個月辭職後,我是 Mellanox 留下的唯一創辦人。我一開始的主要關注點,那些你在洗澡時會思考的事情,就是如何確保這次收購能夠成功。

Pat Grady:是的。

Michael Kagan:Nvidia 花了 70 億美元收購了我創辦的公司,儘管當時五味雜陳。但一旦完成了,就完成了。現在我必須讓它成功。最終它成功了。

Sonya Huang:[笑聲]

Michael Kagan:大多數以色列員工都留下了。我想有 85% 或 90% 的原員工留下了。事實上,Nvidia 在以色列的人力增長了 2 倍多。

Pat Grady:是的。

Michael Kagan:所以我們在成長,我們也宣布我們即將在以色列建造一個園區,一個新的 Nvidia 園區。所以,我認為整體而言,這次合併非常成功。我盡了最大努力確保它成功。除了我關注的技術部分,這其中一部分是技術,但也是技術和「神學」(theology),還有許多其他事情要確保人們感到自在,不會因為從 Mellanox 的中心(以色列總部)被丟到遙遠的地方而感到被冷落——Jensen 基本上強調網路是 Nvidia 成功的關鍵部分。

Pat Grady:是的。

Michael Kagan:他是 對的。所以我認為這是——這被認為是科技史上最成功的舉措。你們可能比我更了解情況,但總體而言,我認為這一步走得很好。

Pat Grady:是的。

Michael Kagan:回顧來看。

Sonya Huang:你會花時間思考哪些科幻小說裡的東西?我剛才就在想,例如光學互連 (optical interconnects)。你認為那會實現嗎?你認為 AI 有一天會在物理學上比我們更出色,在資料中心設計上比我們更出色嗎?

Michael Kagan:我在想的是,如果你看科幻小說,是如何讓歷史成為一門實驗科學。在物理學中,你可以嘗試某件事,看看它是否有效,然後再嘗試別的。在歷史中,時間只朝一個方向前進,但如果你有一個很好的世界模擬器。我們有一個 Earth 2 氣候模擬器。有了這類技術,我們實際上可以模擬我們今天所做的事情將如何影響 50 年後的全球暖化。這就是實驗科學,你嘗試某件事,看看 50 年後會發生什麼。

這就是科幻的部分。至於物理學?我們現在正在從推理等方面不斷進步。一旦我們讓 AI 模型理解物理學,我們實際上就可以學習物理學。AI 可以教我們物理學,因為我們得出所觀察到的物理定律的方式——理論物理學——是你觀察到一些現象,然後將其歸納,並總結出規則,這基本上就是該現象背後的定律,物理定律。而 AI 非常擅長歸納、資料處理和觀察,所以 AI 可以幫助我們了解一些我們現在甚至無法想像的物理定律。

Sonya Huang:好的,所以「黃氏定律」(Huang’s law) 是每兩年 2 倍。那麼「黃氏加 Kagan 定律」的斜率是多少?你認為你們能維持多久?

Michael Kagan:斜率大約在每年 10 倍或幾個數量級的範圍內。

Sonya Huang:好的。

Michael Kagan:順帶一提,這就是我們現在正在做的,大約兩三年前,我們把產品推出的速度從每隔一年加快到每年一次。現在我們每年都會推出新一代產品,效能提升一個數量級。這不是指晶片層級的效能,而是指你可以用這種效能建構出的機器的效能。這就是我們所關注的,單一運算單元。 它會持續多久,我不知道。我不知道。但我們會盡最大努力在需要的時間內保持它,甚至可能加速。這一切都關乎指數。很難想像。如果你看那些曲線圖,它們通常用對數尺度 (logarithmic scale) 繪製,所以看起來是線性的。但看那個是錯的。當我展示這個時。它就像這樣——砰!一年後又是同樣的——砰! 你無法預測會發生什麼。誰能在 iPhone 或智慧型手機剛推出時預測到?那是 15 年前?

Pat Grady:2007 年。

Michael Kagan:是啊,2007 年。哦,17 年前了。誰能想到這台智慧型手機,至少對我來說,最少用的功能是電話。

Pat Grady:是的。

Michael Kagan:它是電子商務、簡訊、新聞、郵件,你基本上是用這台機器在運營你的生活。它是你的身份驗證,你的 ID 都在裡面。那麼,現在誰能想像,根據我們今天所做的這一切發展,10 年後會發生什麼?但我們正在為創新打造平台。

Pat Grady:拋開你剛說的「誰能想像」不談,你對 AI 未來最樂觀的看法是什麼?比如,五年、十年、十五年後,AI 能為世界做些什麼?

Michael Kagan:Steve Jobs 曾稱電腦是「心靈的自行車」(bicycle of mind)。

Pat Grady:是的。

Michael Kagan:那麼 AI——它也許,我不知道——它可能是一艘太空船。

Pat Grady:[笑聲]

Michael Kagan:因為有很多我想做的事情,但我就是沒有足夠的時間、沒有足夠的資源去做。有了 AI,我就能做到。這並不意味著我會做兩倍的事。也許我會做 10 倍。但問題是,我會想做比今天多一百倍的事情。你去找任何一個專案負責人,沒有人會說:「我受夠了。我的人力夠了,資源夠了。我不需要更多了。」如果你給他的資源效率提高兩倍,他會做四倍的事。

Pat Grady:是的。

Michael Kagan:而且他會想做 10 倍的事。所以它將會——就像電力改變了世界。在倫敦,你仍然能看到那些煤氣燈和使用煤氣作為能源的基礎設施。誰能想到,一旦電力發明出來,它會改變世界,以至於我們沒有電力就無法生活。AI 也是如此。

Pat Grady:太棒了。

Sonya Huang:說得真好。

Michael Kagan:新世界。

Sonya Huang:非常感謝你今天加入我們。我喜歡這次對話。

Michael Kagan:謝謝。

Pat Grady:謝謝你。

Michael Kagan:謝謝你們邀請我。

💡 對我們的 AI 研究助手感興趣嗎?

使用 AI 技術革新您的研究流程、提升分析效率並發掘更深層次的洞見。

了解更多