環弦歸一!島國花生農的神祕航線,與似曾相似的 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
留言分享你的想法!
cchsuan-avatar-img
2025/01/17
阿國進去....老G嬌喘一聲....對不起我只記得這個...
JN-avatar-img
發文者
2025/01/19
cchsuan 很會抓重點!
雷-avatar-img
2025/01/19
真是個.....靠北島的故事
avatar-img
JN的沙龍
62會員
29內容數
個人網誌啦~ 內容包含但不限於學習筆記、心情抒發、火星廢文...
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
大家好,我是一名眼科醫師,也是一位孩子的媽 身為眼科醫師的我,我知道視力發展對孩子來說有多關鍵。 每到開學季時,診間便充斥著許多憂心忡忡的家屬。近年來看診中,兒童提早近視、眼睛疲勞的案例明顯增加,除了3C使用過度,最常被忽略的,就是照明品質。 然而作為一位媽媽,孩子能在安全、舒適的環境
Thumbnail
大家好,我是一名眼科醫師,也是一位孩子的媽 身為眼科醫師的我,我知道視力發展對孩子來說有多關鍵。 每到開學季時,診間便充斥著許多憂心忡忡的家屬。近年來看診中,兒童提早近視、眼睛疲勞的案例明顯增加,除了3C使用過度,最常被忽略的,就是照明品質。 然而作為一位媽媽,孩子能在安全、舒適的環境
Thumbnail
我的「媽」呀! 母親節即將到來,vocus 邀請你寫下屬於你的「媽」故事——不管是紀錄爆笑的日常,或是一直想對她表達的感謝,又或者,是你這輩子最想聽她說出的一句話。 也歡迎你曬出合照,分享照片背後的點點滴滴 ♥️ 透過創作,將這份情感表達出來吧!🥹
Thumbnail
我的「媽」呀! 母親節即將到來,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