為什麼 AI 需要新型態的超級電腦網路 — OpenAI Podcast 第 18 集(第 1/3 段)


🏦 台灣Pay 銀行轉帳 💙 PayPal
訓練模型時 GPU 必須同步運作,傳統網路設計不再適用,因此要重新設計網路協定
- 00:00 本集主題是如何讓超級電腦更適合訓練模型。主持人 Andrew Mayne,來賓為 core networking team 的 Mark Handley,以及 workload systems 的 Greg Steinbrecher
- 06:15 發生問題時,那一步的運算可能作廢,需要 roll back 或停下來檢查。停下來的期間,所有 GPU 都沒有在做有用的工作
- 11:59 要達到這個目標,必須從一開始就用不同方式設計網路協定,無法 retrofit 到現有協定上
💡 你可以怎麼用:評估任何「大家要一起完成才算數」的流程時(例如多人接力的專案、串很多步驟的 AI 自動化),先找出最慢、最容易壞的那一環,不要只看平均表現。以後看到 AI 公司談算力,也可以多問一句:這麼多 GPU 之間的網路怎麼接、壞了怎麼辦。
看全部 43 條重點
🧑🏫 這是 OpenAI Podcast 第 18 集的前段,兩位網路專家說明:訓練 AI 模型時,成千上萬顆晶片必須同步運作,所以沿用網際網路那套網路設計已經撐不住。想知道 AI 公司為什麼要蓋新型超級電腦、網路為什麼會卡住訓練,這段講得很清楚。
- 00:00 本集主題是如何讓超級電腦更適合訓練模型。主持人 Andrew Mayne,來賓為 core networking team 的 Mark Handley,以及 workload systems 的 Greg Steinbrecher↳ 本集談怎麼讓超級電腦更適合訓練 AI。來賓是核心網路團隊的 Mark Handley,和負責訓練工作系統的 Greg Steinbrecher,主持人是 Andrew Mayne。
- 00:00 來賓表示,這項突破讓訓練更有效率,並移除了繼續 scale 的關鍵障礙之一↳ 他們做出的新網路做法讓訓練更省時,也拿掉了 scale(把規模繼續放大)的一個關鍵障礙。
- 00:32 來賓對成功的定義:研究人員不再需要知道某個 cluster 用的是哪種網路協定↳ 他們心中的成功,是研究人員根本不用管某個 cluster(一大群 GPU 串起來的運算群組;GPU 是目前訓練模型的主力晶片)用的是哪種網路協定(設備之間傳資料的規則)。
- 00:32 Greg 大學念物理與數學,喜歡替極複雜的系統建立簡化模型,再從中培養直覺,逐步建立更複雜的模型↳ Greg 的思考習慣是:遇到超複雜的系統,先抓出最簡化的版本,搞懂它為什麼這樣運作,再一步步把細節加回去。
- 01:02 Greg 的博士研究是打造量子電腦。他發現用來控制光的晶片很像 network switch,因此想拿它當 network switch 使用↳ 他博士在做量子電腦,發現控制光訊號的晶片很像 network switch(網路裡負責把資料轉送到正確方向的設備),就想拿它來當交換器用。
- 01:02 他很快發現學術界不太了解真實資料中心的 workload,手上多半只有不太有參考價值的玩具模型↳ 但他很快發現,學術界不太清楚真實資料中心跑的 workload(實際在上面執行的工作)長什麼樣子,手上多半只有跟現實差很遠的簡化模型。
- 01:33 Greg 向業界公司爭取 fellowship,對方支付他博士最後兩年的費用。之後他留在那裡做網路硬體,釐清資料中心網路真正的需求↳ 為了看到真實狀況,他向業界公司爭取 fellowship(研究獎助),對方出錢讓他念完博士最後兩年。之後他留下來做網路硬體,弄清楚資料中心真正需要什麼。
- 01:33 他發現傳統資料中心網路硬體還有很大的 headroom 和最佳化空間,並不需要他的光學晶片↳ 結論有點意外:傳統網路硬體還有很大的 headroom(還沒用完的餘裕),靠最佳化就能再進步,用不到他的光學晶片。
- 02:03 AI 熱潮開始後需要建置大型 GPU cluster 及其網路。Greg 負責做模擬,用來決定該蓋什麼↳ AI 熱潮來了,公司要蓋大型 GPU cluster 和配套的網路。Greg 負責跑模擬,也就是先在電腦上試算各種設計,再決定實際要蓋哪一種。
- 02:35 Greg 從寫模擬軟體,轉為撰寫讓 GPU 彼此溝通的軟體。一年多前加入 OpenAI,工作更貼近實際的模型訓練↳ 後來他從寫模擬程式,轉去寫讓 GPU 彼此傳資料的軟體。一年多前加入 OpenAI,工作離真正的模型訓練更近。
- 03:07 他的團隊負責讓 GPU 被有效使用:訓練是否夠快、是否卡在網路瓶頸、故障時如何處理、重啟是否有效率、如何繞過硬體的怪癖↳ 他的團隊要確保 GPU 沒被浪費:訓練夠不夠快、有沒有卡在網路、機器壞了怎麼處理、重啟快不快,以及怎麼避開硬體的各種怪毛病。
- 03:38 Mark 不在 OpenAI 時是 University College London 的教授,做網路研究已數十年,起初研究如何讓網際網路做視訊會議↳ Mark 不在 OpenAI 時是倫敦大學學院(UCL)的教授,研究網路幾十年,最早研究的是怎麼讓網際網路跑得動視訊會議。
- 03:38 當時電腦很慢,視訊會議很難做。Mark 參與寫出的標準,如今被手機用來與 4G、5G 網路溝通↳ 當年電腦很慢,視訊會議很難做。他參與制定的標準一路沿用到現在,你的手機連上 4G、5G 網路時就會用到。
- 04:09 標準化的難處在於所有人都必須同意,因此耗時很久。資料中心的優勢是只需建置者之間同意,就能嘗試不同做法↳ 網際網路標準要所有人都同意才能定案,所以很慢。資料中心是自己蓋的,只要蓋的人之間談好,就能直接試新做法。
- 04:40 GPU 規模擴張得非常快,業界也才剛開始使用下一代晶片。本集要談的新工具是 Multipath Reliable Connection↳ GPU 規模擴張得非常快,下一代晶片才剛開始用。本集主角是 Multipath Reliable Connection(字面是多路徑、可靠的連線),是為大規模同步訓練設計的新網路做法。
- 05:11 傳統資料中心沿襲網際網路的設計:大量使用者各自進行獨立對話,流量越多越平均,可以利用大數統計的優勢↳ 傳統資料中心照網際網路的邏輯設計:很多人各聊各的,總量一大,忙閒就會互相抵銷而變平均,這是 law of large numbers(大數法則)帶來的好處。
- 05:11 訓練模型恰好相反:大量全球最快的 GPU 要一起完成同一個任務,這正是困難所在↳ 訓練模型剛好相反:不是各做各的,而是一大群最快的 GPU 綁在一起完成同一件事,難就難在這裡。
- 05:42 只要一顆 GPU 慢一點,其他 GPU 都得等它,時間全被浪費。GPU 也可能被 cosmic ray 打中造成 bit flip 而停止↳ 同步的代價是一顆慢、全體等。GPU 還可能被宇宙射線(cosmic ray)打中,造成 bit flip(某個 0 變成 1,或 1 變成 0),然後停擺。
- 06:15 發生問題時,那一步的運算可能作廢,需要 roll back 或停下來檢查。停下來的期間,所有 GPU 都沒有在做有用的工作↳ 出事時那一步的計算可能白做,得 roll back(退回上一個正常狀態重來)或暫停檢查。暫停期間,所有 GPU 都在空轉。
- 06:15 GPU 之間的通訊本身就是運算的一部分,它們必須互相溝通才能對該步驟的結果取得共識。這幾乎是網路能遇到最糟的 workload↳ GPU 之間傳資料不是附加動作,而是計算的一部分:它們要互相對答案,才能確定這一步的結果。對網路來說,這幾乎是最難應付的工作型態。
- 06:47 業界過去幾十年逐步改進做法,但直到最近規模還不夠大,沿用網際網路的方法再放大就行得通。現在已經行不通了↳ 過去訓練規模還不夠大,把網際網路那套做法放大照用還撐得住。現在規模大到這條路走不通了。
- 07:19 web 時代的傳統 hyperscaler 中,建置資料中心的團隊與個別 workload 脫節,目標只是提供「ocean of compute」↳ web 時代的 hyperscaler(超大規模雲端業者)蓋機房時不管上面跑什麼,目標只是提供一大片「ocean of compute」(大量運算資源,誰要用就拿去)。
- 07:19 OpenAI 很早就意識到系統設計是模型訓練不可分割的一部分。基礎設施與模型團隊不能各做各的,必須做 co-design↳ OpenAI 很早就認定機房設計本身就是訓練的一環,所以要 co-design(共同設計):基礎設施和模型團隊一起規劃,不能各做各的。
- 07:50 Greg 的團隊就坐在研究人員旁邊,每天討論如何讓他們的 workload 最適合現有伺服器,從中了解痛點↳ 具體做法是 Greg 的團隊直接跟研究人員坐在一起,每天討論怎麼讓訓練工作在現有伺服器上跑得最好,第一手知道哪裡卡。
- 08:20 大型訓練期間團隊要 on call,出了無法修復的問題會半夜被叫醒。這讓他們思考下一代資料中心不必沿用 web scale workload 的特性↳ 大型訓練期間團隊要 on call(輪值待命),出了修不好的問題半夜就會被叫醒。這些經驗讓他們想到:下一代資料中心不必照網站服務的特性來蓋。
- 08:20 Greg 表示,網路一直是他們的一大痛點↳ Greg 直說,網路一直是他們最頭痛的問題之一。
- 08:50 GPU 需要同時溝通,因此需要大量頻寬。這無法靠單一 switch 或單層階層達成,必須建「hierarchies of hierarchies of switches」↳ GPU 要同時互傳大量資料,需要很大的頻寬(每秒能傳多少資料)。一台或一層 switch 撐不住,只能一層套一層,組成多層的交換器架構。
- 08:50 因此兩顆 GPU 之間的流量可走的路徑多達數千條,一棟這類建築裡就有數千台 switch↳ 結果任兩顆 GPU 之間,資料能走的路線多達數千條;一棟這樣的機房大樓裡,就有數千台 switch。
- 09:23 問題在於該走哪條路徑。若隨機選路,沒人撞路就很快;兩人選到同一路徑會變慢,10 人選到同一路徑會非常慢↳ 麻煩在於該走哪條路。如果隨機選:沒人撞同一條就很快,兩筆資料擠同一條就變慢,十筆擠同一條就非常慢。
- 09:23 因此過去設計網際網路時使用的 statistical multiplexing,用在這類資料中心網路效果並不好↳ 所以網際網路靠的 statistical multiplexing(讓大量互不相干的流量共用線路,靠平均來分攤負載),搬到這種訓練用資料中心效果不好。
- 09:53 由於 workload 是同步的,重點不在一般 GPU 配對的平均速度,而在最糟的情況↳ 因為大家同步前進,重點不是「平均多快」,而是「最慘的那一組有多慢」。
- 09:53 數千顆 GPU 互相溝通時,會在數萬條 links 上產生數萬到數十萬條 network flows↳ 幾千顆 GPU 互相溝通時,會在數萬條 link(兩台設備之間的連線)上跑出數萬到數十萬條 network flow(一筆從起點到終點的資料傳輸)。
- 10:24 最壅塞的那一條 link 會決定所有 GPU 的運作速度,因為一切都以 lockstep 推進↳ 所有 GPU 是 lockstep(齊步走),最塞的那一條 link 慢多少,全體就跟著慢多少。
- 10:24 過去可以仰賴平均統計,現在不行了,必須面對「tail of the tail」,也就是 P100(第 100 百分位數),系統需求因此大不相同↳ 以前看平均就夠,現在得盯「tail of the tail」(最極端的狀況),也就是 P100:所有情況裡最糟的那一個。系統要求因此完全不同。
- 10:55 即使找最好的設備商、用最好的 optics,規模一大就一定會有東西故障,例如 link 故障、switch 出錯而必須重開機↳ 就算找最好的設備商、用最好的 optics(光纖傳輸用的光學元件),規模一大總會有東西壞,例如某條連線斷掉、某台 switch 出錯要重開機。
- 10:55 任何一次故障都會影響網路上的流量,而他們在意的偏偏是 100th percentile↳ 每次故障都會干擾網路上的流量,而他們在意的偏偏是最糟的情況,所以任何一次故障都躲不掉。
- 11:29 link 故障後,在 routing reconverge、流量改走其他路徑之前會出現 glitch,而且可能持續很久,造成損失↳ link 壞掉後,網路要經過 routing reconverge(重新算路,讓流量改走別條)。這段期間會卡頓,而且可能拖很久,造成損失。
- 11:29 更糟的情況是某次通訊傳輸失敗,單一傳輸失敗就可能導致整個 job crash↳ 更糟的是某次傳輸直接失敗;只要一次失敗,就可能讓整個訓練 job(工作)當掉。
- 11:29 目標是讓網路使用方式能承受暫時性壅塞,也能在故障時繼續執行,幾乎察覺不到異常↳ 他們要的網路是:遇到暫時塞車撐得過去,有東西壞了也能繼續跑,上面的訓練幾乎感覺不到出事。
- 11:59 要達到這個目標,必須從一開始就用不同方式設計網路協定,無法 retrofit 到現有協定上↳ 這種韌性要在設計網路協定時就從頭規劃,沒辦法 retrofit(事後改裝)到現有的協定上。
- 11:59 主持人舉例:一千顆 GPU 或許只有十分之一的機率故障,但到了十萬顆 GPU 就會一直發生故障,每次擴大規模都得解決這個問題↳ 主持人舉例:一千顆 GPU 可能只有十分之一的機率出故障,到了十萬顆就會一直在壞。每放大一次規模,都得重新解決這個問題。
- 11:59 被問到哪裡會壞時,來賓回答「到處都會」↳ 問他們最常壞在哪裡,答案是:到處都會壞。
- 11:59 從設備的 mean time between failure 來看,建築裡某處總會在一段時間內發生故障↳ 看設備的 mean time between failure(平均多久壞一次)就知道,設備一多,整棟樓在一段時間內總有某處會出狀況。
📘 術語
GPU(圖形處理器):字幕稱為 graphical processing units,目前訓練模型主要還在使用它
cluster(叢集):為 AI 訓練建置的大型 GPU 群組,需要搭配專用網路
network switch(網路交換器):資料中心網路的組成元件,一棟建築裡有數千台,會層層組成階層
workload(工作負載):在資料中心上實際執行的工作。訓練模型屬於高度同步的 workload
Multipath Reliable Connection(多路徑可靠連線):本集要談的新做法,為了應付大規模同步訓練的網路問題
statistical multiplexing(統計多工):設計網際網路時採用的做法,靠大量獨立流量讓負載平均,在這類資料中心效果不好
law of large numbers(大數法則):網際網路流量越多越平均,過去可以仰賴它,訓練網路則不行
bit flip(位元翻轉):例如 cosmic ray 打中 GPU 使位元改變,導致 GPU 停止
roll back(回溯):GPU 出問題導致該步驟可能作廢時,需要退回重來
hyperscaler(超大規模雲端業者):web 時代的業者,建置團隊與 workload 脫節,只負責提供大量運算資源
ocean of compute(運算之海):web 時代的目標:單純提供大量運算資源,不管上面跑什麼
co-design(協同設計):基礎設施與模型團隊必須一起設計整個系統,不能各做各的
on call(待命):大型訓練期間,出了無法修復的問題會在半夜被叫醒處理
network flow(網路流):數千顆 GPU 溝通時,會在數萬條 links 上產生數萬到數十萬條
lockstep(步調一致):所有 GPU 同步推進,最慢的 link 決定整體速度
P100 (100th percentile)(第 100 百分位數):「tail of the tail」,即最糟的情況,同步 workload 必須以它為準
routing reconverge(路由重新收斂):link 故障後,流量改走其他路徑前的過程,期間會出現 glitch
retrofit(事後加裝改造):來賓說這種韌性無法事後加到現有網路協定上,必須從頭設計
mean time between failure(平均故障間隔時間):設備平均多久會故障一次,代表建築裡某處總會在一段時間內壞掉
cluster(叢集):為 AI 訓練建置的大型 GPU 群組,需要搭配專用網路
network switch(網路交換器):資料中心網路的組成元件,一棟建築裡有數千台,會層層組成階層
workload(工作負載):在資料中心上實際執行的工作。訓練模型屬於高度同步的 workload
Multipath Reliable Connection(多路徑可靠連線):本集要談的新做法,為了應付大規模同步訓練的網路問題
statistical multiplexing(統計多工):設計網際網路時採用的做法,靠大量獨立流量讓負載平均,在這類資料中心效果不好
law of large numbers(大數法則):網際網路流量越多越平均,過去可以仰賴它,訓練網路則不行
bit flip(位元翻轉):例如 cosmic ray 打中 GPU 使位元改變,導致 GPU 停止
roll back(回溯):GPU 出問題導致該步驟可能作廢時,需要退回重來
hyperscaler(超大規模雲端業者):web 時代的業者,建置團隊與 workload 脫節,只負責提供大量運算資源
ocean of compute(運算之海):web 時代的目標:單純提供大量運算資源,不管上面跑什麼
co-design(協同設計):基礎設施與模型團隊必須一起設計整個系統,不能各做各的
on call(待命):大型訓練期間,出了無法修復的問題會在半夜被叫醒處理
network flow(網路流):數千顆 GPU 溝通時,會在數萬條 links 上產生數萬到數十萬條
lockstep(步調一致):所有 GPU 同步推進,最慢的 link 決定整體速度
P100 (100th percentile)(第 100 百分位數):「tail of the tail」,即最糟的情況,同步 workload 必須以它為準
routing reconverge(路由重新收斂):link 故障後,流量改走其他路徑前的過程,期間會出現 glitch
retrofit(事後加裝改造):來賓說這種韌性無法事後加到現有網路協定上,必須從頭設計
mean time between failure(平均故障間隔時間):設備平均多久會故障一次,代表建築裡某處總會在一段時間內壞掉
✏️ 小考一題
來賓說,由於訓練 workload 是同步的,他們必須關注哪一種統計數字?
A. 所有 GPU 配對之間的平均傳輸速度B. P100,也就是第 100 百分位數(最糟情況)C. 網路流量的中位數D. 前 10% 最快路徑的速度看答案
答案:B。[09:53] 來賓指出重點不是平均 GPU 配對的速度,而是最糟的情況;[10:24] 說明他們面對的是 tail of the tail,也就是 P100(100th percentile)。
💛 覺得有幫助?支持一下


課本免費、沒有廣告,支持與否都能照常讀 🐰