
發布
注冊
/
登錄分布式訓練的案例
訓練集和測試集的分布差距太大有好的處理方法嗎?
測試集是用于在完成神經網絡訓練過程后,為了客觀評價模型在其未見過(未曾影響普通參數和超參數選擇)的數據上的性能,因此測試與驗證集和訓練集之間也是獨立不重疊的,而且測試集不能提出對參數或者超參數的修改意見,只能作為評價網絡性能的一個指標。
從訓練集中劃分出一部分作為驗證集,該部分不用于訓練,作為評價模型generalization error,而訓練集與驗證集之間的誤差作為data mismatch error,表示數據分布不同引起的誤差。
這種劃分方式有利于保證:數據具有相同的分布
如果訓練集和測試集的數據分布可能不相同,那么必定會導致一個問題,模型在訓練集上的表現會非常的好,而在測試集上表現可能不會那么理想。
通過訓練數據來訓練模型,就是希望模型能夠從訓練集中學習到數據的分布,如果訓練集和測試集數據不在同一個分布中,那么模型在測試集上的表現肯定是不會理想的。
訓練集高分,測試集預測提交后發現分數很低,為什么?有可能是訓練集和測試集分布不一致,導致模型過擬合訓練集,個人很不喜歡碰到這種線下不錯但線上抖動過大的比賽,有種讓你感覺好像在“碰運氣”,看誰“碰”對了測試集的分布。但實際是有方法可循的,而不是說純碰運氣。本文我將從“訓練/測試集分布不一致問題”的發生原因講起,然后羅列判斷該問題的方法和可能的解決手段。
一、發生原因
訓練集和測試集分布不一致也被稱作數據集偏移(Dataset Shift)。西班牙格拉納達大學Francisco Herrera教授在他PPT[1]里提到數據集偏移有三種類型:
協變量偏移(Covariate Shift): 獨立變量的偏移,指訓練集和測試集的輸入服從不同分布,但背后是服從同一個函數關系,如圖1所示。
展開 萬字綜述自動駕駛數據閉環
比如AWS,在AWS Deep Learning AMIs、AWS Deep Learning Containers和Amazon SageMaker,都可以訓練Pytorch模型,最后采用TorchServe進行部署。
Pytorch提供兩種方法在多GPU平臺切分模型和數據:
DataParallel
distributedataparallel
DataParallel更易于使用。不過,通信是瓶頸,GPU利用率通常很低,而且不支持分布式。DistributedDataParallel支持模型并行和多進程,單機/多機都可以,是分布訓練。
PyTorch 自身提供幾種加速分布數據并行的訓練優化技術,如 bucketing gradients、overlapping computation with communication 以及 skipping gradient synchronization 等。
Tensorflow在模型設計和訓練使用也方便,可以使用高階 Keras API;對于大型機器學習訓練任務,使用 Distribution Strategy API 在不同的硬件配置上進行分布式訓練,而無需更改模型定義。
其中Estimator API 用于編寫分布式訓練代碼,允許自定義模型結構、損失函數、優化方法以及如何進行訓練、評估和導出等內容,同時屏蔽與底層硬件設備、分布式網絡數據傳輸等相關的細節。
tf.distribute.MirroredStrategy支持在一臺機器的多個 GPU 上進行同步分布式訓練。該策略會為每個 GPU 設備創建一個副本。模型中的每個變量都會在所有副本之間進行鏡像。
展開 美團分布式自動駕駛引擎
1)往分布式計算平臺的平滑遷移
在從傳統IPC向分布式計算平臺的過渡過程中,我們希望上層功能模塊在移入到分布式計算平臺上運行時無需任何適配,功能模塊也無需關心它所運行的節點是否跟上下游模塊在同一個節點上。
為完成上述目標,我們就需要自動駕駛引擎能夠提供運行環境的抽象與隔離,引擎為完成這一層抽象,必須解決三個關鍵點:分布式環境下高實時性的數據傳輸、高實時性的調度、關鍵自動駕駛數據的實時記錄。
圖1. 引擎需要將算力向端上平滑遷移
2) 拆分調度仿真任務
仿真系統是自動駕駛研發的重要手段,在自動駕駛進入到運營階段之后,仿真任務也迅速增長,目前美團自動駕駛仿真系統每天執行數百萬仿真任務,峰值流量每小時上百萬任務,仿真里程每天上千萬公里。
前面提到,不同的仿真任務對硬件算力的需求是不一樣的,比如感知預測仿真任務必須依賴GPU運行,在硬件資源(或者其硬件資源的配比)是固定的前提下,為擺脫這種仿真任務的硬性依賴進一步提升資源利用率,我們需要將仿真任務中不同的子任務按照計算屬性拆分到不同的機器上運行,其中引擎要負責完成同一任務在不同機器間的通信和執行調度,并做到這種拆分對上層仿真任務無感。
圖2. 如何在仿真環境中依據任務屬性調度任務
在美團,我們打造了統一的自動駕駛引擎來同時滿足車端計算平臺和離線仿真系統的需求,因此面向運營的分布式引擎也會遵循這一策略,使用統一的架構來滿足車端分布式計算平臺和離線仿真系統在大規模運營階段的新需要。
展開 美團分布式自動駕駛引擎
1)往分布式計算平臺的平滑遷移
在從傳統IPC向分布式計算平臺的過渡過程中,我們希望上層功能模塊在移入到分布式計算平臺上運行時無需任何適配,功能模塊也無需關心它所運行的節點是否跟上下游模塊在同一個節點上。
為完成上述目標,我們就需要自動駕駛引擎能夠提供運行環境的抽象與隔離,引擎為完成這一層抽象,必須解決三個關鍵點:分布式環境下高實時性的數據傳輸、高實時性的調度、關鍵自動駕駛數據的實時記錄。
圖1. 引擎需要將算力向端上平滑遷移
2) 拆分調度仿真任務
仿真系統是自動駕駛研發的重要手段,在自動駕駛進入到運營階段之后,仿真任務也迅速增長,目前美團自動駕駛仿真系統每天執行數百萬仿真任務,峰值流量每小時上百萬任務,仿真里程每天上千萬公里。
前面提到,不同的仿真任務對硬件算力的需求是不一樣的,比如感知預測仿真任務必須依賴GPU運行,在硬件資源(或者其硬件資源的配比)是固定的前提下,為擺脫這種仿真任務的硬性依賴進一步提升資源利用率,我們需要將仿真任務中不同的子任務按照計算屬性拆分到不同的機器上運行,其中引擎要負責完成同一任務在不同機器間的通信和執行調度,并做到這種拆分對上層仿真任務無感。
圖2. 如何在仿真環境中依據任務屬性調度任務
在美團,我們打造了統一的自動駕駛引擎來同時滿足車端計算平臺和離線仿真系統的需求,因此面向運營的分布式引擎也會遵循這一策略,使用統一的架構來滿足車端分布式計算平臺和離線仿真系統在大規模運營階段的新需要。
展開 
600W+從地面電站走入分布式!
全國各地頂尖工商業、戶用光伏電站投資商和建設者代表、融資租賃代表以及產業鏈合作伙伴匯聚一堂,探討光伏發電趨勢,解讀600W+憑借適用于各分布式場景、成本節省、投資收益更有優勢,漸成工商業、戶用光伏的首選,并成為分布式市場的未來。
在能耗雙控、電價上漲、低碳制造等因素的影響下,工商業光伏市場成為今年新能源市場明星。據國家能源局統計,今年上半年工商業光伏新增裝機達到10.74GW。而自從天合光能600W+產品問世以來,憑借超高功率、高效率、高發電量、高可靠性以及低度電成本(“四高一低”)的優勢,受到全國各地工商業主歡迎。今年上半年天合光能組件出貨18.05GW,位居全球第二。其中,天合光能在中國市場的分布式業務延續2021年出貨量第一的佳績,市占率繼續保持第一。截至今年上半年,光伏行業210組件全球出貨量突破50GW,其中天合光能貢獻了30GW,遙遙領先。
專注垂直領域 工商業光伏場景優勢凸顯
600W+應用于地面電站價值凸顯的同時,也已經應用在工商業市場,在天合光能600W+分布式零碳解決方案中便已助力橡塑、汽車制造、冷庫等多個行業轉型綠色低碳發展。在典型的工商業場景下,和傳統545W組件相比,670W組件塊數減少19%,組串功率高32%,大幅減少PV電纜用量25%和支架導軌7%,能節省系統BOS初始投資成本超4分/W.
工商業光伏場景多樣復雜,不同場景和不同行業的痛點和需求差異巨大。基于工商業場景豐富的組件選型、設計、安裝經驗,天合光能與現場嘉賓分享了光伏車棚、柔性屋面、水務行業、零碳園區、石化行業等五大工商業典型應用場景的解決方案。
展開 萬字的SOA面向服務的分布式架構詳解
為解決分布式網絡計算之間的組件復用,人們發明了企業對象組件,如(Com+,.NET,EJB等),或者叫分布式組件。通過遠程對象代理,來實現企業網絡內復用,不同系統之間復用。
傳統架構的核心是組件對象的管理。但分布式組件也是嚴重依賴其計算環境,由于構件實現和運行支撐技術之間存在著較大的 異構性,不同技術設計和實現的構件之間無法直接組裝式復用。
而現代SOA的重要特征就是以服務為核心,如WebService,SCA/SDO等。通過服務,或者服務組件來實現更高層次的復用、 解耦和互操作,即SOA架構中間件。
因為服務是通過標準封裝,服務組件之間的組裝、編排和重組,來實現服務的復用。而且這種復用,可以在不同企業之間,全球復用,達到復用的最高級別,并且是動態可配置的復用。
耦合關系
SOA架構在松耦合解耦過程也發展到了最后的境界。傳統軟件將軟件之中核心三部分網絡連接、數據轉換、業務邏輯全部耦 合在一個整體之中,形成“鐵板一塊”的軟件, “牽一發而動全身”,軟件就難以適應變化。分布式對象技術將連接邏輯進行分 離,消息中間件將連接邏輯進行異步處理,增加了更大的靈活性。消息代理和一些分 布式對象中間件將數據轉換也進行了分 離。而SOA架構,通過服務的封裝,實現了業務邏輯與網絡連接、數據轉換等進行完全的解耦。
展開 Ansys分布式計算服務DCS功能簡介
Ansys分布式計算服務 (Distributed Compute Services,簡稱DCS) ,是一個應用程序集合,它使您能夠在各種計算資源上布置、管理和解決仿真問題。作為DCS服務的一部分,設計點求解服務(Design Point Services,簡稱DPS)為分布在集群、網絡和操作系統上的成千上萬個設計點提供了穩定的求解方案。
DCS的主要功能羅列如下:
可同時更新設計點;
無需輸入、輸出、用戶界面或隊列開銷即可擴展設計點更新;
容忍設計點更新失敗;
使用Ansys遠程求解管理器(RSM)在本地計算機和HPC集群上支持提交;
設計點更新執行監控;
過濾、排序和比較設計點;
將CSV(逗號分隔值)文件或Microsoft Excel文件中的其他設計點直接導入DPS進行評估;
將已在DPS中評估的選定設計點導入到Ansys Workbench項目中以進行進一步分析或審查;
在HPC執行期間,在不同的計算機上運行模擬和解算器的幾何體更新;
支持斷開連接和重新連接,這樣DPS就可以在沒有Workbench的情況下繼續運行設計點評估。
下圖顯示了以Ansys Workbench為中心的DCS架構。
DCS功能還可滿足以下應用需求:
許多設計變更的評估;
需要運行數千或上萬個設計點;
靈活使用不同架構計算資源(在Windows?上更新CAD,在Linux上解決);
開放式體系結構,使您能夠使用自己的設計探索系統來驅動流程。
展開 Ansys分布式計算服務DCS功能簡介
Ansys分布式計算服務 (Distributed Compute Services,簡稱DCS) ,是一個應用程序集合,它使您能夠在各種計算資源上布置、管理和解決仿真問題。作為DCS服務的一部分,設計點求解服務(Design Point Services,簡稱DPS)為分布在集群、網絡和操作系統上的成千上萬個設計點提供了穩定的求解方案。
DCS的主要功能羅列如下:
可同時更新設計點;
無需輸入、輸出、用戶界面或隊列開銷即可擴展設計點更新;
容忍設計點更新失敗;
使用Ansys遠程求解管理器(RSM)在本地計算機和HPC集群上支持提交;
設計點更新執行監控;
過濾、排序和比較設計點;
將CSV(逗號分隔值)文件或Microsoft Excel文件中的其他設計點直接導入DPS進行評估;
將已在DPS中評估的選定設計點導入到Ansys Workbench項目中以進行進一步分析或審查;
在HPC執行期間,在不同的計算機上運行模擬和解算器的幾何體更新;
支持斷開連接和重新連接,這樣DPS就可以在沒有Workbench的情況下繼續運行設計點評估。
下圖顯示了以Ansys Workbench為中心的DCS架構。
展開 Ansys分布式計算服務DCS功能簡介
Ansys分布式計算服務 (Distributed Compute Services,簡稱DCS) ,是一個應用程序集合,它使您能夠在各種計算資源上布置、管理和解決仿真問題。作為DCS服務的一部分,設計點求解服務(Design Point Services,簡稱DPS)為分布在集群、網絡和操作系統上的成千上萬個設計點提供了穩定的求解方案。
DCS的主要功能羅列如下:
可同時更新設計點;
無需輸入、輸出、用戶界面或隊列開銷即可擴展設計點更新;
容忍設計點更新失敗;
使用Ansys遠程求解管理器(RSM)在本地計算機和HPC集群上支持提交;
設計點更新執行監控;
過濾、排序和比較設計點;
將CSV(逗號分隔值)文件或Microsoft Excel文件中的其他設計點直接導入DPS進行評估;
將已在DPS中評估的選定設計點導入到Ansys Workbench項目中以進行進一步分析或審查;
在HPC執行期間,在不同的計算機上運行模擬和解算器的幾何體更新;
支持斷開連接和重新連接,這樣DPS就可以在沒有Workbench的情況下繼續運行設計點評估。
下圖顯示了以Ansys Workbench為中心的DCS架構。
展開 Ansys分布式計算服務DCS功能簡介
Ansys分布式計算服務 (Distributed Compute Services,簡稱DCS) ,是一個應用程序集合,它使您能夠在各種計算資源上布置、管理和解決仿真問題。作為DCS服務的一部分,設計點求解服務(Design Point Services,簡稱DPS)為分布在集群、網絡和操作系統上的成千上萬個設計點提供了穩定的求解方案。
DCS的主要功能羅列如下:
可同時更新設計點;
無需輸入、輸出、用戶界面或隊列開銷即可擴展設計點更新;
容忍設計點更新失敗;
使用Ansys遠程求解管理器(RSM)在本地計算機和HPC集群上支持提交;
設計點更新執行監控;
過濾、排序和比較設計點;
將CSV(逗號分隔值)文件或Microsoft Excel文件中的其他設計點直接導入DPS進行評估;
將已在DPS中評估的選定設計點導入到Ansys Workbench項目中以進行進一步分析或審查;
在HPC執行期間,在不同的計算機上運行模擬和解算器的幾何體更新;
支持斷開連接和重新連接,這樣DPS就可以在沒有Workbench的情況下繼續運行設計點評估。
下圖顯示了以Ansys Workbench為中心的DCS架構。
展開 分布式系統設計-CAP定理
CAP定理的意義
了解這么繞的一個定理,對于我們設計分布式系統有什么作用呢?我個人認為,掌握CAP定理,能夠讓我們認識到對于分布式系統而言,出現故障時在所難免的,我們不可能構建一個完全不出故障的系統。
相反的,我們可以換一個思路,考慮在出現故障時如何能夠維持系統的正常運轉,結合系統的實際運行場景,在C、A、P三個條件進行適當的取舍。
本文轉自王濤的技術博客,原文鏈接:https://www.taowong.com/blog/2018/07/10/cap-theorem.html

分布式光伏發電系統全面介紹
屋頂支架分為平面支架和斜面支架兩種,其中平面支架適用于平頂或輕型屋頂,而斜面支架適用于傾斜屋頂;地面支架分為固定式和可調式兩種,其中固定式支架適用于平坦地面,而可調式支架可根據地形和太陽的位置進行調整,使太陽能電池板的角度和方向能夠最大化地接受太陽輻射能,提高發電效率。
二、發電優勢
1.輸出功率相對較小
一般而言,一個分布式光伏發電項目的容量在數千瓦以內。與集中式電站不同,光伏電站的大小對發電效率的影響很小,因此對其經濟性的影響也很小,小型光伏系統的投資收益率并不會比大型的低。
2.污染小,環保效益突出
分布式光伏發電項目在發電過程中,沒有噪聲,也不會對空氣和水產生污染。
3.能夠在一定程度上緩解局地的用電緊張狀況
但是,分布式光伏發電的能量密度相對較低,每平方米分布式光伏發電系統的功率僅約100瓦,再加上適合安裝光伏組件的建筑屋頂面積有限,不能從根本上解決用電緊張問題。
4.可以發電用電并存
大型地面電站發電是升壓接入輸電網,僅作為發電電站而運行;而分布式光伏發電是接入配電網,發電用電并存,且要求盡可能地就地消納。
展開 Mechanical 分布式計算與共享內存的測試
硬件16核32線程,64G內存,無顯卡加速
工況1: Distributed 16 cores
工況2: Non Distributed,32 cores
計算用時比較:
工況1 工況2
用時 1h46m 5h49m
內存 12.6G 8.9G
結論: 用分布式(在solve中勾選Distributed復選框)計算,只能使用物理核數;用內存共享式(不勾選Distributed復選框)計算,可使用全部線程數。前者內存消耗大,但用時顯著少于后者,這就是ansys不建議用內存共享計算的原因。
注意此處分布式計算是軟件術語,不同于分布式機群(硬件概念)。
展開 區塊鏈技術推動分布式3D打印制造模式
南極熊注意到,分布式3D打印這個理念,在新冠之后再國外越來越得到重視,可以部分解決供應鏈危機。
分布式監測診斷系統的開發與設計
摘要 給出了分布式監測診斷系統的定義,分析了分布式監測診斷系統的特點及設計要求,定義
了分布式監測診斷系統的層次結構及各層功能,并給出了具體的分布式監測診斷系統設計
實例。
請享用!