環弦歸一!島國花生農的神祕航線,與似曾相似的 Ring AllReduce 算法!

JN-avatar-img
發佈於計算機
更新 發佈閱讀 5 分鐘
投資理財內容聲明


緣起


某天,某島國上的花生農老G,因為體力漸衰、氣候異常、地緣政治...等因素,種出的花生品質越來越不穩定,於是邀了其他島上的A格斯先生、高手B爾、阿國兄,四人一起組了個互助會


"我還帥得起來嗎..." 老G望著天,決定組個互助會

"我還帥得起來嗎..." 老G望著天,決定組個互助會


互助會規定,為了讓每位成員都能得到差不多品質的花生,每次收成季,四位成員不論品質如何,都要收成 K 公斤的花生,摻和在一起後再平分回給四個人,使得成員們能得到品質較為平均的花生。

例如,

若以 KG、KA、KB、K,代表四個人收成的 K 公斤的花生,那麼根據互助會規定,將四份花生摻和後再平分,大家最後拿到的花生依然是 K 公斤,而每一份裡包含了:

(KG / 4) + (KA / 4) + (KB / 4)+ (K / 4)

也就是說,四位成員都拿到品質差不多的花生,每個人都貢獻了四分之一。


挫敗


了解了互助會規定後,四個人回到各自的島國上種花生,等待收成季時,再用貨輪運送花生。


收成了,貨輪載滿了花生,然而...

收成了,貨輪載滿了花生,然而...


問題來了,

花生要運去誰的島?

誰幫忙將大家的花生摻和後再平分?


四個人都在自己的島上種花生

四個人都在自己的島上種花生


第一年,

他們決定統一將花生運去G島,由老G幫忙將大家的花生摻和再平分回給大家。


大家先用貨輪將花生運到G島,混和平分後再運回去

大家先用貨輪將花生運到G島,混和平分後再運回去


但這樣會有幾個問題,

  • 港口一天只夠容納一進一出,多的船要等。
  • 老G一人處理所有花生忙得半死,其他人卻只躺著等
  • 老G家需要一個夠大的倉庫,裝下所有人的花生。


塞港 準備噴爆

塞港 準備噴爆


為了花生的品質,老G摸摸鼻子繼續。

第一天,第一艘貨輪卸貨,

第二天,第二艘貨輪卸貨,

第三天,第三艘貨輪卸貨。

(倉庫快爆了,老G火速處理完花生)

第四天,第一艘貨輪出發,

第五天,第二艘貨輪出發,

第六天,第三艘貨輪出發。

一共花了六天,

老G也快燃燒殆盡了。


註:島很近,先不考慮航行時間。


這方法執行了幾次之後,老G逐漸意識到問題。尤其是現在只有四個人,如果之後有更多人加入互助會,這個方法會造成自己巨大的負擔。


領悟


「既然其他人和他們的港口都閒閒沒事...」老G思緒一轉,做了個決定。


第二年開始,老G請大家收成後,先在自己島上將花生分平均成四份。


四個人都把花生分成四份,每份 四分之K 公斤。

四個人都把花生分成四份,每份 四分之K 公斤。


第一天,

大家運送一份給下一個人,同時也會收到前一位運來的花生。港口一進一出,剛好滿載。

raw-image


阿國疑惑:「我勒?」

老G:「你就從我後面進來。」

阿國:「那我進去囉,看我的... 阿 國 月工...」


raw-image


「阿...可惡的抬樹蛙...」老G嬌喘一聲,無奈地收下了阿國運來的花生,儘管沒人聽得懂他們的對話。


第二天,

大家把前一天收到的 K/4 公斤花生,

加上自己的 K/4 公斤花生,

裝在一起共 (K + K) / 4 公斤的花生,運給下一個人。

同時也會收到前一位運來的花生。港口一進一出,剛好滿載。


raw-image


第三天,

大家把前一天收到的 (K + K) / 4 公斤花生,

加上自己的 K/4 公斤花生,

裝在一起共 (K + K + K) / 4 公斤的花生,運給下一個人。

同時也會收到前一位運來的花生。港口一進一出,剛好滿載。


raw-image


神奇的事發生了,就在大家收到花生時發現,已經拿到了四個人平均的花生!

每個人手上的花生都已經是:

(KG / 4) + (KA / 4) + (KB / 4)+ (K / 4)

而且只花了三天!

而且沒有人累慘!

而且沒有人需要準備超大倉庫!


四個人在各自的島上,拿著望遠鏡面面相覷,


「這...這是...」


接著突然興奮地一起大喊:


環弦歸一!


一個傳一個,形成環狀,大家同分擔港口負載、人力、倉庫大小

一個傳一個,形成環狀,大家同分擔港口負載、人力、倉庫大小


後記


坐在辦公室,正在看 PyTorch 官網上 Ring-Allreduce 的範例 的我,突然想起了這個島國花生農的故事...


四個島就是4片GPU,港口就是記憶體頻寬,

倉庫大小就是記憶體大小,人力就是算力資源。

而運送花生的順序,就是GPU交換、同步數據的順序。


原來如此,


「老G終究還是秀了一波啊。」


留言
avatar-img
JN的沙龍
65會員
37內容數
個人網誌啦~ 內容包含但不限於學習筆記、心情抒發、火星廢文...
JN的沙龍的其他內容
2025/01/13
下圖為程式碼節錄 把 output 印出來看,會發現有五組數字,每一組數字依序對應到驗證碼圖片
Thumbnail
2025/01/13
下圖為程式碼節錄 把 output 印出來看,會發現有五組數字,每一組數字依序對應到驗證碼圖片
Thumbnail
2025/01/13
資料集有了,模型兜好了,再來可以開始訓練了。 首先準備 train.py,下圖僅節錄部分程式碼。 圖中包含了大部分的程式和註解,整段 code 也幾乎是公版了,建議簡單看過再自己融會貫通,有問題可以根據執行時的 error log 去解決,也可以留言討論。 此時資料夾應該長這樣
Thumbnail
2025/01/13
資料集有了,模型兜好了,再來可以開始訓練了。 首先準備 train.py,下圖僅節錄部分程式碼。 圖中包含了大部分的程式和註解,整段 code 也幾乎是公版了,建議簡單看過再自己融會貫通,有問題可以根據執行時的 error log 去解決,也可以留言討論。 此時資料夾應該長這樣
Thumbnail
2025/01/13
不太確定捲積式神經網路 (CNN) 的精確定義,但大致上是用捲積層 (convolution layer) 取代 DNN 中的幾個全連接層 (fully connected layer),這些捲積層概念跟 feature filter 類似。 先大概有個概念就夠,實作時跟前一篇 DNN 一樣,這些
Thumbnail
2025/01/13
不太確定捲積式神經網路 (CNN) 的精確定義,但大致上是用捲積層 (convolution layer) 取代 DNN 中的幾個全連接層 (fully connected layer),這些捲積層概念跟 feature filter 類似。 先大概有個概念就夠,實作時跟前一篇 DNN 一樣,這些
Thumbnail
看更多
你可能也想看
Thumbnail
在 vocus 與你一起探索內容、發掘靈感的路上,我們又將啟動新的冒險——vocus App 正式推出! 現在起,你可以在 iOS App Store 下載全新上架的 vocus App。 無論是在通勤路上、日常空檔,或一天結束後的放鬆時刻,都能自在沈浸在內容宇宙中。
Thumbnail
在 vocus 與你一起探索內容、發掘靈感的路上,我們又將啟動新的冒險——vocus App 正式推出! 現在起,你可以在 iOS App Store 下載全新上架的 vocus App。 無論是在通勤路上、日常空檔,或一天結束後的放鬆時刻,都能自在沈浸在內容宇宙中。
Thumbnail
vocus 慶祝推出 App,舉辦 2026 全站慶。推出精選內容與數位商品折扣,訂單免費與紅包抽獎、新註冊會員專屬活動、Boba Boost 贊助抽紅包,以及全站徵文,並邀請你一起來回顧過去的一年, vocus 與創作者共同留下了哪些精彩創作。
Thumbnail
vocus 慶祝推出 App,舉辦 2026 全站慶。推出精選內容與數位商品折扣,訂單免費與紅包抽獎、新註冊會員專屬活動、Boba Boost 贊助抽紅包,以及全站徵文,並邀請你一起來回顧過去的一年, vocus 與創作者共同留下了哪些精彩創作。
Thumbnail
為了參加娘家弟弟的婚宴,我們夫妻自馬六甲返台一趟,順便渡假。遠遊雖好,終究得回家,舟車勞頓凌晨才到家門,儘管昏暗,我仍一眼確認,庭院那棵原已結果的哈密瓜只剩枯藤。儘管一段時間無人照料,幸而紅毛榴槤、柿子長得很好,這幾棵果樹生命力強,嬌客不嬌,真好。 家公生前種了十幾棵羅漢松,但先生懶得澆水,羅漢
Thumbnail
為了參加娘家弟弟的婚宴,我們夫妻自馬六甲返台一趟,順便渡假。遠遊雖好,終究得回家,舟車勞頓凌晨才到家門,儘管昏暗,我仍一眼確認,庭院那棵原已結果的哈密瓜只剩枯藤。儘管一段時間無人照料,幸而紅毛榴槤、柿子長得很好,這幾棵果樹生命力強,嬌客不嬌,真好。 家公生前種了十幾棵羅漢松,但先生懶得澆水,羅漢
Thumbnail
買苗,是件非常燒錢的事。2017年,我花5400元買了三棵哈斯酪梨苗。2019年,我花3000元買了三棵哈斯酪梨苗。2020年,我花2000元買了四棵哈斯酪梨苗。現在真正長得好,又能結果的,只有2017年買的其中兩棵。其他的樹苗,基本算是陣亡。繳了一萬多元的學費之後...
Thumbnail
買苗,是件非常燒錢的事。2017年,我花5400元買了三棵哈斯酪梨苗。2019年,我花3000元買了三棵哈斯酪梨苗。2020年,我花2000元買了四棵哈斯酪梨苗。現在真正長得好,又能結果的,只有2017年買的其中兩棵。其他的樹苗,基本算是陣亡。繳了一萬多元的學費之後...
Thumbnail
又是花草管理學。繼上次修剪之後,我每天都要剪掉一些,因為每天都能發現瀕臨死亡的花朵。修到如今,那二盆幾乎快被我剪光了。
Thumbnail
又是花草管理學。繼上次修剪之後,我每天都要剪掉一些,因為每天都能發現瀕臨死亡的花朵。修到如今,那二盆幾乎快被我剪光了。
Thumbnail
這一次的雲林訪談,又邀請到了田調時的喜笑花生。 種植的哲學 喜笑花生成立16班產銷班,沒有特別請老師來教學。 對於老一輩的農民來說,教育程度較低,資源也不比今日。在專業知識的學習上,更習慣經驗傳承,或是彼此間的切磋交流。 公部門會發布課程資訊邀請,農民自由參與,不會要求大家參與。 但,學者
Thumbnail
這一次的雲林訪談,又邀請到了田調時的喜笑花生。 種植的哲學 喜笑花生成立16班產銷班,沒有特別請老師來教學。 對於老一輩的農民來說,教育程度較低,資源也不比今日。在專業知識的學習上,更習慣經驗傳承,或是彼此間的切磋交流。 公部門會發布課程資訊邀請,農民自由參與,不會要求大家參與。 但,學者
Thumbnail
一直耳聞陳榮昌阿公有自己獨門的種菜絕活兒,今天終於有機會和蔬菜班學員們,跟著阿公的腳步走在深溝村,沿著水田小路彎進菜園裡。進到菜園,第一眼看到的是地瓜葉,阿公和大家解釋,吃地瓜和吃地瓜葉的品種是不同的,種植管理的方式也不同,眼前是吃地瓜品種,說完阿公馬上挖出一條大地瓜!
Thumbnail
一直耳聞陳榮昌阿公有自己獨門的種菜絕活兒,今天終於有機會和蔬菜班學員們,跟著阿公的腳步走在深溝村,沿著水田小路彎進菜園裡。進到菜園,第一眼看到的是地瓜葉,阿公和大家解釋,吃地瓜和吃地瓜葉的品種是不同的,種植管理的方式也不同,眼前是吃地瓜品種,說完阿公馬上挖出一條大地瓜!
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News